Split a lot more code in PAL

This commit is contained in:
gamemasterplc 2024-11-15 16:27:21 -06:00
parent fccdd5e14d
commit a4a2b38cd0
8 changed files with 1102 additions and 893 deletions

View file

@ -475,7 +475,7 @@ Hu3DParticleAttrSet = .text:0x8002A544; // type:function size:0x40
Hu3DParticleAttrReset = .text:0x8002A584; // type:function size:0x44 Hu3DParticleAttrReset = .text:0x8002A584; // type:function size:0x44
Hu3DParticleCntSet = .text:0x8002A5C8; // type:function size:0x3C Hu3DParticleCntSet = .text:0x8002A5C8; // type:function size:0x3C
Hu3DParticleAnimModeSet = .text:0x8002A604; // type:function size:0x60 Hu3DParticleAnimModeSet = .text:0x8002A604; // type:function size:0x60
_Hu3DParticleAttrReset = .text:0x8002A664; // type:function size:0xAD4 scope:local particleFunc = .text:0x8002A664; // type:function size:0xAD4 scope:local
Hu3DParManInit = .text:0x8002B138; // type:function size:0x48 Hu3DParManInit = .text:0x8002B138; // type:function size:0x48
Hu3DParManCreate = .text:0x8002B180; // type:function size:0x1D4 Hu3DParManCreate = .text:0x8002B180; // type:function size:0x1D4
Hu3DParManLink = .text:0x8002B354; // type:function size:0x17C Hu3DParManLink = .text:0x8002B354; // type:function size:0x17C
@ -721,7 +721,7 @@ fn_80040374 = .text:0x80040374; // type:function size:0x98
fn_8004040C = .text:0x8004040C; // type:function size:0xF4 fn_8004040C = .text:0x8004040C; // type:function size:0xF4
GetClusterCurve = .text:0x80040500; // type:function size:0xA8 GetClusterCurve = .text:0x80040500; // type:function size:0xA8
GetClusterWeightCurve = .text:0x800405A8; // type:function size:0xA8 GetClusterWeightCurve = .text:0x800405A8; // type:function size:0xA8
SetClusterMain = .text:0x80040650; // type:function size:0x3A0 SetClusterMain = .text:0x80040650; // type:function size:0x3A0 scope:local
ClusterProc = .text:0x800409F0; // type:function size:0x160 ClusterProc = .text:0x800409F0; // type:function size:0x160
ClusterMotionExec = .text:0x80040B50; // type:function size:0x210 ClusterMotionExec = .text:0x80040B50; // type:function size:0x210
SetShapeMain = .text:0x80040D60; // type:function size:0x36C scope:local SetShapeMain = .text:0x80040D60; // type:function size:0x36C scope:local
@ -3514,7 +3514,7 @@ msmSysDelGroupAll = .text:0x801161B4; // type:function size:0x140
msmSysDelGroupBase = .text:0x801162F4; // type:function size:0x28C msmSysDelGroupBase = .text:0x801162F4; // type:function size:0x28C
msmSysLoadGroupBase = .text:0x80116580; // type:function size:0x298 msmSysLoadGroupBase = .text:0x80116580; // type:function size:0x298
msmSysLoadGroupSet = .text:0x80116818; // type:function size:0x3F0 msmSysLoadGroupSet = .text:0x80116818; // type:function size:0x3F0
msmSysLoadGroupSub = .text:0x80116C08; // type:function size:0x3B4 msmSysLoadGroupSub = .text:0x80116C08; // type:function size:0x3B4 scope:local
msmSysLoadGroup = .text:0x80116FBC; // type:function size:0x278 msmSysLoadGroup = .text:0x80116FBC; // type:function size:0x278
msmSysCheckInit = .text:0x80117234; // type:function size:0x20 msmSysCheckInit = .text:0x80117234; // type:function size:0x20
msmSysInit = .text:0x80117254; // type:function size:0x474 msmSysInit = .text:0x80117254; // type:function size:0x474
@ -3570,8 +3570,8 @@ msmStreamAmemAlloc = .text:0x8011A798; // type:function size:0x10C
msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8 msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8
msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8 msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8
msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC
msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 scope:local
msmStreamFade = .text:0x8011B298; // type:function size:0x33C msmStreamFade = .text:0x8011B298; // type:function size:0x33C scope:local
msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local
msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local
msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448 msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448
@ -4609,7 +4609,7 @@ CenterM = .bss:0x801900E0; // type:object size:0xC0
CZoomM = .bss:0x801901A0; // type:object size:0x40 CZoomM = .bss:0x801901A0; // type:object size:0x40
omDLLinfoTbl = .bss:0x801901E0; // type:object size:0x50 omDLLinfoTbl = .bss:0x801901E0; // type:object size:0x50
sndFXBuf = .bss:0x80190230; // type:object size:0x200 scope:local sndFXBuf = .bss:0x80190230; // type:object size:0x200 scope:local
charVoiceGroupStat = .bss:0x80190430; // type:object size:0x20 scope:local charVoiceGroupStat = .bss:0x80190430; // type:object size:0x20
seqWorkData = .bss:0x80190450; // type:object size:0x400 scope:local data:4byte seqWorkData = .bss:0x80190450; // type:object size:0x400 scope:local data:4byte
winnerNameW = .bss:0x80190850; // type:object size:0x10 scope:local data:2byte winnerNameW = .bss:0x80190850; // type:object size:0x10 scope:local data:2byte
esprite = .bss:0x80190860; // type:object size:0x600 data:2byte esprite = .bss:0x80190860; // type:object size:0x600 data:2byte
@ -5299,8 +5299,8 @@ omovlevtno = .sbss:0x801D3CD4; // type:object size:0x4 data:4byte
omovlhisidx = .sbss:0x801D3CD8; // type:object size:0x4 data:4byte omovlhisidx = .sbss:0x801D3CD8; // type:object size:0x4 data:4byte
omcurdll = .sbss:0x801D3CDC; // type:object size:0x4 data:4byte omcurdll = .sbss:0x801D3CDC; // type:object size:0x4 data:4byte
omcurovl = .sbss:0x801D3CE0; // type:object size:0x4 data:4byte omcurovl = .sbss:0x801D3CE0; // type:object size:0x4 data:4byte
omnextovl = .sbss:0x801D3CE4; // type:object size:0x4 data:4byte omnextovl = .sbss:0x801D3CE4; // type:object size:0x4 data:4byte scope:local
omwatchproc = .sbss:0x801D3CE8; // type:object size:0x4 data:4byte omwatchproc = .sbss:0x801D3CE8; // type:object size:0x4 data:4byte scope:local
omDBGSysKeyObj = .sbss:0x801D3CEC; // type:object size:0x4 data:4byte omDBGSysKeyObj = .sbss:0x801D3CEC; // type:object size:0x4 data:4byte
y_start = .sbss:0x801D3CF0; // type:object size:0x4 scope:local data:4byte y_start = .sbss:0x801D3CF0; // type:object size:0x4 scope:local data:4byte
x_start = .sbss:0x801D3CF4; // type:object size:0x4 scope:local data:4byte x_start = .sbss:0x801D3CF4; // type:object size:0x4 scope:local data:4byte

View file

@ -510,4 +510,40 @@ modules:
extract: extract:
- symbol: ank8x8_4b - symbol: ank8x8_4b
binary: ank8x8_4b.bin binary: ank8x8_4b.bin
header: ank8x8_4b.inc header: ank8x8_4b.inc
- symbol: refMapData0
binary: refMapData0.anm
header: refMapData0.inc
- symbol: refMapData1
binary: refMapData1.anm
header: refMapData1.inc
- symbol: refMapData2
binary: refMapData2.anm
header: refMapData2.inc
- symbol: refMapData3
binary: refMapData3.anm
header: refMapData3.inc
- symbol: refMapData4
binary: refMapData4.anm
header: refMapData4.inc
- symbol: toonMapData
binary: toonMapData.anm
header: toonMapData.inc
- symbol: toonMapData2
binary: toonMapData2.anm
header: toonMapData2.inc
- symbol: hiliteData
binary: hiliteData.anm
header: hiliteData.inc
- symbol: hiliteData2
binary: hiliteData2.anm
header: hiliteData2.inc
- symbol: hiliteData3
binary: hiliteData3.anm
header: hiliteData3.inc
- symbol: hiliteData4
binary: hiliteData4.anm
header: hiliteData4.inc
- symbol: Ascii8x8_1bpp
binary: Ascii8x8_1bpp.bin
header: Ascii8x8_1bpp.inc

View file

@ -96,3 +96,133 @@ game/sprput.c:
.bss start:0x80179A30 end:0x80179A60 .bss start:0x80179A30 end:0x80179A60
.sbss start:0x801F0F10 end:0x801F0F18 .sbss start:0x801F0F10 end:0x801F0F18
.sdata2 start:0x801F1DB0 end:0x801F1DE8 .sdata2 start:0x801F1DB0 end:0x801F1DE8
game/hsfload.c:
.text start:0x80010B38 end:0x80014020
.data start:0x80122140 end:0x801221B0
.bss start:0x80179A60 end:0x8017A020
.sbss start:0x801F0F18 end:0x801F0F50
game/hsfdraw.c:
.text start:0x80014020 end:0x8001F9B4
.rodata start:0x8011DB40 end:0x8011DB50
.data start:0x801221B0 end:0x801223C0
.bss start:0x8017A020 end:0x80184B60
.sdata start:0x801F0810 end:0x801F0828
.sbss start:0x801F0F50 end:0x801F0FF0
.sdata2 start:0x801F1DE8 end:0x801F1E70
game/hsfman.c:
.text start:0x8001F9B4 end:0x800250F0
.data start:0x801223C0 end:0x8012D478
.bss start:0x80184B60 end:0x801AA770
.sbss start:0x801F0FF0 end:0x801F1020
.sdata2 start:0x801F1E70 end:0x801F1ED0
.sbss2 start:0x801F3FC0 end:0x801F3FC8
game/hsfmotion.c:
.text start:0x800250F0 end:0x80028B0C
.data start:0x8012D478 end:0x8012D658
.bss start:0x801AA770 end:0x801AAF70
.sbss start:0x801F1020 end:0x801F1028
.sdata2 start:0x801F1ED0 end:0x801F1F20
game/hsfanim.c:
.text start:0x80028B0C end:0x8002CB7C
.data start:0x8012D658 end:0x8012D718
.bss start:0x801AAF70 end:0x801ACB30
.sdata2 start:0x801F1F20 end:0x801F1FA8
game/hsfex.c:
.text start:0x8002CB7C end:0x8002E754
.data start:0x8012D718 end:0x8012D738
.sdata2 start:0x801F1FA8 end:0x801F2038
game/perf.c:
.text start:0x8002E754 end:0x8002EBE0
.bss start:0x801ACB30 end:0x801ACED8
.sdata start:0x801F0828 end:0x801F0838
.sbss start:0x801F1028 end:0x801F1080
game/objmain.c:
.text start:0x8002EBE0 end:0x8002FF54
.data start:0x8012D738 end:0x8012DAE8
.bss start:0x801ACED8 end:0x801ACF98
.sdata start:0x801F0838 end:0x801F0840
.sbss start:0x801F1080 end:0x801F10B0
.sdata2 start:0x801F2038 end:0x801F2060
game/fault.c:
.text start:0x8002FF54 end:0x800308C0
.data start:0x8012DAE8 end:0x8012E310
.bss start:0x801ACF98 end:0x801ACFB0
.sdata start:0x801F0840 end:0x801F0850
.sbss start:0x801F10B0 end:0x801F10C0
game/gamework.c:
.text start:0x800308C0 end:0x800315D4
.rodata start:0x8011DB50 end:0x8011DB70
.bss start:0x801ACFB0 end:0x801AD3A8
.sdata start:0x801F0850 end:0x801F0858
game/objsysobj.c:
.text start:0x800315D4 end:0x80031DCC
.bss start:0x801AD3A8 end:0x801AD580
.sbss start:0x801F10C0 end:0x801F10C8
.sdata2 start:0x801F2060 end:0x801F2070
game/objdll.c:
.text start:0x80031DCC end:0x8003260C
.data start:0x8012E310 end:0x8012E7A8
.bss start:0x801AD580 end:0x801AD5D0
.sbss start:0x801F10C8 end:0x801F10D0
game/frand.c:
.text start:0x8003260C end:0x80032848
.sbss start:0x801F10D0 end:0x801F10D8
.sdata2 start:0x801F2070 end:0x801F2080
game/audio.c:
.text start:0x80032848 end:0x80033F08
.data start:0x8012E7A8 end:0x8012EF50
.bss start:0x801AD5D0 end:0x801AD7F0
.sdata start:0x801F0858 end:0x801F0860
.sbss start:0x801F10D8 end:0x801F1108
.sdata2 start:0x801F2080 end:0x801F2090
game/EnvelopeExec.c:
.text start:0x80033F08 end:0x800353C8
.sbss start:0x801F1108 end:0x801F1138
.sdata2 start:0x801F2090 end:0x801F20A8
game/minigame_seq.c:
.text start:0x800353C8 end:0x8003F6E0
.data start:0x8012EF50 end:0x8012F5B0
.bss start:0x801AD7F0 end:0x801ADC00
.sdata start:0x801F0860 end:0x801F0968
.sbss start:0x801F1138 end:0x801F1158
.sdata2 start:0x801F20A8 end:0x801F2268
game/ovllist.c:
.data start:0x8012F5B0 end:0x8012FF20
game/esprite.c:
.text start:0x8003F6E0 end:0x8003FD90
.bss start:0x801ADC00 end:0x801AF400
.sbss start:0x801F1158 end:0x801F1160
game/code_8003FF68.c:
.text start:0x8003FD90 end:0x80040328
.data start:0x8012FF20 end:0x8012FF40
.bss start:0x801AF400 end:0x801AF700
.sdata start:0x801F0968 end:0x801F0988
.sbss start:0x801F1160 end:0x801F1168
.sdata2 start:0x801F2268 end:0x801F2280
game/ClusterExec.c:
.text start:0x80040328 end:0x80040B88
.sdata2 start:0x801F2280 end:0x801F2290
game/ShapeExec.c:
.text start:0x80040B88 end:0x80040F98
.sdata2 start:0x801F2290 end:0x801F22A0

File diff suppressed because it is too large Load diff

View file

@ -510,4 +510,40 @@ modules:
extract: extract:
- symbol: ank8x8_4b - symbol: ank8x8_4b
binary: ank8x8_4b.bin binary: ank8x8_4b.bin
header: ank8x8_4b.inc header: ank8x8_4b.inc
- symbol: refMapData0
binary: refMapData0.anm
header: refMapData0.inc
- symbol: refMapData1
binary: refMapData1.anm
header: refMapData1.inc
- symbol: refMapData2
binary: refMapData2.anm
header: refMapData2.inc
- symbol: refMapData3
binary: refMapData3.anm
header: refMapData3.inc
- symbol: refMapData4
binary: refMapData4.anm
header: refMapData4.inc
- symbol: toonMapData
binary: toonMapData.anm
header: toonMapData.inc
- symbol: toonMapData2
binary: toonMapData2.anm
header: toonMapData2.inc
- symbol: hiliteData
binary: hiliteData.anm
header: hiliteData.inc
- symbol: hiliteData2
binary: hiliteData2.anm
header: hiliteData2.inc
- symbol: hiliteData3
binary: hiliteData3.anm
header: hiliteData3.inc
- symbol: hiliteData4
binary: hiliteData4.anm
header: hiliteData4.inc
- symbol: Ascii8x8_1bpp
binary: Ascii8x8_1bpp.bin
header: Ascii8x8_1bpp.inc

View file

@ -387,27 +387,27 @@ config.libs = [
Object(Matching, "game/process.c"), Object(Matching, "game/process.c"),
Object(Matching, "game/sprman.c"), Object(Matching, "game/sprman.c"),
Object(Matching, "game/sprput.c"), Object(Matching, "game/sprput.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/hsfload.c"), Object(Matching, "game/hsfload.c"),
Object(NonMatching, "game/hsfdraw.c"), Object(NonMatching, "game/hsfdraw.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/hsfman.c"), Object(Matching, "game/hsfman.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/hsfmotion.c"), Object(Matching, "game/hsfmotion.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/hsfanim.c"), Object(Matching, "game/hsfanim.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/hsfex.c"), Object(Matching, "game/hsfex.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/perf.c"), Object(Matching, "game/perf.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/objmain.c"), Object(Matching, "game/objmain.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/fault.c"), Object(Matching, "game/fault.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/gamework.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/gamework.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/objsysobj.c"), Object(Matching, "game/objsysobj.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/objdll.c"), Object(Matching, "game/objdll.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/frand.c"), Object(Matching, "game/frand.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/audio.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/audio.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/EnvelopeExec.c"), Object(Matching, "game/EnvelopeExec.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/minigame_seq.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/minigame_seq.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/ovllist.c"), Object(Matching, "game/ovllist.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/esprite.c"), Object(Matching, "game/esprite.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/code_8003FF68.c"), Object(Matching, "game/code_8003FF68.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/ClusterExec.c"), Object(Matching, "game/ClusterExec.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/ShapeExec.c"), Object(Matching, "game/ShapeExec.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/wipe.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/wipe.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/window.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/window.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/messdata.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/messdata.c"),

View file

@ -9,7 +9,7 @@ static int HuSePlay(int seId, MSM_SEPARAM *param);
extern s16 omSysExitReq; extern s16 omSysExitReq;
static s32 charVoiceGroupStat[8]; s32 charVoiceGroupStat[8];
static s32 sndFXBuf[64][2]; static s32 sndFXBuf[64][2];
static s16 Hu3DAudVol; static s16 Hu3DAudVol;

View file

@ -24,7 +24,7 @@ typedef struct {
/* 0x3C */ HsfanimStruct00 *unk3C; /* 0x3C */ HsfanimStruct00 *unk3C;
} ParManProcUserData; // Size 0x40 } ParManProcUserData; // Size 0x40
static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1); static void particleFunc(ModelData *arg0, Mtx arg1);
static void ParManFunc(void); static void ParManFunc(void);
static void ParManHook(ModelData *arg0, ParticleData *arg1, Mtx matrix); static void ParManHook(ModelData *arg0, ParticleData *arg1, Mtx matrix);
@ -493,7 +493,7 @@ s16 Hu3DParticleCreate(AnimData *arg0, s16 arg1) {
s16 i; s16 i;
void *temp_r24; void *temp_r24;
temp_r25 = Hu3DHookFuncCreate((void*) &_Hu3DParticleAttrReset); temp_r25 = Hu3DHookFuncCreate((void*) &particleFunc);
temp_r28 = &Hu3DData[temp_r25]; temp_r28 = &Hu3DData[temp_r25];
Hu3DModelAttrSet(temp_r25, HU3D_ATTR_PARTICLE_KILL); Hu3DModelAttrSet(temp_r25, HU3D_ATTR_PARTICLE_KILL);
temp_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(ParticleData), temp_r28->unk_48); temp_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(ParticleData), temp_r28->unk_48);
@ -658,7 +658,7 @@ static float baseST[] = {
1.0f, 1.0f, 0.0f, 1.0f 1.0f, 1.0f, 0.0f, 1.0f
}; };
static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1) { static void particleFunc(ModelData *arg0, Mtx arg1) {
Vec *var_r30; Vec *var_r30;
float temp_f31; float temp_f31;
float temp_f29; float temp_f29;