From 348eb2808a4e6c2d2af9f908e69a1b4cb66eb023 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Tue, 25 Aug 2026 18:50:13 -0600 Subject: [PATCH] =?UTF-8?q?feat(decomp):=20main=20lane=20m45a=20=E2=80=94?= =?UTF-8?q?=203=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_800189A8 func_80028E68 func_8005D0F8 --- src/800.c | 31 +++++++++++++++++++++++++++++-- src/800c3.c | 6 +++++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/src/800.c b/src/800.c index c93a59c5d..060d96ca8 100644 --- a/src/800.c +++ b/src/800.c @@ -4914,7 +4914,30 @@ s32 LzssDecodeSector(u8 *src) { INCLUDE_ASM("asm/nonmatchings/800", func_80018918); -INCLUDE_ASM("asm/nonmatchings/800", func_800189A8); +extern s32 func_80018A20(s32 arg0); +extern void func_80018C64(void *a0); +extern void func_80018CE8(u8 *p); +extern void func_80018E9C(s32 a0); +extern u8 D_80078D98; +extern s32 D_800A5E78; + +void func_800189A8(void) { + u32 i; + u8 *p; + + D_800A5E78 = 1; + i = 0; + p = &D_80078D98; + do { + if (func_80018A20((s32)i) != 0) { + func_80018C64(p); + } + func_80018CE8(p); + func_80018E9C((s32)p); + i++; + p += 0x4C; + } while (i < 2); +} extern u8 D_80078D98; @@ -13007,7 +13030,11 @@ void func_80028E44(s32 a0) { func_80029124(0xE, a0 & 0xFF); } -INCLUDE_ASM("asm/nonmatchings/800", func_80028E68); +extern s32 func_80029178(); + +u8 func_80028E68(void) { + return func_80029178(0xF); +} extern void func_80029124(s32, s32); diff --git a/src/800c3.c b/src/800c3.c index 145ce265d..8323500e4 100644 --- a/src/800c3.c +++ b/src/800c3.c @@ -153,7 +153,11 @@ __asm__(".word 0x00000000"); INCLUDE_ASM("asm/nonmatchings/800c3", func_8005D0D8); -INCLUDE_ASM("asm/nonmatchings/800c3", func_8005D0F8); +extern void func_8005D8B4(void); + +void func_8005D0F8(void) { + func_8005D8B4(); +} extern void func_8005D980(void);