mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
feat(decomp): jtbl lane — func_801E5358 banked in md_SC03_135 (88 ins, island-end)
carve→draft→bank through harvest_verify's gate-time jtbl prep (island split §260); whole-binary SHA green.
This commit is contained in:
@@ -94,7 +94,9 @@ segments:
|
||||
# 0x801E25E8 ahead of the code, a 1-word analogue of main's rodata-island (no ld_interleave).
|
||||
# - [0x0, rodata, head]
|
||||
- [0x0, .rodata, md_SC03_135] # module-id header (+jtbl/ptr table) — §154-A
|
||||
- [0x27C, c, md_SC03_135]
|
||||
- [0x268, .rodata, md_SC03_135_jr_801E5358] # §154-A island split (jtbl_carve --island-split)
|
||||
- [0x27c, c, md_SC03_135]
|
||||
- [0x2d70, c, md_SC03_135_jr_801E5358]
|
||||
- [0x3594, data, tail] # data tail: pointer tables + packed data (split iterated)
|
||||
- [0x880C] # EOF marker = the 0.4.dec byte length
|
||||
# @TRAILING@ (above) is replaced by tools/new_overlay.sh: for a non-4-aligned overlay it becomes
|
||||
|
||||
@@ -751,215 +751,3 @@ void func_801E5324(void) {
|
||||
extern u8 D_800AF040[];
|
||||
func_8001ABBC(0, 0, D_800AF040, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E5358);
|
||||
|
||||
|
||||
|
||||
void func_801E54A4(void *a0) {
|
||||
|
||||
extern void (*D_801E67E0[])(void);
|
||||
D_801E67E0[*(u16 *)((s32)a0 + 0x2)]();
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E54E0);
|
||||
|
||||
|
||||
|
||||
void func_801E54F0(void) {
|
||||
|
||||
extern s32 D_801EAC6C;
|
||||
D_801EAC6C = 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
s32 func_801E5504(void) {
|
||||
|
||||
extern s32 D_801EAC6C;
|
||||
return D_801EAC6C;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E5514);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E559C);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E5624);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E56A8);
|
||||
|
||||
|
||||
extern void func_8012C1B8(void);
|
||||
extern void func_8012CAE4(void *a0);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, s32 a1);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern s32 func_80178B18(s32 a0, s32 a1);
|
||||
|
||||
void func_801E57C4(void *a0) {
|
||||
extern s32 D_801CEA24;
|
||||
extern s32 D_801BEAF8;
|
||||
extern s32 D_801E669C;
|
||||
extern s32 D_801E66CC;
|
||||
s32 v0;
|
||||
s32 ptr;
|
||||
|
||||
v0 = ((s32 (*)(void))func_8012C1B8)();
|
||||
*(s32 *)((s32)a0 + 0x20) = v0;
|
||||
if (v0 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
} else {
|
||||
func_8001C214(v0, (s32)&D_801CEA24);
|
||||
ptr = *(s32 *)((s32)a0 + 0x68);
|
||||
*(s16 *)(ptr + 0xC) = 0x7FFF;
|
||||
*(s16 *)((s32)a0 + 0x2) = 1;
|
||||
func_8012A828((s32)a0, (s32)&D_801BEAF8);
|
||||
func_8012E8E0((s32)a0, (s32)&D_801E669C);
|
||||
*(s16 *)((s32)a0 + 0x34) = 0;
|
||||
func_80178B18((s32)a0, (s32)&D_801E66CC);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void *func_801E585C(void) {
|
||||
typedef struct { s32 x, y, z; } SV4;
|
||||
extern u8 D_80078EB1;
|
||||
extern u8 D_80078E78[];
|
||||
extern u32 D_801E6C68;
|
||||
extern u32 D_801E6D8C;
|
||||
extern s32 D_801EADF0;
|
||||
extern void func_801E5A7C(void);
|
||||
extern s32 func_80029504(void);
|
||||
extern s32 func_801E5A1C(s32, s32, s32);
|
||||
extern void func_801E5A34(s32, s32, s32);
|
||||
extern void func_80029124(s32 a0, s32 a1);
|
||||
extern void func_801E5AAC(void);
|
||||
extern void func_801E5AFC(void);
|
||||
extern void func_801E5B3C(void);
|
||||
extern SV4 D_801EAC70;
|
||||
s32 v;
|
||||
u8 *p;
|
||||
|
||||
p = D_80078E78;
|
||||
func_801E5A7C();
|
||||
v = func_80029504();
|
||||
|
||||
if (v >= 0xC8) {
|
||||
if (v < 0x258) {
|
||||
if (func_801E5A1C(D_80078EB1, 0xD, 0x18)) {
|
||||
if ((u32)(v - 0x136) < 0x46) {
|
||||
func_801E5A34(0xA, (s32)&D_801E6C68, (s32)func_801E5AFC);
|
||||
func_80029124(0x112, 1);
|
||||
} else {
|
||||
func_801E5A34(0xA, 0, 0);
|
||||
}
|
||||
} else {
|
||||
func_801E5A34(0xA, 0, 0);
|
||||
}
|
||||
if (func_801E5A1C(p[0x39], 0xD, 0x18)) {
|
||||
if ((u32)(v - 0x136) < 0x46) {
|
||||
func_801E5A34(0xB, (s32)&D_801E6D8C, (s32)func_801E5B3C);
|
||||
} else {
|
||||
func_801E5A34(0xB, 0, 0);
|
||||
}
|
||||
} else {
|
||||
func_801E5A34(0xB, 0, 0);
|
||||
}
|
||||
} else {
|
||||
func_801E5A34(0xA, 0, 0);
|
||||
func_801E5A34(0xB, 0, 0);
|
||||
}
|
||||
} else {
|
||||
func_801E5A34(0xA, 0, 0);
|
||||
func_801E5A34(0xB, 0, 0);
|
||||
}
|
||||
func_801E5AAC();
|
||||
if (D_801EADF0 == 0) {
|
||||
return 0;
|
||||
}
|
||||
return &D_801EAC70;
|
||||
}
|
||||
|
||||
|
||||
s32 func_801E5998(s32 a0) {
|
||||
extern s32 D_801EADF0;
|
||||
extern s32 D_801EAC78;
|
||||
extern s32 D_801EAC74;
|
||||
s32 s0;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 limit;
|
||||
func_801E585C();
|
||||
s0 = a0;
|
||||
v0 = D_801EADF0;
|
||||
if (v0 > 0) {
|
||||
v1 = 0;
|
||||
limit = v0 * 16;
|
||||
do {
|
||||
if (*(s32 *)((s32)&D_801EAC78 + v1) == s0) {
|
||||
return *(s32 *)((s32)&D_801EAC74 + v1);
|
||||
}
|
||||
v1 += 16;
|
||||
} while (v1 < limit);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
s32 func_801E5A1C(s32 a0, s32 a1, s32 a2) {
|
||||
return (a0 >= a1) && (a0 < a2);
|
||||
}
|
||||
|
||||
|
||||
void func_801E5A34(s32 a0, s32 a1, s32 a2) {
|
||||
extern s32 D_801EADF0;
|
||||
extern s32 D_801EAC74[][4];
|
||||
extern s32 D_801EAC78[][4];
|
||||
extern s32 D_801EAC7C[][4];
|
||||
s32 n = D_801EADF0;
|
||||
D_801EAC78[n][0] = a0;
|
||||
D_801EAC74[n][0] = a1;
|
||||
D_801EAC7C[n][0] = a2;
|
||||
D_801EADF0 = n + 1;
|
||||
}
|
||||
|
||||
|
||||
extern s32 D_801EAC70;
|
||||
extern s32 D_801EADF0;
|
||||
extern void func_80016714(void *a0, s32 a1);
|
||||
|
||||
void func_801E5A7C(void) {
|
||||
func_80016714(&D_801EAC70, 0x180);
|
||||
D_801EADF0 = 0;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E5AAC);
|
||||
|
||||
extern s32 func_80029504(void);
|
||||
extern void func_80029124(s32 a0, s32 a1);
|
||||
extern void func_80029514(s32 arg0);
|
||||
|
||||
void func_801E5AFC(void) {
|
||||
func_80029124(0xFD, 0x1);
|
||||
if (((s32 (*)(void))func_80029504)() == 0x136) {
|
||||
((void (*)(s32))func_80029514)(0x140);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80029504(void);
|
||||
extern void func_80029124(s32 a0, s32 a1);
|
||||
extern void func_80029514(s32 arg0);
|
||||
|
||||
void func_801E5B3C(void) {
|
||||
func_80029124(0xFE, 0x1);
|
||||
if (((s32 (*)(void))func_80029504)() == 0x136) {
|
||||
((void (*)(s32))func_80029514)(0x140);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,361 @@
|
||||
#include "common.h"
|
||||
|
||||
/* ==== Phase-26 §8b carried decl layer (jr_isolate_all.py) ===================
|
||||
* The file-scope decl environment from earlier code regions of this object —
|
||||
* file-local types, col-0 decls, DEFINE_func macro externs, and each earlier
|
||||
* definition's implied prototype (types first, then decls in original order).
|
||||
* Decls emit no code => byte-neutral. See cookbook §8c. */
|
||||
typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_801E3540;
|
||||
typedef struct { u32 w[38]; } Blk152_8017DF40_801E48B8;
|
||||
typedef struct { u8 b[4]; } Blk4_8017DF40_801E48B8;
|
||||
typedef struct { u8 c[8]; } Blk8;
|
||||
typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801E5124;
|
||||
typedef struct { short vx, vy, vz, pad; } SVECTOR_801EDED4_801E5124;
|
||||
extern s32 func_801E288C(void);
|
||||
extern s32 func_80029504(void);
|
||||
extern void func_801E2980(s32 arg0, s32 arg1);
|
||||
extern void func_801E28D0(void);
|
||||
extern void func_801E295C(void);
|
||||
extern s16 func_801E2970(void);
|
||||
extern u16 D_80115116;
|
||||
extern unsigned short D_80115112;
|
||||
extern void (*D_801E65D0[])(void);
|
||||
extern void func_80141C04(void);
|
||||
extern void func_801E29F8(void);
|
||||
extern void func_801E2BC4(void);
|
||||
extern void func_801E2BE0(void);
|
||||
extern void func_801E2CC0(void);
|
||||
extern void func_800D2624(void);
|
||||
extern void func_801E2CDC(void);
|
||||
extern s32 func_80024054(u8 *, u8 *);
|
||||
extern s32 func_800D2650(s32, u8 *, s16, s16, s32, s32);
|
||||
extern s32 func_800D27DC(s32, s32, void *, s16, s32);
|
||||
extern s32 func_800D29F8(s32, s32, void *, s16, s32);
|
||||
extern s32 func_801E3830(s32, s16, s16, s16, s32 *);
|
||||
extern s32 func_801E3540(s32 ot, u8 *s, s16 c);
|
||||
extern u32 func_801E45C0(s32 a0, s32 a1);
|
||||
extern void func_801E4890(void);
|
||||
extern void func_801E48B8(s32 arg0);
|
||||
extern void func_8014B00C(void);
|
||||
extern void func_80029344(void);
|
||||
extern void func_801E4BA4(void);
|
||||
extern u8 *D_80126B10;
|
||||
extern u8 D_801E6644[];
|
||||
extern void func_80175414(s32 _arg0);
|
||||
void func_800167B8(int);
|
||||
extern int func_801E4BCC(u8 *arg);
|
||||
extern s32 func_800167F0(s32 a0);
|
||||
extern s32 func_801E4C24(void);
|
||||
extern s32 func_800D1E28(void);
|
||||
extern s32 func_8002D4C8(s32, s32);
|
||||
extern s32 func_8001BFD0(void);
|
||||
extern s32 func_800291B4(s32);
|
||||
extern s32 func_80029524(void);
|
||||
extern s32 func_800D0C48(s32);
|
||||
extern s32 func_801E4C9C(s32 param_1);
|
||||
extern void func_800D1EBC(void);
|
||||
extern void func_801E4D3C(void);
|
||||
extern void func_801E4D5C(void *a0);
|
||||
extern s32 func_801E4D98(void *a0);
|
||||
extern void func_801E4E04(void *a0);
|
||||
extern void func_80171A1C(void*);
|
||||
extern void func_801E4E40(void);
|
||||
extern s32 func_80171D78(u32, void *);
|
||||
extern void func_801E4E68(u32 arg0);
|
||||
extern s32 func_80014C54(s32, s32, s32);
|
||||
extern void func_800D1724(void *);
|
||||
extern void func_80171A1C(void *);
|
||||
extern void func_801E4ED0(void *arg0);
|
||||
extern void func_801E4F28(void);
|
||||
extern void func_801E4F30(void *a0);
|
||||
extern void func_801E4F6C(void);
|
||||
extern void func_801E4F8C(u32 arg0);
|
||||
extern void func_801E4FF4(void);
|
||||
extern void func_8012A018(s32 a0, s32 a1);
|
||||
extern void func_8012A094(s32 a0);
|
||||
extern void func_801E50C0(void *a0);
|
||||
extern void func_801E4FFC(void);
|
||||
extern void func_801E5124(s32 param_1, s16 *param_2);
|
||||
extern void func_801E50FC(s32 param_1);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80012ABC(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80049CAC(s32 a0, s32 a1);
|
||||
extern void func_8012F14C(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_801E531C(void);
|
||||
extern void func_8001ABBC(u32, u32, void *, u32, u32);
|
||||
extern void func_801E5324(void);
|
||||
/* ==== end §8b carried decl layer ==== */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u8 *D_80126B10;
|
||||
extern u8 D_801E672C[];
|
||||
extern u8 D_801E6798[];
|
||||
extern u8 D_801E67B0[];
|
||||
extern s32 func_801789AC(u8 *a0);
|
||||
extern void func_80178CBC(u8 *a0, u8 *a1);
|
||||
extern s16 func_80185B78(void);
|
||||
extern void func_80185B88(s32 a0);
|
||||
extern void func_80174438(s32 a0);
|
||||
extern void func_801E2864(void);
|
||||
extern s32 func_801E288C(void);
|
||||
|
||||
void func_801E5358(u8 *a0) {
|
||||
switch (*(u16 *)(a0 + 0x34)) {
|
||||
case 0:
|
||||
switch (func_801789AC(a0)) {
|
||||
case 2:
|
||||
func_80178CBC(a0, D_801E6798);
|
||||
*(u16 *)(a0 + 0x34) = 0;
|
||||
break;
|
||||
case 1:
|
||||
*(u16 *)(a0 + 0x34) = 2;
|
||||
func_80185B88(4);
|
||||
break;
|
||||
case 3:
|
||||
func_80178CBC(a0, D_801E67B0);
|
||||
*(u16 *)(a0 + 0x34) = 3;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
if (func_80185B78() != 0) {
|
||||
func_801E2864();
|
||||
*(u16 *)(a0 + 0x34) = 4;
|
||||
} else {
|
||||
func_80178CBC(a0, D_801E672C);
|
||||
*(u16 *)(a0 + 0x34) = 0;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (func_801789AC(a0) != 0) {
|
||||
func_80174438((*(s32 *)&D_80126B10));
|
||||
*(u16 *)(a0 + 0x34) = 1;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (((s16 (*)(void))func_801E288C)() != 0) {
|
||||
*(u16 *)(a0 + 0x34) = 2;
|
||||
func_80185B88(4);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void func_801E54A4(void *a0) {
|
||||
|
||||
extern void (*D_801E67E0[])(void);
|
||||
D_801E67E0[*(u16 *)((s32)a0 + 0x2)]();
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135_jr_801E5358", func_801E54E0);
|
||||
|
||||
|
||||
|
||||
void func_801E54F0(void) {
|
||||
|
||||
extern s32 D_801EAC6C;
|
||||
D_801EAC6C = 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
s32 func_801E5504(void) {
|
||||
|
||||
extern s32 D_801EAC6C;
|
||||
return D_801EAC6C;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135_jr_801E5358", func_801E5514);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135_jr_801E5358", func_801E559C);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135_jr_801E5358", func_801E5624);
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135_jr_801E5358", func_801E56A8);
|
||||
|
||||
|
||||
extern void func_8012C1B8(void);
|
||||
extern void func_8012CAE4(void *a0);
|
||||
extern void func_8001C214(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, s32 a1);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern s32 func_80178B18(s32 a0, s32 a1);
|
||||
|
||||
void func_801E57C4(void *a0) {
|
||||
extern s32 D_801CEA24;
|
||||
extern s32 D_801BEAF8;
|
||||
extern s32 D_801E669C;
|
||||
extern s32 D_801E66CC;
|
||||
s32 v0;
|
||||
s32 ptr;
|
||||
|
||||
v0 = ((s32 (*)(void))func_8012C1B8)();
|
||||
*(s32 *)((s32)a0 + 0x20) = v0;
|
||||
if (v0 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
} else {
|
||||
func_8001C214(v0, (s32)&D_801CEA24);
|
||||
ptr = *(s32 *)((s32)a0 + 0x68);
|
||||
*(s16 *)(ptr + 0xC) = 0x7FFF;
|
||||
*(s16 *)((s32)a0 + 0x2) = 1;
|
||||
func_8012A828((s32)a0, (s32)&D_801BEAF8);
|
||||
func_8012E8E0((s32)a0, (s32)&D_801E669C);
|
||||
*(s16 *)((s32)a0 + 0x34) = 0;
|
||||
func_80178B18((s32)a0, (s32)&D_801E66CC);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void *func_801E585C(void) {
|
||||
typedef struct { s32 x, y, z; } SV4;
|
||||
extern u8 D_80078EB1;
|
||||
extern u8 D_80078E78[];
|
||||
extern u32 D_801E6C68;
|
||||
extern u32 D_801E6D8C;
|
||||
extern s32 D_801EADF0;
|
||||
extern void func_801E5A7C(void);
|
||||
extern s32 func_80029504(void);
|
||||
extern s32 func_801E5A1C(s32, s32, s32);
|
||||
extern void func_801E5A34(s32, s32, s32);
|
||||
extern void func_80029124(s32 a0, s32 a1);
|
||||
extern void func_801E5AAC(void);
|
||||
extern void func_801E5AFC(void);
|
||||
extern void func_801E5B3C(void);
|
||||
extern SV4 D_801EAC70;
|
||||
s32 v;
|
||||
u8 *p;
|
||||
|
||||
p = D_80078E78;
|
||||
func_801E5A7C();
|
||||
v = func_80029504();
|
||||
|
||||
if (v >= 0xC8) {
|
||||
if (v < 0x258) {
|
||||
if (func_801E5A1C(D_80078EB1, 0xD, 0x18)) {
|
||||
if ((u32)(v - 0x136) < 0x46) {
|
||||
func_801E5A34(0xA, (s32)&D_801E6C68, (s32)func_801E5AFC);
|
||||
func_80029124(0x112, 1);
|
||||
} else {
|
||||
func_801E5A34(0xA, 0, 0);
|
||||
}
|
||||
} else {
|
||||
func_801E5A34(0xA, 0, 0);
|
||||
}
|
||||
if (func_801E5A1C(p[0x39], 0xD, 0x18)) {
|
||||
if ((u32)(v - 0x136) < 0x46) {
|
||||
func_801E5A34(0xB, (s32)&D_801E6D8C, (s32)func_801E5B3C);
|
||||
} else {
|
||||
func_801E5A34(0xB, 0, 0);
|
||||
}
|
||||
} else {
|
||||
func_801E5A34(0xB, 0, 0);
|
||||
}
|
||||
} else {
|
||||
func_801E5A34(0xA, 0, 0);
|
||||
func_801E5A34(0xB, 0, 0);
|
||||
}
|
||||
} else {
|
||||
func_801E5A34(0xA, 0, 0);
|
||||
func_801E5A34(0xB, 0, 0);
|
||||
}
|
||||
func_801E5AAC();
|
||||
if (D_801EADF0 == 0) {
|
||||
return 0;
|
||||
}
|
||||
return &D_801EAC70;
|
||||
}
|
||||
|
||||
|
||||
s32 func_801E5998(s32 a0) {
|
||||
extern s32 D_801EADF0;
|
||||
extern s32 D_801EAC78;
|
||||
extern s32 D_801EAC74;
|
||||
s32 s0;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 limit;
|
||||
func_801E585C();
|
||||
s0 = a0;
|
||||
v0 = D_801EADF0;
|
||||
if (v0 > 0) {
|
||||
v1 = 0;
|
||||
limit = v0 * 16;
|
||||
do {
|
||||
if (*(s32 *)((s32)&D_801EAC78 + v1) == s0) {
|
||||
return *(s32 *)((s32)&D_801EAC74 + v1);
|
||||
}
|
||||
v1 += 16;
|
||||
} while (v1 < limit);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
s32 func_801E5A1C(s32 a0, s32 a1, s32 a2) {
|
||||
return (a0 >= a1) && (a0 < a2);
|
||||
}
|
||||
|
||||
|
||||
void func_801E5A34(s32 a0, s32 a1, s32 a2) {
|
||||
extern s32 D_801EADF0;
|
||||
extern s32 D_801EAC74[][4];
|
||||
extern s32 D_801EAC78[][4];
|
||||
extern s32 D_801EAC7C[][4];
|
||||
s32 n = D_801EADF0;
|
||||
D_801EAC78[n][0] = a0;
|
||||
D_801EAC74[n][0] = a1;
|
||||
D_801EAC7C[n][0] = a2;
|
||||
D_801EADF0 = n + 1;
|
||||
}
|
||||
|
||||
|
||||
extern s32 D_801EAC70;
|
||||
extern s32 D_801EADF0;
|
||||
extern void func_80016714(void *a0, s32 a1);
|
||||
|
||||
void func_801E5A7C(void) {
|
||||
func_80016714(&D_801EAC70, 0x180);
|
||||
D_801EADF0 = 0;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135_jr_801E5358", func_801E5AAC);
|
||||
|
||||
extern s32 func_80029504(void);
|
||||
extern void func_80029124(s32 a0, s32 a1);
|
||||
extern void func_80029514(s32 arg0);
|
||||
|
||||
void func_801E5AFC(void) {
|
||||
func_80029124(0xFD, 0x1);
|
||||
if (((s32 (*)(void))func_80029504)() == 0x136) {
|
||||
((void (*)(s32))func_80029514)(0x140);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern s32 func_80029504(void);
|
||||
extern void func_80029124(s32 a0, s32 a1);
|
||||
extern void func_80029514(s32 arg0);
|
||||
|
||||
void func_801E5B3C(void) {
|
||||
func_80029124(0xFE, 0x1);
|
||||
if (((s32 (*)(void))func_80029504)() == 0x136) {
|
||||
((void (*)(s32))func_80029514)(0x140);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user