mirror of
https://github.com/Xeeynamo/sotn-decomp.git
synced 2024-11-23 13:09:44 +00:00
5362c8b8da
Extract ST/WRP out of #1119 . All the function symbols should have been cross-referenced. There as some PSX functions missing from PSP and some new functions from PSP that are not present on PSX (e.g. `st_init_wrp.c`). The files `st_debug.c` and `e_breakable.c` are shared between WRP PSX and WRP PSP. Everything else from PSP is isolated into its own folder. I had to do some tricks on the YAML config to allow shared code. `ST_WRP_MERGE = st_debug e_breakable` in the `Makefile` is a bit annoying as MWCC complains about every single minute detail from the C source that has been already decompiled for the PSX US build. `EntityWarpSmallRocks` is matching on PSP but I couldn't extract the rodata without having a bunch of linker errors. This might be a Splat issue. I need to investigate further. `func_psp_09244760` is soooo interesting. The values from `0x11` to `0x17` matches the Entity IDs that are unique to the WRP overlay. This aligns to what we have in `typedef enum EntityIDs`. Overall I am very excited to the recent discoveries from the PSP build!
100 lines
3.2 KiB
YAML
100 lines
3.2 KiB
YAML
options:
|
|
platform: psx
|
|
basename: stwrp
|
|
base_path: ..
|
|
build_path: build/us
|
|
target_path: disks/us/ST/WRP/WRP.BIN
|
|
asm_path: asm/us/st/wrp
|
|
asset_path: assets/st/wrp
|
|
src_path: src/st/wrp
|
|
ld_script_path: build/us/stwrp.ld
|
|
compiler: GCC
|
|
symbol_addrs_path:
|
|
- config/symbols.us.txt
|
|
- config/symbols.us.stwrp.txt
|
|
undefined_funcs_auto_path: config/undefined_funcs_auto.us.stwrp.txt
|
|
undefined_syms_auto_path: config/undefined_syms_auto.us.stwrp.txt
|
|
find_file_boundaries: yes
|
|
use_legacy_include_asm: no
|
|
migrate_rodata_to_functions: no
|
|
asm_jtbl_label_macro: jlabel
|
|
extensions_path: tools/splat_ext
|
|
section_order:
|
|
- ".data"
|
|
- ".rodata"
|
|
- ".text"
|
|
- ".bss"
|
|
segments:
|
|
- name: stwrp
|
|
type: code
|
|
start: 0x00000000
|
|
vram: 0x80180000
|
|
subalign: 4
|
|
subsegments:
|
|
- [0x0, .data, header]
|
|
- [0xB8, layers, rooms]
|
|
- [0x1B8, .data, 6FD0]
|
|
- [0xF84, .data, entity_relic_orb]
|
|
- [0xFE8, .data, F420]
|
|
- [0x11AC, roomdef, g_Rooms]
|
|
- [0x1228, layoutobj, D_80181228]
|
|
- [0x1250, layoutobj, D_80181250]
|
|
- [0x1278, layoutobj, D_80181278]
|
|
- [0x12A0, layoutobj, D_801812A0]
|
|
- [0x12C8, layoutobj, D_801812C8]
|
|
- [0x12F0, layoutobj, D_801812F0]
|
|
- [0x1304, layoutobj, D_80181304]
|
|
- [0x1324, layoutobj, D_80181324]
|
|
- [0x134C, layoutobj, D_8018134C]
|
|
- [0x1374, layoutobj, D_80181374]
|
|
- [0x139C, layoutobj, D_8018139C]
|
|
- [0x13C4, layoutobj, D_801813C4]
|
|
- [0x13EC, layoutobj, D_801813EC]
|
|
- [0x1400, layoutobj, D_80181400]
|
|
- [0x1420, cmp, D_80181420]
|
|
- [0x1764, cmp, D_80181764]
|
|
- [0x1D08, cmp, D_80181D08]
|
|
- [0x1D68, tilelayout, D_80181D68]
|
|
- [0x1F68, tilelayout, D_80181F68]
|
|
- [0x2168, tilelayout, D_80182168]
|
|
- [0x2368, tilelayout, D_80182368]
|
|
- [0x2568, tilelayout, D_80182568]
|
|
- [0x2768, tilelayout, D_80182768]
|
|
- [0x2968, raw, D_80182968]
|
|
- [0x2A68, raw, D_80182A68]
|
|
- [0x2B68, raw, D_80182B68]
|
|
- [0x2C68, raw, D_80182C68]
|
|
- [0x2D68, tiledef, D_80182D68]
|
|
- [0x2D78, raw, D_80182D78]
|
|
- [0x3D78, raw, D_80183D78]
|
|
- [0x4D78, raw, D_80184D78]
|
|
- [0x5D78, raw, D_80185D78]
|
|
- [0x6D78, tiledef, D_80186D78]
|
|
- [0x6D88, animset, D_80186D88]
|
|
- [0x6E30, .rodata, 6FD0]
|
|
- [0x6E70, .rodata, warp] # EntityWarpRoom
|
|
- [0x6E90, .rodata, warp] # EntityWarpSmallRocks
|
|
- [0x6EA8, .rodata, 861C] # EntityRedDoor
|
|
- [0x6EC0, rodata] # CollectGold
|
|
- [0x6F10, .rodata, D020]
|
|
- [0x6F30, .rodata, D020] # EntityEquipItemDrop
|
|
- [0x6F48, .rodata, entity_relic_orb]
|
|
- [0x6F80, .rodata, entity_message_box]
|
|
- [0x6F94, .rodata, F420] # EntityStageNamePopup
|
|
- [0x6FC8, rodata]
|
|
- [0x6FD0, c, st_debug]
|
|
- [0x726C, c, e_breakable]
|
|
- [0x73A0, c, warp]
|
|
- [0x81E8, c, random]
|
|
- [0x8218, c, update]
|
|
- [0x8514, c, update_stage_entities]
|
|
- [0x861C, c]
|
|
- [0xD020, c]
|
|
- [0xE2CC, c, entity_relic_orb]
|
|
- [0xED9C, c, entity_heart_drop]
|
|
- [0xEEC4, c, entity_message_box]
|
|
- [0xF420, c]
|
|
- [0x13270, c, prim_helpers]
|
|
- [0x13AA0, sbss] # bss?
|
|
- [0x14768]
|