sotn-decomp/config/splat.us.stno3.yaml
bismurphy 908bd1d2eb
Deduplicate st_common.c across all existing stages (#1606)
I noticed that there was large overlap between these, but it was
incomplete as different stages had different levels of de-duplication
completed.

I went through and completely de-duplicated this file, so it is now
st_common.h everywhere.

There were a few leftover functions in MAD and ST0, so I decompiled
those in my previous PRs, and now in this one, I'm doing ifdef to make
it all match for all stages.

This is pretty cool and represents a large amount of code reduction.

The original C file which was used as the basis for st_common.h was the
WRP one, which has PSP support, so this may be a great step to making
many overlays match on PSP too.
2024-09-15 21:31:15 +01:00

125 lines
3.9 KiB
YAML

options:
platform: psx
basename: stno3
base_path: ..
build_path: build/us
target_path: disks/us/ST/NO3/NO3.BIN
asm_path: asm/us/st/no3
asset_path: assets/st/no3
src_path: src/st/no3
ld_script_path: build/us/stno3.ld
compiler: GCC
symbol_addrs_path:
- config/symbols.us.txt
- config/symbols.us.stno3.txt
undefined_funcs_auto_path: config/undefined_funcs_auto.us.stno3.txt
undefined_syms_auto_path: config/undefined_syms_auto.us.stno3.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"
- ".sbss"
segments:
- name: stno3
type: code
start: 0x00000000
vram: 0x80180000
align: 4
subalign: 4
subsegments:
- [0x0, .data, header]
- [0x1C4, .data, header] # layers
- [0x5A4, .data, header] # GfxBanks
- [0x77C, .data, e_laydef] # layout entries header
- [0x924, data]
- [0xAAC, data]
- [0xDC0, data]
- [0xDD0, data]
- [0xE50, data]
- [0xE70, data]
- [0xE80, data]
- [0xE90, data]
- [0xEA0, data]
- [0x11F0, data]
- [0x1B40, data]
- [0x1CC0, .data, st_update]
- [0x1CEC, .data, collision]
- [0x20AC, .data, e_red_door]
- [0x20C4, .data, st_common]
- [0x22C4, .data, e_collect]
- [0x25B4, .data, entity_relic_orb]
- [0x2618, data]
- [0x3180, data]
- [0x3870, data]
- [0x39A0, data]
- [0x3AC0, data]
- [0x3AF0, data]
- [0x3B30, data]
- [0x3B50, .data, e_bone_scimitar]
- [0x3C44, data]
- [0x3CC4, .data, rooms]
- [0x3DC8, .data, e_layout] # layout entries data
- [0x4CE0, data]
- [0x18838, .data, tile_data] # tile data
- [0x26638, .data, tile_data] # tile definitions
- [0x2EA68, .data, sprites]
- [0x373E0, data]
- [0x373E8, .rodata, 377D4] # EntityCastleDoor
- [0x37400, .rodata, 377D4] # EntityStairwayPiece
- [0x37414, .rodata, 3C4EC]
- [0x3742C, .rodata, 3E134] #EntityFlyingOwlAndLeaves
- [0x37440, rodata]
- [0x37458, .rodata, deathcutscene] # EntityDeathCutscene
- [0x374DC, .rodata, 3FF00] # EntityRoomTransition2
- [0x374F4, .rodata, 3FF00] # EntityDeathStolenItems
- [0x37514, .rodata, 3FF00] # EntityDeath
- [0x37564, .rodata, 3FF00] # EntityWargExplosionPuffOpaque
- [0x37578, .rodata, e_red_door] # EntityRedDoor
- [0x37590, .rodata, e_collect] # CollectGold text
- [0x375E0, .rodata, e_collect] # EntityPrizeDrop
- [0x37600, .rodata, e_collect] # EntityEquipItemDrop
- [0x37618, .rodata, entity_relic_orb]
- [0x37650, .rodata, entity_message_box]
- [0x37664, .rodata, 48A84] # EntityStageNamePopup
- [0x37698, rodata]
- [0x376E8, rodata]
- [0x37738, .rodata, 516B4]
- [0x3775C, .rodata, 53F38]
- [0x37784, .rodata, e_bone_scimitar]
- [0x377A4, .rodata, 56264] # EntityBat
- [0x377B8, .rodata, 564B0] # EntityZombie
- [0x377CC, .rodata, prim_helpers]
- [0x377D4, c]
- [0x3C4EC, c]
- [0x3E134, c]
- [0x3E544, c, deathcutscene]
- [0x3FF00, c]
- [0x4184C, c, st_update]
- [0x41C80, c, collision]
- [0x4343C, c, create_entity]
- [0x43FB4, c, e_red_door]
- [0x44C64, c, st_common]
- [0x45BC0, c, e_collect]
- [0x47680, c, blit_char]
- [0x47930, c, entity_relic_orb]
- [0x48400, c, entity_heart_drop]
- [0x48528, c, entity_message_box]
- [0x48A84, c]
- [0x50A2C, c, player_water_effect]
- [0x516B4, c]
- [0x53F38, c]
- [0x559d0, c, e_bone_scimitar]
- [0x56264, c]
- [0x564B0, c]
- [0x56880, c, prim_helpers]
- [0x570B0, .bss, create_entity]
- [0x57120, .bss, bss]
- [0x57DD8, .bss, e_collect]
- [0x57E18]