sotn-decomp/config/splat.us.dra.yaml
bismurphy 455e18c920
Decompile DRA EntityAlucard (#1000)
This was a community effort relying on the work of myself, @ser-pounce ,
@Xeeynamo , and others. Thanks all for helping to put this together and
it will be very exciting to have such a large and important function in
the repo!

Lots of room for improving this one in terms of code style, but having a
baseline functional version in is huge.
2024-01-20 17:36:01 +00:00

263 lines
9.8 KiB
YAML

options:
platform: psx
basename: dra
base_path: ..
build_path: build/us
target_path: disks/us/DRA.BIN
asm_path: asm/us/dra
asset_path: assets/dra
src_path: src/dra
ld_script_path: build/us/dra.ld
compiler: GCC
symbol_addrs_path: config/generated.symbols.us.dra.txt
undefined_funcs_auto_path: config/undefined_funcs_auto.us.dra.txt
undefined_syms_auto_path: config/undefined_syms_auto.us.dra.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"
segments:
- name: dra
type: code
start: 0x00000000
vram: 0x800A0000
subalign: 4
subsegments:
- [0x0, .data, dra_header]
- [0x144, .data, 42398]
- [0x160, .data, play]
- [0x240, .data, loading]
- [0x248, .data, 47BB8]
- [0x510, .data, save_mgr_pre]
- [0x518, palette, memcard_0]
- [0x538, palette, memcard_1]
- [0x558, palette, memcard_2]
- [0x578, palette, memcard_3]
- [0x598, palette, memcard_4]
- [0x5B8, palette, memcard_5]
- [0x5D8, palette, memcard_6]
- [0x5F8, palette, memcard_7]
- [0x618, palette, memcard_8]
- [0x638, palette, memcard_9]
- [0x658, palette, memcard_10]
- [0x678, palette, memcard_11]
- [0x698, palette, memcard_12]
- [0x6B8, palette, memcard_13]
- [0x6D8, palette, memcard_14]
- [0x6F8, palette, memcard_15]
- [0x718, ci4, memcard_0, 16, 48]
- [0x898, ci4, memcard_1, 16, 48]
- [0xA18, ci4, memcard_2, 16, 48]
- [0xB98, ci4, memcard_3, 16, 48]
- [0xD18, ci4, memcard_4, 16, 48]
- [0xE98, ci4, memcard_5, 16, 48]
- [0x1018, ci4, memcard_6, 16, 48]
- [0x1198, ci4, memcard_7, 16, 48]
- [0x1318, ci4, memcard_8, 16, 48]
- [0x1498, ci4, memcard_9, 16, 48]
- [0x1618, ci4, memcard_10, 16, 48]
- [0x1798, ci4, memcard_11, 16, 48]
- [0x1918, ci4, memcard_12, 16, 48]
- [0x1A98, ci4, memcard_13, 16, 48]
- [0x1C18, ci4, memcard_14, 16, 48]
- [0x1D98, ci4, memcard_15, 16, 48]
- [0x1F18, .data, save_mgr]
- [0x21B8, .data, 4A538] # D_800A21B8
- [0x2438, .data, 4A538] # D_800A2438
- [0x243C, .data, demo] # D_800A243C
- [0x245C, .data, 5087C] # D_800A245C
- [0x297C, .data, 5087C] # D_800A297C
- [0x2BC0, .data, 5087C] # D_800A2BC0
- [0x2C0C, .data, 5087C] # D_800A2C0C, D_800A2D44
- [0x2D48, .data, menu]
- [0x2EC0, .data, 5D5BC] # g_LevelHPIncrease
- [0x2EE8, .data, 5D5BC] # hud sprites def
- [0x2FBC, .data, 5D5BC] # g_CapePaletteDefs
- [0x300C, .data, 5D5BC] # g_CheatCodes
- [0x3014, .data, 5D5BC] # D_800A3014
- [0x3134, data, 627C4]
- [0x31B0, data, 63ED4]
- [0x37D8, data]
- [0x3C40, .data, lba_stage]
- [0x4A00, .data, config_us] # subweapons
- [0x4B04, .data, config_us] # equipments
- [0x7718, .data, config_us] # accessories
- [0x8258, .data, config_us] # menu
- [0x8410, .data, config_us] # spells
- [0x8720, .data, config_us] # relics
- [0x8900, .data, config_us] # enemies
- [0xC780, .data, config_us] # exp table
- [0xC910, data] # exp table and other stuff
- [0xC958, .data, cd]
- [0xCD80, data]
- [0xCEB0, data]
- [0xCF18, .data, 6D59C]
- [0xCF4C, data]
- [0xD0C4, .data, 7A4D0]
- [0xD1D4, assets, factory_blueprint, g_FactoryBlueprints]
- [0xD4B8, data]
- [0x1107C, raw, vh_0] # aPbav
- [0x1407C, raw, vh_1] # aPbav_0
- [0x1607C, raw, vh_2] # aPbav_2
- [0x1807C, raw, vh_3] # aPbav_1
- [0x1A07C, data] # aPqes_1
- [0x1D07C, .data, 91EBC] # g_CdVolumeTable
- [0x1D19C, .data, 91EBC] # g_VolumeTable
- [0x1D1C0, .data, 91EBC] # g_DebugEnabled
- [0x1D1C4, .data, 91EBC] # D_800BD1C4
- [0x1D1C8, .data, 91EBC] # g_VabAddrs
- [0x1D1E0, .data, 91EBC] # g_SeqInfo
- [0x1D224, assets, music_xa, g_XaMusicConfigs]
- [0x1F554, assets, sfx, g_SfxData]
- [0x2097C, .data, 953A0]
- [0x2217C, data]
- [0x227B0, data]
- [0x25324, raw, g_GfxEquipIcon]
- [0x2F324, data]
- [0x388D4, raw, g_PalEquipIcon]
- [0x3B0D4, data]
- [0x3B3B0, rodata]
- [0x3B3B4, .rodata, 42398]
- [0x3B530, .rodata, play]
- [0x3B720, .rodata, loading]
- [0x3B7E8, .rodata, loading]
- [0x3B9B8, .rodata, 47BB8] # SimFile strings
- [0x3BD70, .rodata, 47BB8] # VSyncHandler
- [0x3BD88, .rodata, 47BB8] # func_800E7E08
- [0x3BDE0, .rodata, 47BB8] # LoadFileSim
- [0x3BEE0, .rodata, save_mgr]
- [0x3C1A8, rodata] # func_800EA7CC
- [0x3C1E8, .rodata, 4A538] # DecompressData
- [0x3C228, .rodata, 4A538]
- [0x3C238, rodata] # RenderPrimitives
- [0x3C290, .rodata, collider]
- [0x3C490, .rodata, demo]
- [0x3C514, .rodata, 5087C] # func_800F0940
- [0x3C534, .rodata, 5087C] # func_800F2860
- [0x3C55C, .rodata, 5087C] # func_800F298C
- [0x3C5D4, .rodata, menu] # strings
- [0x3C68C, .rodata, menu] # MenuDrawFamiliars
- [0x3C6AC, .rodata, menu] # MenuDraw
- [0x3C71C, .rodata, menu] # MenuHandleCursorInput
- [0x3C734, .rodata, menu] # MenuHandle str
- [0x3C75C, .rodata, menu] # MenuHandle jtbl
- [0x3CBAC, .rodata, 5D5BC] # func_800FD6C4
- [0x3CBF4, .rodata, 5D5BC] # g_CheatCodes
- [0x3CC0C, .rodata, 627C4]
- [0x3CC2C, .rodata, 627C4] # func_801028AC
- [0x3CC54, .rodata, 627C4] # func_80102D70
- [0x3CC70, .rodata, 627C4] # HandleSaveMenu, all the strings
- [0x3CDC0, .rodata, 63ED4] # func_80103ED4
- [0x3CDDC, .rodata, lba_stage]
- [0x3D188, .rodata, config_us] # equipments
- [0x3EC60, .rodata, config_us] # accessories
- [0x3F9FC, .rodata, config_us] # menu
- [0x3FF50, .rodata, config_us] # relics
- [0x405D8, .rodata, config_us] # enemies
- [0x40D38, .rodata, cd] # To be merged with 40D38
- [0x40E28, .rodata, 692E8] # EntityAlucard strings and jump table
- [0x4108C, .rodata, 6D59C] # func_8010EDB8
- [0x41308, .rodata, 704D0] # func_80110968
- [0x41410, .rodata, 71830] # func_801120B4
- [0x41588, .rodata, 72BB0] # func_80112BB0
- [0x41750, .rodata, 72BB0] # func_801131C4
- [0x418C8, .rodata, 72BB0] # func_801131C4
- [0x418E0, .rodata, 72BB0] # func_80113AAC
- [0x418F4, .rodata, 72BB0] # AlucardHandleDamage string
- [0x41908, .rodata, 72BB0] # AlucardHandleDamage jumptables
- [0x419D0, .rodata, 72BB0] # func_80115DA0
- [0x419E8, .rodata, 75F54] # PlayerStepHellfire
- [0x41A00, .rodata, 75F54] # func_80116994
- [0x41A20, .rodata, 75F54] # func_80116B0C
- [0x41A38, .rodata, 75F54] # "error step\n"
- [0x41A44, rodata] # EntityNumberMovesToHpMeter
- [0x41A74, rodata]
- [0x41A84, rodata] # EntityGuardText
- [0x41AA4, .rodata, 7A4D0] # "atari nuki\n"
- [0x41AB4, .rodata, 7A4D0] # EntityEntFactory
- [0x41AD4, .rodata, 7A4D0] # EntityEntFactory
- [0x41AF4, rodata] # EntityPlayerBlinkWhite
- [0x41B44, rodata] # EntityPlayerBlinkWhite
- [0x41B74, rodata] # EntityPlayerBlinkWhite
- [0x41B94, rodata] # EntityMpReplenished
- [0x41BF4, rodata] # EntityMpReplenished
- [0x41C54, rodata] # EntityMpReplenished
- [0x41CB4, .rodata, 7E4BC] # func_8011E4BC
- [0x41D84, rodata] # EntityPlayerPinkEffect
- [0x41DA4, rodata] # EntityPlayerDissolves
- [0x41DBC, rodata] # EntityMist
- [0x41DD4, .rodata, 843B0] # EntityTeleport
- [0x41E34, rodata] # EntitySubwpnCrashCross
- [0x41E48, rodata]
- [0x41E5C, .rodata, 86ECC] # EntityHellfireHandler
- [0x41E90, rodata] # EntityStopWatch
- [0x41EB0, .rodata, 8D3E8] # func_8012D3E8
- [0x41EC8, .rodata, 8D3E8] # func_8012EF2C
- [0x41EF0, rodata] # func_8012F894
- [0x41F18, rodata] # func_8012F894
- [0x41F30, rodata] # func_80130264
- [0x41F58, rodata] # func_80130264
- [0x41F70, rodata] # func_80130618
- [0x41F98, rodata] # func_80130618
- [0x41FB0, rodata] # func_801309B4
- [0x41FD8, rodata] # func_80130E94
- [0x42000, rodata] # func_8013136C
- [0x4202C, rodata]
- [0x42034, .rodata, 92F60] # CdSoundCommand4
- [0x4205C, .rodata, 93290] # CdSoundCommand6
- [0x42074, .rodata, 93290] # CdSoundCommand12
- [0x4208C, .rodata, 93BDC] # CdSoundCommand14
- [0x420B4, .rodata, 94F50] # func_80134F50
- [0x42354, .rodata, 953A0]
- [0x42398, c, 42398]
- [0x4493C, c, play]
- [0x45D30, c, loading]
- [0x47BB8, c, 47BB8]
- [0x48D24, c, pads]
- [0x48EE4, c, save_mgr]
- [0x4A538, c, 4A538]
- [0x4F45C, c, collider]
- [0x4FBF8, c, demo]
- [0x5087C, c, 5087C]
- [0x5483C, c, menu]
- [0x5D5BC, c, 5D5BC]
- [0x627C4, c, 627C4]
- [0x63ED4, c, 63ED4]
- [0x673C0, c, cd]
- [0x692E8, c, 692E8]
- [0x6D59C, c, 6D59C]
- [0x704D0, c, 704D0]
- [0x71830, c, 71830]
- [0x72BB0, c, 72BB0]
- [0x75F54, c, 75F54]
- [0x7A4D0, c, 7A4D0]
- [0x7E4BC, c, 7E4BC]
- [0x843B0, c, 843B0]
- [0x86ECC, c, 86ECC]
- [0x8D3E8, c, 8D3E8]
- [0x91EBC, c, 91EBC]
- [0x92F60, c, 92F60]
- [0x93290, c, 93290]
- [0x93BDC, c, 93BDC]
- [0x94F50, c, 94F50]
- [0x953A0, c, 953A0]
- [0x962AC, sbss]
- name: dra_data
type: data
start: 0x9B6A0
vram: 0x8013B6A0
subsegments:
- [0x0, raw, vb_0] # D_8013B6A0
- [0x41CB0, raw, vb_1] # D_8017D350
- [0x4FE40, raw, vb_2] # D_8018B4E0
- [0x5FA30]
- [0x6E5E0, raw, vb_3] # D_801A9C80
- [0x88BF0]
- [0x119870]