chore(decomp): commit in-tree banked work before the serial lane

This commit is contained in:
Drew T
2026-08-25 21:12:44 -06:00
parent dd0538ae05
commit c5749fde3b
2 changed files with 2 additions and 116 deletions
+1 -65
View File
@@ -4914,71 +4914,7 @@ void func_80181938(void *a0) {
}
extern u8 D_801202A0[];
extern void *D_80126CC8;
extern u8 D_801B72B4[];
extern u8 D_801B6914[];
extern void func_8001C214(s32 a0, s32 a1);
extern void func_80180D68(void);
void func_80181A80(void *a0) {
u16 state = *(u16 *)((s32)a0 + 0x34);
switch (state) {
case 4:
{
u8 *p = D_801202A0;
s32 i;
for (i = 0; i < 0x60; i++, p += 0x10C) {
if (*(u16 *)(p + 0) == 0x2E7 && *(u16 *)(p + 2) == 4) {
func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)D_801B72B4);
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = 0x400;
*(s16 *)((s32)a0 + 0x34) = 3;
}
}
/* fall through */
}
case 0:
if (D_80126CC8 == a0) {
u16 t0 = *(u16 *)((s32)a0 + 0x88);
u16 t1 = *(u16 *)((s32)a0 + 0x8A);
u16 t2 = *(u16 *)((s32)a0 + 0x8C);
*(s16 *)((s32)a0 + 0x34) = 1;
*(s16 *)((s32)a0 + 0x5C) = 0;
*(u16 *)((s32)a0 + 0x6) = t0;
*(u16 *)((s32)a0 + 0xA) = t1;
*(u16 *)((s32)a0 + 0xE) = t2;
func_80180D68();
}
break;
case 1:
break;
case 2:
{
u8 *p = D_801202A0;
s32 i;
for (i = 0; i < 0x60; i++, p += 0x10C) {
if (*(u16 *)(p + 0) == 0x2E7 && *(u16 *)(p + 2) == 4) {
func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)D_801B6914);
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x60000040;
*(u16 *)((s32)a0 + 0x5C) = 0x9000;
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = 0x400;
*(s16 *)((s32)a0 + 0x34) = 0;
}
}
break;
}
case 3:
break;
default:
break;
}
}
INCLUDE_ASM("asm/ov_SC06_030/nonmatchings/ov_SC06_030_jr_8017C8D0", func_80181A80);
extern void (*D_801B4DA8[])(void);
+1 -51
View File
@@ -4689,57 +4689,7 @@ void func_8017E520(s32 a0) {
}
void func_8017E5B8(s32 a0, s32 a1) {
register s32 self __asm__("$2") = a0;
register s32 tmp __asm__("$3") = a1 * 8;
register s32 c0 __asm__("$4") = 0x1E;
register s32 c1 __asm__("$5") = self;
register s32 off __asm__("$17");
register s32 k2 __asm__("$18");
register s32 k1 __asm__("$19");
register s32 i __asm__("$20");
register s32 base __asm__("$21");
register s32 p __asm__("$16");
extern s32 func_8012C588(s32 a0, s32 a1);
extern void func_80015954(s32 a0, s32 a1);
extern s32 func_80146A6C(s32, void*, s32, s32, s32, s32, s32);
extern s16 D_80185D28[];
extern s16 D_80185D2A[];
extern s16 D_80185D2C[];
extern s16 D_80185D2E[];
extern u16 D_80185D5A[];
i = 0;
off = tmp;
base = (s32) D_80185D28;
__asm__ __volatile__("" : : "r"(tmp));
k1 = -0xE3;
__asm__ __volatile__("" : : "r"(k1));
k2 = -0x155;
func_80146A6C(c0, (void *)c1, *(s16 *)((s32)D_80185D28 + off),
*(s16 *)((s32)D_80185D2A + off),
*(s16 *)((s32)D_80185D2C + off), 0, 0);
do {
p = func_8012C588(0x3A6, 0);
if (p != 0) {
func_80015954(off + base, p + 4);
*(s16 *)(p + 0xFC) = *(u16 *)((s32)D_80185D5A +
(*(s16 *)((s32)D_80185D2E + off) << 2)) + k2;
*(s32 *)(p + 0xDC) = 0;
}
p = func_8012C588(0x3A6, 0);
if (p != 0) {
func_80015954(off + base, p + 4);
*(s16 *)(p + 0xFC) = *(u16 *)((s32)D_80185D5A +
(*(s16 *)((s32)D_80185D2E + off) << 2)) + k1;
*(s32 *)(p + 0xDC) = 1;
}
k1 += 0xAA;
i++;
k2 += 0xAA;
} while (i < 4);
}
INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_8017E5B8);
extern void func_80015954(s32 a0, s32 a1);
extern s32 func_8012C588(s32 a0, s32 a1);