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:
+2
-2
@@ -2870,7 +2870,7 @@ ov_SC03_121_ELF := $(ov_SC03_121_OUT).elf
|
||||
ov_SC03_121_MAPFILE := $(ov_SC03_121_OUT).map
|
||||
ov_SC03_121_LD_SCRIPT := $(ov_SC03_121_OUT).ld
|
||||
ov_SC03_121_SPLAT_YAML := config/splat.ov_SC03_121.yaml
|
||||
ov_SC03_121_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_121.o,ov_SC03_121_jr_8012ACE0.o,tail2.data.o,ov_SC03_121_jr_80135888.o,tail3.data.o,ov_SC03_121_jr_80135A4C.o,tail4.data.o,ov_SC03_121_jr_80135D20.o,tail5.data.o,ov_SC03_121_jr_801380E0.o,ov_SC03_121_o0c.o,tail6.data.o,ov_SC03_121_jr_8013F350.o,tail7.data.o,ov_SC03_121_jr_8013FFD8.o,tail8.data.o,ov_SC03_121_jr_80140608.o,tail9.data.o,ov_SC03_121_jr_8015444C.o,ov_SC03_121_jr_80154C24.o,ov_SC03_121_jr_801588CC.o,ov_SC03_121_jr_80159C84.o,tail10.data.o,ov_SC03_121_jr_8015A3C8.o,tail11.data.o,ov_SC03_121_jr_8015AE2C.o,tail12.data.o,ov_SC03_121_jr_8015C32C.o,tail13.data.o,ov_SC03_121_jr_8016AB6C.o,tail14.data.o,ov_SC03_121_jr_80171B4C.o,ov_SC03_121_jr_801734BC.o,tail15.data.o,ov_SC03_121_jr_801789AC.o,ov_SC03_121_jr_80178D40.o,tail16.data.o,ov_SC03_121_jr_8017A4AC.o,tail17.data.o,ov_SC03_121_jr_8017AE2C.o,ov_SC03_121_jr_8017BEBC.o,tail18.data.o,ov_SC03_121_jr_8017E1D0.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC03_121_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_121.o,ov_SC03_121_jr_8012ACE0.o,tail2.data.o,ov_SC03_121_jr_80135888.o,tail3.data.o,ov_SC03_121_jr_80135A4C.o,tail4.data.o,ov_SC03_121_jr_80135D20.o,tail5.data.o,ov_SC03_121_jr_801380E0.o,ov_SC03_121_o0c.o,tail6.data.o,ov_SC03_121_jr_8013F350.o,tail7.data.o,ov_SC03_121_jr_8013FFD8.o,tail8.data.o,ov_SC03_121_jr_80140608.o,tail9.data.o,ov_SC03_121_jr_8015444C.o,ov_SC03_121_jr_80154C24.o,ov_SC03_121_jr_801588CC.o,ov_SC03_121_jr_80159C84.o,tail10.data.o,ov_SC03_121_jr_8015A3C8.o,tail11.data.o,ov_SC03_121_jr_8015AE2C.o,tail12.data.o,ov_SC03_121_jr_8015C32C.o,tail13.data.o,ov_SC03_121_jr_8016AB6C.o,tail14.data.o,ov_SC03_121_jr_80171B4C.o,ov_SC03_121_jr_801734BC.o,tail15.data.o,ov_SC03_121_jr_801789AC.o,ov_SC03_121_jr_80178D40.o,tail16.data.o,ov_SC03_121_jr_8017A4AC.o,tail17.data.o,ov_SC03_121_jr_8017AE2C.o,ov_SC03_121_jr_8017BEBC.o,tail18.data.o,ov_SC03_121_jr_8017DF2C.o,tail19.data.o,ov_SC03_121_jr_8017E1D0.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC03_121/ov_SC03_121.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC03_121/ov_SC03_121_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0
|
||||
build/src/ov_SC03_121/ov_SC03_121_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -4411,7 +4411,7 @@ ov_SC06_022_ELF := $(ov_SC06_022_OUT).elf
|
||||
ov_SC06_022_MAPFILE := $(ov_SC06_022_OUT).map
|
||||
ov_SC06_022_LD_SCRIPT := $(ov_SC06_022_OUT).ld
|
||||
ov_SC06_022_SPLAT_YAML := config/splat.ov_SC06_022.yaml
|
||||
ov_SC06_022_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_022.o,ov_SC06_022_jr_8012ACE0.o,tail2.data.o,ov_SC06_022_jr_80135888.o,tail3.data.o,ov_SC06_022_jr_80135A4C.o,tail4.data.o,ov_SC06_022_jr_80135D20.o,tail5.data.o,ov_SC06_022_jr_801380E0.o,ov_SC06_022_o0c.o,tail6.data.o,ov_SC06_022_jr_8013F350.o,tail7.data.o,ov_SC06_022_jr_8013FFD8.o,tail8.data.o,ov_SC06_022_jr_80140608.o,tail9.data.o,ov_SC06_022_jr_8015444C.o,ov_SC06_022_jr_80154C24.o,ov_SC06_022_jr_801588CC.o,ov_SC06_022_jr_80159C84.o,tail10.data.o,ov_SC06_022_jr_8015A3C8.o,tail11.data.o,ov_SC06_022_jr_8015AE2C.o,tail12.data.o,ov_SC06_022_jr_8015C32C.o,tail13.data.o,ov_SC06_022_jr_8016AB6C.o,tail14.data.o,ov_SC06_022_jr_80171B4C.o,ov_SC06_022_jr_801734BC.o,tail15.data.o,ov_SC06_022_jr_801789AC.o,ov_SC06_022_jr_80178D40.o,tail16.data.o,ov_SC06_022_jr_8017A4AC.o,tail17.data.o,ov_SC06_022_jr_8017AE2C.o,ov_SC06_022_jr_8017BEBC.o,tail18.data.o,ov_SC06_022_jr_80180CD0.o,ov_SC06_022_jr_80182D08.o,ov_SC06_022_jr_80184304.o,ov_SC06_022_jr_80184A28.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC06_022_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_022.o,ov_SC06_022_jr_8012ACE0.o,tail2.data.o,ov_SC06_022_jr_80135888.o,tail3.data.o,ov_SC06_022_jr_80135A4C.o,tail4.data.o,ov_SC06_022_jr_80135D20.o,tail5.data.o,ov_SC06_022_jr_801380E0.o,ov_SC06_022_o0c.o,tail6.data.o,ov_SC06_022_jr_8013F350.o,tail7.data.o,ov_SC06_022_jr_8013FFD8.o,tail8.data.o,ov_SC06_022_jr_80140608.o,tail9.data.o,ov_SC06_022_jr_8015444C.o,ov_SC06_022_jr_80154C24.o,ov_SC06_022_jr_801588CC.o,ov_SC06_022_jr_80159C84.o,tail10.data.o,ov_SC06_022_jr_8015A3C8.o,tail11.data.o,ov_SC06_022_jr_8015AE2C.o,tail12.data.o,ov_SC06_022_jr_8015C32C.o,tail13.data.o,ov_SC06_022_jr_8016AB6C.o,tail14.data.o,ov_SC06_022_jr_80171B4C.o,ov_SC06_022_jr_801734BC.o,tail15.data.o,ov_SC06_022_jr_801789AC.o,ov_SC06_022_jr_80178D40.o,tail16.data.o,ov_SC06_022_jr_8017A4AC.o,tail17.data.o,ov_SC06_022_jr_8017AE2C.o,ov_SC06_022_jr_8017BEBC.o,tail18.data.o,ov_SC06_022_jr_80180CD0.o,tail19.data.o,ov_SC06_022_jr_80182D08.o,ov_SC06_022_jr_80184304.o,ov_SC06_022_jr_80184A28.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC06_022/ov_SC06_022.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC06_022/ov_SC06_022_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0
|
||||
build/src/ov_SC06_022/ov_SC06_022_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
|
||||
@@ -121,6 +121,7 @@ segments:
|
||||
- [0x52354, c, ov_SC03_121_jr_8017A4AC]
|
||||
- [0x52cd4, c, ov_SC03_121_jr_8017AE2C]
|
||||
- [0x53d64, c, ov_SC03_121_jr_8017BEBC]
|
||||
- [0x55dd4, c, ov_SC03_121_jr_8017DF2C]
|
||||
- [0x56078, c, ov_SC03_121_jr_8017E1D0]
|
||||
- [0x59fe0, data, tail]
|
||||
- [0x84680, .rodata, ov_SC03_121] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
@@ -165,8 +166,10 @@ segments:
|
||||
- [0x857a0, .rodata, ov_SC03_121_jr_8017AE2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x857b4, .rodata, ov_SC03_121_jr_8017BEBC] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x857d4, data, tail18]
|
||||
- [0x857ec, .rodata, ov_SC03_121_jr_8017DF2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x85800, data, tail19]
|
||||
- [0x85804, .rodata, ov_SC03_121_jr_8017E1D0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0x85838, data, tail19]
|
||||
- [0x85838, data, tail20]
|
||||
- [0x86E54, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
|
||||
- [0x86E57] # 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
|
||||
|
||||
@@ -218,7 +218,12 @@ void func_801E7FF8(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/md_SC04_025/nonmatchings/md_SC04_025", func_801E8034);
|
||||
void func_801E8034(void *a0) {
|
||||
extern void func_801E805C(s32 a0, s16 *a1);
|
||||
extern s16 D_801274E8;
|
||||
func_801E805C((s32)a0, &D_801274E8);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* MATRIX 0x20: short m[3][3] @0x00 (18B) + 2B pad, long t[3] @0x14 (PsyQ layout) */
|
||||
|
||||
@@ -3940,7 +3940,13 @@ DEFINE_func_80174824() /* dedup: shared engine-core @0x80174824 (src/shared) */
|
||||
DEFINE_func_8017484C() /* dedup: shared engine-core @0x8017484c (src/shared) */
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_037/nonmatchings/ov_SC02_037_jr_80171B4C", func_80174888);
|
||||
extern void (*D_80187278[])(void);
|
||||
|
||||
s32 func_80174888(void *a0)
|
||||
{
|
||||
D_80187278[*(u8 *)((s32)a0 + 0x214)]();
|
||||
}
|
||||
|
||||
|
||||
DEFINE_func_801748C4() /* dedup: shared engine-core @0x801748c4 (src/shared) */
|
||||
|
||||
|
||||
@@ -3984,7 +3984,15 @@ void func_8017E73C(s32 a0) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_103/nonmatchings/ov_SC03_103_jr_8017C294", func_8017E780);
|
||||
void func_8017E780(s32 a0) {
|
||||
extern s32 D_801C4D68;
|
||||
extern s32 D_80197F1C;
|
||||
extern void func_8017D174(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
func_8017D174((s32)&D_801C4D68, (s32)&D_80197F1C,
|
||||
*(s16 *)(a0 + 0xDC), 0);
|
||||
*(u16 *)(a0 + 0xDC) = *(u16 *)(a0 + 0xDC) + 0xA;
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801880C0[])(void);
|
||||
|
||||
@@ -4458,7 +4458,19 @@ void func_80181A84(s32 a0, s32 a1) {
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017CA80", func_80181AD0);
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017CA80", func_80181B14);
|
||||
extern void func_8013B6A0(s32 idx, u16 *src, s32 val);
|
||||
|
||||
void func_80181B14(void) {
|
||||
register s32 a0v __asm__("$4");
|
||||
register s32 a1v __asm__("$5");
|
||||
register s32 a2v __asm__("$6");
|
||||
u16 sp[3];
|
||||
sp[0] = *(u16 *)(a0v + 0x2);
|
||||
sp[1] = *(u16 *)(a0v + 0x6);
|
||||
sp[2] = *(u16 *)(a0v + 0xA);
|
||||
func_8013B6A0(a1v, sp, a2v);
|
||||
}
|
||||
|
||||
|
||||
void func_80181B58(void) {
|
||||
}
|
||||
|
||||
@@ -3722,6 +3722,3 @@ void func_8017DDB4(s32 a0) {
|
||||
*(s16 *)(s0 + 0xE) = sv2.vz + (s16)(iVar1 * 0x20 >> 0xC);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121_jr_8017BEBC", func_8017DF2C);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4154,7 +4154,50 @@ extern s32 func_80029178(s32 arg);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017_jr_801808D4", func_80182318);
|
||||
extern s32 func_8012BD14(s32 a0);
|
||||
extern s32 func_80178BF8();
|
||||
extern void func_80172710(void);
|
||||
|
||||
extern s32 func_80182318_def(void *a0) __asm__("func_80182318");
|
||||
|
||||
s32 func_80182318_def(void *a0)
|
||||
{
|
||||
void *p;
|
||||
u16 st;
|
||||
|
||||
p = *(void **)((s32)a0 + 0x64);
|
||||
st = *(u16 *)((s32)p + 0x2);
|
||||
switch (st) {
|
||||
case 3:
|
||||
if (func_8012BD14((s32)p) >= 0x4001) {
|
||||
return 0;
|
||||
}
|
||||
{
|
||||
void *p2 = *(void **)((s32)a0 + 0x64);
|
||||
u16 v = *(u16 *)((s32)p2 + 0x2);
|
||||
v = v + 1;
|
||||
*(u16 *)((s32)p2 + 0x2) = v;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if (func_8012BD14((s32)p) >= 0x4001) {
|
||||
return 0;
|
||||
}
|
||||
{
|
||||
void *p3 = *(void **)((s32)a0 + 0x64);
|
||||
u16 w = *(u16 *)((s32)p3 + 0x34);
|
||||
w = w + 1;
|
||||
*(u16 *)((s32)p3 + 0x34) = w;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
func_80178BF8();
|
||||
return (s32)func_80172710;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* func_801823D0 — guarded dispatch: ask func_801848AC(9, 0x11); if it answers
|
||||
|
||||
Reference in New Issue
Block a user