From e353b1faa6aa78ad8a193fa94ec0cd55363bc692 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Wed, 26 Aug 2026 01:47:07 -0600 Subject: [PATCH] =?UTF-8?q?feat(decomp):=20main=20lane=20m50a=20=E2=80=94?= =?UTF-8?q?=202=20banked?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked BYTE-IDENTICAL against config/check.us.sha before anything was credited. func_8001C810 func_80028DE0 --- src/800.c | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/800.c b/src/800.c index d7e90b2f5..3fb048b95 100644 --- a/src/800.c +++ b/src/800.c @@ -7625,7 +7625,35 @@ void func_8001C7B0(void *arg0) { *(s32 *)((char *)arg0 + 0x24) = 0; } -INCLUDE_ASM("asm/nonmatchings/800", func_8001C810); +extern void func_8001C9D0(void); +extern void func_80052D90(s32 a0, void *a1); +extern void func_80054514(s32 a0, s32 a1); +extern void GsMapModelingData(unsigned long *p); +extern u8 D_80063548[]; + +void func_8001C810(s32 a0, s32 *a1) { + s32 local_buf[8]; + s32 base; + + func_8001C9D0(); + + base = a0 + 0x30; + *(s16 *)(a0 + 0) = 1; + *(s16 *)(a0 + 2) = 5; + func_80052D90(0, (void *)base); + func_80054514(base, (s32)local_buf); + + *(s32 *)(a0 + 0x24) = (s32)a1; + if (a1 != 0) { + *(s32 *)(a0 + 0x20) = (s32)&D_80063548; + if (*a1 != 0) { + do { + GsMapModelingData((unsigned long *)((*a1 & 0x80FFFFFF) + 4)); + a1++; + } while (*a1 != 0); + } + } +} extern void func_8001C9D0(void); @@ -13112,7 +13140,11 @@ void func_80028DBC(s32 a0) { func_80029124(0xC, a0 & 0xFF); } -INCLUDE_ASM("asm/nonmatchings/800", func_80028DE0); +extern s32 func_80029178(); + +s32 func_80028DE0(void) { + return func_80029178(0xD) & 0xFF; +} extern void func_80029124(s32, s32);