diff --git a/src/ov_SC03_001/ov_SC03_001.c b/src/ov_SC03_001/ov_SC03_001.c index 1493494128..9c574e7c4d 100644 --- a/src/ov_SC03_001/ov_SC03_001.c +++ b/src/ov_SC03_001/ov_SC03_001.c @@ -189,7 +189,10 @@ DEFINE_func_8012AD44() /* dedup: shared engine-core @0x8012AD44 (src/shared) */ DEFINE_func_8012AD50() /* dedup: shared engine-core @0x8012AD50 (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8012AD64); +void func_8012AD64(s32 *a0, s16 a1) { + *(s16 *)((s32)a0 + 0x34) = a1; + } + DEFINE_func_8012AD6C() /* dedup: shared engine-core @0x8012AD6C (src/shared) */ @@ -265,7 +268,10 @@ DEFINE_func_8012BEE8() /* dedup: shared engine-core @0x8012BEE8 (src/shared) */ DEFINE_func_8012BF10() /* dedup: shared engine-core @0x8012BF10 (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8012BF4C); +void func_8012BF4C(s32 *a0, s32 a1) { + *(s32 *)((s32)a0 + 0x1C) = a1; + } + DEFINE_func_8012BF54() /* dedup: shared engine-core @0x8012BF54 (src/shared) */ @@ -379,7 +385,10 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8012E014); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8012E138); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8012E27C); +s32 func_8012E27C(void) { + return 0x1; + } + DEFINE_func_8012E284() /* dedup: shared engine-core @0x8012E284 (src/shared) */ @@ -4413,7 +4422,14 @@ DEFINE_func_80174604() /* dedup: shared engine-core @0x80174604 (src/shared) */ DEFINE_func_80174630() /* dedup: shared engine-core @0x80174630 (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80174650); +extern s32 D_801270BC; + extern s32 D_801150F8; + s32 func_80174650(s32 _arg0) +{ + D_801270BC = D_801270BC | 1; + D_801150F8 = 0; + } + DEFINE_func_80174674() /* dedup: shared engine-core @0x80174674 (src/shared) */ @@ -4835,17 +4851,27 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E798); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E7D4); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E810); +extern s32 D_80127050; + void func_8017E810(void) { + D_80127050 = 1; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E824); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E860); +void func_8017E860(s32 *a0) { + *(u8 *)((s32)a0 + 0x214) += 1; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E874); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E8AC); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E8E8); +void func_8017E8E8(u8 *a0) { + *(s8 *)(a0 + 0x214) += 1; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E8FC); @@ -4855,7 +4881,10 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017E9E0); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017EA1C); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017EA50); +void func_8017EA50(u8 *a0) { + *(s8 *)(a0 + 0xa0) = 0; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017EA58); @@ -4940,7 +4969,10 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", listCdBuffer); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8018003C); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80180070); +s32 func_80180070(void) { + return -1; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80180078); @@ -4962,7 +4994,10 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801804D0); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80180574); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801805EC); +void func_801805EC(void *a0) { + *(short *)((char *)a0 + 0x2) = 0x2; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801805F8); @@ -4974,7 +5009,10 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801806E8); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80180728); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80180770); +void func_80180770(void *a0) { + *(short *)((char *)a0 + 0x2) = 0x2; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8018077C); @@ -4984,7 +5022,10 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80180820); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80180884); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801808F0); +void func_801808F0(void *a0) { + *(short *)((char *)a0 + 0x2) = 0x2; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801808FC); @@ -5034,7 +5075,10 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80180FF8); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80181078); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801810EC); +void func_801810EC(void *a0) { + *(short *)((char *)a0 + 0x2) = 0x2; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801810F8); @@ -5084,7 +5128,12 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8018190C); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80181948); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80181988); +void func_80181988(void *a0) { + *(short *)((char *)a0 + 0x2) = 4; + *(short *)((char *)a0 + 0x34) = 0; + *(int *)((char *)a0 + 0x1c) = 0x3c; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801819A0); @@ -5158,9 +5207,21 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80182824); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80182860); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80182898); +extern s32 D_801DD064; +extern s32 D_801D6014; + +void func_80182898(void) { + D_801D6014 = D_801DD064; +} + + +extern s32 D_801EEAF8; +extern s32 D_801D6014; + +void func_801828B0(void) { + *(s32 *)&D_801D6014 = D_801EEAF8; +} -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801828B0); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801828C8); @@ -5308,7 +5369,10 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801846F0); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80184748); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80184784); +void func_80184784(void *a0) { + *(s32 *)(*(s32 *)((s32)a0 + 0xcc) + 0xb0) = 1; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80184794); @@ -5545,9 +5609,15 @@ void func_8018724C(void) { void func_80187254(void) { } -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8018725C); +void func_8018725C(void *a0) { + *(s32 *)(*(s32 *)((s32)a0 + 0xcc) + 0xb0) = 1; + } + + +void func_8018726C(void *a0) { + *(s32 *)(*(s32 *)((s32)a0 + 0xcc) + 0xb0) = 2; + } -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8018726C); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8018727C); @@ -5582,7 +5652,10 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801876E8); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80187750); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80187770); +void func_80187770(void *a0) { + *(s16 *)((s32)a0 + 0x5C) = 0; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80187778); @@ -5634,7 +5707,11 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80188124); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801881A0); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8018826C); +extern s32 func_801889AC(void); + void func_8018826C(void) { + func_801889AC(); + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8018828C); @@ -5688,7 +5765,11 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80188E74); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80188ED0); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80188F10); +extern s16 D_801EEB10; + s32 func_80188F10(void) { + return D_801EEB10; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80188F20);