sotn-decomp/config/splat.us.stno3.yaml
Luciano Ciccariello 3649d507c1
Decompress image assets found in the stage files as PNGs (#1868)
Instead of outputting a `D_80123456.dec` from an extracted compressed
asset, now a PNG is written from the decompressed data from the
specified YAML entry. The asset tool will synchronize with splat to
retrieve the symbol names for graphics and palettes. The new splat
extension `cmpgfx` will also be able to detect unused graphics by
failing with a hint on how to tweak the YAML. That way I found some
unused placeholders under the name `stage_placeholder` and some kind of
beta graphics from the prologue stage.
2024-11-03 08:51:42 +00:00

189 lines
6.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
disassemble_all: True
section_order:
- ".data"
- ".rodata"
- ".text"
- ".bss"
- ".sbss"
sha1: 5d06216b895ab5ff892c88b0d9eff67ff16e2bd1
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, e_init]
- [0xAAC, data]
- [0xDC0, .data, 377D4]
- [0xDD0, .data, 377D4]
- [0xE50, data]
- [0xE70, data]
- [0xE80, data]
- [0xE90, data]
- [0xEA0, .data, entrance_stage_entities]
- [0x13A8, data]
- [0x1ACC, .data, cutscene]
- [0x1AD4, data]
- [0x1B40, data]
- [0x1C8C, .data, d_prize_drops]
- [0x1CC0, .data, st_update]
- [0x1CEC, .data, collision]
- [0x20AC, .data, e_red_door]
- [0x20C4, .data, st_common]
- [0x22C4, .data, e_collect]
- [0x25B4, .data, e_misc]
- [0x26D0, data]
- [0x3180, data]
- [0x3870, data]
- [0x39A0, data]
- [0x3AC0, data]
- [0x3AF0, data]
- [0x3B30, data]
- [0x3B50, .data, e_bone_scimitar]
- [0x3C44, .data, e_bat]
- [0x3C7C, data]
- [0x3CC4, .data, rooms]
- [0x3DC8, .data, e_layout] # layout entries data
- [0x4CE0, .data, cutscene_data]
- [0x4E60, data]
- [0x4E74, cmpgfx, stage_title_jp, 128, 128, 4]
- [0x51B8, cmpgfx, stage_placeholder, 128, 128, 4]
- [0x575C, cmpgfx, e_skyswirl_g0, 128, 128, 4, 0x16AB8] # TODO rename palette
- [0x68C8, cmpgfx, e_skyswirl_g1, 128, 128, 4, 0x16AB8] # TODO rename palette
- [0x7BD0, cmpgfx, e_merman_g0, 128, 128, 4, 0x17838]
- [0x8870, cmpgfx, e_merman_g1, 128, 128, 4, 0x17838]
- [0x94AC, cmpgfx, e_merman_g2, 128, 128, 4, 0x17838]
- [0xA4BC, cmpgfx, e_merman_g3, 128, 128, 4, 0x17838]
- [0xADC0, cmpgfx, e_slinger_g, 128, 128, 4, 0x17EF8]
- [0xB99C, cmpgfx, e_ghost_bat_g, 128, 128, 4, 0x17F58]
- [0xC460, cmpgfx, e_warg_rider_g0, 128, 128, 4, 0x17FB8]
- [0xD5EC, cmpgfx, e_warg_rider_g1, 128, 128, 4, 0x17FB8]
- [0xE6CC, cmpgfx, e_warg_rider_g2, 128, 128, 4, 0x17FB8]
- [0xF870, cmpgfx, e_warg_rider_g3, 128, 128, 4, 0x17FB8]
- [0x10958, cmpgfx, e_warg_rider_g4, 128, 128, 4, 0x17FD8]
- [0x114B8, cmpgfx, e_zombie_g, 128, 128, 4, 0x180B8]
- [0x11B88, raw, cutscene_alucard]
- [0x12908, raw, cutscene_death]
- [0x13688, cmpgfx, e_death_g0, 128, 128, 4, 0x18518]
- [0x14688, cmpgfx, e_death_g1, 128, 128, 4, 0x18518]
- [0x150CC, cmpgfx, e_death_g2, 128, 128, 4, 0x18518]
- [0x1573C, cmpgfx, e_explosion_g, 128, 128, 4, 0x18578]
- [0x166B8, pal, e_skyswirl_p]
- [0x17838, pal, e_merman_p]
- [0x178F8, pal, D_801978F8] # unused
- [0x17918, pal, D_80197918]
- [0x17958, pal, D_80197958]
- [0x17998, pal, D_80197998]
- [0x179D8, pal, D_801979D8]
- [0x17A18, pal, D_80197A18]
- [0x17A58, pal, D_80197A58]
- [0x17A98, pal, D_80197A98]
- [0x17AD8, pal, D_80197AD8]
- [0x17B18, pal, D_80197B18]
- [0x17B58, pal, D_80197B58]
- [0x17B98, pal, D_80197B98]
- [0x17BD8, pal, D_80197BD8]
- [0x17C18, pal, D_80197C18]
- [0x17C58, pal, D_80197C58]
- [0x17C98, pal, D_80197C98]
- [0x17EF8, pal, e_slinger_p]
- [0x17F58, pal, e_ghost_bat_p]
- [0x17FB8, pal, e_warg_rider_p]
- [0x180B8, pal, e_zombie_p]
- [0x18118, pal, D_80198118]
- [0x18218, pal, D_80198218] # unused
- [0x18318, pal, D_80198318]
- [0x18418, pal, D_80198418] # unused
- [0x18518, pal, e_death_p]
- [0x18578, pal, e_explosion_p]
- [0x18778, pal, D_80198778] # unused
- [0x18838, .data, tile_data] # tile data
- [0x26638, .data, tile_data] # tile definitions
- [0x2EA68, .data, sprites]
- [0x373E0, data]
- [0x373E8, .rodata, entrance_stage_entities] # EntityCastleDoor
- [0x37400, .rodata, entrance_stage_entities] # EntityStairwayPiece
- [0x37414, .rodata, 3C4EC]
- [0x3742C, .rodata, 3E134] #EntityFlyingOwlAndLeaves
- [0x37440, .rodata, cutscene] # actor names
- [0x37458, .rodata, cutscene] # NO3_EntityCutscene
- [0x374DC, .rodata, 3FF00] # EntityRoomTransition2
- [0x374F4, .rodata, 3FF00] # EntityDeathStolenItems
- [0x37514, .rodata, 3FF00] # EntityDeath
- [0x37564, .rodata, e_explosion_puff_opaque] # EntityExplosionPuffOpaque
- [0x37578, .rodata, e_red_door] # EntityRedDoor
- [0x37590, .rodata, e_collect] # CollectGold text
- [0x375E0, .rodata, e_collect] # EntityPrizeDrop
- [0x37600, .rodata, e_collect] # EntityEquipItemDrop
- [0x37618, .rodata, e_misc]
- [0x37650, .rodata, e_misc]
- [0x37664, .rodata, 4AFF0] # EntityStageNamePopup
- [0x37698, .rodata, e_fire_warg] # EntityFireWarg
- [0x376D0, .rodata, e_fire_warg] # EntityFireWargWaveAttack
- [0x376E8, .rodata, e_fire_warg] # EntityUnkId2F
- [0x376FC, .rodata, 4F58C] # EntityWarg RECT
- [0x37704, .rodata, 4F58C] # EntityWarg
- [0x37738, .rodata, e_merman2]
- [0x3775C, .rodata, 53F38]
- [0x37784, .rodata, e_bone_scimitar]
- [0x377A4, .rodata, e_bat] # EntityBat
- [0x377B8, .rodata, 564B0] # EntityZombie
- [0x377CC, .rodata, prim_helpers]
- [0x377D4, c]
- [0x37A64, c, e_breakable]
- [0x37B98, c, entrance_stage_entities]
- [0x3C4EC, c]
- [0x3E134, c]
- [0x3E544, c, cutscene]
- [0x3FF00, c]
- [0x413F8, c, e_explosion_puff_opaque]
- [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, e_misc]
- [0x4AFF0, c]
- [0x4C5A4, c, e_fire_warg]
- [0x4F58C, c]
- [0x50A2C, c, player_water_effect]
- [0x516B4, c, e_merman2]
- [0x53F38, c]
- [0x559d0, c, e_bone_scimitar]
- [0x56264, c, e_bat]
- [0x564B0, c]
- [0x56880, c, prim_helpers]
- [0x570B0, .bss, create_entity]
- [0x57120, .bss, bss]
- [0x57DD8, .bss, e_collect]
- [0x57E18]