diff --git a/src/ov_SC01_004/ov_SC01_004.c b/src/ov_SC01_004/ov_SC01_004.c index 224bdfaa0..addaa6f57 100644 --- a/src/ov_SC01_004/ov_SC01_004.c +++ b/src/ov_SC01_004/ov_SC01_004.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_SC01_004/nonmatchings/ov_SC01_004", 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_SC01_004/nonmatchings/ov_SC01_004", 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_SC01_004/nonmatchings/ov_SC01_004", func_8012E014); INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8012E138); -INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8012E27C); +s32 func_8012E27C(void) { + return 0x1; + } + DEFINE_func_8012E284() /* dedup: shared engine-core @0x8012E284 (src/shared) */ @@ -749,7 +758,15 @@ DEFINE_func_80138B88() /* dedup: shared engine-core @0x80138B88 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_80138BE0); -INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_80138C30); +void func_80138C30(void *a0) { + s16 v1 = *(s16 *)((u8 *)a0 + 4); + if (v1 == 4) { + *(s16 *)((u8 *)a0 + 4) = 2; + } else { + *(s32 *)((u8 *)a0 + 8) |= 0x800; + } +} + INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_80138C60); @@ -3927,7 +3944,15 @@ INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_80170548); DEFINE_func_80170584() /* dedup: shared engine-core @0x80170584 (src/shared) */ -INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_801705C0); +extern void *D_8011F738; +extern void func_80171928(void *a0); + +void func_801705C0(u8 * a0) +{ + ((void (*)(void))D_8011F738)(); + ((void (*)(s32))func_80171928)(a0); +} + INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_801705F8); @@ -4413,7 +4438,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_SC01_004/nonmatchings/ov_SC01_004", 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) */ @@ -4755,7 +4787,11 @@ INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017CE58); INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017CE98); -INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017CF14); +extern void func_800D1EBC(void); + void func_8017CF14(void) { + func_800D1EBC(); + } + INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017CF34); @@ -4777,13 +4813,21 @@ INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017D1B4); INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017D1F8); -INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017D234); +extern void func_8017D254(void); + void func_8017D234(void) { + func_8017D254(); + } + INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017D254); INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017D2F0); -INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017D2F8); +extern s16 D_80190110; + s32 func_8017D2F8(void) { + return D_80190110; + } + INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004", func_8017D308);