feat(decomp): main in-tree gate — 0 fn(s)

This commit is contained in:
Drew T
2026-08-31 18:50:44 -06:00
parent 86918184da
commit 0dacc7b3f9
+49 -1
View File
@@ -20710,7 +20710,55 @@ s32 func_800348A8(u32 arg0) {
return 0;
}
INCLUDE_ASM("asm/nonmatchings/800", func_8003491C);
extern u8 D_8006451C[];
extern s8 D_800A4F17;
extern s32 func_8002F4E4(u8 *);
void func_8003491C(s32 arg0)
{
register s32 zr __asm__("$0");
s32 id;
s32 raw;
s32 t;
s16 lo;
s16 hi;
u8 *p;
u8 old;
u8 *e;
s32 i;
id = arg0 + zr;
lo = (s16)arg0;
p = &D_8006451C[lo * 4];
hi = (s16)((u32)arg0 >> 16);
if ((*p & 0x7F) == 6) {
raw = func_8002F4E4(p);
t = (s16)raw;
id = raw + zr;
if (t == 0) {
return;
}
p = &D_8006451C[t * 4];
}
if ((s16)id < 0x100) {
return;
}
old = *(u8 *)&D_800A4F17;
*(u8 *)&D_800A4F17 = 1;
if ((*p & 0x7F) != 1 && (*p & 0x7F) == 5) {
e = (u8 *)&D_800A4F17 - 0x82F;
for (i = 0; i < 8; i++, e += 0x54) {
if (*(u16 *)e == 5 && *(u16 *)(e + 4) == lo) {
if (hi == 0 || hi == *(u16 *)(e + 6)) {
e[0x16] = 1;
}
}
}
}
*(u8 *)&D_800A4F17 = old;
}
extern s8 D_800A4F17;