feat(decomp): free A-prop sibling lane (maintenance pass) — zero model tokens

This commit is contained in:
Drew T
2026-08-25 00:32:56 -06:00
parent 9696f8fb14
commit 5bd66c7b5b
4 changed files with 98 additions and 4 deletions
+12 -1
View File
@@ -4934,7 +4934,18 @@ void func_80182D3C(int param_1)
}
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_8017CA80", func_80182DB4);
extern unsigned char D_801A24C8;
extern void func_8012A828(s32, void*);
void func_80182DB4(param_1)
int param_1;
{
*(short *)(param_1 + 2) = 7;
*(short *)(param_1 + 0x5c) = 0;
func_8012A828(param_1, &D_801A24C8);
*(int *)(param_1 + 0x1c) = 0x1e;
}
void func_80182DF8(void *a0) {
*(short *)((char *)a0 + 0x2) = 0xB;
+12 -1
View File
@@ -5569,7 +5569,18 @@ void func_8018004C(s32 a0) {
INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124_jr_8017AE2C", func_8018009C);
INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124_jr_8017AE2C", func_801801B0);
extern short D_801BEA50;
extern void func_8012A828(s32, s32);
void func_801801B0(param_1)
int param_1;
{
*(short *)(param_1 + 2) = 9;
*(short *)(param_1 + 0x34) = 0;
func_8012A828(param_1, &D_801BEA50);
*(int *)(param_1 + 0x1c) = 0xf;
}
extern void (*D_8018FC14[])(void);
+61 -1
View File
@@ -3577,7 +3577,67 @@ void func_8017F2F4(void *arg0) {
INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125_jr_8017D604", func_8017F390);
INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125_jr_8017D604", func_8017F41C);
extern s32 D_80188030;
extern s32 D_80188040;
extern s32 D_80188054;
extern s32 D_801BB7A8;
extern s32 func_80029178(s32 arg);
extern s32 func_80029504(void);
extern s32 func_801788B8(s32 arg0, s32 arg1);
extern s32 func_801815EC(void *a0, void *a1);
extern s32 func_801819DC(s32 arg0, s32 arg1);
extern void func_8012A828(s32 a0, s32 a1);
extern void func_8012CAE4(void *a0);
extern void func_8012E88C(s32 a0);
extern void func_8012E8A8(u8 *a0);
extern void func_8012E8E0(s32 a0, s32 a1);
extern void func_8017F68C();
void func_8017F41C(a0)
void *a0;
{
extern s32 D_80188040;
extern s32 D_80188054;
extern s32 D_801BB7A8;
extern s32 D_80188030;
s32 s1;
if ((func_80029178(0xF0) & 0xFF) != 0 ||
(u32)(func_80029504() - 0x85) < 2) {
func_8012CAE4(a0);
return;
}
if (func_801815EC(a0, &D_80188040) == 0) {
return;
}
*(s16 *)(*(s32 *)((char *)a0 + 0x68) + 0xC) = 0x7FFF;
s1 = (s32)&D_80188054 | 0x40000000;
*(s32 *)((char *)a0 + 0x58) = s1;
*(s16 *)((char *)a0 + 0x5C) = 0x800;
if (((s32 (*)(s32, s32))func_801819DC)(9, 0x12) != 0) {
*(s16 *)((char *)a0 + 0x2) = 2;
((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801BB7A8);
func_8012E88C((s32)a0);
func_8012E8E0((s32)a0, (s32)&D_80188030);
*(s32 *)((char *)a0 + 0x58) = s1;
*(s16 *)((char *)a0 + 0x5C) = 0x800;
} else {
*(s16 *)((char *)a0 + 0x2) = 1;
*(s16 *)((char *)a0 + 0x98) = 0;
func_8012E8A8((u8 *)a0);
func_8012E8E0((s32)a0, (s32)&D_80188030);
*(s32 *)((char *)a0 + 0x58) = s1;
*(s16 *)((char *)a0 + 0x5C) = 0;
}
*(s32 *)((char *)a0 + 0xD4) = func_801788B8((s32)a0, (s32)func_8017F68C);
}
extern void (*D_801880EC[])(void);
+13 -1
View File
@@ -3443,7 +3443,19 @@ void func_8017EBBC(s32 param_1)
}
INCLUDE_ASM("asm/ov_SC04_020/nonmatchings/ov_SC04_020_jr_8017D604", func_8017EDB0);
extern s16 D_801871F8;
extern void func_8012E8E0(s32, s32);
extern void func_8012E8A8(u8 *a0);
void func_8017EDB0(a0)
void *a0;
{
*(s16 *)((u8 *)a0 + 0x2) = 2;
*(s16 *)((u8 *)a0 + 0x34) = 0;
func_8012E8A8((u8 *)a0);
((s32 (*)(s32, s32))func_8012E8E0)((s32)a0, (s32)&D_801871F8);
}
extern void func_8012E8E0(s32, s32);
extern void func_8012E88C(s32);