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!
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
options:
|
|
platform: psp
|
|
basename: tt_000
|
|
base_path: ..
|
|
build_path: build/pspeu
|
|
target_path: disks/pspeu/PSP_GAME/USRDIR/res/ps/PSPBIN/tt_000.bin
|
|
asm_path: asm/pspeu/servant/tt_000
|
|
asset_path: assets/servant/tt_000
|
|
src_path: src/servant/tt_000
|
|
ld_script_path: build/pspeu/tt_000.ld
|
|
compiler: GCC
|
|
symbol_addrs_path:
|
|
- config/symbols.pspeu.txt
|
|
- config/symbols.pspeu.tt_000.txt
|
|
undefined_funcs_auto_path: config/undefined_funcs_auto.pspeu.tt_000.txt
|
|
undefined_syms_auto_path: config/undefined_syms_auto.pspeu.tt_000.txt
|
|
find_file_boundaries: yes
|
|
use_legacy_include_asm: no
|
|
migrate_rodata_to_functions: no
|
|
asm_jtbl_label_macro: jlabel
|
|
section_order:
|
|
- ".text"
|
|
- ".data"
|
|
- ".rodata"
|
|
- ".bss"
|
|
ld_bss_is_noload: True
|
|
disasm_unknown: True
|
|
asm_inc_header: |
|
|
.set noat /* allow manual use of $at */
|
|
.set noreorder /* don't insert nops after branches */
|
|
.include "macro.inc"
|
|
sha1: c8c34ac1d46b31e2e5336df271aa2409f44c9d01
|
|
|
|
segments:
|
|
- [0x0, bin, mwo_header]
|
|
- name: tt_000
|
|
type: code
|
|
start: 0x00000080
|
|
vram: 0x092E7680
|
|
bss_size: 0x500
|
|
align: 128
|
|
subalign: 8
|
|
subsegments:
|
|
- [0x80, c, 10E8]
|
|
- [0x48C8, c, 45E4]
|
|
- [0x4C80, data]
|
|
- [0x5E00, data] # rodata, not data
|
|
- {type: bss, vram: 0x092ed480}
|
|
- [0x5E80]
|