From 0d3bed88aae9cff38586005cfd3ec2daf0bf9a38 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Sat, 15 Aug 2026 00:19:24 -0600 Subject: [PATCH] feat(phase-31): propagate func_80182630 (gate lane) --- config/dedup.us.yaml | 7 +++++ src/ov_SC02_000/ov_SC02_000_jr_8018173C.c | 19 +----------- src/ov_SC02_003/ov_SC02_003_jr_8018173C.c | 2 +- src/shared/engine_core.h | 36 +++++++++++++++++++++++ 4 files changed, 45 insertions(+), 19 deletions(-) diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index 0de321cbd..ed32dd451 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -14726,3 +14726,10 @@ groups: func: DEFINE_func_80189898 vram: 0x80189898 binaries: [ov_SC02_000, ov_SC02_003] + - id: E_func_80182630 + tier: h_exact + hash: 8c5875d38295a796734aeebf2f206a1fa8eff14d + source: src/shared/engine_core.h + func: DEFINE_func_80182630 + vram: 0x80182630 + binaries: [ov_SC02_000, ov_SC02_003] diff --git a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c index c06a2a6e2..60e8e57cb 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c @@ -2942,24 +2942,7 @@ INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8018173C", func_801825E #include "common.h" -extern s32 func_801399F0(s32); -extern void func_80139914(s32 a0); - -void func_80182630(s32 a0) -{ - u8 *s0 = (u8 *)a0; - register s32 v0 asm("v0"); - register s32 v1 asm("v1"); - - v0 = func_801399F0(*(s32 *)(s0 + 0x198)); - if (v0 != 0) { - func_80139914(*(s32 *)(s0 + 0x198)); - v0 = s0[0x4D]; - v1 = s0[0x214]; - s0[0x4D] = v0 - 1; - s0[0x214] = v1 + 1; - } -} +DEFINE_func_80182630() /* dedup: shared engine-core @0x80182630 (src/shared) */ diff --git a/src/ov_SC02_003/ov_SC02_003_jr_8018173C.c b/src/ov_SC02_003/ov_SC02_003_jr_8018173C.c index b799f69eb..b102669eb 100644 --- a/src/ov_SC02_003/ov_SC02_003_jr_8018173C.c +++ b/src/ov_SC02_003/ov_SC02_003_jr_8018173C.c @@ -2928,7 +2928,7 @@ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_8018259 INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_801825E0); -INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_80182630); +DEFINE_func_80182630() /* dedup: shared engine-core @0x80182630 (src/shared) */ // @class: plumbing diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index 4402bd4f7..bb5b0a422 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -60817,6 +60817,24 @@ } \ } +#define DEFINE_func_80182630() \ + extern s32 func_801399F0(s32); \ + extern void func_80139914(s32 a0); \ + void func_80182630(s32 a0) \ + { \ + u8 *s0 = (u8 *)a0; \ + register s32 v0 asm("v0"); \ + register s32 v1 asm("v1"); \ + v0 = func_801399F0(*(s32 *)(s0 + 0x198)); \ + if (v0 != 0) { \ + func_80139914(*(s32 *)(s0 + 0x198)); \ + v0 = s0[0x4D]; \ + v1 = s0[0x214]; \ + s0[0x4D] = v0 - 1; \ + s0[0x214] = v1 + 1; \ + } \ + } + #endif #define DEFINE_func_80128EA8() \ @@ -151039,4 +151057,22 @@ } \ } +#define DEFINE_func_80182630() \ + extern s32 func_801399F0(s32); \ + extern void func_80139914(s32 a0); \ + void func_80182630(s32 a0) \ + { \ + u8 *s0 = (u8 *)a0; \ + register s32 v0 asm("v0"); \ + register s32 v1 asm("v1"); \ + v0 = func_801399F0(*(s32 *)(s0 + 0x198)); \ + if (v0 != 0) { \ + func_80139914(*(s32 *)(s0 + 0x198)); \ + v0 = s0[0x4D]; \ + v1 = s0[0x214]; \ + s0[0x4D] = v0 - 1; \ + s0[0x214] = v1 + 1; \ + } \ + } + #endif