mirror of
https://github.com/Xeeynamo/sotn-decomp.git
synced 2024-11-23 13:09:44 +00:00
5a447796d6
Automates the extraction of `u_long** OVL_EXPORT(cluts)[]` in `assets/` at extraction time and its code generation in `src/[boss|st]/palette_def.h`. This has the advantage that now palettes can be loaded and modified externally, change in size and external tools has now context on the palette order and where in the VRAM they are located. This also simplifies `header.c`, getting rid of the whole `PAL_BULK` section. Creating headers for stages and boss rooms will get progressively simpler. The tool is pickier on the size of exported palettes. This allowed me to find gaps of data for potential unused palette data. I marked them in the NZ0 YAML. If there are no concerns and I get an approval, I will extend `config/assets.us.yaml` to the remaining overlays.
170 lines
5.7 KiB
YAML
170 lines
5.7 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]
|
|
- [0x11B88, raw, cutscene_alucard]
|
|
- [0x12908, raw, cutscene_death]
|
|
- [0x13688, data]
|
|
- [0x166B8, pal, D_801966B8]
|
|
- [0x17838, pal, D_80197838]
|
|
- [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, D_80197EF8]
|
|
- [0x17F58, pal, D_80197F58]
|
|
- [0x17FB8, pal, D_80197FB8]
|
|
- [0x180B8, pal, D_801980B8]
|
|
- [0x18118, pal, D_80198118]
|
|
- [0x18218, pal, D_80198218] # unused
|
|
- [0x18318, pal, D_80198318]
|
|
- [0x18418, pal, D_80198418] # unused
|
|
- [0x18518, pal, D_80198518]
|
|
- [0x18578, pal, D_80198578]
|
|
- [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]
|