diff --git a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c index c2636fc2b6..e234cec312 100644 --- a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c +++ b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c @@ -4781,7 +4781,41 @@ extern s16 D_80126B0C; INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_8017AE2C", func_8017DD10); -INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_8017AE2C", func_8017DD70); + +extern void func_8014659C(void); +extern void func_8001C214(s32 a0, s32 a1); +extern void func_80149374(s32 a0, s32 a1); +extern void func_80146DE8(s32 *a0, s32 a1, s32 a2, s32 a3); +extern void func_80146CA0(void *a0); + +void func_8017DD70(s32 a0) { + + extern s32 D_801B40E4; + extern s16 D_801888FC; + extern s16 D_801888FA; + extern s16 D_801888F8; + s32 iVar1; + s32 iVar2; + + iVar1 = *(s32 *)(a0 + 0x4C); + iVar2 = ((s32 (*)(void))func_8014659C)(); + *(s32 *)(a0 + 0x20) = iVar2; + if (iVar2 != 0) { + func_8001C214(iVar2, (s32)&D_801B40E4); + *(u16 *)(iVar2 + 0x10) = 0x800; + *(u16 *)(a0 + 0x60) = 0; + func_80149374(iVar1, a0 + 4); + func_80146DE8((s32 *)a0, 0, 0xFFC00000, 0); + D_801888FC = 0x80; + D_801888FA = 0x80; + D_801888F8 = 0x80; + func_80146CA0((void *)a0); + if (*(s32 *)(a0 + 0x50) == 0) { + *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + } + } +} + void func_8017DE3C(s32 a0) { extern u8 D_80188910[]; diff --git a/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c b/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c index 2276a4e063..4fb4754c00 100644 --- a/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c +++ b/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c @@ -5530,7 +5530,41 @@ s32 func_8017EDE0(void) INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8017AE2C", func_8017EE0C); -INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8017AE2C", func_8017EE6C); + +extern void func_8014659C(void); +extern void func_8001C214(s32 a0, s32 a1); +extern void func_80149374(s32 a0, s32 a1); +extern void func_80146DE8(s32 *a0, s32 a1, s32 a2, s32 a3); +extern void func_80146CA0(void *a0); + +void func_8017EE6C(s32 a0) { + + extern s32 D_801F1068; + extern s16 D_80190578; + extern s16 D_80190576; + extern s16 D_80190574; + s32 iVar1; + s32 iVar2; + + iVar1 = *(s32 *)(a0 + 0x4C); + iVar2 = ((s32 (*)(void))func_8014659C)(); + *(s32 *)(a0 + 0x20) = iVar2; + if (iVar2 != 0) { + func_8001C214(iVar2, (s32)&D_801F1068); + *(u16 *)(iVar2 + 0x10) = 0x800; + *(u16 *)(a0 + 0x60) = 0; + func_80149374(iVar1, a0 + 4); + func_80146DE8((s32 *)a0, 0, 0xFFC00000, 0); + D_80190578 = 0x80; + D_80190576 = 0x80; + D_80190574 = 0x80; + func_80146CA0((void *)a0); + if (*(s32 *)(a0 + 0x50) == 0) { + *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + } + } +} + extern void func_8001C810(s32 a0, s32 a1); extern void func_8013C9C4(void * arg0); diff --git a/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.c b/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.c index 5264a17aef..894bf70319 100644 --- a/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.c +++ b/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.c @@ -3666,7 +3666,41 @@ s16 func_80180760(void) { INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_80180770); -INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017EB7C", func_801807D0); + +extern void func_8014659C(void); +extern void func_8001C214(s32 a0, s32 a1); +extern void func_80149374(s32 a0, s32 a1); +extern void func_80146DE8(s32 *a0, s32 a1, s32 a2, s32 a3); +extern void func_80146CA0(void *a0); + +void func_801807D0(s32 a0) { + + extern s32 D_801CEE20; + extern s16 D_8018F544; + extern s16 D_8018F542; + extern s16 D_8018F540; + s32 iVar1; + s32 iVar2; + + iVar1 = *(s32 *)(a0 + 0x4C); + iVar2 = ((s32 (*)(void))func_8014659C)(); + *(s32 *)(a0 + 0x20) = iVar2; + if (iVar2 != 0) { + func_8001C214(iVar2, (s32)&D_801CEE20); + *(u16 *)(iVar2 + 0x10) = 0x800; + *(u16 *)(a0 + 0x60) = 0; + func_80149374(iVar1, a0 + 4); + func_80146DE8((s32 *)a0, 0, 0xFFC00000, 0); + D_8018F544 = 0x80; + D_8018F542 = 0x80; + D_8018F540 = 0x80; + func_80146CA0((void *)a0); + if (*(s32 *)(a0 + 0x50) == 0) { + *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + } + } +} + extern void func_8001C810(s32 a0, s32 a1); extern void func_8013C9C4(void * arg0); diff --git a/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c b/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c index 55eb560122..05d3ecade1 100644 --- a/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c +++ b/src/ov_SC03_117/ov_SC03_117_jr_8017BEBC.c @@ -3237,7 +3237,41 @@ s16 func_8017CF40(void) { INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117_jr_8017BEBC", func_8017CF50); -INCLUDE_ASM("asm/ov_SC03_117/nonmatchings/ov_SC03_117_jr_8017BEBC", func_8017CFB0); + +extern void func_8014659C(void); +extern void func_8001C214(s32 a0, s32 a1); +extern void func_80149374(s32 a0, s32 a1); +extern void func_80146DE8(s32 *a0, s32 a1, s32 a2, s32 a3); +extern void func_80146CA0(void *a0); + +void func_8017CFB0(s32 a0) { + + extern s32 D_801CA794; + extern s16 D_8018839C; + extern s16 D_8018839A; + extern s16 D_80188398; + s32 iVar1; + s32 iVar2; + + iVar1 = *(s32 *)(a0 + 0x4C); + iVar2 = ((s32 (*)(void))func_8014659C)(); + *(s32 *)(a0 + 0x20) = iVar2; + if (iVar2 != 0) { + func_8001C214(iVar2, (s32)&D_801CA794); + *(u16 *)(iVar2 + 0x10) = 0x800; + *(u16 *)(a0 + 0x60) = 0; + func_80149374(iVar1, a0 + 4); + func_80146DE8((s32 *)a0, 0, 0xFFC00000, 0); + D_8018839C = 0x80; + D_8018839A = 0x80; + D_80188398 = 0x80; + func_80146CA0((void *)a0); + if (*(s32 *)(a0 + 0x50) == 0) { + *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + } + } +} + extern void func_8001C810(s32 a0, s32 a1); extern void func_8013C9C4(void * arg0); diff --git a/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c b/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c index 0a875c0392..16d86bd61e 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c @@ -5310,7 +5310,41 @@ s32 func_8017F4CC(void) INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118_jr_8017AE2C", func_8017F4F8); -INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118_jr_8017AE2C", func_8017F558); + +extern void func_8014659C(void); +extern void func_8001C214(s32 a0, s32 a1); +extern void func_80149374(s32 a0, s32 a1); +extern void func_80146DE8(s32 *a0, s32 a1, s32 a2, s32 a3); +extern void func_80146CA0(void *a0); + +void func_8017F558(s32 a0) { + + extern s32 D_801D02DC; + extern s16 D_8018DA60; + extern s16 D_8018DA5E; + extern s16 D_8018DA5C; + s32 iVar1; + s32 iVar2; + + iVar1 = *(s32 *)(a0 + 0x4C); + iVar2 = ((s32 (*)(void))func_8014659C)(); + *(s32 *)(a0 + 0x20) = iVar2; + if (iVar2 != 0) { + func_8001C214(iVar2, (s32)&D_801D02DC); + *(u16 *)(iVar2 + 0x10) = 0x800; + *(u16 *)(a0 + 0x60) = 0; + func_80149374(iVar1, a0 + 4); + func_80146DE8((s32 *)a0, 0, 0xFFC00000, 0); + D_8018DA60 = 0x80; + D_8018DA5E = 0x80; + D_8018DA5C = 0x80; + func_80146CA0((void *)a0); + if (*(s32 *)(a0 + 0x50) == 0) { + *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + } + } +} + extern void func_8001C810(s32 a0, s32 a1); extern void func_8013C9C4(void * arg0); diff --git a/src/ov_SC03_119/ov_SC03_119_jr_8017AE2C.c b/src/ov_SC03_119/ov_SC03_119_jr_8017AE2C.c index 3608028b8c..fb2d308ee4 100644 --- a/src/ov_SC03_119/ov_SC03_119_jr_8017AE2C.c +++ b/src/ov_SC03_119/ov_SC03_119_jr_8017AE2C.c @@ -5303,7 +5303,41 @@ s16 func_8017F4E8(void) { INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_8017AE2C", func_8017F4F8); -INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_8017AE2C", func_8017F558); + +extern void func_8014659C(void); +extern void func_8001C214(s32 a0, s32 a1); +extern void func_80149374(s32 a0, s32 a1); +extern void func_80146DE8(s32 *a0, s32 a1, s32 a2, s32 a3); +extern void func_80146CA0(void *a0); + +void func_8017F558(s32 a0) { + + extern s32 D_801D02DC; + extern s16 D_8018DA60; + extern s16 D_8018DA5E; + extern s16 D_8018DA5C; + s32 iVar1; + s32 iVar2; + + iVar1 = *(s32 *)(a0 + 0x4C); + iVar2 = ((s32 (*)(void))func_8014659C)(); + *(s32 *)(a0 + 0x20) = iVar2; + if (iVar2 != 0) { + func_8001C214(iVar2, (s32)&D_801D02DC); + *(u16 *)(iVar2 + 0x10) = 0x800; + *(u16 *)(a0 + 0x60) = 0; + func_80149374(iVar1, a0 + 4); + func_80146DE8((s32 *)a0, 0, 0xFFC00000, 0); + D_8018DA60 = 0x80; + D_8018DA5E = 0x80; + D_8018DA5C = 0x80; + func_80146CA0((void *)a0); + if (*(s32 *)(a0 + 0x50) == 0) { + *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + } + } +} + extern void func_8001C810(s32 a0, s32 a1); extern void func_8013C9C4(void * arg0); diff --git a/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c b/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c index c179a2052d..35215c0f0b 100644 --- a/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c +++ b/src/ov_SC05_010/ov_SC05_010_jr_8017C8D0.c @@ -3242,7 +3242,41 @@ s32 func_8017D938(void) INCLUDE_ASM("asm/ov_SC05_010/nonmatchings/ov_SC05_010_jr_8017C8D0", func_8017D964); -INCLUDE_ASM("asm/ov_SC05_010/nonmatchings/ov_SC05_010_jr_8017C8D0", func_8017D9C4); + +extern void func_8014659C(void); +extern void func_8001C214(s32 a0, s32 a1); +extern void func_80149374(s32 a0, s32 a1); +extern void func_80146DE8(s32 *a0, s32 a1, s32 a2, s32 a3); +extern void func_80146CA0(void *a0); + +void func_8017D9C4(s32 a0) { + + extern s32 D_80191BA8; + extern s16 D_8018C4DC; + extern s16 D_8018C4DA; + extern s16 D_8018C4D8; + s32 iVar1; + s32 iVar2; + + iVar1 = *(s32 *)(a0 + 0x4C); + iVar2 = ((s32 (*)(void))func_8014659C)(); + *(s32 *)(a0 + 0x20) = iVar2; + if (iVar2 != 0) { + func_8001C214(iVar2, (s32)&D_80191BA8); + *(u16 *)(iVar2 + 0x10) = 0x800; + *(u16 *)(a0 + 0x60) = 0; + func_80149374(iVar1, a0 + 4); + func_80146DE8((s32 *)a0, 0, 0xFFC00000, 0); + D_8018C4DC = 0x80; + D_8018C4DA = 0x80; + D_8018C4D8 = 0x80; + func_80146CA0((void *)a0); + if (*(s32 *)(a0 + 0x50) == 0) { + *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + } + } +} + extern void func_8001C810(s32 a0, s32 a1); extern void func_8013C9C4(void * arg0);