diff --git a/Makefile b/Makefile index 59edd02403..55d9dab063 100644 --- a/Makefile +++ b/Makefile @@ -154,6 +154,11 @@ build_hd: bin/cc1-psx-26 $(MASPSX_APP) $(SOTNASSETS) build_pspeu: $(SOTNSTR_APP) $(SOTNASSETS) $(ALLEGREX) $(MWCCPSP) $(MWCCGAP_APP) $(ALLEGREX) | $(VENV_DIR)/bin VERSION=pspeu .venv/bin/python3 tools/builds/gen.py ninja +.PHONY: build_all +build_all: + $(MAKE) VERSION=us + $(MAKE) VERSION=pspeu + $(MAKE) VERSION=hd .PHONY: clean clean_asm clean_asm: diff --git a/config/assets.hd.yaml b/config/assets.hd.yaml index ea470d15fe..cc320825ca 100644 --- a/config/assets.hd.yaml +++ b/config/assets.hd.yaml @@ -9,24 +9,24 @@ files: vram: 0x800A0000 assets: - [0x0, skip] - - [0xD298, blueprintsdef, blueprints, AluBlueprints, AluEntities] + - [0xD298, blueprintsdef, hd/blueprints, AluBlueprints, AluEntities] - [0xD57C, skip] - - [0x11140, binary, vh_0, vh] - - [0x14140, binary, vh_1, vh] - - [0x16140, binary, vh_2, vh] - - [0x18140, binary, vh_3, vh] + - [0x11140, binary, hd/vh_0, vh] + - [0x14140, binary, hd/vh_1, vh] + - [0x16140, binary, hd/vh_2, vh] + - [0x18140, binary, hd/vh_3, vh] - [0x1A140, binary, sd_eve1, seq, --skip-build] - [0x1C441, binary, sd_eve3, seq, --skip-build] - [0x1CB87, binary, sd_eve2, seq, --skip-build] - [0x1D140, skip] - - [0x1D2E8, xamusicconfig, xa_music_config] - - [0x1F5F8, sfxconfig, sfx_config] + - [0x1D2E8, xamusicconfig, hd/xa_music_config] + - [0x1F5F8, sfxconfig, hd/sfx_config] - [0x20A20, skip] - - [0x22220, cmpgfx, text_item_up, 128, 128, 4] - - [0x22854, cmpgfx, load_room_obj, 128, 128, 4] - - [0x23604, cmpgfx, save_room_obj, 128, 128, 4] - - [0x24908, cmpgfx, load_room_tile, 80, 16, 4] - - [0x24B34, cmpgfx, save_room_tile, 80, 16, 4] + - [0x22220, cmpgfx, hd/text_item_up, 128, 128, 4] + - [0x22854, cmpgfx, hd/load_room_obj, 128, 128, 4] + - [0x23604, cmpgfx, hd/save_room_obj, 128, 128, 4] + - [0x24908, cmpgfx, hd/load_room_tile, 80, 16, 4] + - [0x24B34, cmpgfx, hd/save_room_tile, 80, 16, 4] - [0x24D90, headergfx, D_800C4CEC] - [0x24E14, headergfx, D_800C4D70] - [0x24E98, headergfx, D_800C4DF4] @@ -41,20 +41,20 @@ files: - [0x2539C, skip] - [0x253C8, rawgfx, g_GfxEquipIcon, 16, 5120, 4] - [0x2F3C8, skip] - - [0x2FFB4, spriteset, D_800CFF10] - - [0x3100C, spriteset, D_800D0F68] - - [0x32C98, spriteset, D_800D2BF4] - - [0x32D9C, spriteset, D_800D2CF8] - - [0x330A0, spriteset, D_800D2FFC] - - [0x33320, spriteset, D_800D327C] - - [0x334CC, spriteset, D_800D3428] - - [0x3355C, spriteset, D_800D34B8] - - [0x337D0, spriteset, D_800D372C] - - [0x33C2C, spriteset, D_800D3B88] - - [0x356CC, spriteset, D_800D5628] - - [0x35750, spriteset, D_800D56AC] - - [0x3590C, spriteset, D_800D5868] - - [0x368F0, spriteset, D_800D684C] + - [0x2FFB4, spriteset, hd/D_800CFF10] + - [0x3100C, spriteset, hd/D_800D0F68] + - [0x32C98, spriteset, hd/D_800D2BF4] + - [0x32D9C, spriteset, hd/D_800D2CF8] + - [0x330A0, spriteset, hd/D_800D2FFC] + - [0x33320, spriteset, hd/D_800D327C] + - [0x334CC, spriteset, hd/D_800D3428] + - [0x3355C, spriteset, hd/D_800D34B8] + - [0x337D0, spriteset, hd/D_800D372C] + - [0x33C2C, spriteset, hd/D_800D3B88] + - [0x356CC, spriteset, hd/D_800D5628] + - [0x35750, spriteset, hd/D_800D56AC] + - [0x3590C, spriteset, hd/D_800D5868] + - [0x368F0, spriteset, hd/D_800D684C] - [0x36978, palette, D_800D68D4, 16] - [0x36998, palette, D_800D68F4, 16] - [0x369B8, palette, D_800D6914, 16] @@ -91,7 +91,7 @@ files: - [0x170AC, skip] - [0x18688, subweaponsdef, subweapons, RicSubweapons, RicBlueprints] - [0x188F4, skip] - - [0x18A6C, blueprintsdef, blueprints, RicBlueprints, RicEntities] + - [0x18A6C, blueprintsdef, hd/blueprints, RicBlueprints, RicEntities] - [0x18C42, skip] - target: disks/pspeu/PSP_GAME/USRDIR/res/ps/hdbin/cen.bin asset_path: assets/st/cen diff --git a/config/assets.pspeu.yaml b/config/assets.pspeu.yaml index 31e8218322..2d6e9be742 100644 --- a/config/assets.pspeu.yaml +++ b/config/assets.pspeu.yaml @@ -61,16 +61,16 @@ files: - [0x84A08, palette, D_800D6ED4, 16] - [0x84C08, palette, D_800D70D4, 16] - [0x84E08, palette, D_800D72D4, 16] - - [0x86408, cmpgfx, text_item_up, 128, 128, 4, 0x86A40] + - [0x86408, cmpgfx, psp/text_item_up, 128, 128, 4, 0x86A40] - [0x86A40, palette, D_800DB0D4, 16] - [0x86A60, palette, D_800DB114, 16] - [0x86B40, palette, g_PalEquipIcon, 16] - [0x88B40, palette, D_psp_091654C0, 16] - - [0x89340, cmpgfx, load_room_obj, 128, 128, 4] + - [0x89340, cmpgfx, psp/load_room_obj, 128, 128, 4] - [0x8A0F0, palette, D_800DB0F4, 16] - - [0x8A110, cmpgfx, save_room_tile, 80, 16, 4] - - [0x8A370, cmpgfx, load_room_tile, 80, 16, 4] - - [0x8A5A0, cmpgfx, save_room_obj, 128, 128, 4] + - [0x8A110, cmpgfx, psp/save_room_tile, 80, 16, 4] + - [0x8A370, cmpgfx, psp/load_room_tile, 80, 16, 4] + - [0x8A5A0, cmpgfx, psp/save_room_obj, 128, 128, 4] - [0x8B8A8, spriteset, D_800D34B8] - [0x8BB38, spriteset, D_800D3B88] - [0x8D6E0, spriteset, D_800CFF10] @@ -107,33 +107,33 @@ files: - [0xA4540, cmpgfx, D_psp_09180EC0, 128, 128, 4] - [0xA56A8, cmpgfx, D_psp_09182028, 128, 128, 4] - [0xA67B8, skip] - - [0xA6FD8, blueprintsdef, blueprints, AluBlueprints, AluEntities] + - [0xA6FD8, blueprintsdef, psp/blueprints, AluBlueprints, AluEntities] - [0xA72BC, skip] - [0xA8948, palette, g_saveIconPal0, 256] - - [0xA8B48, rawgfx, memcard_0, 16, 48, 4, 0xA8948] - - [0xA8CC8, rawgfx, memcard_1, 16, 48, 4, 0xA8968] - - [0xA8E48, rawgfx, memcard_2, 16, 48, 4, 0xA8988] - - [0xA8FC8, rawgfx, memcard_3, 16, 48, 4, 0xA89A8] - - [0xA9148, rawgfx, memcard_4, 16, 48, 4, 0xA89C8] - - [0xA92C8, rawgfx, memcard_5, 16, 48, 4, 0xA89E8] - - [0xA9448, rawgfx, memcard_6, 16, 48, 4, 0xA8A08] - - [0xA95C8, rawgfx, memcard_7, 16, 48, 4, 0xA8A28] - - [0xA9748, rawgfx, memcard_8, 16, 48, 4, 0xA8A48] - - [0xA98C8, rawgfx, memcard_9, 16, 48, 4, 0xA8A68] - - [0xA9A48, rawgfx, memcard_10, 16, 48, 4, 0xA8A88] - - [0xA9BC8, rawgfx, memcard_11, 16, 48, 4, 0xA8AA8] - - [0xA9D48, rawgfx, memcard_12, 16, 48, 4, 0xA8AC8] - - [0xA9EC8, rawgfx, memcard_13, 16, 48, 4, 0xA8AE8] - - [0xAA048, rawgfx, memcard_14, 16, 48, 4, 0xA8B08] - - [0xAA1C8, rawgfx, memcard_15, 16, 48, 4, 0xA8B28] + - [0xA8B48, rawgfx, psp/memcard_0, 16, 48, 4, 0xA8948] + - [0xA8CC8, rawgfx, psp/memcard_1, 16, 48, 4, 0xA8968] + - [0xA8E48, rawgfx, psp/memcard_2, 16, 48, 4, 0xA8988] + - [0xA8FC8, rawgfx, psp/memcard_3, 16, 48, 4, 0xA89A8] + - [0xA9148, rawgfx, psp/memcard_4, 16, 48, 4, 0xA89C8] + - [0xA92C8, rawgfx, psp/memcard_5, 16, 48, 4, 0xA89E8] + - [0xA9448, rawgfx, psp/memcard_6, 16, 48, 4, 0xA8A08] + - [0xA95C8, rawgfx, psp/memcard_7, 16, 48, 4, 0xA8A28] + - [0xA9748, rawgfx, psp/memcard_8, 16, 48, 4, 0xA8A48] + - [0xA98C8, rawgfx, psp/memcard_9, 16, 48, 4, 0xA8A68] + - [0xA9A48, rawgfx, psp/memcard_10, 16, 48, 4, 0xA8A88] + - [0xA9BC8, rawgfx, psp/memcard_11, 16, 48, 4, 0xA8AA8] + - [0xA9D48, rawgfx, psp/memcard_12, 16, 48, 4, 0xA8AC8] + - [0xA9EC8, rawgfx, psp/memcard_13, 16, 48, 4, 0xA8AE8] + - [0xAA048, rawgfx, psp/memcard_14, 16, 48, 4, 0xA8B08] + - [0xAA1C8, rawgfx, psp/memcard_15, 16, 48, 4, 0xA8B28] - [0xAA348, skip] - [0xAD4E0, cmpgfx, D_psp_09189E60, 128, 128, 4, 0x86A40] - [0xADD10, cmpgfx, D_psp_0918A690, 128, 128, 4, 0x86A40] - [0xAE228, cmpgfx, D_psp_0918ABA8, 128, 128, 4, 0x86A40] - [0xAE820, cmpgfx, D_psp_0918B1A0, 128, 128, 4, 0x86A40] - [0xAEEB0, skip] - - [0xAF3E0, xamusicconfig, xa_music_config] - - [0xB16F0, sfxconfig, sfx_config] + - [0xAF3E0, xamusicconfig, psp/xa_music_config] + - [0xB16F0, sfxconfig, psp/sfx_config] - [0xB2C40, skip] - target: disks/pspeu/PSP_GAME/USRDIR/res/ps/PSPBIN/ric.bin asset_path: assets/ric @@ -153,7 +153,7 @@ files: - [0x2D1B0, skip] - [0x2D320, subweaponsdef, subweapons, RicSubweapons, RicBlueprints] - [0x2D590, skip] - - [0x2D718, blueprintsdef, blueprints, RicBlueprints, RicEntities] + - [0x2D718, blueprintsdef, psp/blueprints, RicBlueprints, RicEntities] - [0x2D8F0, skip] - target: disks/pspeu/PSP_GAME/USRDIR/res/ps/PSPBIN/maria.bin asset_path: assets/maria diff --git a/config/assets.us.yaml b/config/assets.us.yaml index be86af05d5..013e0fd9a3 100644 --- a/config/assets.us.yaml +++ b/config/assets.us.yaml @@ -9,24 +9,24 @@ files: vram: 0x800A0000 assets: - [0x0, skip] - - [0xD1D4, blueprintsdef, blueprints, AluBlueprints, AluEntities] + - [0xD1D4, blueprintsdef, us/blueprints, AluBlueprints, AluEntities] - [0xD4B8, skip] - - [0x1107C, binary, vh_0, vh] - - [0x1407C, binary, vh_1, vh] - - [0x1607C, binary, vh_2, vh] - - [0x1807C, binary, vh_3, vh] + - [0x1107C, binary, us/vh_0, vh] + - [0x1407C, binary, us/vh_1, vh] + - [0x1607C, binary, us/vh_2, vh] + - [0x1807C, binary, us/vh_3, vh] - [0x1A07C, binary, sd_eve1, seq, --skip-build] - [0x1C37D, binary, sd_eve3, seq, --skip-build] - [0x1CAC3, binary, sd_eve2, seq, --skip-build] - [0x1D07C, skip] - - [0x1D224, xamusicconfig, xa_music_config] - - [0x1F554, sfxconfig, sfx_config] + - [0x1D224, xamusicconfig, us/xa_music_config] + - [0x1F554, sfxconfig, us/sfx_config] - [0x2097B, skip] - - [0x2217C, cmpgfx, text_item_up, 128, 128, 4] - - [0x227B0, cmpgfx, load_room_obj, 128, 128, 4] - - [0x23560, cmpgfx, save_room_obj, 128, 128, 4] - - [0x24864, cmpgfx, load_room_tile, 80, 16, 4] - - [0x24A90, cmpgfx, save_room_tile, 80, 16, 4] + - [0x2217C, cmpgfx, us/text_item_up, 128, 128, 4] + - [0x227B0, cmpgfx, us/load_room_obj, 128, 128, 4] + - [0x23560, cmpgfx, us/save_room_obj, 128, 128, 4] + - [0x24864, cmpgfx, us/load_room_tile, 80, 16, 4] + - [0x24A90, cmpgfx, us/save_room_tile, 80, 16, 4] - [0x24CEC, headergfx, D_800C4CEC] - [0x24D70, headergfx, D_800C4D70] - [0x24DF4, headergfx, D_800C4DF4] @@ -41,20 +41,20 @@ files: - [0x252F8, skip] - [0x25324, rawgfx, g_GfxEquipIcon, 16, 5120, 4] - [0x2F324, skip] - - [0x2FF10, spriteset, D_800CFF10] - - [0x30F68, spriteset, D_800D0F68] - - [0x32BF4, spriteset, D_800D2BF4] - - [0x32CF8, spriteset, D_800D2CF8] - - [0x32FFC, spriteset, D_800D2FFC] - - [0x3327C, spriteset, D_800D327C] - - [0x33428, spriteset, D_800D3428] - - [0x334B8, spriteset, D_800D34B8] - - [0x3372C, spriteset, D_800D372C] - - [0x33B88, spriteset, D_800D3B88] - - [0x35628, spriteset, D_800D5628] - - [0x356AC, spriteset, D_800D56AC] - - [0x35868, spriteset, D_800D5868] - - [0x3684C, spriteset, D_800D684C] + - [0x2FF10, spriteset, us/D_800CFF10] + - [0x30F68, spriteset, us/D_800D0F68] + - [0x32BF4, spriteset, us/D_800D2BF4] + - [0x32CF8, spriteset, us/D_800D2CF8] + - [0x32FFC, spriteset, us/D_800D2FFC] + - [0x3327C, spriteset, us/D_800D327C] + - [0x33428, spriteset, us/D_800D3428] + - [0x334B8, spriteset, us/D_800D34B8] + - [0x3372C, spriteset, us/D_800D372C] + - [0x33B88, spriteset, us/D_800D3B88] + - [0x35628, spriteset, us/D_800D5628] + - [0x356AC, spriteset, us/D_800D56AC] + - [0x35868, spriteset, us/D_800D5868] + - [0x3684C, spriteset, us/D_800D684C] - [0x368D4, palette, D_800D68D4, 16] - [0x368F4, palette, D_800D68F4, 16] - [0x36914, palette, D_800D6914, 16] @@ -91,7 +91,7 @@ files: - [0x170AC, skip] - [0x18688, subweaponsdef, subweapons, RicSubweapons, RicBlueprints] - [0x188F4, skip] - - [0x18A6C, blueprintsdef, blueprints, RicBlueprints, RicEntities] + - [0x18A6C, blueprintsdef, us/blueprints, RicBlueprints, RicEntities] - [0x18C42, skip] - target: disks/us/ST/CEN/CEN.BIN asset_path: assets/st/cen diff --git a/config/splat.hd.dra.yaml b/config/splat.hd.dra.yaml index 067df79d49..7165a3cb90 100644 --- a/config/splat.hd.dra.yaml +++ b/config/splat.hd.dra.yaml @@ -40,38 +40,38 @@ segments: - [0x160, .data, game_handlers] - [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] + - [0x518, palette, hd/memcard_0] + - [0x538, palette, hd/memcard_1] + - [0x558, palette, hd/memcard_2] + - [0x578, palette, hd/memcard_3] + - [0x598, palette, hd/memcard_4] + - [0x5B8, palette, hd/memcard_5] + - [0x5D8, palette, hd/memcard_6] + - [0x5F8, palette, hd/memcard_7] + - [0x618, palette, hd/memcard_8] + - [0x638, palette, hd/memcard_9] + - [0x658, palette, hd/memcard_10] + - [0x678, palette, hd/memcard_11] + - [0x698, palette, hd/memcard_12] + - [0x6B8, palette, hd/memcard_13] + - [0x6D8, palette, hd/memcard_14] + - [0x6F8, palette, hd/memcard_15] + - [0x718, ci4, hd/memcard_0, 16, 48] + - [0x898, ci4, hd/memcard_1, 16, 48] + - [0xA18, ci4, hd/memcard_2, 16, 48] + - [0xB98, ci4, hd/memcard_3, 16, 48] + - [0xD18, ci4, hd/memcard_4, 16, 48] + - [0xE98, ci4, hd/memcard_5, 16, 48] + - [0x1018, ci4, hd/memcard_6, 16, 48] + - [0x1198, ci4, hd/memcard_7, 16, 48] + - [0x1318, ci4, hd/memcard_8, 16, 48] + - [0x1498, ci4, hd/memcard_9, 16, 48] + - [0x1618, ci4, hd/memcard_10, 16, 48] + - [0x1798, ci4, hd/memcard_11, 16, 48] + - [0x1918, ci4, hd/memcard_12, 16, 48] + - [0x1A98, ci4, hd/memcard_13, 16, 48] + - [0x1C18, ci4, hd/memcard_14, 16, 48] + - [0x1D98, ci4, hd/memcard_15, 16, 48] - [0x1F18, .data, save_mgr] - [0x2178, .data, 4B758] # D_800A21B8 - [0x23F8, .data, 4DA70] # D_800A2438 diff --git a/config/splat.us.dra.yaml b/config/splat.us.dra.yaml index d43116f7c8..797e1a2491 100644 --- a/config/splat.us.dra.yaml +++ b/config/splat.us.dra.yaml @@ -41,38 +41,38 @@ segments: - [0x160, .data, game_handlers] - [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] + - [0x518, palette, us/memcard_0] + - [0x538, palette, us/memcard_1] + - [0x558, palette, us/memcard_2] + - [0x578, palette, us/memcard_3] + - [0x598, palette, us/memcard_4] + - [0x5B8, palette, us/memcard_5] + - [0x5D8, palette, us/memcard_6] + - [0x5F8, palette, us/memcard_7] + - [0x618, palette, us/memcard_8] + - [0x638, palette, us/memcard_9] + - [0x658, palette, us/memcard_10] + - [0x678, palette, us/memcard_11] + - [0x698, palette, us/memcard_12] + - [0x6B8, palette, us/memcard_13] + - [0x6D8, palette, us/memcard_14] + - [0x6F8, palette, us/memcard_15] + - [0x718, ci4, us/memcard_0, 16, 48] + - [0x898, ci4, us/memcard_1, 16, 48] + - [0xA18, ci4, us/memcard_2, 16, 48] + - [0xB98, ci4, us/memcard_3, 16, 48] + - [0xD18, ci4, us/memcard_4, 16, 48] + - [0xE98, ci4, us/memcard_5, 16, 48] + - [0x1018, ci4, us/memcard_6, 16, 48] + - [0x1198, ci4, us/memcard_7, 16, 48] + - [0x1318, ci4, us/memcard_8, 16, 48] + - [0x1498, ci4, us/memcard_9, 16, 48] + - [0x1618, ci4, us/memcard_10, 16, 48] + - [0x1798, ci4, us/memcard_11, 16, 48] + - [0x1918, ci4, us/memcard_12, 16, 48] + - [0x1A98, ci4, us/memcard_13, 16, 48] + - [0x1C18, ci4, us/memcard_14, 16, 48] + - [0x1D98, ci4, us/memcard_15, 16, 48] - [0x1F18, .data, save_mgr] - [0x21B8, .data, 4B758] # D_800A21B8 - [0x2438, .data, 4DA70] # D_800A2438 diff --git a/include/common.h b/include/common.h index 95f6503fd4..4dca719a2a 100644 --- a/include/common.h +++ b/include/common.h @@ -1,29 +1,7 @@ #ifndef COMMON_H #define COMMON_H -#if defined(_internal_version_us) -#define VERSION_US -#define VERSION "us" -#elif defined(_internal_version_hd) -#define VERSION_HD -#define VERSION "hd" -#elif defined(_internal_version_pspeu) -#define VERSION_PSP -// use this to flag code as only non-psp due to deadstripping. -// will make it easier to restore stripped code if we ever work out a -// solution for doing proper deadstripping like the original. -#define PSP_DEADSTRIP -#define VERSION "psp" -#define NOP \ - static asm nop_##line##() { nop } -#elif defined(_internal_version_beta) -#define VERSION_BETA -#define VERSION "beta" -#else -#warning "Version not specified. Falling back to the US version." -#define VERSION_US -#define VERSION "us" -#endif +#include #ifndef M2CTX #if defined(_MSC_VER) diff --git a/include/version.h b/include/version.h new file mode 100644 index 0000000000..54fd30e0fa --- /dev/null +++ b/include/version.h @@ -0,0 +1,67 @@ +// `version.h` specifies several `VERSION` macros that can be used to +// conditionally compile particular version of the game. By including +// this file, you'll get: +// +// * `VERSION` - a macro that expands to a string literal version (e.g, `"us"`, +// `"hd"`, `"psp"`) +// * `VERSION_TOKEN` - a macro that expands to a token representing the version +// (e.g `us`, `hd`, `psp`), useful for building symbol names +// * One of `VERSION_US`, `VERSION_HD`, `VERSION_PSP`, or `VERSION_BETA` +// * `GEN_VERSION` - macro that can be used to build an `#include` path for +// generated files specific to the version +#ifndef VERSION_H +#define VERSION_H + +#if defined(_internal_version_us) +#define VERSION_US +#define VERSION_TOKEN us +#elif defined(_internal_version_hd) +#define VERSION_HD +#define VERSION_TOKEN hd +#elif defined(_internal_version_pspeu) +#define VERSION_PSP +// use this to flag code as only non-psp due to deadstripping. +// will make it easier to restore stripped code if we ever work out a +// solution for doing proper deadstripping like the original. +#define PSP_DEADSTRIP +#define VERSION_TOKEN psp +#define NOP \ + static asm nop_##line##() { nop } +#elif defined(_internal_version_beta) +#define VERSION_BETA +#define VERSION_TOKEN beta +#else +#warning "Version not specified. Falling back to the US version." +#define VERSION_US +#define VERSION_TOKEN us +#endif + +#define __CPP_STR(x) #x +#define CPP_STR(x) __CPP_STR(x) +// note: the "token" produced by PATH_JOIN gets stringified into a +// path. clang-format wants to:to +// clang-format off +#define PATH_JOIN(a, b) a/b +// clang-format on + +// `VERSION` is a string literalized version of `VERSION_TOKEN` +#define VERSION CPP_STR(VERSION_TOKEN) + +// `GEN_VERSION` creates an include path for the provided `file` +// for version specific generated files. +// +// Example: +// +// // expands to `#include "gen/us/blueprints.h"` when `VERSION==us` +// // expands to `#include "gen/hd/blueprints.h"` when `VERSION==hd` +// // expands to `#include "gen/psp/blueprints.h"` when `VERSION==psp` +// #include GEN_VERSION(blueprints.h) +// +// Arguments: +// file: a token literal file to include +// +// Expands to: a gen directory namespaced by version +#define GEN_VERSION(file) \ + CPP_STR(PATH_JOIN(gen, PATH_JOIN(VERSION_TOKEN, file))) + +#endif // VERSION_H diff --git a/src/dra/7879C.c b/src/dra/7879C.c index 9fe94d349e..233af0dbd3 100644 --- a/src/dra/7879C.c +++ b/src/dra/7879C.c @@ -1841,7 +1841,7 @@ Entity* CreateEntFactoryFromEntity( } static FactoryBlueprint blueprints[] = { -#include "gen/blueprints.h" +#include GEN_VERSION(blueprints.h) }; STATIC_ASSERT(LEN(blueprints) == NUM_BLUEPRINTS, "bp array wrong size"); diff --git a/src/dra/d_2217C.c b/src/dra/d_2217C.c index d0acb6e092..5f39bbf1ae 100644 --- a/src/dra/d_2217C.c +++ b/src/dra/d_2217C.c @@ -1,18 +1,18 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -#include +#include u8 text_item_up[] = { -#include "gen/text_item_up.h" +#include GEN_VERSION(text_item_up.h) }; u8 load_room_obj[] = { -#include "gen/load_room_obj.h" +#include GEN_VERSION(load_room_obj.h) }; u8 save_room_obj[] = { -#include "gen/save_room_obj.h" +#include GEN_VERSION(save_room_obj.h) }; u8 load_room_tile[] = { -#include "gen/load_room_tile.h" +#include GEN_VERSION(load_room_tile.h) }; u8 save_room_tile[] = { -#include "gen/save_room_tile.h" +#include GEN_VERSION(save_room_tile.h) }; diff --git a/src/dra/d_2FE48.c b/src/dra/d_2FE48.c index 8f1f7fa1e0..afefaf5e32 100644 --- a/src/dra/d_2FE48.c +++ b/src/dra/d_2FE48.c @@ -42,33 +42,33 @@ static AluFrame D_800CFEF8 = {0x8003, -22, -41, 0}; static AluFrame D_800CFF00 = {0x8004, -22, -29, 0}; static AluFrame D_800CFF08 = {0x8005, -22, -29, 0}; -#include "gen/D_800CFF10.h" +#include GEN_VERSION(D_800CFF10.h) -#include "gen/D_800D0F68.h" +#include GEN_VERSION(D_800D0F68.h) -#include "gen/D_800D2BF4.h" +#include GEN_VERSION(D_800D2BF4.h) -#include "gen/D_800D2CF8.h" +#include GEN_VERSION(D_800D2CF8.h) -#include "gen/D_800D2FFC.h" +#include GEN_VERSION(D_800D2FFC.h) -#include "gen/D_800D327C.h" +#include GEN_VERSION(D_800D327C.h) -#include "gen/D_800D3428.h" +#include GEN_VERSION(D_800D3428.h) -#include "gen/D_800D34B8.h" +#include GEN_VERSION(D_800D34B8.h) -#include "gen/D_800D372C.h" +#include GEN_VERSION(D_800D372C.h) -#include "gen/D_800D3B88.h" +#include GEN_VERSION(D_800D3B88.h) -#include "gen/D_800D5628.h" +#include GEN_VERSION(D_800D5628.h) -#include "gen/D_800D56AC.h" +#include GEN_VERSION(D_800D56AC.h) -#include "gen/D_800D5868.h" +#include GEN_VERSION(D_800D5868.h) -#include "gen/D_800D684C.h" +#include GEN_VERSION(D_800D684C.h) u16 D_800D68D4[] = { #include "gen/D_800D68D4.h" diff --git a/src/dra/sound.c b/src/dra/sound.c index 7e9378c680..085755133a 100644 --- a/src/dra/sound.c +++ b/src/dra/sound.c @@ -3,16 +3,16 @@ #include "dra_bss.h" u8 aPbav[] = { -#include "gen/vh_0.h" +#include GEN_VERSION(vh_0.h) }; u8 aPbav_0[] = { -#include "gen/vh_1.h" +#include GEN_VERSION(vh_1.h) }; u8 aPbav_2[] = { -#include "gen/vh_2.h" +#include GEN_VERSION(vh_2.h) }; u8 aPbav_1[] = { -#include "gen/vh_3.h" +#include GEN_VERSION(vh_3.h) }; // files included as headers as data should not be aligned by 4 diff --git a/src/dra/sound_data.c b/src/dra/sound_data.c index 441a9d45f0..4d8e44b61a 100644 --- a/src/dra/sound_data.c +++ b/src/dra/sound_data.c @@ -13,11 +13,11 @@ SeqData g_SeqInfo[] = { }; XaMusicConfig g_XaMusicConfigs[] = { -#include "gen/xa_music_config.h" +#include GEN_VERSION(xa_music_config.h) }; Unkstruct_800BF554 g_SfxData[] = { -#include "gen/sfx_config.h" +#include GEN_VERSION(sfx_config.h) }; s8 D_800C097C[] = {0x00, 0x00, 0x3C, 0x00, 0x3C, 0x01, 0x00, 0x00, 0x38, 0x00, diff --git a/src/dra_psp/d_84248.c b/src/dra_psp/d_84248.c index dbbffa7b7e..8ab3a06ba5 100644 --- a/src/dra_psp/d_84248.c +++ b/src/dra_psp/d_84248.c @@ -74,7 +74,7 @@ u16 D_800D72D4[] = { }; u8 text_item_up[] = { -#include "../dra/gen/text_item_up.h" +#include "../dra/gen/psp/text_item_up.h" }; u16 D_800DB0D4[] = { @@ -94,7 +94,7 @@ u16 D_psp_091654C0[] = { }; u8 load_room_obj[] = { -#include "../dra/gen/load_room_obj.h" +#include "../dra/gen/psp/load_room_obj.h" }; u16 D_800DB0F4[] = { @@ -102,15 +102,15 @@ u16 D_800DB0F4[] = { }; u8 save_room_tile[] = { -#include "../dra/gen/save_room_tile.h" +#include "../dra/gen/psp/save_room_tile.h" }; u8 load_room_tile[] = { -#include "../dra/gen/load_room_tile.h" +#include "../dra/gen/psp/load_room_tile.h" }; u8 save_room_obj[] = { -#include "../dra/gen/save_room_obj.h" +#include "../dra/gen/psp/save_room_obj.h" }; #include "../dra/gen/D_800D34B8.h" diff --git a/src/dra_psp/memcard.c b/src/dra_psp/memcard.c index e5d35a5e33..5097cccde8 100644 --- a/src/dra_psp/memcard.c +++ b/src/dra_psp/memcard.c @@ -130,67 +130,67 @@ void GetSavePalette(u8* dst, s32 palIdx) { } u8 memcard_0[] = { -#include "../dra/gen/memcard_0.h" +#include "../dra/gen/psp/memcard_0.h" }; u8 memcard_1[] = { -#include "../dra/gen/memcard_1.h" +#include "../dra/gen/psp/memcard_1.h" }; u8 memcard_2[] = { -#include "../dra/gen/memcard_2.h" +#include "../dra/gen/psp/memcard_2.h" }; u8 memcard_3[] = { -#include "../dra/gen/memcard_3.h" +#include "../dra/gen/psp/memcard_3.h" }; u8 memcard_4[] = { -#include "../dra/gen/memcard_4.h" +#include "../dra/gen/psp/memcard_4.h" }; u8 memcard_5[] = { -#include "../dra/gen/memcard_5.h" +#include "../dra/gen/psp/memcard_5.h" }; u8 memcard_6[] = { -#include "../dra/gen/memcard_6.h" +#include "../dra/gen/psp/memcard_6.h" }; u8 memcard_7[] = { -#include "../dra/gen/memcard_7.h" +#include "../dra/gen/psp/memcard_7.h" }; u8 memcard_8[] = { -#include "../dra/gen/memcard_8.h" +#include "../dra/gen/psp/memcard_8.h" }; u8 memcard_9[] = { -#include "../dra/gen/memcard_9.h" +#include "../dra/gen/psp/memcard_9.h" }; u8 memcard_10[] = { -#include "../dra/gen/memcard_10.h" +#include "../dra/gen/psp/memcard_10.h" }; u8 memcard_11[] = { -#include "../dra/gen/memcard_11.h" +#include "../dra/gen/psp/memcard_11.h" }; u8 memcard_12[] = { -#include "../dra/gen/memcard_12.h" +#include "../dra/gen/psp/memcard_12.h" }; u8 memcard_13[] = { -#include "../dra/gen/memcard_13.h" +#include "../dra/gen/psp/memcard_13.h" }; u8 memcard_14[] = { -#include "../dra/gen/memcard_14.h" +#include "../dra/gen/psp/memcard_14.h" }; u8 memcard_15[] = { -#include "../dra/gen/memcard_15.h" +#include "../dra/gen/psp/memcard_15.h" }; u8* g_saveIconTexture[] = { diff --git a/src/pc/pc.h b/src/pc/pc.h index 9b43646398..8c368f1c5f 100644 --- a/src/pc/pc.h +++ b/src/pc/pc.h @@ -8,6 +8,9 @@ #define VERSION_PC #endif #define VERSION_US +#ifdef VERSION +#undef VERSION +#endif #define VERSION "us" #include diff --git a/src/pc/psxsdk/emu.cpp b/src/pc/psxsdk/emu.cpp index 3044bf1194..f5cd12294c 100644 --- a/src/pc/psxsdk/emu.cpp +++ b/src/pc/psxsdk/emu.cpp @@ -424,7 +424,7 @@ void check_ss_vab_open_head_with_mode() s8 temp[0x1000] = {0}; SpuInitMalloc(32, temp); - ReadToArray("assets/dra/vh_0.bin", (char*)aPbav, LEN(aPbav)); + ReadToArray("assets/dra/" VERSION "/vh_0.vh", (char*)aPbav, LEN(aPbav)); SsInitHot(); SpuMallocWithStartAddr(0x1010, 0x10000); @@ -599,4 +599,4 @@ extern "C" void SoundRevCallback(void *userdata, u8 *stream, int len) { IntermediateBufferPos = 0; } -} \ No newline at end of file +} diff --git a/src/ric/pl_blueprints.c b/src/ric/pl_blueprints.c index 3715541a77..14e5603cee 100644 --- a/src/ric/pl_blueprints.c +++ b/src/ric/pl_blueprints.c @@ -560,7 +560,7 @@ Entity* RicCreateEntFactoryFromEntity( } static FactoryBlueprint blueprints[] = { -#include "gen/blueprints.h" +#include GEN_VERSION(blueprints.h) }; STATIC_ASSERT(LEN(blueprints) == NUM_BLUEPRINTS, "bp array wrong size"); diff --git a/tools/sotn-assets/assets/rawgfx/handler.go b/tools/sotn-assets/assets/rawgfx/handler.go index 24f4a49fa7..e4440bb83f 100644 --- a/tools/sotn-assets/assets/rawgfx/handler.go +++ b/tools/sotn-assets/assets/rawgfx/handler.go @@ -58,7 +58,7 @@ func (h *handler) Extract(e assets.ExtractArgs) error { if err != nil { return fmt.Errorf("error generating image: %v", err) } - if err := os.MkdirAll(e.AssetDir, 0755); err != nil { + if err := os.MkdirAll(filepath.Dir(assetPath(e.AssetDir, e.Name)), 0755); err != nil { return fmt.Errorf("error creating directory: %v", err) } fout, err := os.Create(assetPath(e.AssetDir, e.Name)) diff --git a/tools/sotn-assets/assets/spriteset/handler.go b/tools/sotn-assets/assets/spriteset/handler.go index ccb7e80457..7f087b24d3 100644 --- a/tools/sotn-assets/assets/spriteset/handler.go +++ b/tools/sotn-assets/assets/spriteset/handler.go @@ -50,7 +50,7 @@ func (h *handler) Build(e assets.BuildArgs) error { sb := strings.Builder{} sb.WriteString("// clang-format off\n") if len(ss) > 0 { - BuildSpriteSet(&sb, ss, e.Name) + BuildSpriteSet(&sb, ss, filepath.Base(e.Name)) } return util.WriteFile(out, []byte(sb.String())) }