mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 22:45:39 -04:00
feat(decomp): main lane m74ab — 8 banked
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_800112C8 func_80011998 func_80011CFC func_800120DC func_80012A60 func_80012F74 func_8001534C func_8005E188
This commit is contained in:
@@ -588,7 +588,15 @@ void func_800129CC(s16 *s0, s16 *s1)
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/800", func_80012A60);
|
||||
extern s32 func_80012AB0(s32 a0, s32 a1);
|
||||
|
||||
s32 func_80012A60(s16 a0, s16 a1) {
|
||||
s32 w = func_80012AB0(a0, a1);
|
||||
if ((s16)w > 0x7FF) {
|
||||
w = 0xFFF - w;
|
||||
}
|
||||
return (s16)w;
|
||||
}
|
||||
|
||||
s32 func_80012AB0(s32 arg0, s32 arg1) {
|
||||
return (arg0 - arg1) & 0xFFF;
|
||||
@@ -639,7 +647,12 @@ INCLUDE_ASM("asm/nonmatchings/800", func_80012E0C);
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/800", func_80012E6C);
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/800", func_80012F74);
|
||||
extern s32 func_80012FC8(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
|
||||
s32 func_80012F74(s32 x, s32 y, s32 z, s32 w)
|
||||
{
|
||||
return (s16)(x + func_80012FC8((s16)x, (s16)y, (s16)z, (s16)w));
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/800", func_80012FC8);
|
||||
|
||||
@@ -1900,7 +1913,16 @@ void func_80015310(void) {
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/800", func_8001534C);
|
||||
extern u8 D_800AF630[];
|
||||
|
||||
void func_8001534C(s32 idx, s32 a1, s16 x, s16 y, u8 arg4, u8 arg5) {
|
||||
u8 *p;
|
||||
s32 off;
|
||||
|
||||
p = D_800AF630;
|
||||
off = (s16)idx * 16 + 0x9DA8;
|
||||
func_800153A4(p + off, a1, x, y, arg4, arg5);
|
||||
}
|
||||
|
||||
|
||||
void func_800153A4(void *a0, s32 a1, s16 a2, s16 a3, u8 arg4, u8 arg5) {
|
||||
|
||||
+4
-1
@@ -723,7 +723,10 @@ INCLUDE_ASM("asm/nonmatchings/800c3", SysEnqIntRP);
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/800c3", SysDeqIntRP);
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/800c3", func_8005E188);
|
||||
void func_8005E188(s32 arg0, s32 arg1, s8 arg2) {
|
||||
*(s32*)(arg0 + 0x28) = arg1;
|
||||
*(u8*)(arg0 + 0x34) = arg2;
|
||||
}
|
||||
|
||||
void func_8005E194(void *arg0, u8 arg1, u32 arg2, u8 arg3) {
|
||||
*(u8 *)((u8 *)arg0 + 0x36) = arg1;
|
||||
|
||||
+32
-4
@@ -471,7 +471,16 @@ void func_8001125C(void) {
|
||||
void func_800112A8(void) {
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/boot", func_800112C8);
|
||||
extern int CdReadRequest(void *dst, void *src, int arg2, int arg3);
|
||||
extern void func_80011778(void);
|
||||
extern u8 D_800AE870;
|
||||
extern void *loadDestPtrTable;
|
||||
|
||||
void func_800112C8(void) {
|
||||
if (CdReadRequest(&D_800AE870, loadDestPtrTable, 0, 0) != 0) {
|
||||
func_80011778();
|
||||
}
|
||||
}
|
||||
|
||||
extern u8 D_800AF630[];
|
||||
extern void func_800CEDFC(void);
|
||||
@@ -543,7 +552,13 @@ void func_80011928(u16 arg0) {
|
||||
*(u16 *)(p + 0xA3BC) = 0;
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/boot", func_80011998);
|
||||
extern u8 D_800AF630[];
|
||||
|
||||
void func_80011998(void) {
|
||||
register u8 *p = D_800AF630;
|
||||
(*(u16 *)(p + 0xA3BA))++;
|
||||
*(u16 *)(p + 0xA3BC) = 0;
|
||||
}
|
||||
|
||||
extern u8 D_800AF630[];
|
||||
|
||||
@@ -615,7 +630,14 @@ void func_80011C8C(u16 arg0) {
|
||||
*(u16 *)(p + 0xA3CE) = 0;
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/boot", func_80011CFC);
|
||||
extern u8 D_800AF630[];
|
||||
|
||||
void func_80011CFC(void) {
|
||||
register u8 *p = D_800AF630;
|
||||
|
||||
(*(u16 *)(p + 0xA3CC))++;
|
||||
*(u16 *)(p + 0xA3CE) = 0;
|
||||
}
|
||||
|
||||
extern u8 D_800AF630[];
|
||||
|
||||
@@ -686,6 +708,12 @@ void func_80011EB4(void) {
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/boot", func_800120DC);
|
||||
extern u16 D_80074794;
|
||||
extern u16 D_80074798;
|
||||
|
||||
void func_800120DC(u16 *arg0, u16 *arg1) {
|
||||
*arg0 = D_80074794;
|
||||
*arg1 = D_80074798;
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/nonmatchings/boot", func_8001212C);
|
||||
|
||||
Reference in New Issue
Block a user