feat(phase-32): T3 (7) — md_MAIN_007: func_800CEE2C (52 ins) BANKED byte-identical 2ff702b6 (Sonnet drafter; an early u8 *base local keeps &D_800AF630 in $s0 across two calls, the neighbour global read by raw offset with no relocation; one captured pointer local for a shared address)

This commit is contained in:
Drew T
2026-09-05 01:05:31 -06:00
parent c6c1352d20
commit ec8a305d75
+33 -1
View File
@@ -1,6 +1,38 @@
#include "common.h"
INCLUDE_ASM("asm/md_MAIN_007/nonmatchings/md_MAIN_007", func_800CEE2C);
extern u16 D_800B99E4;
extern u8 D_800CFABF;
extern u8 D_800CFAC4[];
extern u8 D_800CFAD4[];
extern void (*D_800CFADC[])(void);
extern s32 D_800D1364;
extern u8 D_800AF630[];
extern void func_8001534C(int, void *, int, int, int, int);
void func_800CEE2C(void) {
u8 *base = D_800AF630;
u8 *p;
u8 v1;
u16 idx;
p = &D_800CFABF;
v1 = *(u8 *)&D_800B99E4;
v1 += 0x30;
*p = v1;
func_8001534C(1, p - 0xB, 0x60, 0x64, 0, 0);
if (D_800D1364) {
func_8001534C(2, D_800CFAC4, 0x60, 0x70, 0, 0);
} else {
func_8001534C(3, D_800CFAD4, 0x60, 0x70, 0, 0);
}
idx = *(u16 *)(base + 0xA3B4);
if (idx < 4) {
D_800CFADC[idx]();
}
}
INCLUDE_ASM("asm/md_MAIN_007/nonmatchings/md_MAIN_007", func_800CEEFC);