mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-28 14:59:48 -04:00
chore(decomp): commit in-tree banked work before the serial lane
This commit is contained in:
@@ -2787,7 +2787,7 @@ extern void func_80182C10(void);
|
||||
extern void func_80182D04(s32 a0);
|
||||
extern void func_80182EB0();
|
||||
extern void func_801831EC(void);
|
||||
extern void func_80183748();
|
||||
extern void func_80183748(void *a0);
|
||||
|
||||
/* ---- scalars ------------------------------------------------------------------ */
|
||||
extern u16 D_800B99D8;
|
||||
@@ -4493,15 +4493,7 @@ s32 param_1;
|
||||
}
|
||||
|
||||
|
||||
extern s32 D_801EDA1C;
|
||||
extern s32 func_80182B00(s32 arg0);
|
||||
|
||||
void func_80180890(s32 arg0) {
|
||||
if (func_80182B00(arg0) != 0 || D_801EDA1C != 0) {
|
||||
*(s16 *)(arg0 + 2) = 1;
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_jr_8017D2DC", func_80180890);
|
||||
|
||||
|
||||
extern void (*D_80188E10[])(void);
|
||||
|
||||
@@ -4914,7 +4914,71 @@ void func_80181938(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC06_030/nonmatchings/ov_SC06_030_jr_8017C8D0", func_80181A80);
|
||||
extern u8 D_801202A0[];
|
||||
extern void *D_80126CC8;
|
||||
extern u8 D_801B72B4[];
|
||||
extern u8 D_801B6914[];
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_80180D68(void);
|
||||
|
||||
void func_80181A80(void *a0) {
|
||||
u16 state = *(u16 *)((s32)a0 + 0x34);
|
||||
|
||||
switch (state) {
|
||||
case 4:
|
||||
{
|
||||
u8 *p = D_801202A0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 0x60; i++, p += 0x10C) {
|
||||
if (*(u16 *)(p + 0) == 0x2E7 && *(u16 *)(p + 2) == 4) {
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)D_801B72B4);
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8800;
|
||||
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = 0x400;
|
||||
*(s16 *)((s32)a0 + 0x34) = 3;
|
||||
}
|
||||
}
|
||||
/* fall through */
|
||||
}
|
||||
case 0:
|
||||
if (D_80126CC8 == a0) {
|
||||
u16 t0 = *(u16 *)((s32)a0 + 0x88);
|
||||
u16 t1 = *(u16 *)((s32)a0 + 0x8A);
|
||||
u16 t2 = *(u16 *)((s32)a0 + 0x8C);
|
||||
|
||||
*(s16 *)((s32)a0 + 0x34) = 1;
|
||||
*(s16 *)((s32)a0 + 0x5C) = 0;
|
||||
*(u16 *)((s32)a0 + 0x6) = t0;
|
||||
*(u16 *)((s32)a0 + 0xA) = t1;
|
||||
*(u16 *)((s32)a0 + 0xE) = t2;
|
||||
func_80180D68();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
u8 *p = D_801202A0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 0x60; i++, p += 0x10C) {
|
||||
if (*(u16 *)(p + 0) == 0x2E7 && *(u16 *)(p + 2) == 4) {
|
||||
func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)D_801B6914);
|
||||
*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x60000040;
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x9000;
|
||||
*(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = 0x400;
|
||||
*(s16 *)((s32)a0 + 0x34) = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801B4DA8[])(void);
|
||||
|
||||
@@ -4689,7 +4689,57 @@ void func_8017E520(s32 a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_8017E5B8);
|
||||
void func_8017E5B8(s32 a0, s32 a1) {
|
||||
register s32 self __asm__("$2") = a0;
|
||||
register s32 tmp __asm__("$3") = a1 * 8;
|
||||
register s32 c0 __asm__("$4") = 0x1E;
|
||||
register s32 c1 __asm__("$5") = self;
|
||||
register s32 off __asm__("$17");
|
||||
register s32 k2 __asm__("$18");
|
||||
register s32 k1 __asm__("$19");
|
||||
register s32 i __asm__("$20");
|
||||
register s32 base __asm__("$21");
|
||||
register s32 p __asm__("$16");
|
||||
extern s32 func_8012C588(s32 a0, s32 a1);
|
||||
extern void func_80015954(s32 a0, s32 a1);
|
||||
extern s32 func_80146A6C(s32, void*, s32, s32, s32, s32, s32);
|
||||
extern s16 D_80185D28[];
|
||||
extern s16 D_80185D2A[];
|
||||
extern s16 D_80185D2C[];
|
||||
extern s16 D_80185D2E[];
|
||||
extern u16 D_80185D5A[];
|
||||
|
||||
i = 0;
|
||||
off = tmp;
|
||||
base = (s32) D_80185D28;
|
||||
__asm__ __volatile__("" : : "r"(tmp));
|
||||
k1 = -0xE3;
|
||||
__asm__ __volatile__("" : : "r"(k1));
|
||||
k2 = -0x155;
|
||||
func_80146A6C(c0, (void *)c1, *(s16 *)((s32)D_80185D28 + off),
|
||||
*(s16 *)((s32)D_80185D2A + off),
|
||||
*(s16 *)((s32)D_80185D2C + off), 0, 0);
|
||||
do {
|
||||
p = func_8012C588(0x3A6, 0);
|
||||
if (p != 0) {
|
||||
func_80015954(off + base, p + 4);
|
||||
*(s16 *)(p + 0xFC) = *(u16 *)((s32)D_80185D5A +
|
||||
(*(s16 *)((s32)D_80185D2E + off) << 2)) + k2;
|
||||
*(s32 *)(p + 0xDC) = 0;
|
||||
}
|
||||
p = func_8012C588(0x3A6, 0);
|
||||
if (p != 0) {
|
||||
func_80015954(off + base, p + 4);
|
||||
*(s16 *)(p + 0xFC) = *(u16 *)((s32)D_80185D5A +
|
||||
(*(s16 *)((s32)D_80185D2E + off) << 2)) + k1;
|
||||
*(s32 *)(p + 0xDC) = 1;
|
||||
}
|
||||
k1 += 0xAA;
|
||||
i++;
|
||||
k2 += 0xAA;
|
||||
} while (i < 4);
|
||||
}
|
||||
|
||||
|
||||
extern void func_80015954(s32 a0, s32 a1);
|
||||
extern s32 func_8012C588(s32 a0, s32 a1);
|
||||
|
||||
Reference in New Issue
Block a user