Skip to content

Commit

Permalink
Fix various data relocation differences in unlinked TUs
Browse files Browse the repository at this point in the history
  • Loading branch information
LagoLunatic committed Jan 15, 2025
1 parent 40d18be commit 8e44641
Show file tree
Hide file tree
Showing 11 changed files with 76 additions and 50 deletions.
8 changes: 8 additions & 0 deletions config/GZLE01/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,14 @@ mw_comment_version: 10 # GC Linker 1.3.2
symbols_known: true # Very fast analysis
fill_gaps: false # Alignments known

block_relocations:
- source: .sdata:0x803f613c
add_relocations:
- source: .sdata:0x803f613c
type: abs
target: buffer__14mDoMtx_stack_c
addend: 0x300

modules:
- object: files/RELS.arc:rels/mmem/f_pc_profile_lst.rel
hash: 88e37cb6fc7280b344e4e8383a7a5496181245a1
Expand Down
8 changes: 8 additions & 0 deletions config/GZLJ01/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@ mw_comment_version: 10 # GC Linker 1.3.2
symbols_known: true # Very fast analysis
fill_gaps: false # Alignments known

block_relocations:
- source: .sdata:0x803e961c
add_relocations:
- source: .sdata:0x803e961c
type: abs
target: buffer__14mDoMtx_stack_c
addend: 0x300

modules:
- object: files/RELS.arc:rels/mmem/f_pc_profile_lst.rel
splits: config/GZLJ01/rels/f_pc_profile_lst/splits.txt
Expand Down
8 changes: 8 additions & 0 deletions config/GZLP01/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@ mw_comment_version: 10 # GC Linker 1.3.2
symbols_known: true # Very fast analysis
fill_gaps: false # Alignments known

block_relocations:
- source: .sdata:0x803fd93c
add_relocations:
- source: .sdata:0x803fd93c
type: abs
target: buffer__14mDoMtx_stack_c
addend: 0x300

modules:
- object: files/RELS.arc:rels/mmem/f_pc_profile_lst.rel
splits: config/GZLP01/rels/f_pc_profile_lst/splits.txt
Expand Down
1 change: 1 addition & 0 deletions include/f_op/f_op_msg.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ enum fopMsg_MessageStatus_e {
fopMsgStts_MSG_PREPARING_e = 0x01,
fopMsgStts_BOX_OPENING_e = 0x02,
fopMsgStts_MSG_TYPING_e = 0x06,
fopMsgStts_UNKA_e = 0x0A,
fopMsgStts_MSG_DISPLAYED_e = 0x0E,
fopMsgStts_MSG_CONTINUES_e = 0x0F,
fopMsgStts_MSG_ENDS_e = 0x10,
Expand Down
6 changes: 3 additions & 3 deletions src/JSystem/JParticle/JPAEmitter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -181,13 +181,13 @@ void JPABaseEmitter::create(JPADataBlockLinkInfo* info) {
mFieldManager.initField(info, &emtrInfo);

switch (mVolumeType) {
case 4: mVolumeFunc = &JPABaseEmitter::calcVolumePoint; break;
case 6: mVolumeFunc = &JPABaseEmitter::calcVolumeLine; break;
case 5: mVolumeFunc = &JPABaseEmitter::calcVolumeCircle; break;
case 0: mVolumeFunc = &JPABaseEmitter::calcVolumeCube; break;
case 1: mVolumeFunc = &JPABaseEmitter::calcVolumeSphere; break;
case 2: mVolumeFunc = &JPABaseEmitter::calcVolumeCylinder; break;
case 3: mVolumeFunc = &JPABaseEmitter::calcVolumeTorus; break;
case 4: mVolumeFunc = &JPABaseEmitter::calcVolumePoint; break;
case 5: mVolumeFunc = &JPABaseEmitter::calcVolumeCircle; break;
case 6: mVolumeFunc = &JPABaseEmitter::calcVolumeLine; break;
default: mVolumeFunc = NULL; break;
}
}
Expand Down
19 changes: 9 additions & 10 deletions src/d/actor/d_a_npc_people.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ static int* l_head_bck_ix_tbl[][2] = {
},
{
l_head_bck_ix_sa,
l_head_bck_ix_sa,
l_head_bck_ix_sa_n,
},
{
NULL,
Expand Down Expand Up @@ -3809,8 +3809,8 @@ static PsoData* l_pso_tbl[] = {
&l_pso_uo3,
&l_pso_ub4,
&l_pso_uw2,
&l_pso_uw2_2,
&l_pso_um2,
&l_pso_uw2_2,
};

const char daNpcPeople_c::m_arcname[] = "Uo";
Expand Down Expand Up @@ -4352,7 +4352,7 @@ s32 daNpcPeople_c::createInit() {
m766[0] = dComIfGp_evmng_getEventIdx("SA3_GET_ITEM");

break;
case 0xF: {
case 0x10: {
m766[0] = dComIfGp_evmng_getEventIdx("SA5_TALK_XY");
m766[1] = dComIfGp_evmng_getEventIdx("SA5_GET_ITEM");

Expand All @@ -4368,7 +4368,7 @@ s32 daNpcPeople_c::createInit() {
}
// Fall-through
}
case 0x10:
case 0xF:
if(mbIsNight) {
m758 |= 0x40000000;
}
Expand Down Expand Up @@ -6164,7 +6164,7 @@ u16 daNpcPeople_c::talk2(int param_1, fopAc_ac_c* param_2) {
}

break;
case fopMsgStts_MSG_ENDS_e:
case fopMsgStts_UNKA_e:
if(m7A8 == 0) {
chkMsg();
m7A8 = 1;
Expand Down Expand Up @@ -7341,16 +7341,16 @@ void daNpcPeople_c::setAnmFromMsgTagSa(int param_1) {
case 9:
setAnmTbl(l_npc_anm_talk, 1);
break;
case 2:
case 8:
setAnmTbl(l_npc_anm_talk_sa, 1);
break;
case 4:
case 2:
setAnmTbl(l_npc_anm_talk2_sa, 1);
break;
case 5:
case 4:
setAnmTbl(l_npc_anm_talk3_sa, 1);
break;
case 8:
case 5:
setAnmTbl(l_npc_anm_kiai_sa, 1);
break;
}
Expand Down Expand Up @@ -8163,7 +8163,6 @@ void daNpcPeople_c::initUgSearchArea() {
static u8 l_ug_no[] = {
0x11,
0x12,
0x00
};

for(int i = 0; i < 2; i++) {
Expand Down
1 change: 1 addition & 0 deletions src/d/actor/d_a_rd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -529,6 +529,7 @@ bool daRd_c::checkTgHit() {
case 0x0F:
case 0x10:
case 0x15:
case 0x17:
case 0x19:
case 0x1A:
case 0x1B:
Expand Down
19 changes: 10 additions & 9 deletions src/d/actor/d_a_wind_tag.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,6 @@ namespace daWindTag {
};
}

const char *daWindTag::daWindTag_c::m_arcname[] = { "Yaflw00", "Ybgaf00" };
s16 daWindTag::daWindTag_c::m_bdlidx[] = { YAFLW00_BDL_YAFLW00, YBGAF00_BDL_YBGAF00 };
s16 daWindTag::daWindTag_c::m_heapsize[] = { 0x0C40, 0x0C40 };
s16 daWindTag::daWindTag_c::m_bckidx[] = { YAFLW00_BCK_YAFLW00, YBGAF00_BCK_YBGAF00 };
s16 daWindTag::daWindTag_c::m_btkidx[] = { YAFLW00_BTK_YAFLW00_01, YBGAF00_BTK_YBGAF00_01 };
s16 daWindTag::daWindTag_c::m_btkidx2[] = { YAFLW00_BTK_YAFLW00_02, YBGAF00_BTK_YBGAF00_02 };
f32 daWindTag::daWindTag_c::m_cullsize_far = 4.0f;
f32 daWindTag::daWindTag_c::m_ef_cullsize_far = 2.0f;

/* 00000078-000000F0 .text _delete__Q29daWindTag11daWindTag_cFv */
bool daWindTag::daWindTag_c::_delete() {
if (mpEmitter != NULL) {
Expand Down Expand Up @@ -100,6 +91,15 @@ BOOL daWindTag::daWindTag_c::CreateHeap() {
return TRUE;
}

const char *daWindTag::daWindTag_c::m_arcname[] = { "Yaflw00", "Ybgaf00" };
s16 daWindTag::daWindTag_c::m_bdlidx[] = { YAFLW00_BDL_YAFLW00, YBGAF00_BDL_YBGAF00 };
s16 daWindTag::daWindTag_c::m_heapsize[] = { 0x0C40, 0x0C40 };
s16 daWindTag::daWindTag_c::m_bckidx[] = { YAFLW00_BCK_YAFLW00, YBGAF00_BCK_YBGAF00 };
s16 daWindTag::daWindTag_c::m_btkidx[] = { YAFLW00_BTK_YAFLW00_01, YBGAF00_BTK_YBGAF00_01 };
s16 daWindTag::daWindTag_c::m_btkidx2[] = { YAFLW00_BTK_YAFLW00_02, YBGAF00_BTK_YBGAF00_02 };
f32 daWindTag::daWindTag_c::m_cullsize_far = 4.0f;
f32 daWindTag::daWindTag_c::m_ef_cullsize_far = 2.0f;

/* 000003E4-00000828 .text CreateInit__Q29daWindTag11daWindTag_cFv */
void daWindTag::daWindTag_c::CreateInit() {
/* Nonmatching */
Expand Down Expand Up @@ -322,6 +322,7 @@ bool daWindTag::daWindTag_c::_draw() {
/* 00001814-00001AA4 .text MoveEmitter__Q29daWindTag11daWindTag_cFv */
void daWindTag::daWindTag_c::MoveEmitter() {
/* Nonmatching */
cM3dGTri temp;
}

/* 00001B00-00001B20 .text daWindTag_Create__FPv */
Expand Down
34 changes: 17 additions & 17 deletions src/d/d_stage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2092,23 +2092,23 @@ void layerLoader(void* i_data, dStage_dt_c* i_stage, int i_roomNo) {
/* 8004313C-80043190 .text dStage_dt_c_stageLoader__FPvP11dStage_dt_c */
void dStage_dt_c_stageLoader(void* i_data, dStage_dt_c* i_stage) {
static FuncTable l_funcTable[] = {
{"MEMA", dStage_memaInfoInit}, {"MECO", dStage_mecoInfoInit},
{"MULT", dStage_multInfoInit}, {"PLYR", dStage_playerInit},
{"CAMR", dStage_cameraInit}, {"RCAM", dStage_cameraInit},
{"ACTR", dStage_actorInit}, {"TGOB", dStage_actorInit},
{"TRES", dStage_stageTresureInit}, {"RTBL", dStage_roomReadInit},
{"AROB", dStage_arrowInit}, {"RARO", dStage_arrowInit},
{"2Dma", dStage_mapInfoInit}, {"2DMA", dStage_mapInfoInit},
{"Pale", dStage_paletInfoInit}, {"Colo", dStage_pselectInfoInit},
{"Virt", dStage_vrboxInfoInit}, {"SCLS", dStage_sclsInfoInit},
{"TGSC", dStage_tgscInfoInit}, {"LGHT", dStage_plightInfoInit},
{"PPNT", dStage_ppntInfoInit}, {"PATH", dStage_pathInfoInit},
{"RPPN", dStage_rppnInfoInit}, {"RPAT", dStage_rpatInfoInit},
{"SOND", dStage_soundInfoInit}, {"SCOB", dStage_tgscInfoInit},
{"EVNT", dStage_eventInfoInit}, {"EnvR", dStage_envrInfoInit},
{"FILI", dStage_filiInfoInit}, {"DOOR", dStage_stageDrtgInfoInit},
{"LGTV", dStage_lgtvInfoInit}, {"FLOR", dStage_floorInfoInit},
{"TGDR", dStage_tgscInfoInit}, {"DMAP", dStage_dmapInfoInit},
{"MEMA", dStage_memaInfoInit}, {"MECO", dStage_mecoInfoInit},
{"MULT", dStage_multInfoInit}, {"PLYR", dStage_playerInit},
{"CAMR", dStage_cameraInit}, {"RCAM", dStage_cameraInit},
{"ACTR", dStage_actorInit}, {"TGOB", dStage_actorInit},
{"TRES", dStage_stageTresureInit}, {"RTBL", dStage_roomReadInit},
{"AROB", dStage_arrowInit}, {"RARO", dStage_arrowInit},
{"2Dma", dStage_mapInfoInit}, {"2DMA", dStage_mapInfoInit},
{"Pale", dStage_paletInfoInit}, {"Colo", dStage_pselectInfoInit},
{"Virt", dStage_vrboxInfoInit}, {"SCLS", dStage_sclsInfoInit},
{"TGSC", dStage_tgscInfoInit}, {"LGHT", dStage_plightInfoInit},
{"PPNT", dStage_ppntInfoInit}, {"PATH", dStage_pathInfoInit},
{"RPPN", dStage_rppnInfoInit}, {"RPAT", dStage_rpatInfoInit},
{"SOND", dStage_soundInfoInit}, {"SCOB", dStage_tgscInfoInit},
{"EVNT", dStage_eventInfoInit}, {"EnvR", dStage_envrInfoInit},
{"FILI", dStage_filiInfoInit}, {"DOOR", dStage_tgscInfoInit},
{"LGTV", dStage_lgtvInfoInit}, {"FLOR", dStage_floorInfoInit},
{"TGDR", dStage_stageDrtgInfoInit}, {"DMAP", dStage_dmapInfoInit},
};

dStage_dt_c_decode(i_data, i_stage, l_funcTable, ARRAY_SIZE(l_funcTable));
Expand Down
20 changes: 10 additions & 10 deletions src/d/d_timer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -422,16 +422,16 @@ void dDlst_TimerScrnDraw_c::changeNumberTexture(J2DPane* pane, int no) {
/* 8023CA78-8023CA8C .text getNumber__21dDlst_TimerScrnDraw_cFi */
const char* dDlst_TimerScrnDraw_c::getNumber(int no) {
static const char* number[] = {
"s_rupy_num_00.bti",
"s_rupy_num_01.bti",
"s_rupy_num_02.bti",
"s_rupy_num_03.bti",
"s_rupy_num_04.bti",
"s_rupy_num_05.bti",
"s_rupy_num_06.bti",
"s_rupy_num_07.bti",
"s_rupy_num_08.bti",
"s_rupy_num_09.bti",
"rupy_num_00.bti",
"rupy_num_01.bti",
"rupy_num_02.bti",
"rupy_num_03.bti",
"rupy_num_04.bti",
"rupy_num_05.bti",
"rupy_num_06.bti",
"rupy_num_07.bti",
"rupy_num_08.bti",
"rupy_num_09.bti",
};

return number[no];
Expand Down
2 changes: 1 addition & 1 deletion src/m_Do/m_Do_mtx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ Mtx mDoMtx_stack_c::now;
Mtx mDoMtx_stack_c::buffer[16];

Mtx* mDoMtx_stack_c::next = mDoMtx_stack_c::buffer;
Mtx* mDoMtx_stack_c::end = mDoMtx_stack_c::buffer + 16;
Mtx* mDoMtx_stack_c::end = mDoMtx_stack_c::buffer + ARRAY_SIZE(mDoMtx_stack_c::buffer);

/* 8000D74C-8000D7CC .text push__14mDoMtx_stack_cFv */
bool mDoMtx_stack_c::push() {
Expand Down

0 comments on commit 8e44641

Please sign in to comment.