sotn-decomp/config/splat.us.stsel.yaml

133 lines
4.8 KiB
YAML
Raw Normal View History

2022-12-21 16:33:15 +00:00
options:
platform: psx
basename: stsel
base_path: ..
2023-02-21 20:06:27 +00:00
build_path: build/us
2023-02-21 23:25:24 +00:00
target_path: disks/us/ST/SEL/SEL.BIN
asm_path: asm/us/st/sel
2022-12-21 16:33:15 +00:00
asset_path: assets/st/sel
src_path: src/st/sel
Enhance make extract on PSX (#662) Previously if either the YAML or the symbol list were changed, we were forced to either manually delete the `asm` folder of the specific overlay or to invoke `make clean`, where the latter forced us to re-extract all the overlays via `make -j extract`. That changes with this PR. How `make` works is `target: dep1 dep2` where if one of the dependencies has the last modified date greater than the target, the rule is triggered again. Previously we were extracting overlays doing `make extract_stcen`. But since every overlay extraction generates a linker script I now changed the rules to do `make build/us/stcen.ld` to extract the same overlay. As I explained above, if either the YAML or one of the related symbols changes, the linker modified date will be older and the extraction for that overlay to be trigger again. The above allowed me to stop polluting the repo root with the linker scripts as they are now moved into `build/us` or `build/hd` depending of what you're trying to build. If you do `make extract` twice in a row you will be welcomed with a `make: Nothing to be done for 'extract'.`. There are still some instances where you **might** need `make clean` beforehand, especially when modifying the `segment` section in the YAML or renaming the symbols. A `rm -rf asm/$(VERSION)/$*` can help but I want to see if the current solution will be enough. ### Please try removing `make clean` from your workflow, once this is merged, to quickly detect possible problems with this new approach. I am also planning to make more substantial changes on our build-chain like this PR or #660 in the future. I am aiming to small incremental changes over time in case I break someone's flow or detect design flaws. I am also considering the breaking changes introduced in make 4.4, which will most likely be included in Ubuntu 24.04 LTS. I set March 2024 as a deadline to finish all the new build-chain work. --------- Co-authored-by: sozud <122322823+sozud@users.noreply.github.com>
2023-10-05 08:26:29 +00:00
ld_script_path: build/us/stsel.ld
2022-12-21 16:33:15 +00:00
compiler: GCC
symbol_addrs_path:
- config/symbols.us.txt
- config/symbols.us.stsel.txt
undefined_funcs_auto_path: config/undefined_funcs_auto.us.stsel.txt
undefined_syms_auto_path: config/undefined_syms_auto.us.stsel.txt
2022-12-21 16:33:15 +00:00
find_file_boundaries: yes
use_legacy_include_asm: no
migrate_rodata_to_functions: no
asm_jtbl_label_macro: jlabel
2023-03-13 20:56:36 +00:00
extensions_path: tools/splat_ext
2022-12-25 09:46:07 +00:00
section_order:
- ".data"
2022-12-25 09:46:07 +00:00
- ".rodata"
- ".text"
- ".bss"
- ".sbss"
sha1: a919a53a760107972049bfdeadde33376428eace
2022-12-21 16:33:15 +00:00
segments:
- name: stsel
type: code
start: 0x00000000
vram: 0x80180000
align: 4
subalign: 4
2022-12-21 16:33:15 +00:00
subsegments:
2023-01-23 07:48:30 +00:00
- [0x0, .data, 2C048]
- [0x3A8, .data, 2C048]
- [0x454, .data, 2C048]
- [0x46C, .data, 2C048]
- [0x4D0, .data, 3410C]
- [0x4E0, .data, banks]
- [0x728, data]
- [0x824, .data, 3642C]
- [0x8DC, .data, save_mgr_pre]
- [0x8E4, palette, memcard_0]
- [0x904, palette, memcard_1]
- [0x924, palette, memcard_2]
- [0x944, palette, memcard_3]
- [0x964, palette, memcard_4]
- [0x984, palette, memcard_5]
- [0x9A4, palette, memcard_6]
- [0x9C4, palette, memcard_7]
- [0x9E4, palette, memcard_8]
- [0xA04, palette, memcard_9]
- [0xA24, palette, memcard_10]
- [0xA44, palette, memcard_11]
- [0xA64, palette, memcard_12]
- [0xA84, palette, memcard_13]
- [0xAA4, palette, memcard_14]
- [0xAC4, palette, memcard_15]
- [0xAE4, ci4, memcard_0, 16, 48]
- [0xC64, ci4, memcard_1, 16, 48]
- [0xDE4, ci4, memcard_2, 16, 48]
- [0xF64, ci4, memcard_3, 16, 48]
- [0x10E4, ci4, memcard_4, 16, 48]
- [0x1264, ci4, memcard_5, 16, 48]
- [0x13E4, ci4, memcard_6, 16, 48]
- [0x1564, ci4, memcard_7, 16, 48]
- [0x16E4, ci4, memcard_8, 16, 48]
- [0x1864, ci4, memcard_9, 16, 48]
- [0x19E4, ci4, memcard_10, 16, 48]
- [0x1B64, ci4, memcard_11, 16, 48]
- [0x1CE4, ci4, memcard_12, 16, 48]
- [0x1E64, ci4, memcard_13, 16, 48]
- [0x1FE4, ci4, memcard_14, 16, 48]
- [0x2164, ci4, memcard_15, 16, 48]
- [0x22E4, .data, save_mgr]
- [0x2584, data]
- [0x25FC, .data, config_us] # subweapons
- [0x2700, .data, config_us] # equip
- [0x5314, .data, config_us] # accessories
- [0x5E54, .data, config_us] # menu
- [0x600C, .data, config_us] # spells
- [0x631C, .data, config_us] # relics
- [0x64FC, .data, config_us] # enemies
- [0xA37C, .data, config_us] # exp table
- [0xA50C, .data, lba_stage]
- [0xB2CC, .data, stream_info]
- [0xB304, data]
- [0xCD54, .data, CD54]
2023-02-05 11:06:16 +00:00
- [0xDBD4, data]
2023-01-23 07:48:30 +00:00
- [0x176C0, rodata]
- [0x27438, .rodata, 2C048] # strings in D_80180128
- [0x27620, .rodata, 2C048] # strings in D_801803D0
- [0x276A4, .rodata, 2C048] # strings func_801ACFBC
- [0x276C0, .rodata, 2C048] # DrawNavigationTips jtbl
- [0x276D8, .rodata, 2C048] # strings in func_801AD490
- [0x276F0, .rodata, 2C048] # strings in D_80180454
- [0x27748, .rodata, 2C048] # strings in func_801AD66C
- [0x27760, .rodata, 2C048] # strings in func_801AD78C
- [0x277A0, .rodata, 2C048] # strings in func_801ADF94
- [0x277C8, .rodata, 2C048] # Update strings and jtbl
- [0x27AE4, .rodata, 2C048] # "BASLUS-00067DRAX00"
- [0x27AF8, .rodata, 2C048] # FntPrint strings
- [0x27B14, .rodata, 33164] # func_801B3164
- [0x27B60, .rodata, 3410C] # E3 selection strings
- [0x27B98, .rodata, 3410C] # TestCollision
- [0x27BD8, .rodata, 3410C] # func_801B55C8
2023-01-24 20:09:02 +00:00
- [0x27BF8, .rodata, 3585C]
- [0x27CD4, .rodata, 3642C] # g_DiagActors strings
- [0x27CF4, .rodata, 3642C] # func_801B69F8 jtbl
- [0x27D78, .rodata, save_mgr]
- [0x28040, .rodata, config_us] # equip strings
- [0x29B18, .rodata, config_us] # accessories strings
- [0x2A8B4, .rodata, config_us] # menu strings
- [0x2AE08, .rodata, config_us] # spells strings
- [0x2AFA0, .rodata, config_us] # relics strings
- [0x2B490, .rodata, config_us] # enemies strings
- [0x2BBF0, .rodata, lba_stage]
- [0x2BF9C, .rodata, stream]
2023-01-23 10:44:32 +00:00
- [0x2C048, c, 2C048]
- [0x33164, c, 33164]
- [0x3410C, c, 3410C]
2023-01-24 05:32:28 +00:00
- [0x3585C, c, 3585C]
2023-01-23 10:44:32 +00:00
- [0x3642C, c, 3642C]
- [0x380F0, c, save_mgr]
- [0x39744, c, stream]
- [0x3AB70, asm, handwritten/func_801BAB70]
- [0x3ABA4, asm, handwritten/DecDCTvlc]
- [0x3AEE4, .bss, bss]
2022-12-21 16:33:15 +00:00
- [0x56B28]