From aa2af72f0c0d394a0143fa6f8dfd5cc7f070a8f5 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Tue, 30 Jun 2026 23:17:02 -0600 Subject: [PATCH] =?UTF-8?q?feat(decomp):=20bulk=5Fharvest=20=E2=80=94=20+5?= =?UTF-8?q?2=20fns=20across=2040=20binaries,=2012=20propagated=20(fleet=20?= =?UTF-8?q?64.2%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/dedup.us.yaml | 84 +++++++++++++++++++++++++++++++++++ src/ov_SC03_001/ov_SC03_001.c | 12 ++++- src/ov_SC03_002/ov_SC03_002.c | 5 ++- src/ov_SC03_003/ov_SC03_003.c | 12 ++++- src/ov_SC03_006/ov_SC03_006.c | 5 ++- src/ov_SC03_007/ov_SC03_007.c | 6 ++- src/ov_SC03_010/ov_SC03_010.c | 11 ++++- src/ov_SC03_011/ov_SC03_011.c | 5 ++- src/ov_SC03_012/ov_SC03_012.c | 6 ++- src/ov_SC03_014/ov_SC03_014.c | 5 ++- src/ov_SC03_015/ov_SC03_015.c | 5 ++- src/ov_SC03_023/ov_SC03_023.c | 6 ++- src/ov_SC03_024/ov_SC03_024.c | 10 ++++- src/ov_SC03_028/ov_SC03_028.c | 10 ++++- src/ov_SC03_030/ov_SC03_030.c | 13 +++++- src/ov_SC03_031/ov_SC03_031.c | 5 ++- src/ov_SC03_089/ov_SC03_089.c | 12 ++++- src/ov_SC03_090/ov_SC03_090.c | 11 ++++- src/ov_SC03_091/ov_SC03_091.c | 11 ++++- src/ov_SC03_092/ov_SC03_092.c | 7 ++- src/ov_SC03_093/ov_SC03_093.c | 12 ++++- src/ov_SC03_094/ov_SC03_094.c | 7 ++- src/ov_SC03_095/ov_SC03_095.c | 6 ++- src/ov_SC03_096/ov_SC03_096.c | 13 +++++- src/ov_SC03_097/ov_SC03_097.c | 5 ++- src/ov_SC03_098/ov_SC03_098.c | 7 ++- src/ov_SC03_101/ov_SC03_101.c | 13 +++++- src/ov_SC03_102/ov_SC03_102.c | 7 ++- src/ov_SC03_104/ov_SC03_104.c | 5 ++- src/ov_SC03_109/ov_SC03_109.c | 5 ++- src/ov_SC03_111/ov_SC03_111.c | 5 ++- src/ov_SC03_112/ov_SC03_112.c | 7 ++- src/ov_SC03_113/ov_SC03_113.c | 5 ++- src/ov_SC03_115/ov_SC03_115.c | 7 ++- src/ov_SC03_116/ov_SC03_116.c | 6 ++- src/ov_SC03_118/ov_SC03_118.c | 26 +++++------ src/ov_SC03_119/ov_SC03_119.c | 26 +++++------ src/ov_SC03_121/ov_SC03_121.c | 5 ++- src/ov_SC03_124/ov_SC03_124.c | 7 ++- src/ov_SC03_125/ov_SC03_125.c | 5 ++- src/ov_SC03_126/ov_SC03_126.c | 9 ++-- src/ov_SC04_021/ov_SC04_021.c | 3 +- src/ov_SC05_019/ov_SC05_019.c | 3 +- src/shared/engine_core.h | 54 ++++++++++++++++++++++ 44 files changed, 399 insertions(+), 90 deletions(-) diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index 890c743d7c..b47649f434 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -12042,3 +12042,87 @@ groups: func: DEFINE_func_801890F8 vram: 0x801890F8 binaries: [ov_SC03_014, ov_SC03_015] + - id: E_func_8018918C + tier: h_exact + hash: ce25fd3e4ebd4e57d081821cac6771f7dfcc6c18 + source: src/shared/engine_core.h + func: DEFINE_func_8018918C + vram: 0x8018918C + binaries: [ov_SC03_014, ov_SC03_015] + - id: E_func_80188F18 + tier: h_exact + hash: 1a763dd04ffe50831d1e8999b3680036cfd4ebc5 + source: src/shared/engine_core.h + func: DEFINE_func_80188F18 + vram: 0x80188F18 + binaries: [ov_SC03_014, ov_SC03_015] + - id: E_func_8017F49C + tier: h_exact + hash: 7678540574197b420f17571673856a74783eb9d5 + source: src/shared/engine_core.h + func: DEFINE_func_8017F49C + vram: 0x8017F49C + binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_80182ADC + tier: h_exact + hash: 7678540574197b420f17571673856a74783eb9d5 + source: src/shared/engine_core.h + func: DEFINE_func_80182ADC + vram: 0x80182ADC + binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_80182AE4 + tier: h_exact + hash: 7678540574197b420f17571673856a74783eb9d5 + source: src/shared/engine_core.h + func: DEFINE_func_80182AE4 + vram: 0x80182AE4 + binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_80183AF8 + tier: h_exact + hash: 7678540574197b420f17571673856a74783eb9d5 + source: src/shared/engine_core.h + func: DEFINE_func_80183AF8 + vram: 0x80183AF8 + binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_80183C50 + tier: h_exact + hash: 7678540574197b420f17571673856a74783eb9d5 + source: src/shared/engine_core.h + func: DEFINE_func_80183C50 + vram: 0x80183C50 + binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_80187D04 + tier: h_exact + hash: 7678540574197b420f17571673856a74783eb9d5 + source: src/shared/engine_core.h + func: DEFINE_func_80187D04 + vram: 0x80187D04 + binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_80189274 + tier: h_exact + hash: 7678540574197b420f17571673856a74783eb9d5 + source: src/shared/engine_core.h + func: DEFINE_func_80189274 + vram: 0x80189274 + binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_80182910 + tier: h_exact + hash: 8917e2f1a95a982739e568c6ffb3d3586da7d279 + source: src/shared/engine_core.h + func: DEFINE_func_80182910 + vram: 0x80182910 + binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_80182904 + tier: h_exact + hash: 7c97457dadacf5f9e8cb859d99a1e3e44b7f5070 + source: src/shared/engine_core.h + func: DEFINE_func_80182904 + vram: 0x80182904 + binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_8017F224 + tier: h_exact + hash: 7678540574197b420f17571673856a74783eb9d5 + source: src/shared/engine_core.h + func: DEFINE_func_8017F224 + vram: 0x8017F224 + binaries: [ov_SC03_126, ov_SC04_021, ov_SC05_019] diff --git a/src/ov_SC03_001/ov_SC03_001.c b/src/ov_SC03_001/ov_SC03_001.c index 9c574e7c4d..135f74b0a8 100644 --- a/src/ov_SC03_001/ov_SC03_001.c +++ b/src/ov_SC03_001/ov_SC03_001.c @@ -4898,7 +4898,11 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017EEA8); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017EEE4); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017EF10); +extern s32 func_800D0EC4(void); + s32 func_8017EF10(void) { + return (func_800D0EC4() == 0); + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_8017EF30); @@ -5096,7 +5100,11 @@ INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_801812C4); INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80181300); -INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80181374); +extern s32 func_8014CB1C(void); + int func_80181374(void) { + return func_8014CB1C() != 0; + } + INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001", func_80181394); diff --git a/src/ov_SC03_002/ov_SC03_002.c b/src/ov_SC03_002/ov_SC03_002.c index e0b2eec32f..e9573357a9 100644 --- a/src/ov_SC03_002/ov_SC03_002.c +++ b/src/ov_SC03_002/ov_SC03_002.c @@ -5083,7 +5083,10 @@ INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002", func_80182A78); INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002", func_80182D48); -INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002", func_80182D58); +void func_80182D58(void *a0) { + *(s32 *)(*(s32 *)((s32)a0 + 0xcc) + 0xb0) = 2; + } + INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002", func_80182D68); diff --git a/src/ov_SC03_003/ov_SC03_003.c b/src/ov_SC03_003/ov_SC03_003.c index df2f512537..710acb1ebf 100644 --- a/src/ov_SC03_003/ov_SC03_003.c +++ b/src/ov_SC03_003/ov_SC03_003.c @@ -4775,7 +4775,11 @@ INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8017E508); INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8017E550); -INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8017E5CC); +extern void func_800D1EBC(void); + void func_8017E5CC(void) { + func_800D1EBC(); + } + INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8017E5EC); @@ -4835,7 +4839,11 @@ INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8017EEB4); INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8017EF5C); -INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8017EF98); +extern s32 func_8017EFEC(void); + void func_8017EF98(void) { + func_8017EFEC(); + } + INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003", func_8017EFB8); diff --git a/src/ov_SC03_006/ov_SC03_006.c b/src/ov_SC03_006/ov_SC03_006.c index 7c7b07009e..188bc806bc 100644 --- a/src/ov_SC03_006/ov_SC03_006.c +++ b/src/ov_SC03_006/ov_SC03_006.c @@ -5054,7 +5054,10 @@ void func_8018365C(void *a0) { INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006", func_80183668); -INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006", func_80183738); +s32 func_80183738(s32 *a0) { + return *(s16 *)((s32)a0 + 0xFC) > 0; + } + INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006", func_80183744); diff --git a/src/ov_SC03_007/ov_SC03_007.c b/src/ov_SC03_007/ov_SC03_007.c index d607a31f25..6548639b8f 100644 --- a/src/ov_SC03_007/ov_SC03_007.c +++ b/src/ov_SC03_007/ov_SC03_007.c @@ -4866,7 +4866,11 @@ INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007", func_8017E47C); INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007", func_8017E4C8); -INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007", func_8017E56C); +void func_8017E56C(s32 *a0) { + *(s32 *)((s32)a0 + 0x1c) = 6; + *(s16 *)((s32)a0 + 0x5c) = 0; + } + INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007", func_8017E57C); diff --git a/src/ov_SC03_010/ov_SC03_010.c b/src/ov_SC03_010/ov_SC03_010.c index 1071d9b5e7..c024a555bc 100644 --- a/src/ov_SC03_010/ov_SC03_010.c +++ b/src/ov_SC03_010/ov_SC03_010.c @@ -4831,7 +4831,11 @@ INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8017DDC4); INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8017DDE4); -INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8017DE04); +extern void func_8017DE84(s32 arg0); + void func_8017DE04(void) { + func_8017DE84(4); + } + INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8017DE24); @@ -4877,7 +4881,10 @@ INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8017EA58); INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8017EB14); -INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8017EB50); +void func_8017EB50(s32 *a0) { + *(s16*)((s32)a0 + 0xFC) = 0; + } + INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010", func_8017EB58); diff --git a/src/ov_SC03_011/ov_SC03_011.c b/src/ov_SC03_011/ov_SC03_011.c index 90a084d9d3..018fa48e05 100644 --- a/src/ov_SC03_011/ov_SC03_011.c +++ b/src/ov_SC03_011/ov_SC03_011.c @@ -4989,7 +4989,10 @@ void func_80180324(void) { INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011", func_8018032C); -INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011", func_80180358); +void func_80180358(void *a0) { + *(short *)((char *)a0 + 0x2) = 0x4; + } + INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011", func_80180364); diff --git a/src/ov_SC03_012/ov_SC03_012.c b/src/ov_SC03_012/ov_SC03_012.c index a4ece4dc90..c3cbb38b65 100644 --- a/src/ov_SC03_012/ov_SC03_012.c +++ b/src/ov_SC03_012/ov_SC03_012.c @@ -4771,7 +4771,11 @@ INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012", func_8017D548); INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012", func_8017D5D0); -INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012", func_8017D644); +extern s32 func_800D1EBC(void); + void func_8017D644(void) { + func_800D1EBC(); + } + INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012", func_8017D664); diff --git a/src/ov_SC03_014/ov_SC03_014.c b/src/ov_SC03_014/ov_SC03_014.c index 7417878e6d..0a85fe1904 100644 --- a/src/ov_SC03_014/ov_SC03_014.c +++ b/src/ov_SC03_014/ov_SC03_014.c @@ -5217,7 +5217,7 @@ INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_80188DC4); INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_80188E00); -INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_80188F18); +DEFINE_func_80188F18() /* dedup: shared engine-core @0x80188F18 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_80188F28); @@ -5240,7 +5240,8 @@ INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_80189110); INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_80189160); -INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_8018918C); +DEFINE_func_8018918C() /* dedup: shared engine-core @0x8018918C (src/shared) */ + INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014", func_8018919C); diff --git a/src/ov_SC03_015/ov_SC03_015.c b/src/ov_SC03_015/ov_SC03_015.c index a4ba226b38..1ceddff8b9 100644 --- a/src/ov_SC03_015/ov_SC03_015.c +++ b/src/ov_SC03_015/ov_SC03_015.c @@ -5217,7 +5217,8 @@ INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_80188DC4); INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_80188E00); -INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_80188F18); +DEFINE_func_80188F18() /* dedup: shared engine-core @0x80188F18 (src/shared) */ + INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_80188F28); @@ -5240,7 +5241,7 @@ INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_80189110); INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_80189160); -INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_8018918C); +DEFINE_func_8018918C() /* dedup: shared engine-core @0x8018918C (src/shared) */ INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015", func_8018919C); diff --git a/src/ov_SC03_023/ov_SC03_023.c b/src/ov_SC03_023/ov_SC03_023.c index dda132f4c8..52622b2b3a 100644 --- a/src/ov_SC03_023/ov_SC03_023.c +++ b/src/ov_SC03_023/ov_SC03_023.c @@ -4877,4 +4877,8 @@ s32 func_8017EE74(void) { } -INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023", func_8017EE7C); +extern void func_8013CB84(void); + void func_8017EE7C(void) { + func_8013CB84(); + } + diff --git a/src/ov_SC03_024/ov_SC03_024.c b/src/ov_SC03_024/ov_SC03_024.c index 0f52ba16dd..e97cbabb80 100644 --- a/src/ov_SC03_024/ov_SC03_024.c +++ b/src/ov_SC03_024/ov_SC03_024.c @@ -5090,9 +5090,15 @@ INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024", func_801827EC); INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024", func_8018280C); -INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024", func_8018282C); +void func_8018282C(s32 *a0) { + *(s16 *)((s32)a0 + 0x2) = 0x2; + } + + +void func_80182838(s32 *a0) { + *(s16 *)((s32)a0 + 0x2) = 0x3; + } -INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024", func_80182838); INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024", func_80182844); diff --git a/src/ov_SC03_028/ov_SC03_028.c b/src/ov_SC03_028/ov_SC03_028.c index 386e4a696b..06ff7a681e 100644 --- a/src/ov_SC03_028/ov_SC03_028.c +++ b/src/ov_SC03_028/ov_SC03_028.c @@ -4995,7 +4995,10 @@ INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_80184E3C); INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_80184E9C); -INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_80184FAC); +void func_80184FAC(s32 *a0) { + *(s16*)((s32)a0 + 0x5C) = 0; + } + INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_80184FB4); @@ -5075,7 +5078,10 @@ INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_801867E4); INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_80186838); -INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_8018688C); +void func_8018688C(void *a0) { + *(s32 *)((s32)a0 + 0xb4) = 0; + } + INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028", func_80186894); diff --git a/src/ov_SC03_030/ov_SC03_030.c b/src/ov_SC03_030/ov_SC03_030.c index bff2d28e53..38e44250d7 100644 --- a/src/ov_SC03_030/ov_SC03_030.c +++ b/src/ov_SC03_030/ov_SC03_030.c @@ -4823,7 +4823,11 @@ INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030", func_8017E194); INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030", func_8017E1BC); -INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030", func_8017E1E8); +void func_8017E1E8(void *a0) { + *(u16 *)((char *)a0 + 0xaa) &= 0xff00; + *(u16 *)((char *)a0 + 0xac) &= 0xff00; + } + INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030", func_8017E204); @@ -4997,4 +5001,9 @@ INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030", func_80181D48); INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030", func_80181DC0); -INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030", func_80181DF8); +extern s32 func_80181DF8(void); + +s32 func_80181DF8(void) { + return 0x1A; +} + diff --git a/src/ov_SC03_031/ov_SC03_031.c b/src/ov_SC03_031/ov_SC03_031.c index 4d1d9ceebf..b4618e5555 100644 --- a/src/ov_SC03_031/ov_SC03_031.c +++ b/src/ov_SC03_031/ov_SC03_031.c @@ -4913,7 +4913,10 @@ INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031", func_80180090); INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031", func_801800D4); -INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031", func_80180110); +void func_80180110(void *a0) { + *(short *)((char *)a0 + 0x2) = 1; + } + INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031", func_8018011C); diff --git a/src/ov_SC03_089/ov_SC03_089.c b/src/ov_SC03_089/ov_SC03_089.c index e107ecaaf4..ef25256be8 100644 --- a/src/ov_SC03_089/ov_SC03_089.c +++ b/src/ov_SC03_089/ov_SC03_089.c @@ -4827,7 +4827,10 @@ INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_801811B4); INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_801811F0); -INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_8018122C); +s32 func_8018122C(void) { + return 0; + } + INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_80181234); @@ -4919,7 +4922,12 @@ INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_801831C4); INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_80183200); -INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_8018323C); +void func_8018323C(void *a0) { + *(s8 *)((s32)a0 + 0xc1) = 0; + *(s16 *)((s32)a0 + 0x5e) = 0; + *(s16 *)((s32)a0 + 0x5c) &= 0xc800; + } + INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089", func_80183254); diff --git a/src/ov_SC03_090/ov_SC03_090.c b/src/ov_SC03_090/ov_SC03_090.c index 3e05bd0327..103e76635d 100644 --- a/src/ov_SC03_090/ov_SC03_090.c +++ b/src/ov_SC03_090/ov_SC03_090.c @@ -4829,7 +4829,10 @@ INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090", func_801811F4); INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090", func_80181230); -INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090", func_8018126C); +s32 func_8018126C(void) { + return 0; + } + INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090", func_80181274); @@ -5120,7 +5123,11 @@ void func_801879A8(void) { INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090", func_801879B0); -INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090", func_801879D8); +void func_801879D8(s32 *a0) { + *(s16 *)((s32)a0 + 0x5C) = 0; + *(s32 *)((s32)a0 + 0x1C) = 0; + } + INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090", func_801879E4); diff --git a/src/ov_SC03_091/ov_SC03_091.c b/src/ov_SC03_091/ov_SC03_091.c index b3e084fd0e..3dd25f39ad 100644 --- a/src/ov_SC03_091/ov_SC03_091.c +++ b/src/ov_SC03_091/ov_SC03_091.c @@ -4857,7 +4857,10 @@ INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091", func_8018200C); INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091", func_80182048); -INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091", func_80182084); +s32 func_80182084(void) { + return 0; + } + INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091", func_8018208C); @@ -5150,7 +5153,11 @@ void func_80188850(void) { INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091", func_80188858); -INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091", func_80188880); +void func_80188880(s32 *a0) { + *(s16 *)((s32)a0 + 0x5C) = 0; + *(s32 *)((s32)a0 + 0x1C) = 0; + } + INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091", func_8018888C); diff --git a/src/ov_SC03_092/ov_SC03_092.c b/src/ov_SC03_092/ov_SC03_092.c index 439dffdf92..5975d8ce36 100644 --- a/src/ov_SC03_092/ov_SC03_092.c +++ b/src/ov_SC03_092/ov_SC03_092.c @@ -5003,7 +5003,12 @@ INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092", func_801809F0); INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092", func_80180A10); -INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092", func_80180A9C); +extern s32 func_80180A9C(void); + +s32 func_80180A9C(void) { + return 0x36; +} + INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092", func_80180AA4); diff --git a/src/ov_SC03_093/ov_SC03_093.c b/src/ov_SC03_093/ov_SC03_093.c index 6559eda9ee..406ebf53fe 100644 --- a/src/ov_SC03_093/ov_SC03_093.c +++ b/src/ov_SC03_093/ov_SC03_093.c @@ -4881,9 +4881,17 @@ INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093", func_8017F548); INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093", func_8017F570); -INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093", func_8017F708); +extern s32 D_801CC560; + void func_8017F708(void) { + D_801CC560 = 1; + } + + +extern s32 D_801CC560; + void func_8017F71C(void) { + D_801CC560 = 0; + } -INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093", func_8017F71C); INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093", func_8017F72C); diff --git a/src/ov_SC03_094/ov_SC03_094.c b/src/ov_SC03_094/ov_SC03_094.c index a4549cfe17..b35348e1e3 100644 --- a/src/ov_SC03_094/ov_SC03_094.c +++ b/src/ov_SC03_094/ov_SC03_094.c @@ -4859,7 +4859,12 @@ INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094", func_8017FB98); INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094", func_8017FBD4); -INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094", func_8017FC10); +void func_8017FC10(void *a0) { + *(s8 *)((s32)a0 + 0xc1) = 0; + *(s16 *)((s32)a0 + 0x5e) = 0; + *(s16 *)((s32)a0 + 0x5c) &= 0xc800; + } + INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094", func_8017FC28); diff --git a/src/ov_SC03_095/ov_SC03_095.c b/src/ov_SC03_095/ov_SC03_095.c index a27b548f87..ddb274a370 100644 --- a/src/ov_SC03_095/ov_SC03_095.c +++ b/src/ov_SC03_095/ov_SC03_095.c @@ -4813,7 +4813,11 @@ INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095", func_8017DB10); INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095", func_8017DB38); -INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095", func_8017DCD0); +extern s32 D_8019BD18; + void func_8017DCD0(void) { + D_8019BD18 = 1; + } + INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095", func_8017DCE4); diff --git a/src/ov_SC03_096/ov_SC03_096.c b/src/ov_SC03_096/ov_SC03_096.c index 02fca70ed4..acb7c72fdb 100644 --- a/src/ov_SC03_096/ov_SC03_096.c +++ b/src/ov_SC03_096/ov_SC03_096.c @@ -4850,9 +4850,18 @@ INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096", func_8017F01C); INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096", func_8017F044); -INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096", func_8017F1DC); +extern s32 D_8019A7D0; + void func_8017F1DC(void) { + D_8019A7D0 = 1; + } + + +extern s32 D_8019A7D0; + +void func_8017F1F0(void) { + D_8019A7D0 = 0; +} -INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096", func_8017F1F0); INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096", func_8017F200); diff --git a/src/ov_SC03_097/ov_SC03_097.c b/src/ov_SC03_097/ov_SC03_097.c index 2bbfc9fd54..f577e22118 100644 --- a/src/ov_SC03_097/ov_SC03_097.c +++ b/src/ov_SC03_097/ov_SC03_097.c @@ -4859,7 +4859,10 @@ INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097", func_8017EC78); INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097", func_8017ECB4); -INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097", func_8017ECF0); +s32 func_8017ECF0(void) { + return 0; + } + INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097", func_8017ECF8); diff --git a/src/ov_SC03_098/ov_SC03_098.c b/src/ov_SC03_098/ov_SC03_098.c index 0a825de818..1a8debe82a 100644 --- a/src/ov_SC03_098/ov_SC03_098.c +++ b/src/ov_SC03_098/ov_SC03_098.c @@ -4891,7 +4891,12 @@ INCLUDE_ASM("asm/ov_SC03_098/nonmatchings/ov_SC03_098", func_801803A0); INCLUDE_ASM("asm/ov_SC03_098/nonmatchings/ov_SC03_098", func_801803DC); -INCLUDE_ASM("asm/ov_SC03_098/nonmatchings/ov_SC03_098", func_80180418); +void func_80180418(void *a0) { + *(s8 *)((s32)a0 + 0xc1) = 0; + *(s16 *)((s32)a0 + 0x5e) = 0; + *(s16 *)((s32)a0 + 0x5c) &= 0xc800; + } + INCLUDE_ASM("asm/ov_SC03_098/nonmatchings/ov_SC03_098", func_80180430); diff --git a/src/ov_SC03_101/ov_SC03_101.c b/src/ov_SC03_101/ov_SC03_101.c index e26a056914..1636c3bc2b 100644 --- a/src/ov_SC03_101/ov_SC03_101.c +++ b/src/ov_SC03_101/ov_SC03_101.c @@ -4869,7 +4869,12 @@ INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_8017F414); INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_8017F450); -INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_8017F48C); +void func_8017F48C(void *a0) { + *(s8 *)((s32)a0 + 0xc1) = 0; + *(s16 *)((s32)a0 + 0x5e) = 0; + *(s16 *)((s32)a0 + 0x5c) &= 0xc800; + } + INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_8017F4A4); @@ -4998,7 +5003,11 @@ INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_80181F00); INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_80181F30); -INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_80181FA8); +extern s16 D_8019DE8A; + void func_80181FA8(s32 arg0) { + M2C_FIELD(&D_8019DE8A, s16 *, 0) += arg0; + } + INCLUDE_ASM("asm/ov_SC03_101/nonmatchings/ov_SC03_101", func_80181FC4); diff --git a/src/ov_SC03_102/ov_SC03_102.c b/src/ov_SC03_102/ov_SC03_102.c index 651f3e27b2..a6834bfce5 100644 --- a/src/ov_SC03_102/ov_SC03_102.c +++ b/src/ov_SC03_102/ov_SC03_102.c @@ -4837,7 +4837,12 @@ INCLUDE_ASM("asm/ov_SC03_102/nonmatchings/ov_SC03_102", func_80182600); INCLUDE_ASM("asm/ov_SC03_102/nonmatchings/ov_SC03_102", func_8018263C); -INCLUDE_ASM("asm/ov_SC03_102/nonmatchings/ov_SC03_102", func_80182678); +void func_80182678(void *a0) { + *(s8 *)((s32)a0 + 0xC1) = 0; + *(s16 *)((s32)a0 + 0x5E) = 0; + *(s16 *)((s32)a0 + 0x5C) &= 0xC800; + } + INCLUDE_ASM("asm/ov_SC03_102/nonmatchings/ov_SC03_102", func_80182690); diff --git a/src/ov_SC03_104/ov_SC03_104.c b/src/ov_SC03_104/ov_SC03_104.c index 79e3babe26..44a7fa102b 100644 --- a/src/ov_SC03_104/ov_SC03_104.c +++ b/src/ov_SC03_104/ov_SC03_104.c @@ -4817,7 +4817,10 @@ INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104", func_80181080); INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104", func_801810BC); -INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104", func_801810F8); +s32 func_801810F8(void) { + return 0; + } + INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104", func_80181100); diff --git a/src/ov_SC03_109/ov_SC03_109.c b/src/ov_SC03_109/ov_SC03_109.c index 2641ce5f75..d85b6a1ba7 100644 --- a/src/ov_SC03_109/ov_SC03_109.c +++ b/src/ov_SC03_109/ov_SC03_109.c @@ -4813,7 +4813,10 @@ INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109", func_8017DB84); INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109", func_8017DC54); -INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109", func_8017DCDC); +s32 func_8017DCDC(void) { + return 0x49; + } + INCLUDE_ASM("asm/ov_SC03_109/nonmatchings/ov_SC03_109", func_8017DCE4); diff --git a/src/ov_SC03_111/ov_SC03_111.c b/src/ov_SC03_111/ov_SC03_111.c index b23f4e2a1a..a0711a4249 100644 --- a/src/ov_SC03_111/ov_SC03_111.c +++ b/src/ov_SC03_111/ov_SC03_111.c @@ -4914,7 +4914,10 @@ INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111", func_8018154C); INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111", func_80181574); -INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111", func_801817CC); +s32 func_801817CC(void) { + return 0x4A; + } + INCLUDE_ASM("asm/ov_SC03_111/nonmatchings/ov_SC03_111", func_801817D4); diff --git a/src/ov_SC03_112/ov_SC03_112.c b/src/ov_SC03_112/ov_SC03_112.c index 05b06445e1..15d5fb3461 100644 --- a/src/ov_SC03_112/ov_SC03_112.c +++ b/src/ov_SC03_112/ov_SC03_112.c @@ -4823,7 +4823,12 @@ INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112", func_8017F0F4); INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112", func_8017F1CC); -INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112", func_8017F30C); +extern s32 func_8017F30C(void); + +s32 func_8017F30C(void) { + return 0x49; +} + INCLUDE_ASM("asm/ov_SC03_112/nonmatchings/ov_SC03_112", func_8017F314); diff --git a/src/ov_SC03_113/ov_SC03_113.c b/src/ov_SC03_113/ov_SC03_113.c index d875eca90f..00027ef6b1 100644 --- a/src/ov_SC03_113/ov_SC03_113.c +++ b/src/ov_SC03_113/ov_SC03_113.c @@ -4843,7 +4843,10 @@ INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113", func_8017FAD4); void func_8017FB88(void) { } -INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113", func_8017FB90); +s32 func_8017FB90(void) { + return 0x49; + } + INCLUDE_ASM("asm/ov_SC03_113/nonmatchings/ov_SC03_113", func_8017FB98); diff --git a/src/ov_SC03_115/ov_SC03_115.c b/src/ov_SC03_115/ov_SC03_115.c index c160575209..f015da9323 100644 --- a/src/ov_SC03_115/ov_SC03_115.c +++ b/src/ov_SC03_115/ov_SC03_115.c @@ -4831,7 +4831,12 @@ INCLUDE_ASM("asm/ov_SC03_115/nonmatchings/ov_SC03_115", func_8017D948); INCLUDE_ASM("asm/ov_SC03_115/nonmatchings/ov_SC03_115", func_8017D9C4); -INCLUDE_ASM("asm/ov_SC03_115/nonmatchings/ov_SC03_115", func_8017DA34); +extern s32 func_8017DA34(void); + +s32 func_8017DA34(void) { + return 0x59; +} + INCLUDE_ASM("asm/ov_SC03_115/nonmatchings/ov_SC03_115", func_8017DA3C); diff --git a/src/ov_SC03_116/ov_SC03_116.c b/src/ov_SC03_116/ov_SC03_116.c index ef6100987f..bbb11832d4 100644 --- a/src/ov_SC03_116/ov_SC03_116.c +++ b/src/ov_SC03_116/ov_SC03_116.c @@ -4755,7 +4755,11 @@ INCLUDE_ASM("asm/ov_SC03_116/nonmatchings/ov_SC03_116", func_8017BF14); INCLUDE_ASM("asm/ov_SC03_116/nonmatchings/ov_SC03_116", listCdBuffer); -INCLUDE_ASM("asm/ov_SC03_116/nonmatchings/ov_SC03_116", func_80180980); +extern s32 D_8012704C; + void func_80180980(void) { + D_8012704C = 0x1; + } + INCLUDE_ASM("asm/ov_SC03_116/nonmatchings/ov_SC03_116", func_80180994); diff --git a/src/ov_SC03_118/ov_SC03_118.c b/src/ov_SC03_118/ov_SC03_118.c index 36d256084f..434be502f8 100644 --- a/src/ov_SC03_118/ov_SC03_118.c +++ b/src/ov_SC03_118/ov_SC03_118.c @@ -4909,8 +4909,7 @@ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_8017F3C0); INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_8017F43C); -void func_8017F49C(void) { -} +DEFINE_func_8017F49C() /* dedup: shared engine-core @0x8017F49C (src/shared) */ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_8017F4A4); @@ -5032,9 +5031,10 @@ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_801828C4); INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_801828E4); -INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80182904); +DEFINE_func_80182904() /* dedup: shared engine-core @0x80182904 (src/shared) */ + +DEFINE_func_80182910() /* dedup: shared engine-core @0x80182910 (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80182910); INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_8018291C); @@ -5048,11 +5048,9 @@ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_801829E4); INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80182A34); -void func_80182ADC(void) { -} +DEFINE_func_80182ADC() /* dedup: shared engine-core @0x80182ADC (src/shared) */ -void func_80182AE4(void) { -} +DEFINE_func_80182AE4() /* dedup: shared engine-core @0x80182AE4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80182AEC); @@ -5112,8 +5110,7 @@ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_801839F4); INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80183A60); -void func_80183AF8(void) { -} +DEFINE_func_80183AF8() /* dedup: shared engine-core @0x80183AF8 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80183B00); @@ -5121,8 +5118,7 @@ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80183B3C); INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80183B84); -void func_80183C50(void) { -} +DEFINE_func_80183C50() /* dedup: shared engine-core @0x80183C50 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80183C58); @@ -5287,8 +5283,7 @@ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80187CA8); INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80187CD8); -void func_80187D04(void) { -} +DEFINE_func_80187D04() /* dedup: shared engine-core @0x80187D04 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80187D0C); @@ -5354,8 +5349,7 @@ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_80189178); INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_8018924C); -void func_80189274(void) { -} +DEFINE_func_80189274() /* dedup: shared engine-core @0x80189274 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_118/nonmatchings/ov_SC03_118", func_8018927C); diff --git a/src/ov_SC03_119/ov_SC03_119.c b/src/ov_SC03_119/ov_SC03_119.c index 10c8073272..5c04548ad5 100644 --- a/src/ov_SC03_119/ov_SC03_119.c +++ b/src/ov_SC03_119/ov_SC03_119.c @@ -4909,8 +4909,7 @@ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_8017F3C0); INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_8017F43C); -void func_8017F49C(void) { -} +DEFINE_func_8017F49C() /* dedup: shared engine-core @0x8017F49C (src/shared) */ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_8017F4A4); @@ -5032,9 +5031,10 @@ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_801828C4); INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_801828E4); -INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80182904); +DEFINE_func_80182904() /* dedup: shared engine-core @0x80182904 (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80182910); + +DEFINE_func_80182910() /* dedup: shared engine-core @0x80182910 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_8018291C); @@ -5048,11 +5048,9 @@ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_801829E4); INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80182A34); -void func_80182ADC(void) { -} +DEFINE_func_80182ADC() /* dedup: shared engine-core @0x80182ADC (src/shared) */ -void func_80182AE4(void) { -} +DEFINE_func_80182AE4() /* dedup: shared engine-core @0x80182AE4 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80182AEC); @@ -5112,8 +5110,7 @@ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_801839F4); INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80183A60); -void func_80183AF8(void) { -} +DEFINE_func_80183AF8() /* dedup: shared engine-core @0x80183AF8 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80183B00); @@ -5121,8 +5118,7 @@ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80183B3C); INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80183B84); -void func_80183C50(void) { -} +DEFINE_func_80183C50() /* dedup: shared engine-core @0x80183C50 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80183C58); @@ -5287,8 +5283,7 @@ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80187CA8); INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80187CD8); -void func_80187D04(void) { -} +DEFINE_func_80187D04() /* dedup: shared engine-core @0x80187D04 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80187D0C); @@ -5354,8 +5349,7 @@ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_80189178); INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_8018924C); -void func_80189274(void) { -} +DEFINE_func_80189274() /* dedup: shared engine-core @0x80189274 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119", func_8018927C); diff --git a/src/ov_SC03_121/ov_SC03_121.c b/src/ov_SC03_121/ov_SC03_121.c index 1c6034b34e..e34fdc989d 100644 --- a/src/ov_SC03_121/ov_SC03_121.c +++ b/src/ov_SC03_121/ov_SC03_121.c @@ -4881,7 +4881,10 @@ INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121", func_801801DC); INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121", func_80180214); -INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121", func_8018024C); +s32 func_8018024C(void) { + return 0x40; + } + INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121", func_80180254); diff --git a/src/ov_SC03_124/ov_SC03_124.c b/src/ov_SC03_124/ov_SC03_124.c index d4cefc0eb8..deb563b2d5 100644 --- a/src/ov_SC03_124/ov_SC03_124.c +++ b/src/ov_SC03_124/ov_SC03_124.c @@ -5225,7 +5225,12 @@ INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124", func_80183220); INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124", func_8018326C); -INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124", func_801832A0); +extern s32 func_801832A0(void); + +s32 func_801832A0(void) { + return -1; +} + INCLUDE_ASM("asm/ov_SC03_124/nonmatchings/ov_SC03_124", func_801832A8); diff --git a/src/ov_SC03_125/ov_SC03_125.c b/src/ov_SC03_125/ov_SC03_125.c index 80541cab6b..575ae9dd87 100644 --- a/src/ov_SC03_125/ov_SC03_125.c +++ b/src/ov_SC03_125/ov_SC03_125.c @@ -5032,7 +5032,10 @@ INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125", func_80181A58); INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125", func_80181AC0); -INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125", func_80181AE0); +void func_80181AE0(void *a0) { + *(s16 *)((s32)a0 + 0x5C) = 0; + } + INCLUDE_ASM("asm/ov_SC03_125/nonmatchings/ov_SC03_125", func_80181AE8); diff --git a/src/ov_SC03_126/ov_SC03_126.c b/src/ov_SC03_126/ov_SC03_126.c index f21875e611..7a333d4491 100644 --- a/src/ov_SC03_126/ov_SC03_126.c +++ b/src/ov_SC03_126/ov_SC03_126.c @@ -4781,7 +4781,11 @@ INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126", func_8017E5EC); INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126", func_8017E62C); -INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126", func_8017E6A8); +extern void func_800D1EBC(void); + void func_8017E6A8(void) { + func_800D1EBC(); + } + INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126", func_8017E6C8); @@ -4849,5 +4853,4 @@ INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126", func_8017F190); INCLUDE_ASM("asm/ov_SC03_126/nonmatchings/ov_SC03_126", func_8017F1B8); -void func_8017F224(void) { -} +DEFINE_func_8017F224() /* dedup: shared engine-core @0x8017F224 (src/shared) */ diff --git a/src/ov_SC04_021/ov_SC04_021.c b/src/ov_SC04_021/ov_SC04_021.c index 0bcc41f900..b281ab1690 100644 --- a/src/ov_SC04_021/ov_SC04_021.c +++ b/src/ov_SC04_021/ov_SC04_021.c @@ -4849,5 +4849,4 @@ INCLUDE_ASM("asm/ov_SC04_021/nonmatchings/ov_SC04_021", func_8017F190); INCLUDE_ASM("asm/ov_SC04_021/nonmatchings/ov_SC04_021", func_8017F1B8); -void func_8017F224(void) { -} +DEFINE_func_8017F224() /* dedup: shared engine-core @0x8017F224 (src/shared) */ diff --git a/src/ov_SC05_019/ov_SC05_019.c b/src/ov_SC05_019/ov_SC05_019.c index cd6353f9b0..7d5328c296 100644 --- a/src/ov_SC05_019/ov_SC05_019.c +++ b/src/ov_SC05_019/ov_SC05_019.c @@ -4849,5 +4849,4 @@ INCLUDE_ASM("asm/ov_SC05_019/nonmatchings/ov_SC05_019", func_8017F190); INCLUDE_ASM("asm/ov_SC05_019/nonmatchings/ov_SC05_019", func_8017F1B8); -void func_8017F224(void) { -} +DEFINE_func_8017F224() /* dedup: shared engine-core @0x8017F224 (src/shared) */ diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index 5bae65106b..837bddc072 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -24481,4 +24481,58 @@ *(short *)((char *)a0 + 0x2) = 0x2; \ } +#define DEFINE_func_8018918C() \ + void func_8018918C(void *a0) { \ + *(short *)((char *)a0 + 0x2) = 0x5; \ + *(int *)((char *)a0 + 0x1c) = 0; \ + } + +#define DEFINE_func_80188F18() \ + void func_80188F18(void *a0) { \ + *(s32 *)((s32)a0 + 0x48) = 0x1400; \ + *(s32 *)((s32)a0 + 0x14) = 0; \ + } + +#define DEFINE_func_8017F49C() \ + void func_8017F49C(void) { \ + } + +#define DEFINE_func_80182ADC() \ + void func_80182ADC(void) { \ + } + +#define DEFINE_func_80182AE4() \ + void func_80182AE4(void) { \ + } + +#define DEFINE_func_80183AF8() \ + void func_80183AF8(void) { \ + } + +#define DEFINE_func_80183C50() \ + void func_80183C50(void) { \ + } + +#define DEFINE_func_80187D04() \ + void func_80187D04(void) { \ + } + +#define DEFINE_func_80189274() \ + void func_80189274(void) { \ + } + +#define DEFINE_func_80182910() \ + void func_80182910(void *a0) { \ + *(short *)((char *)a0 + 0x2) = 0x3; \ + } + +#define DEFINE_func_80182904() \ + void func_80182904(void *a0) { \ + *(short *)((char *)a0 + 0x2) = 0x2; \ + } + +#define DEFINE_func_8017F224() \ + void func_8017F224(void) { \ + } + #endif