Skip to content

Commit

Permalink
Set up REL templates (#60)
Browse files Browse the repository at this point in the history
* Fix .data sections misidentified as .rodata by dtk

dtk can't always reliably identify REL sections in its initial analysis.
This is a manual fix - the list of RELs to fix was found by looking
at supposed .rodata splits that contained an fBase vtable, since vtables
should be in .data. This fix is required for scripted creation of REL actors
based on rel .data

* More consistent d/t header paths

* Data fixups for parsing

* Tmp actor file setup

* Fixes

* Set up almost all REL templates

* formatting

* Fix formatting
  • Loading branch information
robojumper authored Oct 10, 2024
1 parent 558db54 commit 98f7e90
Show file tree
Hide file tree
Showing 1,870 changed files with 41,899 additions and 18,219 deletions.
10 changes: 5 additions & 5 deletions config/SOUE01/rels/d_SoftwareKeyboardNP/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ fn_2_400 = .text:0x00000400; // type:function size:0x8
fn_2_410 = .text:0x00000410; // type:function size:0x128
fn_2_540 = .text:0x00000540; // type:function size:0x18
fn_2_560 = .text:0x00000560; // type:function size:0x8
fn_2_570 = .text:0x00000570; // type:function size:0x30
SoftwareKeyboard__ctorCont = .text:0x000005A0; // type:function size:0x78
dSKB_c_classInit__Fv = .text:0x00000570; // type:function size:0x30
__ct__6dSKB_cFv = .text:0x000005A0; // type:function size:0x78
fn_2_620 = .text:0x00000620; // type:function size:0x40
fn_2_660 = .text:0x00000660; // type:function size:0xB0
__dt__6dSKB_cFv = .text:0x00000660; // type:function size:0xB0
SoftwareKeyboard__init = .text:0x00000710; // type:function size:0x22C
fn_2_940 = .text:0x00000940; // type:function size:0x8
fn_2_950 = .text:0x00000950; // type:function size:0x8
Expand Down Expand Up @@ -629,7 +629,7 @@ fn_2_1F130 = .text:0x0001F130; // type:function size:0x20C
fn_2_1F340 = .text:0x0001F340; // type:function size:0x2EC
fn_2_1F630 = .text:0x0001F630; // type:function size:0x2E8
fn_2_1F920 = .text:0x0001F920; // type:function size:0xA8
fn_2_1F9D0 = .text:0x0001F9D0; // type:function size:0x10
finalizeState__74sStateMgr_c<6dSKB_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x0001F9D0; // type:function size:0x10
fn_2_1F9E0 = .text:0x0001F9E0; // type:function size:0x7C
fn_2_1FA60 = .text:0x0001FA60; // type:function size:0x154
fn_2_1FBC0 = .text:0x0001FBC0; // type:function size:0x714
Expand Down Expand Up @@ -1448,7 +1448,7 @@ lbl_2_data_20 = .data:0x00000020; // type:object size:0x120
jumptable_2_data_140 = .data:0x00000140; // type:object size:0x30 scope:local
lbl_2_data_170 = .data:0x00000170; // type:object size:0x4 data:string
lbl_2_data_174 = .data:0x00000174; // type:object size:0x10
lbl_2_data_184 = .data:0x00000184; // type:object size:0xC
g_profile_SKB = .data:0x00000184; // type:object size:0xC
lbl_2_data_190 = .data:0x00000190; // type:object size:0xC
lbl_2_data_19C = .data:0x0000019C; // type:object size:0xC
lbl_2_data_1A8 = .data:0x000001A8; // type:object size:0xC
Expand Down
66 changes: 33 additions & 33 deletions config/SOUE01/rels/d_a_asura_bulletNP/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,54 +3,54 @@ _epilog = .text:0x00000030; // type:function size:0x2C scope:global
_unresolved = .text:0x00000060; // type:function size:0x4 scope:global
__register_global_object = .text:0x00000070; // type:function size:0x1C scope:global
__destroy_global_chain = .text:0x00000090; // type:function size:0x54 scope:global
fn_246_F0 = .text:0x000000F0; // type:function size:0xE4
fn_246_1E0 = .text:0x000001E0; // type:function size:0x58
fn_246_240 = .text:0x00000240; // type:function size:0x6C
fn_246_2B0 = .text:0x000002B0; // type:function size:0xA0
fn_246_350 = .text:0x00000350; // type:function size:0xA4
dAcAsuraBullet_c_classInit__Fv = .text:0x000000F0; // type:function size:0xE4
__dt__29sFState_c<16dAcAsuraBullet_c>Fv = .text:0x000001E0; // type:function size:0x58
__dt__32sFStateFct_c<16dAcAsuraBullet_c>Fv = .text:0x00000240; // type:function size:0x6C
__dt__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000002B0; // type:function size:0xA0
__dt__55sFStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c>Fv = .text:0x00000350; // type:function size:0xA4
fn_246_400 = .text:0x00000400; // type:function size:0x58
fn_246_460 = .text:0x00000460; // type:function size:0xA8
fn_246_510 = .text:0x00000510; // type:function size:0x30
fn_246_540 = .text:0x00000540; // type:function size:0x10
changeState__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x00000540; // type:function size:0x10
fn_246_550 = .text:0x00000550; // type:function size:0x1C
fn_246_570 = .text:0x00000570; // type:function size:0x7C
fn_246_5F0 = .text:0x000005F0; // type:function size:0x16C
fn_246_760 = .text:0x00000760; // type:function size:0x8
fn_246_770 = .text:0x00000770; // type:function size:0x240
fn_246_9B0 = .text:0x000009B0; // type:function size:0x10
fn_246_9C0 = .text:0x000009C0; // type:function size:0x10
executeState__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000009B0; // type:function size:0x10
getStateID__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x000009C0; // type:function size:0x10
fn_246_9D0 = .text:0x000009D0; // type:function size:0xA4
fn_246_A80 = .text:0x00000A80; // type:function size:0x2B4
fn_246_D40 = .text:0x00000D40; // type:function size:0x33C
fn_246_1080 = .text:0x00001080; // type:function size:0x4
fn_246_1090 = .text:0x00001090; // type:function size:0x4
fn_246_10A0 = .text:0x000010A0; // type:function size:0x4
fn_246_10B0 = .text:0x000010B0; // type:function size:0x4
fn_246_10C0 = .text:0x000010C0; // type:function size:0x100
fn_246_11C0 = .text:0x000011C0; // type:function size:0x60
fn_246_1220 = .text:0x00001220; // type:function size:0xC
fn_246_1230 = .text:0x00001230; // type:function size:0x1C
fn_246_1250 = .text:0x00001250; // type:function size:0x1C
fn_246_1270 = .text:0x00001270; // type:function size:0x1C
fn_246_1290 = .text:0x00001290; // type:function size:0x10
fn_246_12A0 = .text:0x000012A0; // type:function size:0x10
fn_246_12B0 = .text:0x000012B0; // type:function size:0x10
fn_246_12C0 = .text:0x000012C0; // type:function size:0x10
fn_246_12D0 = .text:0x000012D0; // type:function size:0x10
fn_246_12E0 = .text:0x000012E0; // type:function size:0x10
fn_246_12F0 = .text:0x000012F0; // type:function size:0x30
fn_246_1320 = .text:0x00001320; // type:function size:0x30
fn_246_1350 = .text:0x00001350; // type:function size:0x30
fn_246_1380 = .text:0x00001380; // type:function size:0x1D8
fn_246_1560 = .text:0x00001560; // type:function size:0x58
fn_246_15C0 = .text:0x000015C0; // type:function size:0x88
initializeState_Attack__16dAcAsuraBullet_cFv = .text:0x00000A80; // type:function size:0x2B4
executeState_Attack__16dAcAsuraBullet_cFv = .text:0x00000D40; // type:function size:0x33C
finalizeState_Attack__16dAcAsuraBullet_cFv = .text:0x00001080; // type:function size:0x4
initializeState_Wait__16dAcAsuraBullet_cFv = .text:0x00001090; // type:function size:0x4
executeState_Wait__16dAcAsuraBullet_cFv = .text:0x000010A0; // type:function size:0x4
finalizeState_Wait__16dAcAsuraBullet_cFv = .text:0x000010B0; // type:function size:0x4
__dt__16dAcAsuraBullet_cFv = .text:0x000010C0; // type:function size:0x100
build__32sFStateFct_c<16dAcAsuraBullet_c>FRC12sStateIDIf_c = .text:0x000011C0; // type:function size:0x60
dispose__32sFStateFct_c<16dAcAsuraBullet_c>FRP10sStateIf_c = .text:0x00001220; // type:function size:0xC
initialize__29sFState_c<16dAcAsuraBullet_c>Fv = .text:0x00001230; // type:function size:0x1C
execute__29sFState_c<16dAcAsuraBullet_c>Fv = .text:0x00001250; // type:function size:0x1C
finalize__29sFState_c<16dAcAsuraBullet_c>Fv = .text:0x00001270; // type:function size:0x1C
initializeState__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00001290; // type:function size:0x10
finalizeState__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000012A0; // type:function size:0x10
refreshState__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000012B0; // type:function size:0x10
getState__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x000012C0; // type:function size:0x10
getNewStateID__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x000012D0; // type:function size:0x10
getOldStateID__85sStateMgr_c<16dAcAsuraBullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x000012E0; // type:function size:0x10
finalizeState__31sFStateID_c<16dAcAsuraBullet_c>CFR16dAcAsuraBullet_c = .text:0x000012F0; // type:function size:0x30
executeState__31sFStateID_c<16dAcAsuraBullet_c>CFR16dAcAsuraBullet_c = .text:0x00001320; // type:function size:0x30
initializeState__31sFStateID_c<16dAcAsuraBullet_c>CFR16dAcAsuraBullet_c = .text:0x00001350; // type:function size:0x30
__sinit_\d_a_asura_bullet_cpp = .text:0x00001380; // type:function size:0x1D8 scope:local
__dt__31sFStateID_c<16dAcAsuraBullet_c>Fv = .text:0x00001560; // type:function size:0x58
isSameName__31sFStateID_c<16dAcAsuraBullet_c>CFPCc = .text:0x000015C0; // type:function size:0x88
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
__destroy_global_chain_reference = .dtors:0x00000000; // type:object size:0x4 scope:global
lbl_246_rodata_0 = .rodata:0x00000000; // type:object size:0x20 data:float
lbl_246_rodata_20 = .rodata:0x00000020; // type:object size:0x3C data:float
lbl_246_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float
lbl_246_data_0 = .data:0x00000000; // type:object size:0x10 data:4byte
g_profile_ASURA_BULLET = .data:0x00000000; // type:object size:0x10 data:4byte
lbl_246_data_10 = .data:0x00000010; // type:object size:0x30
lbl_246_data_40 = .data:0x00000040; // type:object size:0x8
lbl_246_data_48 = .data:0x00000048; // type:object size:0x8
Expand Down
66 changes: 33 additions & 33 deletions config/SOUE01/rels/d_a_avater_bulletNP/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,47 +3,47 @@ _epilog = .text:0x00000030; // type:function size:0x2C scope:global
_unresolved = .text:0x00000060; // type:function size:0x4 scope:global
__register_global_object = .text:0x00000070; // type:function size:0x1C scope:global
__destroy_global_chain = .text:0x00000090; // type:function size:0x54 scope:global
AcAvater_Bullet__ctor = .text:0x000000F0; // type:function size:0xCC
fn_135_1C0 = .text:0x000001C0; // type:function size:0x58
fn_135_220 = .text:0x00000220; // type:function size:0x6C
fn_135_290 = .text:0x00000290; // type:function size:0xA0
fn_135_330 = .text:0x00000330; // type:function size:0xA4
dAcAvater_Bullet_c_classInit__Fv = .text:0x000000F0; // type:function size:0xCC
__dt__31sFState_c<18dAcAvater_Bullet_c>Fv = .text:0x000001C0; // type:function size:0x58
__dt__34sFStateFct_c<18dAcAvater_Bullet_c>Fv = .text:0x00000220; // type:function size:0x6C
__dt__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00000290; // type:function size:0xA0
__dt__57sFStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c>Fv = .text:0x00000330; // type:function size:0xA4
fn_135_3E0 = .text:0x000003E0; // type:function size:0xC4
fn_135_4B0 = .text:0x000004B0; // type:function size:0x13C
fn_135_5F0 = .text:0x000005F0; // type:function size:0x10
changeState__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x000005F0; // type:function size:0x10
fn_135_600 = .text:0x00000600; // type:function size:0x8
fn_135_610 = .text:0x00000610; // type:function size:0x88
fn_135_6A0 = .text:0x000006A0; // type:function size:0x10
executeState__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000006A0; // type:function size:0x10
fn_135_6B0 = .text:0x000006B0; // type:function size:0x1F4
fn_135_8B0 = .text:0x000008B0; // type:function size:0x1C
fn_135_8D0 = .text:0x000008D0; // type:function size:0x4
fn_135_8E0 = .text:0x000008E0; // type:function size:0x40
fn_135_920 = .text:0x00000920; // type:function size:0x4
fn_135_930 = .text:0x00000930; // type:function size:0xC
fn_135_940 = .text:0x00000940; // type:function size:0x194
fn_135_AE0 = .text:0x00000AE0; // type:function size:0x4
initializeState_Wait__18dAcAvater_Bullet_cFv = .text:0x000008D0; // type:function size:0x4
executeState_Wait__18dAcAvater_Bullet_cFv = .text:0x000008E0; // type:function size:0x40
finalizeState_Wait__18dAcAvater_Bullet_cFv = .text:0x00000920; // type:function size:0x4
initializeState_Move__18dAcAvater_Bullet_cFv = .text:0x00000930; // type:function size:0xC
executeState_Move__18dAcAvater_Bullet_cFv = .text:0x00000940; // type:function size:0x194
finalizeState_Move__18dAcAvater_Bullet_cFv = .text:0x00000AE0; // type:function size:0x4
fn_135_AF0 = .text:0x00000AF0; // type:function size:0xFC
fn_135_BF0 = .text:0x00000BF0; // type:function size:0xC4
fn_135_CC0 = .text:0x00000CC0; // type:function size:0x10
getStateID__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x00000CC0; // type:function size:0x10
fn_135_CD0 = .text:0x00000CD0; // type:function size:0x28
fn_135_D00 = .text:0x00000D00; // type:function size:0xF0
fn_135_DF0 = .text:0x00000DF0; // type:function size:0x60
fn_135_E50 = .text:0x00000E50; // type:function size:0xC
fn_135_E60 = .text:0x00000E60; // type:function size:0x1C
fn_135_E80 = .text:0x00000E80; // type:function size:0x1C
fn_135_EA0 = .text:0x00000EA0; // type:function size:0x1C
fn_135_EC0 = .text:0x00000EC0; // type:function size:0x10
fn_135_ED0 = .text:0x00000ED0; // type:function size:0x10
fn_135_EE0 = .text:0x00000EE0; // type:function size:0x10
fn_135_EF0 = .text:0x00000EF0; // type:function size:0x10
fn_135_F00 = .text:0x00000F00; // type:function size:0x10
fn_135_F10 = .text:0x00000F10; // type:function size:0x10
fn_135_F20 = .text:0x00000F20; // type:function size:0x30
fn_135_F50 = .text:0x00000F50; // type:function size:0x30
fn_135_F80 = .text:0x00000F80; // type:function size:0x30
fn_135_FB0 = .text:0x00000FB0; // type:function size:0x1C0
fn_135_1170 = .text:0x00001170; // type:function size:0x58
fn_135_11D0 = .text:0x000011D0; // type:function size:0x88
__dt__18dAcAvater_Bullet_cFv = .text:0x00000D00; // type:function size:0xF0
build__34sFStateFct_c<18dAcAvater_Bullet_c>FRC12sStateIDIf_c = .text:0x00000DF0; // type:function size:0x60
dispose__34sFStateFct_c<18dAcAvater_Bullet_c>FRP10sStateIf_c = .text:0x00000E50; // type:function size:0xC
initialize__31sFState_c<18dAcAvater_Bullet_c>Fv = .text:0x00000E60; // type:function size:0x1C
execute__31sFState_c<18dAcAvater_Bullet_c>Fv = .text:0x00000E80; // type:function size:0x1C
finalize__31sFState_c<18dAcAvater_Bullet_c>Fv = .text:0x00000EA0; // type:function size:0x1C
initializeState__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00000EC0; // type:function size:0x10
finalizeState__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00000ED0; // type:function size:0x10
refreshState__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00000EE0; // type:function size:0x10
getState__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x00000EF0; // type:function size:0x10
getNewStateID__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x00000F00; // type:function size:0x10
getOldStateID__87sStateMgr_c<18dAcAvater_Bullet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x00000F10; // type:function size:0x10
finalizeState__33sFStateID_c<18dAcAvater_Bullet_c>CFR18dAcAvater_Bullet_c = .text:0x00000F20; // type:function size:0x30
executeState__33sFStateID_c<18dAcAvater_Bullet_c>CFR18dAcAvater_Bullet_c = .text:0x00000F50; // type:function size:0x30
initializeState__33sFStateID_c<18dAcAvater_Bullet_c>CFR18dAcAvater_Bullet_c = .text:0x00000F80; // type:function size:0x30
__sinit_\d_a_avater_bullet_cpp = .text:0x00000FB0; // type:function size:0x1C0 scope:local
__dt__33sFStateID_c<18dAcAvater_Bullet_c>Fv = .text:0x00001170; // type:function size:0x58
isSameName__33sFStateID_c<18dAcAvater_Bullet_c>CFPCc = .text:0x000011D0; // type:function size:0x88
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
__destroy_global_chain_reference = .dtors:0x00000000; // type:object size:0x4 scope:global
Expand All @@ -53,7 +53,7 @@ lbl_135_rodata_1C = .rodata:0x0000001C; // type:object size:0x20 data:4byte
lbl_135_rodata_3C = .rodata:0x0000003C; // type:object size:0x18 data:float
lbl_135_rodata_54 = .rodata:0x00000054; // type:object size:0x8 data:float
lbl_135_data_0 = .data:0x00000000; // type:object size:0x30 data:4byte
lbl_135_data_30 = .data:0x00000030; // type:object size:0x10
g_profile_AVATER_BULLET = .data:0x00000030; // type:object size:0x10
lbl_135_data_40 = .data:0x00000040; // type:object size:0x10
lbl_135_data_50 = .data:0x00000050; // type:object size:0x10
lbl_135_data_60 = .data:0x00000060; // type:object size:0x10
Expand Down
2 changes: 1 addition & 1 deletion config/SOUE01/rels/d_a_avater_race_mngNP/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Sections:
.text type:code align:16
.ctors type:rodata align:4
.dtors type:rodata align:4
.rodata type:rodata align:16
.data type:data align:16
.bss type:bss align:8

REL/executor.c:
Expand Down
Loading

0 comments on commit 98f7e90

Please sign in to comment.