diff --git a/platinum.us/filesys.csv b/platinum.us/filesys.csv index d1aa85c157..28a1e6ed3e 100644 --- a/platinum.us/filesys.csv +++ b/platinum.us/filesys.csv @@ -2,11 +2,11 @@ Source File,Target File res/prebuilt/data/UTF16.dat,/data/UTF16.dat res/field/lighting/lighting.narc,/data/arealight.narc res/prebuilt/data/battle_win.NSCR,/data/battle_win.NSCR -res/prebuilt/data/btower_canm.resdat,/data/btower_canm.resdat -res/prebuilt/data/btower_celact.cldat,/data/btower_celact.cldat -res/prebuilt/data/btower_cell.resdat,/data/btower_cell.resdat -res/prebuilt/data/btower_chr.resdat,/data/btower_chr.resdat -res/prebuilt/data/btower_pal.resdat,/data/btower_pal.resdat +res/graphics/sprite_templates/tower_records_anims.resdat,/data/btower_canm.resdat +res/graphics/sprite_templates/tower_records.cldat,/data/btower_celact.cldat +res/graphics/sprite_templates/tower_records_cells.resdat,/data/btower_cell.resdat +res/graphics/sprite_templates/tower_records_chars.resdat,/data/btower_chr.resdat +res/graphics/sprite_templates/tower_records_pltts.resdat,/data/btower_pal.resdat res/prebuilt/data/cell0.NCGR,/data/cell0.NCGR res/prebuilt/data/cell0.NCLR,/data/cell0.NCLR res/prebuilt/data/clact_default.NANR,/data/clact_default.NANR @@ -57,26 +57,26 @@ res/prebuilt/data/pl_wifi.ncgr,/data/pl_wifi.ncgr res/prebuilt/data/pl_wm.ncgr,/data/pl_wm.ncgr res/prebuilt/data/pl_wm.nclr,/data/pl_wm.nclr res/prebuilt/data/plbr.dat,/data/plbr.dat -res/prebuilt/data/plist_canm.resdat,/data/plist_canm.resdat -res/prebuilt/data/plist_cell.resdat,/data/plist_cell.resdat -res/prebuilt/data/plist_chr.resdat,/data/plist_chr.resdat -res/prebuilt/data/plist_h.cldat,/data/plist_h.cldat -res/prebuilt/data/plist_pal.resdat,/data/plist_pal.resdat -res/prebuilt/data/porucase_canm.resdat,/data/porucase_canm.resdat -res/prebuilt/data/porucase_celact.cldat,/data/porucase_celact.cldat -res/prebuilt/data/porucase_cell.resdat,/data/porucase_cell.resdat -res/prebuilt/data/porucase_chr.resdat,/data/porucase_chr.resdat -res/prebuilt/data/porucase_pal.resdat,/data/porucase_pal.resdat -res/prebuilt/data/pst_canm.resdat,/data/pst_canm.resdat -res/prebuilt/data/pst_cell.resdat,/data/pst_cell.resdat -res/prebuilt/data/pst_chr.resdat,/data/pst_chr.resdat -res/prebuilt/data/pst_h.cldat,/data/pst_h.cldat -res/prebuilt/data/pst_pal.resdat,/data/pst_pal.resdat -res/prebuilt/data/shop_canm.resdat,/data/shop_canm.resdat -res/prebuilt/data/shop_cell.resdat,/data/shop_cell.resdat -res/prebuilt/data/shop_chr.resdat,/data/shop_chr.resdat -res/prebuilt/data/shop_h.cldat,/data/shop_h.cldat -res/prebuilt/data/shop_pal.resdat,/data/shop_pal.resdat +res/graphics/sprite_templates/party_menu_anims.resdat,/data/plist_canm.resdat +res/graphics/sprite_templates/party_menu_cells.resdat,/data/plist_cell.resdat +res/graphics/sprite_templates/party_menu_chars.resdat,/data/plist_chr.resdat +res/graphics/sprite_templates/party_menu.cldat,/data/plist_h.cldat +res/graphics/sprite_templates/party_menu_pltts.resdat,/data/plist_pal.resdat +res/graphics/sprite_templates/poffin_case_anims.resdat,/data/porucase_canm.resdat +res/graphics/sprite_templates/poffin_case.cldat,/data/porucase_celact.cldat +res/graphics/sprite_templates/poffin_case_cells.resdat,/data/porucase_cell.resdat +res/graphics/sprite_templates/poffin_case_chars.resdat,/data/porucase_chr.resdat +res/graphics/sprite_templates/poffin_case_pltts.resdat,/data/porucase_pal.resdat +res/graphics/sprite_templates/pokemon_summary_screen_anims.resdat,/data/pst_canm.resdat +res/graphics/sprite_templates/pokemon_summary_screen_cells.resdat,/data/pst_cell.resdat +res/graphics/sprite_templates/pokemon_summary_screen_chars.resdat,/data/pst_chr.resdat +res/graphics/sprite_templates/pokemon_summary_screen.cldat,/data/pst_h.cldat +res/graphics/sprite_templates/pokemon_summary_screen_pltts.resdat,/data/pst_pal.resdat +res/graphics/sprite_templates/shop_menu_anims.resdat,/data/shop_canm.resdat +res/graphics/sprite_templates/shop_menu_cells.resdat,/data/shop_cell.resdat +res/graphics/sprite_templates/shop_menu_chars.resdat,/data/shop_chr.resdat +res/graphics/sprite_templates/shop_menu.cldat,/data/shop_h.cldat +res/graphics/sprite_templates/shop_menu_pltts.resdat,/data/shop_pal.resdat res/prebuilt/data/slot.narc,/data/slot.narc res/prebuilt/data/smptm_koori.NANR,/data/smptm_koori.NANR res/prebuilt/data/smptm_koori.NCER,/data/smptm_koori.NCER @@ -94,12 +94,12 @@ res/prebuilt/data/t3_fl_y.nsbtx,/data/t3_fl_y.nsbtx res/prebuilt/data/test.atr,/data/test.atr res/town_map/town_map_blocks.dat,/data/tmap_block.dat res/town_map/town_map_flags.dat,/data/tmap_flags.dat -res/prebuilt/data/tmapn_canm.resdat,/data/tmapn_canm.resdat -res/prebuilt/data/tmapn_celact.cldat,/data/tmapn_celact.cldat +res/graphics/sprite_templates/town_map_anims.resdat,/data/tmapn_canm.resdat +res/graphics/sprite_templates/town_map.cldat,/data/tmapn_celact.cldat res/prebuilt/data/tmapn_celact.txt,/data/tmapn_celact.txt -res/prebuilt/data/tmapn_cell.resdat,/data/tmapn_cell.resdat -res/prebuilt/data/tmapn_chr.resdat,/data/tmapn_chr.resdat -res/prebuilt/data/tmapn_pal.resdat,/data/tmapn_pal.resdat +res/graphics/sprite_templates/town_map_cells.resdat,/data/tmapn_cell.resdat +res/graphics/sprite_templates/town_map_chars.resdat,/data/tmapn_chr.resdat +res/graphics/sprite_templates/town_map_pltts.resdat,/data/tmapn_pal.resdat res/prebuilt/data/tmapn_res_canm.txt,/data/tmapn_res_canm.txt res/prebuilt/data/tmapn_res_cell.txt,/data/tmapn_res_cell.txt res/prebuilt/data/tmapn_res_chr.txt,/data/tmapn_res_chr.txt @@ -122,13 +122,13 @@ res/graphics/mining/objects/objects.narc,/data/ug_parts.narc res/prebuilt/data/ug_radar.narc,/data/ug_radar.narc res/graphics/trap_effects/trap_effects.narc,/data/ug_trap.narc res/graphics/underground_map_transition/underground_map_transition.narc,/data/ugeffect_obj_graphic.narc -res/prebuilt/data/uground_cell.resdat,/data/uground_cell.resdat -res/prebuilt/data/uground_cellanm.resdat,/data/uground_cellanm.resdat -res/prebuilt/data/uground_char.resdat,/data/uground_char.resdat -res/prebuilt/data/uground_char2.resdat,/data/uground_char2.resdat -res/prebuilt/data/uground_clact.cldat,/data/uground_clact.cldat -res/prebuilt/data/uground_pltt.resdat,/data/uground_pltt.resdat -res/prebuilt/data/uground_pltt2.resdat,/data/uground_pltt2.resdat +res/graphics/sprite_templates/underground_map_transition_cells.resdat,/data/uground_cell.resdat +res/graphics/sprite_templates/underground_map_transition_anims.resdat,/data/uground_cellanm.resdat +res/graphics/sprite_templates/underground_map_transition_chars.resdat,/data/uground_char.resdat +res/graphics/sprite_templates/underground_map_transition_dawn_chars.resdat,/data/uground_char2.resdat +res/graphics/sprite_templates/underground_map_transition.cldat,/data/uground_clact.cldat +res/graphics/sprite_templates/underground_map_transition_pltts.resdat,/data/uground_pltt.resdat +res/graphics/sprite_templates/underground_map_transition_dawn_pltts.resdat,/data/uground_pltt2.resdat res/prebuilt/data/ugroundeffect.naix,/data/ugroundeffect.naix res/prebuilt/data/ugroundeffect.narc,/data/ugroundeffect.narc res/graphics/underground_top_screen/underground_top_screen.narc,/data/underg_radar.narc diff --git a/platinum.us/filesys.sha1 b/platinum.us/filesys.sha1 index 86588555ec..87d7c4ce03 100644 --- a/platinum.us/filesys.sha1 +++ b/platinum.us/filesys.sha1 @@ -1,11 +1,11 @@ dd9f06b78e2a187fb62f2d3ad5d781a8a74d3d1b *res/prebuilt/data/UTF16.dat cea2ad20f4550dcf648aeb6f2bc118dcec7570d9 *res/field/lighting/lighting.narc a0c8ba8987d30f0c9930dfe109b7ee8c325582b9 *res/prebuilt/data/battle_win.NSCR -09f94a65e5581ef1cf30066be8786c185aa9b2b2 *res/prebuilt/data/btower_canm.resdat -89951491d6b76b65098917872397e0b11c7bb9de *res/prebuilt/data/btower_celact.cldat -56805c0b9108a7ff0efb6c96437188afde6e0345 *res/prebuilt/data/btower_cell.resdat -9cd64d47ca924bae65f78d438e0928f1fd430235 *res/prebuilt/data/btower_chr.resdat -85493120fb2fee27ed2d5bd56d697304a60baac0 *res/prebuilt/data/btower_pal.resdat +09f94a65e5581ef1cf30066be8786c185aa9b2b2 *res/graphics/sprite_templates/tower_records_anims.resdat +89951491d6b76b65098917872397e0b11c7bb9de *res/graphics/sprite_templates/tower_records.cldat +56805c0b9108a7ff0efb6c96437188afde6e0345 *res/graphics/sprite_templates/tower_records_cells.resdat +9cd64d47ca924bae65f78d438e0928f1fd430235 *res/graphics/sprite_templates/tower_records_chars.resdat +85493120fb2fee27ed2d5bd56d697304a60baac0 *res/graphics/sprite_templates/tower_records_pltts.resdat 7666516466c447f3d4af62823d13ab4f33f44d6c *res/prebuilt/data/cell0.NCGR 62e12a4af9562e650b4191afaec32bfd6f34e3d8 *res/prebuilt/data/cell0.NCLR 41941e73a6729ccfb9e66a8b1f9b961a11c4654b *res/prebuilt/data/clact_default.NANR @@ -56,26 +56,26 @@ bbec5b2143b48f7439efa8eb285b69635f3720fa *res/prebuilt/data/pc.nsbca e8982c6379fcc2dbd01e2a3626fa1e11477c77c9 *res/prebuilt/data/pl_wm.ncgr 26ca766959599944cd52221ad42cc0a93d95ba2e *res/prebuilt/data/pl_wm.nclr 1914b6e76596ffa892508899cad35acedf7ae070 *res/prebuilt/data/plbr.dat -516b0800e4ebeca7982a487160ed6a04db95eb8b *res/prebuilt/data/plist_canm.resdat -c63feb68844c5a535611cd61945810977dc13989 *res/prebuilt/data/plist_cell.resdat -ea682a75054a3e229c3caa91bf7701d60fa05aa4 *res/prebuilt/data/plist_chr.resdat -d47a8e1fe411e19c194939abb643d2af1e1cf329 *res/prebuilt/data/plist_h.cldat -df06f0ebd532087ff88a709a86ec4c6f00b6d05a *res/prebuilt/data/plist_pal.resdat -1e111fc17f1496bab5b2f20455985a6139bd770d *res/prebuilt/data/porucase_canm.resdat -b844263884695da81d055287a8e5311cf80fc49e *res/prebuilt/data/porucase_celact.cldat -f8716c3d16aa2f8ccbb29c3e2ae55f2d872a689f *res/prebuilt/data/porucase_cell.resdat -f70867dd71f9809cfad32b8dad2adc1f7b9cd281 *res/prebuilt/data/porucase_chr.resdat -ecff5b0d3d4800d3843db63620537fa487ce8934 *res/prebuilt/data/porucase_pal.resdat -6d3ed9ed9df3f3b4285a4e767de4c8aea01ed950 *res/prebuilt/data/pst_canm.resdat -132a2e16407dc32b15bc22812234cc720b351126 *res/prebuilt/data/pst_cell.resdat -61aa12d59c1c79a7f2e7c0e1e2476d361c2876ee *res/prebuilt/data/pst_chr.resdat -51305113cfd7a2694d82b5ff6e56878b31e193e9 *res/prebuilt/data/pst_h.cldat -729603785c0d10750cef1f42d344616a37630415 *res/prebuilt/data/pst_pal.resdat -4b9fc365f7dbe2486e9f07b129422d131b3ded2d *res/prebuilt/data/shop_canm.resdat -ca25450477e4d283af4693f1d4664ed4ba279608 *res/prebuilt/data/shop_cell.resdat -4607568f0688fbabc865d01cfbb38d33c707044f *res/prebuilt/data/shop_chr.resdat -13b14a575d361fea840cf6a433bde418e992bc5d *res/prebuilt/data/shop_h.cldat -6ef9a9cb38575cb47bfa9f3070c068aeff2b7ab0 *res/prebuilt/data/shop_pal.resdat +516b0800e4ebeca7982a487160ed6a04db95eb8b *res/graphics/sprite_templates/party_menu_anims.resdat +c63feb68844c5a535611cd61945810977dc13989 *res/graphics/sprite_templates/party_menu_cells.resdat +ea682a75054a3e229c3caa91bf7701d60fa05aa4 *res/graphics/sprite_templates/party_menu_chars.resdat +d47a8e1fe411e19c194939abb643d2af1e1cf329 *res/graphics/sprite_templates/party_menu.cldat +df06f0ebd532087ff88a709a86ec4c6f00b6d05a *res/graphics/sprite_templates/party_menu_pltts.resdat +1e111fc17f1496bab5b2f20455985a6139bd770d *res/graphics/sprite_templates/poffin_case_anims.resdat +b844263884695da81d055287a8e5311cf80fc49e *res/graphics/sprite_templates/poffin_case.cldat +f8716c3d16aa2f8ccbb29c3e2ae55f2d872a689f *res/graphics/sprite_templates/poffin_case_cells.resdat +f70867dd71f9809cfad32b8dad2adc1f7b9cd281 *res/graphics/sprite_templates/poffin_case_chars.resdat +ecff5b0d3d4800d3843db63620537fa487ce8934 *res/graphics/sprite_templates/poffin_case_pltts.resdat +6d3ed9ed9df3f3b4285a4e767de4c8aea01ed950 *res/graphics/sprite_templates/pokemon_summary_screen_anims.resdat +132a2e16407dc32b15bc22812234cc720b351126 *res/graphics/sprite_templates/pokemon_summary_screen_cells.resdat +61aa12d59c1c79a7f2e7c0e1e2476d361c2876ee *res/graphics/sprite_templates/pokemon_summary_screen_chars.resdat +51305113cfd7a2694d82b5ff6e56878b31e193e9 *res/graphics/sprite_templates/pokemon_summary_screen.cldat +729603785c0d10750cef1f42d344616a37630415 *res/graphics/sprite_templates/pokemon_summary_screen_pltts.resdat +4b9fc365f7dbe2486e9f07b129422d131b3ded2d *res/graphics/sprite_templates/shop_menu_anims.resdat +ca25450477e4d283af4693f1d4664ed4ba279608 *res/graphics/sprite_templates/shop_menu_cells.resdat +4607568f0688fbabc865d01cfbb38d33c707044f *res/graphics/sprite_templates/shop_menu_chars.resdat +13b14a575d361fea840cf6a433bde418e992bc5d *res/graphics/sprite_templates/shop_menu.cldat +6ef9a9cb38575cb47bfa9f3070c068aeff2b7ab0 *res/graphics/sprite_templates/shop_menu_pltts.resdat 7d890728684f972892221535e43f2dd07a63ac5c *res/prebuilt/data/slot.narc 5bb388f5b16ef1eb8c8ea4c638eccf1244e7789c *res/prebuilt/data/smptm_koori.NANR 295d997311252e0c1cedaa36fc0083d024a140a2 *res/prebuilt/data/smptm_koori.NCER @@ -93,12 +93,12 @@ efcb17fc440548aefb1ec4b830955fa9e7954025 *res/prebuilt/data/t3_fl_y.nsbtx b5b6089df980ad54540fad84c76f76bcde0bb464 *res/prebuilt/data/test.atr 337f8bd7788eaea30946c8632bdbc9ef9b12b51f *res/town_map/town_map_blocks.dat 973dc6f187a2b7469c6a1a11d5c4c0c41b2f221c *res/town_map/town_map_flags.dat -aba8f43ada2b1919151c50366ec00df4f875350d *res/prebuilt/data/tmapn_canm.resdat -b350396f553cf8c70888aca59e327310812b1ee9 *res/prebuilt/data/tmapn_celact.cldat +aba8f43ada2b1919151c50366ec00df4f875350d *res/graphics/sprite_templates/town_map_anims.resdat +b350396f553cf8c70888aca59e327310812b1ee9 *res/graphics/sprite_templates/town_map.cldat b2d44b4083a618fa1da3e463e757b7af5e839bb3 *res/prebuilt/data/tmapn_celact.txt -066150350014d8db521c0905da4c2cf9b523229b *res/prebuilt/data/tmapn_cell.resdat -b976d3f03befcad1b4ed934c0f78a8a5d1d34aa8 *res/prebuilt/data/tmapn_chr.resdat -9ea7f860223c7895ca701901d7ab9453b5f4a72f *res/prebuilt/data/tmapn_pal.resdat +066150350014d8db521c0905da4c2cf9b523229b *res/graphics/sprite_templates/town_map_cells.resdat +b976d3f03befcad1b4ed934c0f78a8a5d1d34aa8 *res/graphics/sprite_templates/town_map_chars.resdat +9ea7f860223c7895ca701901d7ab9453b5f4a72f *res/graphics/sprite_templates/town_map_pltts.resdat a1d847fd53a2b8f2a1fbee0afd6cab7985f0aab7 *res/prebuilt/data/tmapn_res_canm.txt 52930c878755a7bb702fbe24ebfc2908617605ae *res/prebuilt/data/tmapn_res_cell.txt 9750b822217dbcfa12f08d33f2597b3c7c4f52c4 *res/prebuilt/data/tmapn_res_chr.txt @@ -121,13 +121,13 @@ baea1d536bbf3364fa00a9ee7586075d69ef94e1 *res/graphics/mining/objects/objects.na 8604aca94d462a013d3820c769e6eb45e38f30b9 *res/prebuilt/data/ug_radar.narc efcfa6c0c26afef1840af4fd062f6790f4fb1f14 *res/graphics/trap_effects/trap_effects.narc 973098a1a60f7923024562e2ac18334567edb574 *res/graphics/underground_map_transition/underground_map_transition.narc -9aa715c371fa7ba5c6f2bc756974577229fd127f *res/prebuilt/data/uground_cell.resdat -b8e444f219193fab8db5901fc017cc7e25b91d30 *res/prebuilt/data/uground_cellanm.resdat -46ad24833d46809f113460f7515bad3095ec7b24 *res/prebuilt/data/uground_char.resdat -3a39e9918bd968965c4c27830e6a4445fbbfa6e8 *res/prebuilt/data/uground_char2.resdat -f70dd62e5908f8723fef69a48951a2a82adf01b3 *res/prebuilt/data/uground_clact.cldat -8a998f37b0e2e504c17e252cad745ea82abf7e04 *res/prebuilt/data/uground_pltt.resdat -bf16274373fa7a0a1db503ac7f82ef977c2d823a *res/prebuilt/data/uground_pltt2.resdat +9aa715c371fa7ba5c6f2bc756974577229fd127f *res/graphics/sprite_templates/underground_map_transition_cells.resdat +b8e444f219193fab8db5901fc017cc7e25b91d30 *res/graphics/sprite_templates/underground_map_transition_anims.resdat +46ad24833d46809f113460f7515bad3095ec7b24 *res/graphics/sprite_templates/underground_map_transition_chars.resdat +3a39e9918bd968965c4c27830e6a4445fbbfa6e8 *res/graphics/sprite_templates/underground_map_transition_dawn_chars.resdat +f70dd62e5908f8723fef69a48951a2a82adf01b3 *res/graphics/sprite_templates/underground_map_transition.cldat +8a998f37b0e2e504c17e252cad745ea82abf7e04 *res/graphics/sprite_templates/underground_map_transition_pltts.resdat +bf16274373fa7a0a1db503ac7f82ef977c2d823a *res/graphics/sprite_templates/underground_map_transition_dawn_pltts.resdat fed2bdb82fffa0aa263e3d6df0f6287f742ac430 *res/prebuilt/data/ugroundeffect.naix 9a9c462760c8a718fbf8cd41d0bb87dfcfa50a41 *res/prebuilt/data/ugroundeffect.narc 010b6c08bc7da35acaaf093feac31518cd64027e *res/graphics/underground_top_screen/underground_top_screen.narc diff --git a/res/graphics/meson.build b/res/graphics/meson.build index 4ec7627cb9..52e59ce108 100644 --- a/res/graphics/meson.build +++ b/res/graphics/meson.build @@ -23,3 +23,6 @@ subdir('trap_effects') subdir('underground_map_transition') subdir('underground_top_screen') subdir('windows') + +# This directory must be walked last to avoid circular dependencies. +subdir('sprite_templates') diff --git a/res/graphics/sprite_templates/meson.build b/res/graphics/sprite_templates/meson.build new file mode 100644 index 0000000000..bb7e8036df --- /dev/null +++ b/res/graphics/sprite_templates/meson.build @@ -0,0 +1,238 @@ +# The JSON files in this directory define sprite-templates to be fed to +# tools/dataproc/src/resdatproc. The header-file output by that program may +# be used in ROM code to refer to individual templates in a template-set. + +party_menu_resdat = custom_target('party_menu_resdat', + output: [ + 'party_menu_chars.resdat', + 'party_menu_pltts.resdat', + 'party_menu_cells.resdat', + 'party_menu_anims.resdat', + 'party_menu.cldat', + 'party_menu.h', + ], + + input: [ + party_menu_narc[1], + pokemon_summary_screen_narc[1], + pl_poke_icon_narc[1], + bag_graphics_narc[1], + ], + + command: [ + resdatproc_exe, + '-D', 'NARC_INDEX_GRAPHIC__PL_PLIST_GRA:@INPUT0@', + '-D', 'NARC_INDEX_GRAPHIC__PL_PST_GRA:@INPUT1@', + '-D', 'NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON:@INPUT2@', + '-D', 'NARC_INDEX_GRAPHIC__PL_BAG_GRA:@INPUT3@', + '-p', 'party_menu', + '-M', '@DEPFILE@', + '-N', + '-o', meson.current_build_dir(), + files('party_menu.json'), + ], + + depfile: 'party_menu_resdat.d', +) + +poffin_case_resdat = custom_target('poffin_case_resdat', + output: [ + 'poffin_case_chars.resdat', + 'poffin_case_pltts.resdat', + 'poffin_case_cells.resdat', + 'poffin_case_anims.resdat', + 'poffin_case.cldat', + 'poffin_case.h', + ], + + input: [ poffin_case_narc[1] ], + + command: [ + resdatproc_exe, + '-D', 'NARC_INDEX_GRAPHIC__PORU_GRA:@INPUT0@', + '-p', 'poffin_case', + '-M', '@DEPFILE@', + '-N', + '-o', meson.current_build_dir(), + files('poffin_case.json'), + ], + + depfile: 'poffin_case_resdat.d', +) + +pokemon_summary_screen_resdat = custom_target('pokemon_summary_screen_resdat', + output: [ + 'pokemon_summary_screen_chars.resdat', + 'pokemon_summary_screen_pltts.resdat', + 'pokemon_summary_screen_cells.resdat', + 'pokemon_summary_screen_anims.resdat', + 'pokemon_summary_screen.cldat', + 'pokemon_summary_screen.h', + ], + + input: [ + pokemon_summary_screen_narc[1], + battle_sprites_narc[1], + pl_poke_icon_narc[1], + bag_graphics_narc[1], + party_menu_narc[1], + ], + + command: [ + resdatproc_exe, + '-D', 'NARC_INDEX_GRAPHIC__PL_PST_GRA:@INPUT0@', + '-D', 'NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ:@INPUT1@', + '-D', 'NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON:@INPUT2@', + '-D', 'NARC_INDEX_GRAPHIC__PL_BAG_GRA:@INPUT3@', + '-D', 'NARC_INDEX_GRAPHIC__PL_PLIST_GRA:@INPUT4@', + '-M', '@DEPFILE@', + '-p', 'pokemon_summary_screen', + '-N', + '-o', meson.current_build_dir(), + files('pokemon_summary_screen.json'), + ], + + depfile: 'pokemon_summary_screen_resdat.d', +) + +shop_menu_resdat = custom_target('shop_menu_resdat', + output: [ + 'shop_menu_chars.resdat', + 'shop_menu_pltts.resdat', + 'shop_menu_cells.resdat', + 'shop_menu_anims.resdat', + 'shop_menu.cldat', + 'shop_menu.h', + ], + + input: [ shop_gra_narc[1], item_icon_narc[1] ], + + command: [ + resdatproc_exe, + '-D', 'NARC_INDEX_GRAPHIC__SHOP_GRA:@INPUT0@', + '-D', 'NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON:@INPUT1@', + '-p', 'shop_menu', + '-M', '@DEPFILE@', + '-N', + '-o', meson.current_build_dir(), + files('shop_menu.json'), + ], + + depfile: 'shop_menu_resdat.d', +) + +tower_records_resdat = custom_target('tower_records_resdat', + output: [ + 'tower_records_chars.resdat', + 'tower_records_pltts.resdat', + 'tower_records_cells.resdat', + 'tower_records_anims.resdat', + 'tower_records.cldat', + 'tower_records.h', + ], + + input: [ tower_records_narc[1] ], + + command: [ + resdatproc_exe, + '-D', 'NARC_INDEX_GRAPHIC__BTOWER:@INPUT0@', + '-M', '@DEPFILE@', + '-p', 'tower_records', + '-N', + '-o', meson.current_build_dir(), + files('tower_records.json'), + ], + + depfile: 'tower_records_resdat.d', +) + +town_map_resdat = custom_target('town_map_resdat', + output: [ + 'town_map_chars.resdat', + 'town_map_pltts.resdat', + 'town_map_cells.resdat', + 'town_map_anims.resdat', + 'town_map.cldat', + 'town_map.h', + ], + + input: [ town_map_graphics_narc[1] ], + + command: [ + resdatproc_exe, + '-D', 'NARC_INDEX_GRAPHIC__TMAP_GRA:@INPUT0@', + '-M', '@DEPFILE@', + '-p', 'town_map', + '-N', + '-o', meson.current_build_dir(), + files('town_map.json'), + ], + + depfile: 'town_map_resdat.d', +) + +underground_map_transition_resdat = custom_target('underground_map_transition_resdat', + output: [ + 'underground_map_transition_chars.resdat', + 'underground_map_transition_pltts.resdat', + 'underground_map_transition_cells.resdat', + 'underground_map_transition_anims.resdat', + 'underground_map_transition.cldat', + 'underground_map_transition.h', + ], + + input: [ underground_map_transition_narc[1] ], + + command: [ + resdatproc_exe, + '-D', 'NARC_INDEX_DATA__UGEFFECT_OBJ_GRAPHIC:@INPUT0@', + '-M', '@DEPFILE@', + '-p', 'underground_map_transition', + '-N', + '-o', meson.current_build_dir(), + files('underground_map_transition.json'), + ], + + depfile: 'underground_map_transition_resdat.d', +) + +underground_map_transition_dawn_resdat = custom_target('underground_map_transition_dawn_resdat', + output: [ + 'underground_map_transition_dawn_chars.resdat', + 'underground_map_transition_dawn_pltts.resdat', + ], + + input: [ underground_map_transition_narc[1] ], + + command: [ + resdatproc_exe, + '-D', 'NARC_INDEX_DATA__UGEFFECT_OBJ_GRAPHIC:@INPUT0@', + '-M', '@DEPFILE@', + '-p', 'underground_map_transition_dawn', + '-n', '1', + '-f', 'characters', + '-f', 'palettes', + '-o', meson.current_build_dir(), + files('underground_map_transition.json'), + ], + + depfile: 'underground_map_transition_dawn_resdat.d', +) + + +nitrofs_files += party_menu_resdat +nitrofs_files += poffin_case_resdat +nitrofs_files += pokemon_summary_screen_resdat +nitrofs_files += shop_menu_resdat +nitrofs_files += tower_records_resdat +nitrofs_files += town_map_resdat +nitrofs_files += underground_map_transition_resdat +nitrofs_files += underground_map_transition_dawn_resdat + +naix_headers += party_menu_resdat[5] +naix_headers += poffin_case_resdat[5] +naix_headers += pokemon_summary_screen_resdat[5] +naix_headers += shop_menu_resdat[5] +naix_headers += tower_records_resdat[5] +naix_headers += town_map_resdat[5] +naix_headers += underground_map_transition_resdat[5] diff --git a/res/graphics/party_menu/resdat.json b/res/graphics/sprite_templates/party_menu.json similarity index 59% rename from res/graphics/party_menu/resdat.json rename to res/graphics/sprite_templates/party_menu.json index 0daaeb0c22..f92ae136b6 100644 --- a/res/graphics/party_menu/resdat.json +++ b/res/graphics/sprite_templates/party_menu.json @@ -1,7 +1,7 @@ { "characters": [ { - "id": "PartyMenu_MemberPokeBall_Chars", + "id": "PartyMenu_Chars_MemberPokeBall", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "member_ball_NCGR", "compressed": false, @@ -9,7 +9,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_Cursor_Chars", + "id": "PartyMenu_Chars_Cursor", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "cursor_NCGR", "compressed": false, @@ -17,7 +17,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_Button_Chars", + "id": "PartyMenu_Chars_Button", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "button_NCGR", "compressed": false, @@ -25,7 +25,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_StatusIcons_Chars", + "id": "PartyMenu_Chars_StatusIcons", "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", "from_file": "status_icons_NCGR", "compressed": false, @@ -33,7 +33,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_MemberIcon0_Chars", + "id": "PartyMenu_Chars_MemberIcon0", "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", "from_file": "icon_00000_NCGR", "compressed": false, @@ -41,7 +41,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_MemberIcon1_Chars", + "id": "PartyMenu_Chars_MemberIcon1", "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", "from_file": "icon_00000_NCGR", "compressed": false, @@ -49,7 +49,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_MemberIcon2_Chars", + "id": "PartyMenu_Chars_MemberIcon2", "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", "from_file": "icon_00000_NCGR", "compressed": false, @@ -57,7 +57,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_MemberIcon3_Chars", + "id": "PartyMenu_Chars_MemberIcon3", "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", "from_file": "icon_00000_NCGR", "compressed": false, @@ -65,7 +65,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_MemberIcon4_Chars", + "id": "PartyMenu_Chars_MemberIcon4", "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", "from_file": "icon_00000_NCGR", "compressed": false, @@ -73,7 +73,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_MemberIcon5_Chars", + "id": "PartyMenu_Chars_MemberIcon5", "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", "from_file": "icon_00000_NCGR", "compressed": false, @@ -81,7 +81,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_HeldIcons_Chars", + "id": "PartyMenu_Chars_HeldIcons", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "icons_NCGR", "compressed": false, @@ -89,7 +89,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_TouchButtonEffect_Chars", + "id": "PartyMenu_Chars_TouchButtonEffect", "from_narc": "NARC_INDEX_GRAPHIC__PL_BAG_GRA", "from_file": "button_shockwave_NCGR", "compressed": false, @@ -99,7 +99,7 @@ ], "palettes": [ { - "id": "PartyMenu_Shared_Palette", + "id": "PartyMenu_Palette_Shared", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "shared_NCLR", "load_in_slot": 2, @@ -108,7 +108,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_StatusIcons_Palette", + "id": "PartyMenu_Palette_StatusIcons", "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", "from_file": "status_icons_NCLR", "load_in_slot": 1, @@ -117,7 +117,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_MemberIcons_Palette", + "id": "PartyMenu_Palette_MemberIcons", "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", "from_file": "shared_pals_NCLR", "load_in_slot": 3, @@ -126,7 +126,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_HeldIcons_Palette", + "id": "PartyMenu_Palette_HeldIcons", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "icons_NCLR", "load_in_slot": 1, @@ -135,7 +135,7 @@ "on_sub_screen": false }, { - "id": "PartyMenu_TouchButtonEffect_Palette", + "id": "PartyMenu_Palette_TouchButtonEffect", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "touch_button_shockwave_NCLR", "load_in_slot": 1, @@ -146,43 +146,43 @@ ], "cells": [ { - "id": "PartyMenu_MemberPokeBall_Cells", + "id": "PartyMenu_Cells_MemberPokeBall", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "member_ball_cell_NCER", "compressed": false }, { - "id": "PartyMenu_Cursor_Cells", + "id": "PartyMenu_Cells_Cursor", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "cursor_cell_NCER", "compressed": false }, { - "id": "PartyMenu_Button_Cells", + "id": "PartyMenu_Cells_Button", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "button_cell_NCER", "compressed": false }, { - "id": "PartyMenu_StatusIcons_Cells", + "id": "PartyMenu_Cells_StatusIcons", "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", "from_file": "status_icons_cell_NCER", "compressed": false }, { - "id": "PartyMenu_MemberIcons_Cells", + "id": "PartyMenu_Cells_MemberIcons", "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", "from_file": "shared_cell_32k_NCER", "compressed": false }, { - "id": "PartyMenu_HeldIcons_Cells", + "id": "PartyMenu_Cells_HeldIcons", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "icons_cell_NCER", "compressed": false }, { - "id": "PartyMenu_TouchButtonEffect_Cells", + "id": "PartyMenu_Cells_TouchButtonEffect", "from_narc": "NARC_INDEX_GRAPHIC__PL_BAG_GRA", "from_file": "button_shockwave_cell_NCER", "compressed": false @@ -190,43 +190,43 @@ ], "animations": [ { - "id": "PartyMenu_MemberPokeBall_Anims", + "id": "PartyMenu_Anims_MemberPokeBall", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "member_ball_anim_NANR", "compressed": false }, { - "id": "PartyMenu_Cursor_Anims", + "id": "PartyMenu_Anims_Cursor", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "cursor_anim_NANR", "compressed": false }, { - "id": "PartyMenu_Button_Anims", + "id": "PartyMenu_Anims_Button", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "button_anim_NANR", "compressed": false }, { - "id": "PartyMenu_StatusIcons_Anims", + "id": "PartyMenu_Anims_StatusIcons", "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", "from_file": "status_icons_anim_NANR", "compressed": false }, { - "id": "PartyMenu_MemberIcons_Anims", + "id": "PartyMenu_Anims_MemberIcons", "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", "from_file": "shared_anim_32k_NANR", "compressed": false }, { - "id": "PartyMenu_HeldIcons_Anims", + "id": "PartyMenu_Anims_HeldIcons", "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", "from_file": "icons_anim_NANR", "compressed": false }, { - "id": "PartyMenu_TouchButtonEffect_Anims", + "id": "PartyMenu_Anims_TouchButtonEffect", "from_narc": "NARC_INDEX_GRAPHIC__PL_BAG_GRA", "from_file": "button_shockwave_anim_NANR", "compressed": false @@ -234,98 +234,110 @@ ], "templates": [ { - "characters": "PartyMenu_MemberPokeBall_Chars", - "palette": "PartyMenu_Shared_Palette", - "cells": "PartyMenu_MemberPokeBall_Cells", - "animations": "PartyMenu_MemberPokeBall_Anims", + "id": "PartyMenu_Template_MemberPokeball", + "characters": "PartyMenu_Chars_MemberPokeBall", + "palette": "PartyMenu_Palette_Shared", + "cells": "PartyMenu_Cells_MemberPokeBall", + "animations": "PartyMenu_Anims_MemberPokeBall", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_Cursor_Chars", - "palette": "PartyMenu_Shared_Palette", - "cells": "PartyMenu_Cursor_Cells", - "animations": "PartyMenu_Cursor_Anims", + "id": "PartyMenu_Template_Cursor", + "characters": "PartyMenu_Chars_Cursor", + "palette": "PartyMenu_Palette_Shared", + "cells": "PartyMenu_Cells_Cursor", + "animations": "PartyMenu_Anims_Cursor", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_Button_Chars", - "palette": "PartyMenu_Shared_Palette", - "cells": "PartyMenu_Button_Cells", - "animations": "PartyMenu_Button_Anims", + "id": "PartyMenu_Template_Button", + "characters": "PartyMenu_Chars_Button", + "palette": "PartyMenu_Palette_Shared", + "cells": "PartyMenu_Cells_Button", + "animations": "PartyMenu_Anims_Button", "vram_transfer": false, "priority": 2 }, { - "characters": "PartyMenu_StatusIcons_Chars", - "palette": "PartyMenu_StatusIcons_Palette", - "cells": "PartyMenu_StatusIcons_Cells", - "animations": "PartyMenu_StatusIcons_Anims", + "id": "PartyMenu_Template_StatusIcons", + "characters": "PartyMenu_Chars_StatusIcons", + "palette": "PartyMenu_Palette_StatusIcons", + "cells": "PartyMenu_Cells_StatusIcons", + "animations": "PartyMenu_Anims_StatusIcons", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_MemberIcon0_Chars", - "palette": "PartyMenu_MemberIcons_Palette", - "cells": "PartyMenu_MemberIcons_Cells", - "animations": "PartyMenu_MemberIcons_Anims", + "id": "PartyMenu_Template_MemberIcon0", + "characters": "PartyMenu_Chars_MemberIcon0", + "palette": "PartyMenu_Palette_MemberIcons", + "cells": "PartyMenu_Cells_MemberIcons", + "animations": "PartyMenu_Anims_MemberIcons", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_MemberIcon1_Chars", - "palette": "PartyMenu_MemberIcons_Palette", - "cells": "PartyMenu_MemberIcons_Cells", - "animations": "PartyMenu_MemberIcons_Anims", + "id": "PartyMenu_Template_MemberIcon1", + "characters": "PartyMenu_Chars_MemberIcon1", + "palette": "PartyMenu_Palette_MemberIcons", + "cells": "PartyMenu_Cells_MemberIcons", + "animations": "PartyMenu_Anims_MemberIcons", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_MemberIcon2_Chars", - "palette": "PartyMenu_MemberIcons_Palette", - "cells": "PartyMenu_MemberIcons_Cells", - "animations": "PartyMenu_MemberIcons_Anims", + "id": "PartyMenu_Template_MemberIcon2", + "characters": "PartyMenu_Chars_MemberIcon2", + "palette": "PartyMenu_Palette_MemberIcons", + "cells": "PartyMenu_Cells_MemberIcons", + "animations": "PartyMenu_Anims_MemberIcons", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_MemberIcon3_Chars", - "palette": "PartyMenu_MemberIcons_Palette", - "cells": "PartyMenu_MemberIcons_Cells", - "animations": "PartyMenu_MemberIcons_Anims", + "id": "PartyMenu_Template_MemberIcon3", + "characters": "PartyMenu_Chars_MemberIcon3", + "palette": "PartyMenu_Palette_MemberIcons", + "cells": "PartyMenu_Cells_MemberIcons", + "animations": "PartyMenu_Anims_MemberIcons", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_MemberIcon4_Chars", - "palette": "PartyMenu_MemberIcons_Palette", - "cells": "PartyMenu_MemberIcons_Cells", - "animations": "PartyMenu_MemberIcons_Anims", + "id": "PartyMenu_Template_MemberIcon4", + "characters": "PartyMenu_Chars_MemberIcon4", + "palette": "PartyMenu_Palette_MemberIcons", + "cells": "PartyMenu_Cells_MemberIcons", + "animations": "PartyMenu_Anims_MemberIcons", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_MemberIcon5_Chars", - "palette": "PartyMenu_MemberIcons_Palette", - "cells": "PartyMenu_MemberIcons_Cells", - "animations": "PartyMenu_MemberIcons_Anims", + "id": "PartyMenu_Template_MemberIcon5", + "characters": "PartyMenu_Chars_MemberIcon5", + "palette": "PartyMenu_Palette_MemberIcons", + "cells": "PartyMenu_Cells_MemberIcons", + "animations": "PartyMenu_Anims_MemberIcons", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_HeldIcons_Chars", - "palette": "PartyMenu_HeldIcons_Palette", - "cells": "PartyMenu_HeldIcons_Cells", - "animations": "PartyMenu_HeldIcons_Anims", + "id": "PartyMenu_Template_HeldIcons", + "characters": "PartyMenu_Chars_HeldIcons", + "palette": "PartyMenu_Palette_HeldIcons", + "cells": "PartyMenu_Cells_HeldIcons", + "animations": "PartyMenu_Anims_HeldIcons", "vram_transfer": false, "priority": 1 }, { - "characters": "PartyMenu_TouchButtonEffect_Chars", - "palette": "PartyMenu_TouchButtonEffect_Palette", - "cells": "PartyMenu_TouchButtonEffect_Cells", - "animations": "PartyMenu_TouchButtonEffect_Anims", + "id": "PartyMenu_Template_TouchButtonEffect", + "characters": "PartyMenu_Chars_TouchButtonEffect", + "palette": "PartyMenu_Palette_TouchButtonEffect", + "cells": "PartyMenu_Cells_TouchButtonEffect", + "animations": "PartyMenu_Anims_TouchButtonEffect", "vram_transfer": false, "priority": 0 } diff --git a/res/graphics/sprite_templates/poffin_case.json b/res/graphics/sprite_templates/poffin_case.json new file mode 100644 index 0000000000..80bcdc1968 --- /dev/null +++ b/res/graphics/sprite_templates/poffin_case.json @@ -0,0 +1,79 @@ +{ + "characters": [ + { + "id": "PoffinCase_Chars_TopScreen", + "from_narc": "NARC_INDEX_GRAPHIC__PORU_GRA", + "from_file": "main_sprites_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PoffinCase_Chars_BottomScreen", + "from_narc": "NARC_INDEX_GRAPHIC__PORU_GRA", + "from_file": "sub_sprites_NCGR", + "compressed": false, + "on_main_screen": false, + "on_sub_screen": true + } + ], + "palettes": [ + { + "id": "PoffinCase_Palette_Shareds", + "from_narc": "NARC_INDEX_GRAPHIC__PORU_GRA", + "from_file": "sprites_NCLR", + "load_in_slot": 10, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": true + } + ], + "cells": [ + { + "id": "PoffinCase_Cells_TopScreen", + "from_narc": "NARC_INDEX_GRAPHIC__PORU_GRA", + "from_file": "main_sprites_cell_NCER", + "compressed": false + }, + { + "id": "PoffinCase_Cells_BottomScreen", + "from_narc": "NARC_INDEX_GRAPHIC__PORU_GRA", + "from_file": "sub_sprites_cell_NCER", + "compressed": false + } + ], + "animations": [ + { + "id": "PoffinCase_Anims_TopScreen", + "from_narc": "NARC_INDEX_GRAPHIC__PORU_GRA", + "from_file": "main_sprites_anim_NANR", + "compressed": false + }, + { + "id": "PoffinCase_Anims_BottomScreen", + "from_narc": "NARC_INDEX_GRAPHIC__PORU_GRA", + "from_file": "sub_sprites_anim_NANR", + "compressed": false + } + ], + "templates": [ + { + "id": "PoffinCase_Template_TopScreen", + "characters": "PoffinCase_Chars_TopScreen", + "palette": "PoffinCase_Palette_Shareds", + "cells": "PoffinCase_Cells_TopScreen", + "animations": "PoffinCase_Anims_TopScreen", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PoffinCase_Template_BottomScreen", + "characters": "PoffinCase_Chars_BottomScreen", + "palette": "PoffinCase_Palette_Shareds", + "cells": "PoffinCase_Cells_BottomScreen", + "animations": "PoffinCase_Anims_BottomScreen", + "vram_transfer": false, + "priority": 1 + } + ] +} diff --git a/res/graphics/sprite_templates/pokemon_summary_screen.json b/res/graphics/sprite_templates/pokemon_summary_screen.json new file mode 100644 index 0000000000..5341995150 --- /dev/null +++ b/res/graphics/sprite_templates/pokemon_summary_screen.json @@ -0,0 +1,1005 @@ +{ + "characters": [ + { + "id": "PokemonSummaryScreen_Chars_CaughtBall", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "master_ball_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Tabs", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "tabs_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MoveSelectCursor", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "move_cursor_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MonTypeIcon1", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_normal_NCGR_lz", + "compressed": true, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MonTypeIcon2", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_normal_NCGR_lz", + "compressed": true, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MoveTypeIcon1", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_normal_NCGR_lz", + "compressed": true, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MoveTypeIcon2", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_normal_NCGR_lz", + "compressed": true, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MoveTypeIcon3", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_normal_NCGR_lz", + "compressed": true, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MoveTypeIcon4", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_normal_NCGR_lz", + "compressed": true, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MoveTypeIcon5", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_normal_NCGR_lz", + "compressed": true, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_CategoryIcon", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_status_NCGR_lz", + "compressed": true, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MonIcon", + "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", + "from_file": "icon_00000_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_StatusIcon", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "status_icons_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Sheen", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "sheen_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_TabArrow", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "tab_arrow_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MarkingCircle", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "marking_circle_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_TouchButtonEffect", + "from_narc": "NARC_INDEX_GRAPHIC__PL_BAG_GRA", + "from_file": "button_shockwave_NCGR", + "compressed": false, + "on_main_screen": false, + "on_sub_screen": true + }, + { + "id": "PokemonSummaryScreen_Chars_ConditionArrow", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "condition_arrow_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_AButton", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "a_button_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MarkingStar", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "marking_star_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MarkingDiamond", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "marking_diamond_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MarkingSquare", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "marking_square_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MarkingTriangle", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "marking_triangle_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_MarkingHeart", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "marking_heart_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_ShinyPokerusCuredIcon", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "shiny_and_pokerus_cured_icon_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_ContestStatDot", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "contest_stat_dot_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon1", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon2", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon3", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon4", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon5", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon6", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon7", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon8", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon9", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon10", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon11", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_Ribbon12", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "hoenn_champion_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_RibbonCursor", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbon_cursor_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_RibbonArrow", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbon_arrow_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_RibbonFlash", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbon_flash_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_ConditionFlash", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "condition_flash_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Chars_PokerusIcon", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "pokerus_icon_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + } + ], + "palettes": [ + { + "id": "PokemonSummaryScreen_Palette_Shared", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "sprites_NCLR", + "load_in_slot": 3, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Palette_TypeIcons", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_shared_NCLR", + "load_in_slot": 3, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": 2, + "dummy": true + }, + { + "id": "PokemonSummaryScreen_Palette_StatusIcons", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "status_icons_NCLR", + "load_in_slot": 1, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Palette_TouchButtonEffect", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PLIST_GRA", + "from_file": "touch_button_shockwave_NCLR", + "load_in_slot": 1, + "compressed": false, + "on_main_screen": false, + "on_sub_screen": true + }, + { + "id": "PokemonSummaryScreen_Palette_Ribbons", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbons_NCLR", + "load_in_slot": 5, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "PokemonSummaryScreen_Palette_CaughtBall", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "balls_0_NCLR", + "load_in_slot": 1, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + } + ], + "cells": [ + { + "id": "PokemonSummaryScreen_Cells_ConditionFlash", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "condition_flash_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_Tabs", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "tabs_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_MoveSelectCursor", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "move_cursor_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_TypeIcons", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "type_icons_cell_NCER_lz", + "compressed": true + }, + { + "id": "PokemonSummaryScreen_Cells_MonIcon", + "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", + "from_file": "shared_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_StatusIcons", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "status_icons_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_Sheen", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "sheen_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_TabArrow", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "tab_arrow_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_Markings", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "markings_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_TouchButtonEffect", + "from_narc": "NARC_INDEX_GRAPHIC__PL_BAG_GRA", + "from_file": "button_shockwave_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_ConditionArrow", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "condition_arrow_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_ContestStatDot", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "contest_stat_dot_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_Ribbons", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbons_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_RibbonFlash", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbon_flash_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_RibbonArrow", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbon_arrow_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_RibbonCursor", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbon_cursor_cell_NCER", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Cells_PokerusIcon", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "pokerus_icon_cell_NCER", + "compressed": false + } + ], + "animations": [ + { + "id": "PokemonSummaryScreen_Anims_ConditionFlash", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "condition_flash_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_Tabs", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "tabs_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_MoveSelectCursor", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "move_cursor_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_TypeIcons", + "from_narc": "NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ", + "from_file": "misc_single_frame_anim_NANR_lz_14", + "compressed": true + }, + { + "id": "PokemonSummaryScreen_Anims_MonIcon", + "from_narc": "NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON", + "from_file": "shared_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_StatusIcons", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "status_icons_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_Sheen", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "sheen_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_TabArrow", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "tab_arrow_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_Markings", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "markings_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_TouchButtonEffect", + "from_narc": "NARC_INDEX_GRAPHIC__PL_BAG_GRA", + "from_file": "button_shockwave_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_ConditionArrow", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "condition_arrow_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_ContestStatDot", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "contest_stat_dot_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_Ribbons", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbons_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_RibbonFlash", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbon_flash_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_RibbonArrow", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbon_arrow_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_RibbonCursor", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "ribbon_cursor_anim_NANR", + "compressed": false + }, + { + "id": "PokemonSummaryScreen_Anims_PokerusIcon", + "from_narc": "NARC_INDEX_GRAPHIC__PL_PST_GRA", + "from_file": "pokerus_icon_anim_NANR", + "compressed": false + } + ], + "templates": [ + { + "id": "PokemonSummaryScreen_Template_CaughtBall", + "characters": "PokemonSummaryScreen_Chars_CaughtBall", + "palette": "PokemonSummaryScreen_Palette_CaughtBall", + "cells": "PokemonSummaryScreen_Cells_ConditionFlash", + "animations": "PokemonSummaryScreen_Anims_ConditionFlash", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_Tabs", + "characters": "PokemonSummaryScreen_Chars_Tabs", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_Tabs", + "animations": "PokemonSummaryScreen_Anims_Tabs", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MoveSelectCursor", + "characters": "PokemonSummaryScreen_Chars_MoveSelectCursor", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_MoveSelectCursor", + "animations": "PokemonSummaryScreen_Anims_MoveSelectCursor", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MonTypeIcon1", + "characters": "PokemonSummaryScreen_Chars_MonTypeIcon1", + "palette": "PokemonSummaryScreen_Palette_TypeIcons", + "cells": "PokemonSummaryScreen_Cells_TypeIcons", + "animations": "PokemonSummaryScreen_Anims_TypeIcons", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MonTypeIcon2", + "characters": "PokemonSummaryScreen_Chars_MonTypeIcon2", + "palette": "PokemonSummaryScreen_Palette_TypeIcons", + "cells": "PokemonSummaryScreen_Cells_TypeIcons", + "animations": "PokemonSummaryScreen_Anims_TypeIcons", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MoveTypeIcon1", + "characters": "PokemonSummaryScreen_Chars_MoveTypeIcon1", + "palette": "PokemonSummaryScreen_Palette_TypeIcons", + "cells": "PokemonSummaryScreen_Cells_TypeIcons", + "animations": "PokemonSummaryScreen_Anims_TypeIcons", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MoveTypeIcon2", + "characters": "PokemonSummaryScreen_Chars_MoveTypeIcon2", + "palette": "PokemonSummaryScreen_Palette_TypeIcons", + "cells": "PokemonSummaryScreen_Cells_TypeIcons", + "animations": "PokemonSummaryScreen_Anims_TypeIcons", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MoveTypeIcon3", + "characters": "PokemonSummaryScreen_Chars_MoveTypeIcon3", + "palette": "PokemonSummaryScreen_Palette_TypeIcons", + "cells": "PokemonSummaryScreen_Cells_TypeIcons", + "animations": "PokemonSummaryScreen_Anims_TypeIcons", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MoveTypeIcon4", + "characters": "PokemonSummaryScreen_Chars_MoveTypeIcon4", + "palette": "PokemonSummaryScreen_Palette_TypeIcons", + "cells": "PokemonSummaryScreen_Cells_TypeIcons", + "animations": "PokemonSummaryScreen_Anims_TypeIcons", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MoveTypeIcon5", + "characters": "PokemonSummaryScreen_Chars_MoveTypeIcon5", + "palette": "PokemonSummaryScreen_Palette_TypeIcons", + "cells": "PokemonSummaryScreen_Cells_TypeIcons", + "animations": "PokemonSummaryScreen_Anims_TypeIcons", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_CategoryIcon", + "characters": "PokemonSummaryScreen_Chars_CategoryIcon", + "palette": "PokemonSummaryScreen_Palette_TypeIcons", + "cells": "PokemonSummaryScreen_Cells_TypeIcons", + "animations": "PokemonSummaryScreen_Anims_TypeIcons", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MonIcon", + "characters": "PokemonSummaryScreen_Chars_MonIcon", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_MonIcon", + "animations": "PokemonSummaryScreen_Anims_MonIcon", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_StatusIcon", + "characters": "PokemonSummaryScreen_Chars_StatusIcon", + "palette": "PokemonSummaryScreen_Palette_StatusIcons", + "cells": "PokemonSummaryScreen_Cells_StatusIcons", + "animations": "PokemonSummaryScreen_Anims_StatusIcons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Sheen", + "characters": "PokemonSummaryScreen_Chars_Sheen", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_Sheen", + "animations": "PokemonSummaryScreen_Anims_Sheen", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_TabArrow", + "characters": "PokemonSummaryScreen_Chars_TabArrow", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_TabArrow", + "animations": "PokemonSummaryScreen_Anims_TabArrow", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_TouchButtonEffect", + "characters": "PokemonSummaryScreen_Chars_TouchButtonEffect", + "palette": "PokemonSummaryScreen_Palette_TouchButtonEffect", + "cells": "PokemonSummaryScreen_Cells_TouchButtonEffect", + "animations": "PokemonSummaryScreen_Anims_TouchButtonEffect", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_ConditionArrow", + "characters": "PokemonSummaryScreen_Chars_ConditionArrow", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_ConditionArrow", + "animations": "PokemonSummaryScreen_Anims_ConditionArrow", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_AButton", + "characters": "PokemonSummaryScreen_Chars_AButton", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_ConditionArrow", + "animations": "PokemonSummaryScreen_Anims_ConditionArrow", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_MarkingCircle", + "characters": "PokemonSummaryScreen_Chars_MarkingCircle", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_Markings", + "animations": "PokemonSummaryScreen_Anims_Markings", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_MarkingTriangle", + "characters": "PokemonSummaryScreen_Chars_MarkingTriangle", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_Markings", + "animations": "PokemonSummaryScreen_Anims_Markings", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_MarkingSquare", + "characters": "PokemonSummaryScreen_Chars_MarkingSquare", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_Markings", + "animations": "PokemonSummaryScreen_Anims_Markings", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_MarkingHeart", + "characters": "PokemonSummaryScreen_Chars_MarkingHeart", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_Markings", + "animations": "PokemonSummaryScreen_Anims_Markings", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_MarkingStar", + "characters": "PokemonSummaryScreen_Chars_MarkingStar", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_Markings", + "animations": "PokemonSummaryScreen_Anims_Markings", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_MarkingDiamond", + "characters": "PokemonSummaryScreen_Chars_MarkingDiamond", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_Markings", + "animations": "PokemonSummaryScreen_Anims_Markings", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_ShinyPokerusCuredIcon", + "characters": "PokemonSummaryScreen_Chars_ShinyPokerusCuredIcon", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_Markings", + "animations": "PokemonSummaryScreen_Anims_Markings", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_ContestStatDot", + "characters": "PokemonSummaryScreen_Chars_ContestStatDot", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_ContestStatDot", + "animations": "PokemonSummaryScreen_Anims_ContestStatDot", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon1", + "characters": "PokemonSummaryScreen_Chars_Ribbon1", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon2", + "characters": "PokemonSummaryScreen_Chars_Ribbon2", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon3", + "characters": "PokemonSummaryScreen_Chars_Ribbon3", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon4", + "characters": "PokemonSummaryScreen_Chars_Ribbon4", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon5", + "characters": "PokemonSummaryScreen_Chars_Ribbon5", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon6", + "characters": "PokemonSummaryScreen_Chars_Ribbon6", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon7", + "characters": "PokemonSummaryScreen_Chars_Ribbon7", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon8", + "characters": "PokemonSummaryScreen_Chars_Ribbon8", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon9", + "characters": "PokemonSummaryScreen_Chars_Ribbon9", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon10", + "characters": "PokemonSummaryScreen_Chars_Ribbon10", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon11", + "characters": "PokemonSummaryScreen_Chars_Ribbon11", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_Ribbon12", + "characters": "PokemonSummaryScreen_Chars_Ribbon12", + "palette": "PokemonSummaryScreen_Palette_Ribbons", + "cells": "PokemonSummaryScreen_Cells_Ribbons", + "animations": "PokemonSummaryScreen_Anims_Ribbons", + "vram_transfer": false, + "priority": 3 + }, + { + "id": "PokemonSummaryScreen_Template_RibbonCursor", + "characters": "PokemonSummaryScreen_Chars_RibbonCursor", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_RibbonCursor", + "animations": "PokemonSummaryScreen_Anims_RibbonCursor", + "vram_transfer": false, + "priority": 2 + }, + { + "id": "PokemonSummaryScreen_Template_RibbonArrow", + "characters": "PokemonSummaryScreen_Chars_RibbonArrow", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_RibbonArrow", + "animations": "PokemonSummaryScreen_Anims_RibbonArrow", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_RibbonFlash", + "characters": "PokemonSummaryScreen_Chars_RibbonFlash", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_RibbonFlash", + "animations": "PokemonSummaryScreen_Anims_RibbonFlash", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_ConditionFlash", + "characters": "PokemonSummaryScreen_Chars_ConditionFlash", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_ConditionFlash", + "animations": "PokemonSummaryScreen_Anims_ConditionFlash", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "PokemonSummaryScreen_Template_PokerusIcon", + "characters": "PokemonSummaryScreen_Chars_PokerusIcon", + "palette": "PokemonSummaryScreen_Palette_Shared", + "cells": "PokemonSummaryScreen_Cells_PokerusIcon", + "animations": "PokemonSummaryScreen_Anims_PokerusIcon", + "vram_transfer": false, + "priority": 3 + } + ] +} diff --git a/res/graphics/sprite_templates/shop_menu.json b/res/graphics/sprite_templates/shop_menu.json new file mode 100644 index 0000000000..56d97ed754 --- /dev/null +++ b/res/graphics/sprite_templates/shop_menu.json @@ -0,0 +1,117 @@ +{ + "characters": [ + { + "id": "ShopMenu_Chars_ScrollArrow", + "from_narc": "NARC_INDEX_GRAPHIC__SHOP_GRA", + "from_file": "scroll_arrow_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "ShopMenu_Chars_Cursor", + "from_narc": "NARC_INDEX_GRAPHIC__SHOP_GRA", + "from_file": "cursor_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "ShopMenu_Chars_ItemIcon", + "from_narc": "NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON", + "from_file": "master_ball_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + } + ], + "palettes": [ + { + "id": "ShopMenu_Palette_Sprites", + "from_narc": "NARC_INDEX_GRAPHIC__SHOP_GRA", + "from_file": "sprites_NCLR", + "load_in_slot": 2, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "ShopMenu_Palette_ItemIcon", + "from_narc": "NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON", + "from_file": "master_ball_NCLR", + "load_in_slot": 1, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + } + ], + "cells": [ + { + "id": "ShopMenu_Cells_ScrollArrow", + "from_narc": "NARC_INDEX_GRAPHIC__SHOP_GRA", + "from_file": "scroll_arrow_cell_NCER", + "compressed": false + }, + { + "id": "ShopMenu_Cells_Cursor", + "from_narc": "NARC_INDEX_GRAPHIC__SHOP_GRA", + "from_file": "cursor_cell_NCER", + "compressed": false + }, + { + "id": "ShopMenu_Cells_ItemIcon", + "from_narc": "NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON", + "from_file": "generic_cell_NCER", + "compressed": false + } + ], + "animations": [ + { + "id": "ShopMenu_Anims_ScrollArrow", + "from_narc": "NARC_INDEX_GRAPHIC__SHOP_GRA", + "from_file": "scroll_arrow_anim_NANR", + "compressed": false + }, + { + "id": "ShopMenu_Anims_Cursor", + "from_narc": "NARC_INDEX_GRAPHIC__SHOP_GRA", + "from_file": "cursor_anim_NANR", + "compressed": false + }, + { + "id": "ShopMenu_Anims_ItemIcon", + "from_narc": "NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON", + "from_file": "generic_anim_NANR", + "compressed": false + } + ], + "templates": [ + { + "id": "ShopMenu_Template_ScrollArrow", + "characters": "ShopMenu_Chars_ScrollArrow", + "palette": "ShopMenu_Palette_Sprites", + "cells": "ShopMenu_Cells_ScrollArrow", + "animations": "ShopMenu_Anims_ScrollArrow", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "ShopMenu_Template_Cursor", + "characters": "ShopMenu_Chars_Cursor", + "palette": "ShopMenu_Palette_Sprites", + "cells": "ShopMenu_Cells_Cursor", + "animations": "ShopMenu_Anims_Cursor", + "vram_transfer": false, + "priority": 1 + }, + { + "id": "ShopMenu_Template_ItemIcon", + "characters": "ShopMenu_Chars_ItemIcon", + "palette": "ShopMenu_Palette_ItemIcon", + "cells": "ShopMenu_Cells_ItemIcon", + "animations": "ShopMenu_Anims_ItemIcon", + "vram_transfer": false, + "priority": 1 + } + ] +} diff --git a/res/graphics/sprite_templates/tower_records.json b/res/graphics/sprite_templates/tower_records.json new file mode 100644 index 0000000000..9369c97ebb --- /dev/null +++ b/res/graphics/sprite_templates/tower_records.json @@ -0,0 +1,50 @@ +{ + "characters": [ + { + "id": "TowerRecords_Chars_Interface", + "from_narc": "NARC_INDEX_GRAPHIC__BTOWER", + "from_file": "sprites_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + } + ], + "palettes": [ + { + "id": "TowerRecords_Palette_Interface", + "from_narc": "NARC_INDEX_GRAPHIC__BTOWER", + "from_file": "sprites_NCLR", + "load_in_slot": 2, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + } + ], + "cells": [ + { + "id": "TowerRecords_Cells_Interface", + "from_narc": "NARC_INDEX_GRAPHIC__BTOWER", + "from_file": "sprites_cell_NCER", + "compressed": false + } + ], + "animations": [ + { + "id": "TowerRecords_Anims_Interface", + "from_narc": "NARC_INDEX_GRAPHIC__BTOWER", + "from_file": "sprites_anim_NANR", + "compressed": false + } + ], + "templates": [ + { + "id": "TowerRecords_Template_Interface", + "characters": "TowerRecords_Chars_Interface", + "palette": "TowerRecords_Palette_Interface", + "cells": "TowerRecords_Cells_Interface", + "animations": "TowerRecords_Anims_Interface", + "vram_transfer": false, + "priority": 0 + } + ] +} diff --git a/res/graphics/sprite_templates/town_map.json b/res/graphics/sprite_templates/town_map.json new file mode 100644 index 0000000000..9c377eec10 --- /dev/null +++ b/res/graphics/sprite_templates/town_map.json @@ -0,0 +1,175 @@ +{ + "characters": [ + { + "id": "TownMap_Chars_ZoomButtonShockwave", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "zoom_button_shockwave_NCGR", + "compressed": false, + "on_main_screen": false, + "on_sub_screen": true + }, + { + "id": "TownMap_Chars_Cursor", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "cursor_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "TownMap_Chars_PlayerIcons", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "player_icons_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "TownMap_Chars_LocationHistoryDot", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "location_history_dot_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "TownMap_Chars_FlyDestinationBlocks", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "fly_destination_blocks_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + } + ], + "palettes": [ + { + "id": "TownMap_Palette_Shareds", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "top_screen_sprites_NCLR", + "load_in_slot": 10, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + }, + { + "id": "TownMap_Palette_ZoomButtonShockwaves", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "zoom_button_shockwave_NCLR", + "load_in_slot": 1, + "compressed": false, + "on_main_screen": false, + "on_sub_screen": true + } + ], + "cells": [ + { + "id": "TownMap_Cells_ZoomButtonShockwave", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "zoom_button_shockwave_cell_NCER", + "compressed": false + }, + { + "id": "TownMap_Cells_Cursor", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "cursor_cell_NCER", + "compressed": false + }, + { + "id": "TownMap_Cells_PlayerIcons", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "player_icons_cell_NCER", + "compressed": false + }, + { + "id": "TownMap_Cells_LocationHistoryDot", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "location_history_dot_cell_NCER", + "compressed": false + }, + { + "id": "TownMap_Cells_FlyDestinationBlocks", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "fly_destination_blocks_cell_NCER", + "compressed": false + } + ], + "animations": [ + { + "id": "TownMap_Anims_ZoomButtonShockwave", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "zoom_button_shockwave_anim_NANR", + "compressed": false + }, + { + "id": "TownMap_Anims_Cursor", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "cursor_anim_NANR", + "compressed": false + }, + { + "id": "TownMap_Anims_PlayerIcons", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "player_icons_anim_NANR", + "compressed": false + }, + { + "id": "TownMap_Anims_LocationHistoryDot", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "location_history_dot_anim_NANR", + "compressed": false + }, + { + "id": "TownMap_Anims_FlyDestinationBlocks", + "from_narc": "NARC_INDEX_GRAPHIC__TMAP_GRA", + "from_file": "fly_destination_blocks_anim_NANR", + "compressed": false + } + ], + "templates": [ + { + "id": "TownMap_Template_ZoomButtonShockwave", + "characters": "TownMap_Chars_ZoomButtonShockwave", + "palette": "TownMap_Palette_ZoomButtonShockwaves", + "cells": "TownMap_Cells_ZoomButtonShockwave", + "animations": "TownMap_Anims_ZoomButtonShockwave", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "TownMap_Template_Cursor", + "characters": "TownMap_Chars_Cursor", + "palette": "TownMap_Palette_Shareds", + "cells": "TownMap_Cells_Cursor", + "animations": "TownMap_Anims_Cursor", + "vram_transfer": false, + "priority": 2 + }, + { + "id": "TownMap_Template_PlayerIcons", + "characters": "TownMap_Chars_PlayerIcons", + "palette": "TownMap_Palette_Shareds", + "cells": "TownMap_Cells_PlayerIcons", + "animations": "TownMap_Anims_PlayerIcons", + "vram_transfer": false, + "priority": 2 + }, + { + "id": "TownMap_Template_LocationHistoryDot", + "characters": "TownMap_Chars_LocationHistoryDot", + "palette": "TownMap_Palette_Shareds", + "cells": "TownMap_Cells_LocationHistoryDot", + "animations": "TownMap_Anims_LocationHistoryDot", + "vram_transfer": false, + "priority": 2 + }, + { + "id": "TownMap_Template_FlyDestinationBlocks", + "characters": "TownMap_Chars_FlyDestinationBlocks", + "palette": "TownMap_Palette_Shareds", + "cells": "TownMap_Cells_FlyDestinationBlocks", + "animations": "TownMap_Anims_FlyDestinationBlocks", + "vram_transfer": false, + "priority": 2 + } + ] +} diff --git a/res/graphics/sprite_templates/underground_map_transition.json b/res/graphics/sprite_templates/underground_map_transition.json new file mode 100644 index 0000000000..d451f4eab8 --- /dev/null +++ b/res/graphics/sprite_templates/underground_map_transition.json @@ -0,0 +1,79 @@ +{ + "characters": [ + { + "id": "UndergroundMapTransition_Chars_Player", + "from_narc": "NARC_INDEX_DATA__UGEFFECT_OBJ_GRAPHIC", + "from_file": [ "lucas_NCGR", "dawn_NCGR" ], + "compressed": false, + "on_main_screen": true, + "on_sub_screen": true + }, + { + "id": "UndergroundMapTransition_Chars_Hole", + "from_narc": "NARC_INDEX_DATA__UGEFFECT_OBJ_GRAPHIC", + "from_file": "hole_NCGR", + "compressed": false, + "on_main_screen": true, + "on_sub_screen": false + } + ], + "palettes": [ + { + "id": "UndergroundMapTransition_Palette_Shared", + "from_narc": "NARC_INDEX_DATA__UGEFFECT_OBJ_GRAPHIC", + "from_file": [ "lucas_NCLR", "dawn_NCLR" ], + "load_in_slot": 1, + "compressed": false, + "on_main_screen": true, + "on_sub_screen": true + } + ], + "cells": [ + { + "id": "UndergroundMapTransition_Cells_Player", + "from_narc": "NARC_INDEX_DATA__UGEFFECT_OBJ_GRAPHIC", + "from_file": "player_cell_NCER", + "compressed": false + }, + { + "id": "UndergroundMapTransition_Cells_Hole", + "from_narc": "NARC_INDEX_DATA__UGEFFECT_OBJ_GRAPHIC", + "from_file": "hole_cell_NCER", + "compressed": false + } + ], + "animations": [ + { + "id": "UndergroundMapTransition_Anims_Player", + "from_narc": "NARC_INDEX_DATA__UGEFFECT_OBJ_GRAPHIC", + "from_file": "player_anim_NANR", + "compressed": false + }, + { + "id": "UndergroundMapTransition_Anims_Hole", + "from_narc": "NARC_INDEX_DATA__UGEFFECT_OBJ_GRAPHIC", + "from_file": "hole_anim_NANR", + "compressed": false + } + ], + "templates": [ + { + "id": "UndergroundMapTransition_Template_Player", + "characters": "UndergroundMapTransition_Chars_Player", + "palette": "UndergroundMapTransition_Palette_Shared", + "cells": "UndergroundMapTransition_Cells_Player", + "animations": "UndergroundMapTransition_Anims_Player", + "vram_transfer": false, + "priority": 0 + }, + { + "id": "UndergroundMapTransition_Template_Hole", + "characters": "UndergroundMapTransition_Chars_Hole", + "palette": "UndergroundMapTransition_Palette_Shared", + "cells": "UndergroundMapTransition_Cells_Hole", + "animations": "UndergroundMapTransition_Anims_Hole", + "vram_transfer": false, + "priority": 0 + } + ] +} diff --git a/res/prebuilt/data/btower_canm.resdat b/res/prebuilt/data/btower_canm.resdat deleted file mode 100644 index de23ecf4aa..0000000000 Binary files a/res/prebuilt/data/btower_canm.resdat and /dev/null differ diff --git a/res/prebuilt/data/btower_celact.cldat b/res/prebuilt/data/btower_celact.cldat deleted file mode 100644 index 305346c69c..0000000000 Binary files a/res/prebuilt/data/btower_celact.cldat and /dev/null differ diff --git a/res/prebuilt/data/btower_cell.resdat b/res/prebuilt/data/btower_cell.resdat deleted file mode 100644 index c5f621d64f..0000000000 Binary files a/res/prebuilt/data/btower_cell.resdat and /dev/null differ diff --git a/res/prebuilt/data/btower_chr.resdat b/res/prebuilt/data/btower_chr.resdat deleted file mode 100644 index 28b2b8828a..0000000000 Binary files a/res/prebuilt/data/btower_chr.resdat and /dev/null differ diff --git a/res/prebuilt/data/btower_pal.resdat b/res/prebuilt/data/btower_pal.resdat deleted file mode 100644 index 73591f905d..0000000000 Binary files a/res/prebuilt/data/btower_pal.resdat and /dev/null differ diff --git a/res/prebuilt/data/meson.build b/res/prebuilt/data/meson.build index 04d5abab4a..09dde1b396 100644 --- a/res/prebuilt/data/meson.build +++ b/res/prebuilt/data/meson.build @@ -3,11 +3,6 @@ subdir('sound') prebuilt_files = [ 'battle_win.NSCR', - 'btower_canm.resdat', - 'btower_celact.cldat', - 'btower_cell.resdat', - 'btower_chr.resdat', - 'btower_pal.resdat', 'cell0.NCGR', 'cell0.NCLR', 'clact_default.NANR', @@ -57,26 +52,6 @@ prebuilt_files = [ 'pl_wm.ncgr', 'pl_wm.nclr', 'plbr.dat', - 'plist_canm.resdat', - 'plist_cell.resdat', - 'plist_chr.resdat', - 'plist_h.cldat', - 'plist_pal.resdat', - 'porucase_canm.resdat', - 'porucase_celact.cldat', - 'porucase_cell.resdat', - 'porucase_chr.resdat', - 'porucase_pal.resdat', - 'pst_canm.resdat', - 'pst_cell.resdat', - 'pst_chr.resdat', - 'pst_h.cldat', - 'pst_pal.resdat', - 'shop_canm.resdat', - 'shop_cell.resdat', - 'shop_chr.resdat', - 'shop_h.cldat', - 'shop_pal.resdat', 'slot.narc', 'smptm_koori.NANR', 'smptm_koori.NCER', @@ -92,12 +67,7 @@ prebuilt_files = [ 't3_fl_r.nsbtx', 't3_fl_y.nsbtx', 'test.atr', - 'tmapn_canm.resdat', - 'tmapn_celact.cldat', 'tmapn_celact.txt', - 'tmapn_cell.resdat', - 'tmapn_chr.resdat', - 'tmapn_pal.resdat', 'tmapn_res_canm.txt', 'tmapn_res_cell.txt', 'tmapn_res_chr.txt', @@ -115,13 +85,6 @@ prebuilt_files = [ 'ug_hole.NCER', 'ug_hole.NCGR', 'ug_radar.narc', - 'uground_cell.resdat', - 'uground_cellanm.resdat', - 'uground_char.resdat', - 'uground_char2.resdat', - 'uground_clact.cldat', - 'uground_pltt.resdat', - 'uground_pltt2.resdat', 'ugroundeffect.naix', 'ugroundeffect.narc', 'UTF16.dat', diff --git a/res/prebuilt/data/plist_canm.resdat b/res/prebuilt/data/plist_canm.resdat deleted file mode 100644 index 7998bb77a6..0000000000 Binary files a/res/prebuilt/data/plist_canm.resdat and /dev/null differ diff --git a/res/prebuilt/data/plist_cell.resdat b/res/prebuilt/data/plist_cell.resdat deleted file mode 100644 index f6d66e44fd..0000000000 Binary files a/res/prebuilt/data/plist_cell.resdat and /dev/null differ diff --git a/res/prebuilt/data/plist_chr.resdat b/res/prebuilt/data/plist_chr.resdat deleted file mode 100644 index f488f6c1b3..0000000000 Binary files a/res/prebuilt/data/plist_chr.resdat and /dev/null differ diff --git a/res/prebuilt/data/plist_h.cldat b/res/prebuilt/data/plist_h.cldat deleted file mode 100644 index 42b38f0000..0000000000 Binary files a/res/prebuilt/data/plist_h.cldat and /dev/null differ diff --git a/res/prebuilt/data/plist_pal.resdat b/res/prebuilt/data/plist_pal.resdat deleted file mode 100644 index e231b00553..0000000000 Binary files a/res/prebuilt/data/plist_pal.resdat and /dev/null differ diff --git a/res/prebuilt/data/porucase_canm.resdat b/res/prebuilt/data/porucase_canm.resdat deleted file mode 100644 index 74111cb38d..0000000000 Binary files a/res/prebuilt/data/porucase_canm.resdat and /dev/null differ diff --git a/res/prebuilt/data/porucase_celact.cldat b/res/prebuilt/data/porucase_celact.cldat deleted file mode 100644 index f11ac63d0b..0000000000 Binary files a/res/prebuilt/data/porucase_celact.cldat and /dev/null differ diff --git a/res/prebuilt/data/porucase_cell.resdat b/res/prebuilt/data/porucase_cell.resdat deleted file mode 100644 index 4673d887aa..0000000000 Binary files a/res/prebuilt/data/porucase_cell.resdat and /dev/null differ diff --git a/res/prebuilt/data/porucase_chr.resdat b/res/prebuilt/data/porucase_chr.resdat deleted file mode 100644 index b523541966..0000000000 Binary files a/res/prebuilt/data/porucase_chr.resdat and /dev/null differ diff --git a/res/prebuilt/data/porucase_pal.resdat b/res/prebuilt/data/porucase_pal.resdat deleted file mode 100644 index e81b8a0368..0000000000 Binary files a/res/prebuilt/data/porucase_pal.resdat and /dev/null differ diff --git a/res/prebuilt/data/pst_canm.resdat b/res/prebuilt/data/pst_canm.resdat deleted file mode 100644 index be73164340..0000000000 Binary files a/res/prebuilt/data/pst_canm.resdat and /dev/null differ diff --git a/res/prebuilt/data/pst_cell.resdat b/res/prebuilt/data/pst_cell.resdat deleted file mode 100644 index 807985c43a..0000000000 Binary files a/res/prebuilt/data/pst_cell.resdat and /dev/null differ diff --git a/res/prebuilt/data/pst_chr.resdat b/res/prebuilt/data/pst_chr.resdat deleted file mode 100644 index 7872a2e33b..0000000000 Binary files a/res/prebuilt/data/pst_chr.resdat and /dev/null differ diff --git a/res/prebuilt/data/pst_h.cldat b/res/prebuilt/data/pst_h.cldat deleted file mode 100644 index df404aa288..0000000000 Binary files a/res/prebuilt/data/pst_h.cldat and /dev/null differ diff --git a/res/prebuilt/data/pst_pal.resdat b/res/prebuilt/data/pst_pal.resdat deleted file mode 100644 index 7a43de5c0b..0000000000 Binary files a/res/prebuilt/data/pst_pal.resdat and /dev/null differ diff --git a/res/prebuilt/data/shop_canm.resdat b/res/prebuilt/data/shop_canm.resdat deleted file mode 100644 index b224e5a020..0000000000 Binary files a/res/prebuilt/data/shop_canm.resdat and /dev/null differ diff --git a/res/prebuilt/data/shop_cell.resdat b/res/prebuilt/data/shop_cell.resdat deleted file mode 100644 index 73f2e83a86..0000000000 Binary files a/res/prebuilt/data/shop_cell.resdat and /dev/null differ diff --git a/res/prebuilt/data/shop_chr.resdat b/res/prebuilt/data/shop_chr.resdat deleted file mode 100644 index e37bd1928e..0000000000 Binary files a/res/prebuilt/data/shop_chr.resdat and /dev/null differ diff --git a/res/prebuilt/data/shop_h.cldat b/res/prebuilt/data/shop_h.cldat deleted file mode 100644 index 68131a94bb..0000000000 Binary files a/res/prebuilt/data/shop_h.cldat and /dev/null differ diff --git a/res/prebuilt/data/shop_pal.resdat b/res/prebuilt/data/shop_pal.resdat deleted file mode 100644 index 144b72a1b4..0000000000 Binary files a/res/prebuilt/data/shop_pal.resdat and /dev/null differ diff --git a/res/prebuilt/data/tmapn_canm.resdat b/res/prebuilt/data/tmapn_canm.resdat deleted file mode 100644 index c709590de5..0000000000 Binary files a/res/prebuilt/data/tmapn_canm.resdat and /dev/null differ diff --git a/res/prebuilt/data/tmapn_celact.cldat b/res/prebuilt/data/tmapn_celact.cldat deleted file mode 100644 index e0bc32d496..0000000000 Binary files a/res/prebuilt/data/tmapn_celact.cldat and /dev/null differ diff --git a/res/prebuilt/data/tmapn_cell.resdat b/res/prebuilt/data/tmapn_cell.resdat deleted file mode 100644 index 1031364239..0000000000 Binary files a/res/prebuilt/data/tmapn_cell.resdat and /dev/null differ diff --git a/res/prebuilt/data/tmapn_chr.resdat b/res/prebuilt/data/tmapn_chr.resdat deleted file mode 100644 index 2949693e30..0000000000 Binary files a/res/prebuilt/data/tmapn_chr.resdat and /dev/null differ diff --git a/res/prebuilt/data/tmapn_pal.resdat b/res/prebuilt/data/tmapn_pal.resdat deleted file mode 100644 index 52f9ac60ad..0000000000 Binary files a/res/prebuilt/data/tmapn_pal.resdat and /dev/null differ diff --git a/res/prebuilt/data/uground_cell.resdat b/res/prebuilt/data/uground_cell.resdat deleted file mode 100644 index 4e12166a42..0000000000 Binary files a/res/prebuilt/data/uground_cell.resdat and /dev/null differ diff --git a/res/prebuilt/data/uground_cellanm.resdat b/res/prebuilt/data/uground_cellanm.resdat deleted file mode 100644 index 022287ce18..0000000000 Binary files a/res/prebuilt/data/uground_cellanm.resdat and /dev/null differ diff --git a/res/prebuilt/data/uground_char.resdat b/res/prebuilt/data/uground_char.resdat deleted file mode 100644 index f6a37dd3b5..0000000000 Binary files a/res/prebuilt/data/uground_char.resdat and /dev/null differ diff --git a/res/prebuilt/data/uground_char2.resdat b/res/prebuilt/data/uground_char2.resdat deleted file mode 100644 index 5fe459e7b4..0000000000 Binary files a/res/prebuilt/data/uground_char2.resdat and /dev/null differ diff --git a/res/prebuilt/data/uground_clact.cldat b/res/prebuilt/data/uground_clact.cldat deleted file mode 100644 index 6705fa449c..0000000000 Binary files a/res/prebuilt/data/uground_clact.cldat and /dev/null differ diff --git a/res/prebuilt/data/uground_pltt.resdat b/res/prebuilt/data/uground_pltt.resdat deleted file mode 100644 index 207223608f..0000000000 Binary files a/res/prebuilt/data/uground_pltt.resdat and /dev/null differ diff --git a/res/prebuilt/data/uground_pltt2.resdat b/res/prebuilt/data/uground_pltt2.resdat deleted file mode 100644 index a8db7df5be..0000000000 Binary files a/res/prebuilt/data/uground_pltt2.resdat and /dev/null differ diff --git a/src/applications/party_menu/sprites.c b/src/applications/party_menu/sprites.c index 0643232c80..4826e9eee2 100644 --- a/src/applications/party_menu/sprites.c +++ b/src/applications/party_menu/sprites.c @@ -25,6 +25,8 @@ #include "unk_0208C098.h" #include "vram_transfer.h" +#include "res/graphics/sprite_templates/party_menu.h" + void PartyMenu_InitSpriteResources(PartyMenuApplication *application) { GXLayers_EngineAToggleLayers(GX_PLANEMASK_OBJ, TRUE); @@ -87,7 +89,7 @@ void PartyMenu_DrawMemberSpeciesIcon(PartyMenuApplication *application, u8 slot, u32 isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); SpriteTemplateFromResourceHeader template; - template.resourceHeaderID = 4 + slot; + template.resourceHeaderID = PartyMenu_Template_MemberIcon0 + slot; template.x = x; template.y = y; template.z = 0; @@ -148,12 +150,12 @@ enum { SPRITE_TEMPLATE_BALL_SEAL_MEMB3, SPRITE_TEMPLATE_BALL_SEAL_MEMB4, SPRITE_TEMPLATE_BALL_SEAL_MEMB5, - SPRITE_TEMPLATE_UNK_22, + SPRITE_TEMPLATE_TOUCH_BUTTON_EFFECT, }; static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { [SPRITE_TEMPLATE_CURSOR_NORMAL] = { - .resourceHeaderID = 1, + .resourceHeaderID = PartyMenu_Template_Cursor, .x = 64, .y = 24, .z = 0, @@ -163,7 +165,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_CURSOR_SWITCH] = { - .resourceHeaderID = 1, + .resourceHeaderID = PartyMenu_Template_Cursor, .x = 64, .y = 72, .z = 0, @@ -173,7 +175,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_CONFIRM_BUTTON] = { - .resourceHeaderID = 2, + .resourceHeaderID = PartyMenu_Template_Button, .x = 232, .y = 168, .z = 0, @@ -183,7 +185,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_CANCEL_BUTTON] = { - .resourceHeaderID = 2, + .resourceHeaderID = PartyMenu_Template_Button, .x = 232, .y = 184, .z = 0, @@ -193,7 +195,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_STATUS_ICON_MEMB0] = { - .resourceHeaderID = 3, + .resourceHeaderID = PartyMenu_Template_StatusIcons, .x = 36, .y = 44, .z = 0, @@ -203,7 +205,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_STATUS_ICON_MEMB1] = { - .resourceHeaderID = 3, + .resourceHeaderID = PartyMenu_Template_StatusIcons, .x = 164, .y = 52, .z = 0, @@ -213,7 +215,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_STATUS_ICON_MEMB2] = { - .resourceHeaderID = 3, + .resourceHeaderID = PartyMenu_Template_StatusIcons, .x = 36, .y = 92, .z = 0, @@ -223,7 +225,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_STATUS_ICON_MEMB3] = { - .resourceHeaderID = 3, + .resourceHeaderID = PartyMenu_Template_StatusIcons, .x = 164, .y = 100, .z = 0, @@ -233,7 +235,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_STATUS_ICON_MEMB4] = { - .resourceHeaderID = 3, + .resourceHeaderID = PartyMenu_Template_StatusIcons, .x = 36, .y = 140, .z = 0, @@ -243,7 +245,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_STATUS_ICON_MEMB5] = { - .resourceHeaderID = 3, + .resourceHeaderID = PartyMenu_Template_StatusIcons, .x = 164, .y = 148, .z = 0, @@ -253,7 +255,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_HELD_ITEM_MEMB0] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -263,7 +265,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_HELD_ITEM_MEMB1] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -273,7 +275,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_HELD_ITEM_MEMB2] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -283,7 +285,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_HELD_ITEM_MEMB3] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -293,7 +295,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_HELD_ITEM_MEMB4] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -303,7 +305,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_HELD_ITEM_MEMB5] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -313,7 +315,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_BALL_SEAL_MEMB0] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -323,7 +325,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_BALL_SEAL_MEMB1] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -333,7 +335,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_BALL_SEAL_MEMB2] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -343,7 +345,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_BALL_SEAL_MEMB3] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -353,7 +355,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_BALL_SEAL_MEMB4] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -363,7 +365,7 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SPRITE_TEMPLATE_BALL_SEAL_MEMB5] = { - .resourceHeaderID = 10, + .resourceHeaderID = PartyMenu_Template_HeldIcons, .x = 164, .y = 148, .z = 0, @@ -372,8 +374,8 @@ static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { .plttIdx = 6, .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, - [SPRITE_TEMPLATE_UNK_22] = { - .resourceHeaderID = 11, + [SPRITE_TEMPLATE_TOUCH_BUTTON_EFFECT] = { + .resourceHeaderID = PartyMenu_Template_TouchButtonEffect, .x = 164, .y = 148, .z = 0, @@ -398,7 +400,7 @@ void PartyMenu_InitSprites(PartyMenuApplication *application) LoadSpriteFromResourceHeader(PARTY_MENU_SPRITE_CURSOR_SWITCH, SPRITE_TEMPLATE_CURSOR_SWITCH); LoadSpriteFromResourceHeader(PARTY_MENU_SPRITE_CONFIRM_BUTTON, SPRITE_TEMPLATE_CONFIRM_BUTTON); LoadSpriteFromResourceHeader(PARTY_MENU_SPRITE_CANCEL_BUTTON, SPRITE_TEMPLATE_CANCEL_BUTTON); - LoadSpriteFromResourceHeader(PARTY_MENU_SPRITE_TOUCH_BUTTON_EFFECT, SPRITE_TEMPLATE_UNK_22); + LoadSpriteFromResourceHeader(PARTY_MENU_SPRITE_TOUCH_BUTTON_EFFECT, SPRITE_TEMPLATE_TOUCH_BUTTON_EFFECT); for (u32 i = 0; i < MAX_PARTY_SIZE; i++) { LoadSpriteFromResourceHeader(PARTY_MENU_SPRITE_STATUS_ICON_MEMB0 + i, SPRITE_TEMPLATE_STATUS_ICON_MEMB0 + i); diff --git a/src/applications/poffin_case/manager.c b/src/applications/poffin_case/manager.c index 6f300e3e0a..0ad8e8eb8c 100644 --- a/src/applications/poffin_case/manager.c +++ b/src/applications/poffin_case/manager.c @@ -33,6 +33,7 @@ #include "vram_transfer.h" #include "res/graphics/poffin_case/poru_gra.naix" +#include "res/graphics/sprite_templates/poffin_case.h" #include "res/text/bank/poffin_case.h" typedef enum PoffinManagerState { @@ -705,18 +706,71 @@ static void FreeMessages(PoffinManager *app) Font_Free(FONT_SUBSCREEN); } +enum { + SPRITE_TEMPLATE_LIST_0, + SPRITE_TEMPLATE_LIST_1, + SPRITE_TEMPLATE_LIST_2, + SPRITE_TEMPLATE_FLAVOR_ICON, + SPRITE_TEMPLATE_FLAVOR_BUTTON, +}; + +static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { + [SPRITE_TEMPLATE_LIST_0] = { + .resourceHeaderID = PoffinCase_Template_TopScreen, + .x = 105, + .y = 40, + .z = 0, + .animIdx = 0, + .priority = 1, + .plttIdx = 0, + .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, + }, + [SPRITE_TEMPLATE_LIST_1] = { + .resourceHeaderID = PoffinCase_Template_TopScreen, + .x = 80, + .y = 18, + .z = 0, + .animIdx = 1, + .priority = 2, + .plttIdx = 0, + .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, + }, + [SPRITE_TEMPLATE_LIST_2] = { + .resourceHeaderID = PoffinCase_Template_TopScreen, + .x = 80, + .y = 140, + .z = 0, + .animIdx = 2, + .priority = 2, + .plttIdx = 0, + .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, + }, + [SPRITE_TEMPLATE_FLAVOR_ICON] = { + .resourceHeaderID = PoffinCase_Template_TopScreen, + .x = 10, + .y = 100, + .z = 0, + .animIdx = 3, + .priority = 3, + .plttIdx = 1, + .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, + }, + [SPRITE_TEMPLATE_FLAVOR_BUTTON] = { + .resourceHeaderID = PoffinCase_Template_BottomScreen, + .x = 10, + .y = 100, + .z = 0, + .animIdx = 0, + .priority = 1, + .plttIdx = 2, + .vramType = NNS_G2D_VRAM_TYPE_2DSUB, + }, +}; + static void InitSprites(PoffinManager *app) { - static const SpriteTemplateFromResourceHeader templates[] = { - { 0, 105, 40, 0, 0, 1, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 0, 0, 0, 0 }, - { 0, 80, 18, 0, 1, 2, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 0, 0, 0, 0 }, - { 0, 80, 140, 0, 2, 2, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 0, 0, 0, 0 }, - { 0, 10, 100, 0, 3, 3, 1, NNS_G2D_VRAM_TYPE_2DMAIN, 0, 0, 0, 0 }, - { 1, 10, 100, 0, 0, 1, 2, NNS_G2D_VRAM_TYPE_2DSUB, 0, 0, 0, 0 } - }; - for (int i = 0; i < NUM_LIST_SPRITES; i++) { - app->listSprites[i] = SpriteSystem_NewSpriteFromResourceHeader(app->spriteSys, app->spriteMan, &templates[i]); + app->listSprites[i] = SpriteSystem_NewSpriteFromResourceHeader(app->spriteSys, app->spriteMan, &sSpriteTemplates[i]); Sprite_SetDrawFlag(app->listSprites[i], TRUE); } @@ -735,7 +789,7 @@ static void InitSprites(PoffinManager *app) [FLAVOR_SOUR] = { 26, 165 } }; - app->flavorSprites[i] = SpriteSystem_NewSpriteFromResourceHeader(app->spriteSys, app->spriteMan, &templates[3]); + app->flavorSprites[i] = SpriteSystem_NewSpriteFromResourceHeader(app->spriteSys, app->spriteMan, &sSpriteTemplates[SPRITE_TEMPLATE_FLAVOR_ICON]); Sprite_SetDrawFlag(app->flavorSprites[i], TRUE); Sprite_SetAnim(app->flavorSprites[i], i + 3); @@ -754,7 +808,7 @@ static void InitSprites(PoffinManager *app) [FLAVOR_MAX] = { 128, 116 } }; - app->buttonSprites[i] = SpriteSystem_NewSpriteFromResourceHeader(app->spriteSys, app->spriteMan, &templates[4]); + app->buttonSprites[i] = SpriteSystem_NewSpriteFromResourceHeader(app->spriteSys, app->spriteMan, &sSpriteTemplates[SPRITE_TEMPLATE_FLAVOR_BUTTON]); Sprite_SetDrawFlag(app->buttonSprites[i], TRUE); Sprite_SetAnim(app->buttonSprites[i], i * 3); diff --git a/src/applications/pokemon_summary_screen/sprites.c b/src/applications/pokemon_summary_screen/sprites.c index c0750e5d39..1ae5ccdd7d 100644 --- a/src/applications/pokemon_summary_screen/sprites.c +++ b/src/applications/pokemon_summary_screen/sprites.c @@ -22,6 +22,7 @@ #include "vram_transfer.h" #include "res/graphics/pokemon_summary_screen/pl_pst_gra.naix" +#include "res/graphics/sprite_templates/pokemon_summary_screen.h" static void SetTypeIcon(PokemonSummaryScreen *summaryScreen, u8 spriteIndex, u8 param2, u8 type); static void SetMonAndTypeIcons(PokemonSummaryScreen *summaryScreen); @@ -121,7 +122,7 @@ enum ConditionFlashBounds { static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = { [SUMMARY_SPRITE_TAB_INFO] = { - .resourceHeaderID = 1, + .resourceHeaderID = PokemonSummaryScreen_Template_Tabs, .x = 128, .y = 24, .z = 0, @@ -131,7 +132,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_TAB_MEMO] = { - .resourceHeaderID = 1, + .resourceHeaderID = PokemonSummaryScreen_Template_Tabs, .x = 144, .y = 24, .z = 0, @@ -141,7 +142,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_TAB_SKILLS] = { - .resourceHeaderID = 1, + .resourceHeaderID = PokemonSummaryScreen_Template_Tabs, .x = 160, .y = 24, .z = 0, @@ -151,7 +152,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_TAB_BATTLE_MOVES] = { - .resourceHeaderID = 1, + .resourceHeaderID = PokemonSummaryScreen_Template_Tabs, .x = 176, .y = 24, .z = 0, @@ -161,7 +162,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_TAB_CONDITION] = { - .resourceHeaderID = 1, + .resourceHeaderID = PokemonSummaryScreen_Template_Tabs, .x = 192, .y = 24, .z = 0, @@ -171,7 +172,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_TAB_CONTEST_MOVES] = { - .resourceHeaderID = 1, + .resourceHeaderID = PokemonSummaryScreen_Template_Tabs, .x = 208, .y = 24, .z = 0, @@ -181,7 +182,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_TAB_RIBBONS] = { - .resourceHeaderID = 1, + .resourceHeaderID = PokemonSummaryScreen_Template_Tabs, .x = 224, .y = 24, .z = 0, @@ -191,7 +192,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_TAB_EXIT] = { - .resourceHeaderID = 1, + .resourceHeaderID = PokemonSummaryScreen_Template_Tabs, .x = 240, .y = 24, .z = 0, @@ -201,7 +202,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CAUGHT_BALL] = { - .resourceHeaderID = 0, + .resourceHeaderID = PokemonSummaryScreen_Template_CaughtBall, .x = 16, .y = 32, .z = 0, @@ -211,7 +212,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MOVE_SELECTOR_1] = { - .resourceHeaderID = 2, + .resourceHeaderID = PokemonSummaryScreen_Template_MoveSelectCursor, .x = 194, .y = 48, .z = 0, @@ -221,7 +222,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MOVE_SELECTOR_2] = { - .resourceHeaderID = 2, + .resourceHeaderID = PokemonSummaryScreen_Template_MoveSelectCursor, .x = 194, .y = 48, .z = 0, @@ -231,7 +232,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MON_TYPE_ICON_1] = { - .resourceHeaderID = 3, + .resourceHeaderID = PokemonSummaryScreen_Template_MonTypeIcon1, .x = 0, .y = 0, .z = 0, @@ -241,7 +242,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MON_TYPE_ICON_2] = { - .resourceHeaderID = 4, + .resourceHeaderID = PokemonSummaryScreen_Template_MonTypeIcon2, .x = 0, .y = 0, .z = 0, @@ -251,7 +252,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MOVE_TYPE_ICON_1] = { - .resourceHeaderID = 5, + .resourceHeaderID = PokemonSummaryScreen_Template_MoveTypeIcon1, .x = 0, .y = 0, .z = 0, @@ -261,7 +262,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MOVE_TYPE_ICON_2] = { - .resourceHeaderID = 6, + .resourceHeaderID = PokemonSummaryScreen_Template_MoveTypeIcon2, .x = 0, .y = 0, .z = 0, @@ -271,7 +272,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MOVE_TYPE_ICON_3] = { - .resourceHeaderID = 7, + .resourceHeaderID = PokemonSummaryScreen_Template_MoveTypeIcon3, .x = 0, .y = 0, .z = 0, @@ -281,7 +282,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MOVE_TYPE_ICON_4] = { - .resourceHeaderID = 8, + .resourceHeaderID = PokemonSummaryScreen_Template_MoveTypeIcon4, .x = 0, .y = 0, .z = 0, @@ -291,7 +292,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MOVE_TYPE_ICON_5] = { - .resourceHeaderID = 9, + .resourceHeaderID = PokemonSummaryScreen_Template_MoveTypeIcon5, .x = 0, .y = 0, .z = 0, @@ -301,7 +302,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MOVE_CATEGORY_ICON] = { - .resourceHeaderID = 10, + .resourceHeaderID = PokemonSummaryScreen_Template_CategoryIcon, .x = 0, .y = 0, .z = 0, @@ -311,7 +312,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MON_ICON] = { - .resourceHeaderID = 11, + .resourceHeaderID = PokemonSummaryScreen_Template_MonIcon, .x = 24, .y = 48, .z = 0, @@ -321,7 +322,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_STATUS_ICON] = { - .resourceHeaderID = 12, + .resourceHeaderID = PokemonSummaryScreen_Template_StatusIcon, .x = 80, .y = 52, .z = 0, @@ -331,7 +332,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_PAGE_ARROW_LEFT] = { - .resourceHeaderID = 14, + .resourceHeaderID = PokemonSummaryScreen_Template_TabArrow, .x = 0, .y = 24, .z = 0, @@ -341,7 +342,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_PAGE_ARROW_RIGHT] = { - .resourceHeaderID = 14, + .resourceHeaderID = PokemonSummaryScreen_Template_TabArrow, .x = 0, .y = 24, .z = 0, @@ -351,7 +352,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MARKING_CIRCLE] = { - .resourceHeaderID = 18, + .resourceHeaderID = PokemonSummaryScreen_Template_MarkingCircle, .x = 48, .y = 150, .z = 0, @@ -361,7 +362,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MARKING_TRIANGLE] = { - .resourceHeaderID = 19, + .resourceHeaderID = PokemonSummaryScreen_Template_MarkingTriangle, .x = 56, .y = 150, .z = 0, @@ -371,7 +372,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MARKING_SQUARE] = { - .resourceHeaderID = 20, + .resourceHeaderID = PokemonSummaryScreen_Template_MarkingSquare, .x = 64, .y = 150, .z = 0, @@ -381,7 +382,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MARKING_HEART] = { - .resourceHeaderID = 21, + .resourceHeaderID = PokemonSummaryScreen_Template_MarkingHeart, .x = 72, .y = 150, .z = 0, @@ -391,7 +392,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MARKING_STAR] = { - .resourceHeaderID = 22, + .resourceHeaderID = PokemonSummaryScreen_Template_MarkingStar, .x = 80, .y = 150, .z = 0, @@ -401,7 +402,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_MARKING_DIAMOND] = { - .resourceHeaderID = 23, + .resourceHeaderID = PokemonSummaryScreen_Template_MarkingDiamond, .x = 88, .y = 150, .z = 0, @@ -411,7 +412,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_1] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 152, .y = 168, .z = 0, @@ -421,7 +422,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_2] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 160, .y = 168, .z = 0, @@ -431,7 +432,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_3] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 168, .y = 168, .z = 0, @@ -441,7 +442,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_4] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 176, .y = 168, .z = 0, @@ -451,7 +452,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_5] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 184, .y = 168, .z = 0, @@ -461,7 +462,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_6] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 192, .y = 168, .z = 0, @@ -471,7 +472,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_7] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 200, .y = 168, .z = 0, @@ -481,7 +482,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_8] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 208, .y = 168, .z = 0, @@ -491,7 +492,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_9] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 216, .y = 168, .z = 0, @@ -501,7 +502,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_10] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 224, .y = 168, .z = 0, @@ -511,7 +512,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_11] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 232, .y = 168, .z = 0, @@ -521,7 +522,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHEEN_12] = { - .resourceHeaderID = 13, + .resourceHeaderID = PokemonSummaryScreen_Template_Sheen, .x = 240, .y = 168, .z = 0, @@ -531,7 +532,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_BUTTON_TAP_CIRCLE] = { - .resourceHeaderID = 15, + .resourceHeaderID = PokemonSummaryScreen_Template_TouchButtonEffect, .x = 0, .y = 0, .z = 0, @@ -541,7 +542,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_ARROW_COOL] = { - .resourceHeaderID = 16, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionArrow, .x = 208, .y = 48, .z = 0, @@ -551,7 +552,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_ARROW_BEAUTY] = { - .resourceHeaderID = 16, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionArrow, .x = 224, .y = 88, .z = 0, @@ -561,7 +562,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_ARROW_CUTE] = { - .resourceHeaderID = 16, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionArrow, .x = 216, .y = 120, .z = 0, @@ -571,7 +572,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_ARROW_SMART] = { - .resourceHeaderID = 16, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionArrow, .x = 144, .y = 120, .z = 0, @@ -581,7 +582,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_ARROW_TOUGH] = { - .resourceHeaderID = 16, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionArrow, .x = 136, .y = 88, .z = 0, @@ -591,7 +592,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_A_BUTTON] = { - .resourceHeaderID = 17, + .resourceHeaderID = PokemonSummaryScreen_Template_AButton, .x = 0, .y = 0, .z = 0, @@ -601,7 +602,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONTEST_STAT_DOT_COOL] = { - .resourceHeaderID = 25, + .resourceHeaderID = PokemonSummaryScreen_Template_ContestStatDot, .x = 0, .y = 0, .z = 0, @@ -611,7 +612,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONTEST_STAT_DOT_BEAUTY] = { - .resourceHeaderID = 25, + .resourceHeaderID = PokemonSummaryScreen_Template_ContestStatDot, .x = 0, .y = 0, .z = 0, @@ -621,7 +622,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONTEST_STAT_DOT_CUTE] = { - .resourceHeaderID = 25, + .resourceHeaderID = PokemonSummaryScreen_Template_ContestStatDot, .x = 0, .y = 0, .z = 0, @@ -631,7 +632,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONTEST_STAT_DOT_SMART] = { - .resourceHeaderID = 25, + .resourceHeaderID = PokemonSummaryScreen_Template_ContestStatDot, .x = 0, .y = 0, .z = 0, @@ -641,7 +642,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONTEST_STAT_DOT_TOUGH] = { - .resourceHeaderID = 25, + .resourceHeaderID = PokemonSummaryScreen_Template_ContestStatDot, .x = 0, .y = 0, .z = 0, @@ -651,7 +652,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_SHINY_ICON] = { - .resourceHeaderID = 24, + .resourceHeaderID = PokemonSummaryScreen_Template_ShinyPokerusCuredIcon, .x = 98, .y = 72, .z = 0, @@ -661,7 +662,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_POKERUS_CURED_ICON] = { - .resourceHeaderID = 24, + .resourceHeaderID = PokemonSummaryScreen_Template_ShinyPokerusCuredIcon, .x = 98, .y = 132, .z = 0, @@ -671,7 +672,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_1] = { - .resourceHeaderID = 26, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon1, .x = 132, .y = 56, .z = 0, @@ -681,7 +682,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_2] = { - .resourceHeaderID = 27, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon2, .x = 164, .y = 56, .z = 0, @@ -691,7 +692,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_3] = { - .resourceHeaderID = 28, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon3, .x = 196, .y = 56, .z = 0, @@ -701,7 +702,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_4] = { - .resourceHeaderID = 29, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon4, .x = 228, .y = 56, .z = 0, @@ -711,7 +712,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_5] = { - .resourceHeaderID = 30, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon5, .x = 132, .y = 96, .z = 0, @@ -721,7 +722,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_6] = { - .resourceHeaderID = 31, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon6, .x = 164, .y = 96, .z = 0, @@ -731,7 +732,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_7] = { - .resourceHeaderID = 32, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon7, .x = 196, .y = 96, .z = 0, @@ -741,7 +742,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_8] = { - .resourceHeaderID = 33, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon8, .x = 228, .y = 96, .z = 0, @@ -751,7 +752,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_9] = { - .resourceHeaderID = 34, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon9, .x = 132, .y = 136, .z = 0, @@ -761,7 +762,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_10] = { - .resourceHeaderID = 35, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon10, .x = 164, .y = 136, .z = 0, @@ -771,7 +772,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_11] = { - .resourceHeaderID = 36, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon11, .x = 196, .y = 136, .z = 0, @@ -781,7 +782,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_12] = { - .resourceHeaderID = 37, + .resourceHeaderID = PokemonSummaryScreen_Template_Ribbon12, .x = 228, .y = 136, .z = 0, @@ -791,7 +792,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_CURSOR] = { - .resourceHeaderID = 38, + .resourceHeaderID = PokemonSummaryScreen_Template_RibbonCursor, .x = 132, .y = 56, .z = 0, @@ -801,7 +802,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_ARROW_UP] = { - .resourceHeaderID = 39, + .resourceHeaderID = PokemonSummaryScreen_Template_RibbonArrow, .x = 180, .y = 32, .z = 0, @@ -811,7 +812,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_ARROW_DOWN] = { - .resourceHeaderID = 39, + .resourceHeaderID = PokemonSummaryScreen_Template_RibbonArrow, .x = 180, .y = 120, .z = 0, @@ -821,7 +822,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_RIBBON_FLASH] = { - .resourceHeaderID = 40, + .resourceHeaderID = PokemonSummaryScreen_Template_RibbonFlash, .x = 8, .y = 132, .z = 0, @@ -831,7 +832,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_FLASH_COOL] = { - .resourceHeaderID = 41, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionFlash, .x = 132, .y = 56, .z = 0, @@ -841,7 +842,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_FLASH_BEAUTY] = { - .resourceHeaderID = 41, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionFlash, .x = 132, .y = 56, .z = 0, @@ -851,7 +852,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_FLASH_CUTE] = { - .resourceHeaderID = 41, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionFlash, .x = 132, .y = 56, .z = 0, @@ -861,7 +862,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_FLASH_SMART] = { - .resourceHeaderID = 41, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionFlash, .x = 132, .y = 56, .z = 0, @@ -871,7 +872,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_CONDITION_FLASH_TOUGH] = { - .resourceHeaderID = 41, + .resourceHeaderID = PokemonSummaryScreen_Template_ConditionFlash, .x = 132, .y = 56, .z = 0, @@ -881,7 +882,7 @@ static const SpriteTemplateFromResourceHeader sSummaryScreenSpriteTemplates[] = .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, }, [SUMMARY_SPRITE_POKERUS_ICON] = { - .resourceHeaderID = 42, + .resourceHeaderID = PokemonSummaryScreen_Template_PokerusIcon, .x = 76, .y = 48, .z = 0, diff --git a/src/applications/town_map/fly_locations.c b/src/applications/town_map/fly_locations.c index 3c7ebb8b50..74338741fe 100644 --- a/src/applications/town_map/fly_locations.c +++ b/src/applications/town_map/fly_locations.c @@ -13,6 +13,8 @@ #include "sprite.h" #include "sprite_system.h" +#include "res/graphics/sprite_templates/town_map.h" + enum TownMapFlyLocationShape { FLY_LOCATION_SHAPE_1x1_SQUARE = 0, FLY_LOCATION_SHAPE_VERTICAL, @@ -227,7 +229,7 @@ const TownMapFlyLocationDescriptor sFlyLocations[NUM_FLY_LOCATIONS] = { TownMapAppFlyLocationsManager *TownMap_LoadFlyLocations(SpriteSystem *spriteSystem, SpriteManager *spriteMan, u8 *unlocked, short count, enum HeapID heapID) { static const SpriteTemplateFromResourceHeader spriteTemplate = { - .resourceHeaderID = 4, + .resourceHeaderID = TownMap_Template_FlyDestinationBlocks, .x = 0, .y = 0, .z = 0, @@ -235,10 +237,6 @@ TownMapAppFlyLocationsManager *TownMap_LoadFlyLocations(SpriteSystem *spriteSyst .priority = 10, .plttIdx = PLTT_5, .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, - .dummy18 = 0, - .dummy1C = 0, - .dummy20 = 0, - .dummy24 = 0, }; TownMapAppFlyLocationsManager *flyLocationsMan = Heap_Alloc(heapID, sizeof(TownMapAppFlyLocationsManager)); diff --git a/src/applications/town_map/graphics.c b/src/applications/town_map/graphics.c index 74b840bd07..de5c37f514 100644 --- a/src/applications/town_map/graphics.c +++ b/src/applications/town_map/graphics.c @@ -32,6 +32,8 @@ #include "text.h" #include "touch_screen.h" +#include "res/graphics/sprite_templates/town_map.h" + #define TOWN_MAP_RIGHT (1 << 0) #define TOWN_MAP_LEFT (1 << 1) #define TOWN_MAP_DOWN (1 << 2) @@ -794,9 +796,15 @@ static void ClearBGLayers(TownMapAppData *appData) Bg_ScheduleTilemapTransfer(appData->bgConfig, BG_LAYER_SUB_3); } +enum { + SPRITE_TEMPLATE_ZOOM_BUTTON_SHOCKWAVE = 0, + SPRITE_TEMPLATE_CURSOR, + SPRITE_TEMPLATE_PLAYER_ICONS, +}; + static const SpriteTemplateFromResourceHeader sTownMapSpriteTemplates[] = { - { - .resourceHeaderID = 0, + [SPRITE_TEMPLATE_ZOOM_BUTTON_SHOCKWAVE] = { + .resourceHeaderID = TownMap_Template_ZoomButtonShockwave, .x = 0, .y = 0, .z = 0, @@ -804,13 +812,9 @@ static const SpriteTemplateFromResourceHeader sTownMapSpriteTemplates[] = { .priority = 0, .plttIdx = PLTT_0, .vramType = NNS_G2D_VRAM_TYPE_2DSUB, - .dummy18 = 0, - .dummy1C = 0, - .dummy20 = 0, - .dummy24 = 0, }, - { - .resourceHeaderID = 1, + [SPRITE_TEMPLATE_CURSOR] = { + .resourceHeaderID = TownMap_Template_Cursor, .x = 0, .y = 0, .z = 0, @@ -818,13 +822,9 @@ static const SpriteTemplateFromResourceHeader sTownMapSpriteTemplates[] = { .priority = 0, .plttIdx = PLTT_0, .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, - .dummy18 = 0, - .dummy1C = 0, - .dummy20 = 0, - .dummy24 = 0, }, - { - .resourceHeaderID = 2, + [SPRITE_TEMPLATE_PLAYER_ICONS] = { + .resourceHeaderID = TownMap_Template_PlayerIcons, .x = 0, .y = 0, .z = 0, @@ -832,25 +832,21 @@ static const SpriteTemplateFromResourceHeader sTownMapSpriteTemplates[] = { .priority = 1, .plttIdx = PLTT_1, .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, - .dummy18 = 0, - .dummy1C = 0, - .dummy20 = 0, - .dummy24 = 0, }, }; static void CreateSprites(TownMapAppData *appData) { TownMapGraphicsManager *graphicsMan = appData->graphicsMan; - SpriteTemplateFromResourceHeader spriteTemplate = sTownMapSpriteTemplates[2]; + SpriteTemplateFromResourceHeader playerIconTemplate = sTownMapSpriteTemplates[SPRITE_TEMPLATE_PLAYER_ICONS]; - graphicsMan->zoomBtnShockwave = SpriteSystem_NewSpriteFromResourceHeader(appData->spriteSystem, appData->spriteMan, &sTownMapSpriteTemplates[0]); + graphicsMan->zoomBtnShockwave = SpriteSystem_NewSpriteFromResourceHeader(appData->spriteSystem, appData->spriteMan, &sTownMapSpriteTemplates[SPRITE_TEMPLATE_ZOOM_BUTTON_SHOCKWAVE]); Sprite_SetDrawFlag(graphicsMan->zoomBtnShockwave, FALSE); Sprite_SetAnimSpeed(graphicsMan->zoomBtnShockwave, FX32_ONE); Sprite_SetPositionXY(graphicsMan->zoomBtnShockwave, 128, 108); - graphicsMan->cursorSprite = SpriteSystem_NewSpriteFromResourceHeader(appData->spriteSystem, appData->spriteMan, &sTownMapSpriteTemplates[1]); + graphicsMan->cursorSprite = SpriteSystem_NewSpriteFromResourceHeader(appData->spriteSystem, appData->spriteMan, &sTownMapSpriteTemplates[SPRITE_TEMPLATE_CURSOR]); Sprite_SetDrawFlag(graphicsMan->cursorSprite, TRUE); Sprite_SetAnimSpeed(graphicsMan->cursorSprite, FX32_CONST(2)); @@ -858,12 +854,12 @@ static void CreateSprites(TownMapAppData *appData) Sprite_SetPositionXY(graphicsMan->cursorSprite, TOWN_MAP_GRID_X(graphicsMan->cursorX), TOWN_MAP_GRID_Y(graphicsMan->cursorZ)); if (appData->context->trainerGender == GENDER_MALE) { - spriteTemplate.plttIdx = PLTT_1; + playerIconTemplate.plttIdx = PLTT_1; } else { - spriteTemplate.plttIdx = PLTT_0; + playerIconTemplate.plttIdx = PLTT_0; } - graphicsMan->playerSprite = SpriteSystem_NewSpriteFromResourceHeader(appData->spriteSystem, appData->spriteMan, &spriteTemplate); + graphicsMan->playerSprite = SpriteSystem_NewSpriteFromResourceHeader(appData->spriteSystem, appData->spriteMan, &playerIconTemplate); Sprite_SetDrawFlag(graphicsMan->playerSprite, TRUE); Sprite_SetAnimFrame(graphicsMan->playerSprite, appData->context->trainerGender); @@ -911,7 +907,7 @@ static void LoadLocationHistory(TownMapAppData *appData) TownMapGraphicsManager *graphicsMan = appData->graphicsMan; static const u16 directionMapping[4] = { 0, 2, 3, 1 }; static const SpriteTemplateFromResourceHeader spriteTemplate = { - .resourceHeaderID = 3, + .resourceHeaderID = TownMap_Template_LocationHistoryDot, .x = 0, .y = 0, .z = 0, @@ -919,10 +915,6 @@ static void LoadLocationHistory(TownMapAppData *appData) .priority = 2, .plttIdx = PLTT_2, .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, - .dummy18 = 0, - .dummy1C = 0, - .dummy20 = 0, - .dummy24 = 0, }; MI_CpuClear8(&(graphicsMan->locationHistory), sizeof(TownMapLocationHistory)); diff --git a/src/overlay007/shop_menu.c b/src/overlay007/shop_menu.c index ececd4f952..22cc6204ad 100644 --- a/src/overlay007/shop_menu.c +++ b/src/overlay007/shop_menu.c @@ -62,6 +62,7 @@ #include "vars_flags.h" #include "res/graphics/shop_menu/shop_gra.naix" +#include "res/graphics/sprite_templates/shop_menu.h" #include "res/text/bank/location_names.h" #include "res/text/bank/underground_goods.h" #include "res/text/bank/unk_0543.h" @@ -1482,67 +1483,51 @@ static const SpriteResourceDataPaths sShop_SpriteResourcePaths = { }; static const SpriteTemplateFromResourceHeader sShop_SpriteTemplates[] = { - { - .resourceHeaderID = 0, - .x = 0xB1, - .y = 0x8, + [SHOP_SPRITE_SCROLL_ARROW_UP] = { + .resourceHeaderID = ShopMenu_Template_ScrollArrow, + .x = 177, + .y = 8, .z = 0, .animIdx = 0, .priority = 0, .plttIdx = 0, .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, - .dummy18 = 0, - .dummy1C = 0, - .dummy20 = 0, - .dummy24 = 0, }, - { - .resourceHeaderID = 0, - .x = 0xB1, - .y = 0x84, + [SHOP_SPRITE_SCROLL_ARROW_DOWN] = { + .resourceHeaderID = ShopMenu_Template_ScrollArrow, + .x = 177, + .y = 132, .z = 0, .animIdx = 1, .priority = 0, .plttIdx = 0, .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, - .dummy18 = 0, - .dummy1C = 0, - .dummy20 = 0, - .dummy24 = 0, }, - { - .resourceHeaderID = 1, - .x = 0xAC, - .y = 0x18, + [SHOP_SPRITE_CURSOR] = { + .resourceHeaderID = ShopMenu_Template_Cursor, + .x = 172, + .y = 24, .z = 0, .animIdx = 0, .priority = 0, .plttIdx = 0, .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, - .dummy18 = 0, - .dummy1C = 0, - .dummy20 = 0, - .dummy24 = 0, }, - { - .resourceHeaderID = 2, - .x = 0x16, - .y = 0xAC, + [SHOP_SPRITE_ITEM_ICON] = { + .resourceHeaderID = ShopMenu_Template_ItemIcon, + .x = 22, + .y = 172, .z = 0, .animIdx = 0, .priority = 0, .plttIdx = 0, .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, - .dummy18 = 0, - .dummy1C = 0, - .dummy20 = 0, - .dummy24 = 0, }, }; static void Shop_DrawSprites(ShopMenu *shopMenu) { - SpriteResourceManager_Init(&shopMenu->spriteManager, &sShop_SpriteResourcePaths, 4, HEAP_ID_FIELD2); + SpriteResourceManager_Init(&shopMenu->spriteManager, &sShop_SpriteResourcePaths, SHOP_SPRITE_MAX, HEAP_ID_FIELD2); for (u32 i = 0; i < SHOP_SPRITE_MAX; i++) { shopMenu->sprites[i] = SpriteResourceManager_CreateSprite(&shopMenu->spriteManager, &sShop_SpriteTemplates[i]); diff --git a/src/overlay090/ov90_021D0D80.c b/src/overlay090/ov90_021D0D80.c index 75fa0c8df6..2665a15866 100644 --- a/src/overlay090/ov90_021D0D80.c +++ b/src/overlay090/ov90_021D0D80.c @@ -1,5 +1,6 @@ #include "overlay090/ov90_021D0D80.h" +#include "nitro/misc.h" #include #include @@ -37,6 +38,8 @@ #include "unk_0208C098.h" #include "vram_transfer.h" +#include "res/graphics/sprite_templates/tower_records.h" + typedef struct { MessageLoader *unk_00; StringTemplate *unk_04; @@ -81,7 +84,7 @@ typedef struct { UnkStruct_ov90_021D17F8 unk_BC[30]; SpriteSystem *unk_29C; SpriteManager *unk_2A0; - Sprite *unk_2A4[4]; + Sprite *sprites[4]; } UnkStruct_ov90_021D0ECC; static int ov90_021D0ECC(UnkStruct_ov90_021D0ECC *param0); @@ -109,8 +112,8 @@ static void ov90_021D1ABC(UnkStruct_ov90_021D0ECC *param0); static void ov90_021D1B6C(UnkStruct_ov90_021D0ECC *param0); static void ov90_021D1B90(UnkStruct_ov90_021D0ECC *param0); static void ov90_021D1BA4(void); -static void ov90_021D1BAC(UnkStruct_ov90_021D0ECC *param0); -static void ov90_021D1C28(UnkStruct_ov90_021D0ECC *param0); +static void LoadSprites(UnkStruct_ov90_021D0ECC *param0); +static void DeleteSprites(UnkStruct_ov90_021D0ECC *param0); static void ov90_021D1C44(UnkStruct_ov90_021D0ECC *param0, BOOL param1); static void ov90_021D1C90(UnkStruct_ov90_021D0ECC *param0, u8 param1, u8 param2, u8 param3); @@ -237,7 +240,7 @@ static int ov90_021D0ECC(UnkStruct_ov90_021D0ECC *param0) break; case 3: ov90_021D1ABC(param0); - ov90_021D1BAC(param0); + LoadSprites(param0); ov90_021D1984(param0); break; case 4: @@ -255,7 +258,7 @@ static int ov90_021D0F98(UnkStruct_ov90_021D0ECC *param0) switch (param0->unk_04) { case 0: if (param0->unk_08) { - ov90_021D1C28(param0); + DeleteSprites(param0); ov90_021D1B6C(param0); ov90_021D17DC(param0); } @@ -905,34 +908,78 @@ static void ov90_021D1BA4(void) SpriteSystem_TransferOam(); } -static void ov90_021D1BAC(UnkStruct_ov90_021D0ECC *param0) -{ - int v0; - static const SpriteTemplateFromResourceHeader v1[] = { - { 0, 54, 68, 0, 0, 1, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 0, 0, 0, 0 }, - { 0, 204, 114, 0, 1, 2, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 0, 0, 0, 0 }, - { 0, 128, 52, 0, 2, 3, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 0, 0, 0, 0 }, - { 0, 128, 132, 0, 3, 4, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 0, 0, 0, 0 }, - }; +enum { + SPRITE_TEMPLATE_CURSOR = 0, + SPRITE_TEMPLATE_UNK, + SPRITE_TEMPLATE_SCROLL_UP, + SPRITE_TEMPLATE_SCROLL_DOWN, + SPRITE_TEMPLATE_MAX, +}; - for (v0 = 0; v0 < 4; v0++) { - param0->unk_2A4[v0] = SpriteSystem_NewSpriteFromResourceHeader(param0->unk_29C, param0->unk_2A0, &v1[v0]); +static const SpriteTemplateFromResourceHeader sSpriteTemplates[] = { + [SPRITE_TEMPLATE_CURSOR] = { + .resourceHeaderID = TowerRecords_Template_Interface, + .x = 54, + .y = 68, + .z = 0, + .animIdx = 0, + .priority = 1, + .plttIdx = 0, + .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, + }, + [SPRITE_TEMPLATE_UNK] = { + .resourceHeaderID = TowerRecords_Template_Interface, + .x = 204, + .y = 114, + .z = 0, + .animIdx = 1, + .priority = 2, + .plttIdx = 0, + .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, + }, + [SPRITE_TEMPLATE_SCROLL_UP] = { + .resourceHeaderID = TowerRecords_Template_Interface, + .x = 128, + .y = 52, + .z = 0, + .animIdx = 2, + .priority = 3, + .plttIdx = 0, + .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, + }, + [SPRITE_TEMPLATE_SCROLL_DOWN] = { + .resourceHeaderID = TowerRecords_Template_Interface, + .x = 128, + .y = 132, + .z = 0, + .animIdx = 3, + .priority = 4, + .plttIdx = 0, + .vramType = NNS_G2D_VRAM_TYPE_2DMAIN, + }, +}; + +static void LoadSprites(UnkStruct_ov90_021D0ECC *param0) +{ + SDK_COMPILER_ASSERT(NELEMS(sSpriteTemplates) == SPRITE_TEMPLATE_MAX); + SDK_COMPILER_ASSERT(NELEMS(sSpriteTemplates) == NELEMS(param0->sprites)); + + for (int i = 0; i < (int)NELEMS(param0->sprites); i++) { + param0->sprites[i] = SpriteSystem_NewSpriteFromResourceHeader(param0->unk_29C, param0->unk_2A0, &sSpriteTemplates[i]); } - Sprite_SetDrawFlag(param0->unk_2A4[2], FALSE); - Sprite_SetDrawFlag(param0->unk_2A4[1], FALSE); - Sprite_SetAnimateFlag(param0->unk_2A4[0], 1); - Sprite_SetAnimateFlag(param0->unk_2A4[2], 1); - Sprite_SetAnimateFlag(param0->unk_2A4[3], 1); - Sprite_SetExplicitPriority(param0->unk_2A4[1], 3); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_SCROLL_UP], FALSE); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_UNK], FALSE); + Sprite_SetAnimateFlag(param0->sprites[SPRITE_TEMPLATE_CURSOR], TRUE); + Sprite_SetAnimateFlag(param0->sprites[SPRITE_TEMPLATE_SCROLL_UP], TRUE); + Sprite_SetAnimateFlag(param0->sprites[SPRITE_TEMPLATE_SCROLL_DOWN], TRUE); + Sprite_SetExplicitPriority(param0->sprites[SPRITE_TEMPLATE_UNK], 3); } -static void ov90_021D1C28(UnkStruct_ov90_021D0ECC *param0) +static void DeleteSprites(UnkStruct_ov90_021D0ECC *param0) { - int v0; - - for (v0 = 0; v0 < 4; v0++) { - Sprite_Delete2(param0->unk_2A4[v0]); + for (int i = 0; i < (int)NELEMS(param0->sprites); i++) { + Sprite_Delete2(param0->sprites[i]); } } @@ -940,50 +987,48 @@ static void ov90_021D1C44(UnkStruct_ov90_021D0ECC *param0, BOOL param1) { BOOL v0; - if (param1 == 0) { - Sprite_SetExplicitPalette(param0->unk_2A4[0], 1); - v0 = 0; + if (param1 == FALSE) { + Sprite_SetExplicitPalette(param0->sprites[SPRITE_TEMPLATE_CURSOR], 1); + v0 = FALSE; } else { - Sprite_SetExplicitPalette(param0->unk_2A4[0], 0); - v0 = 1; + Sprite_SetExplicitPalette(param0->sprites[SPRITE_TEMPLATE_CURSOR], 0); + v0 = TRUE; } - Sprite_SetAnimateFlag(param0->unk_2A4[0], v0); - Sprite_SetAnimateFlag(param0->unk_2A4[2], v0); - Sprite_SetAnimateFlag(param0->unk_2A4[3], v0); + Sprite_SetAnimateFlag(param0->sprites[SPRITE_TEMPLATE_CURSOR], v0); + Sprite_SetAnimateFlag(param0->sprites[SPRITE_TEMPLATE_SCROLL_UP], v0); + Sprite_SetAnimateFlag(param0->sprites[SPRITE_TEMPLATE_SCROLL_DOWN], v0); } static void ov90_021D1C90(UnkStruct_ov90_021D0ECC *param0, u8 param1, u8 param2, u8 param3) { - u16 v0, v1; - if (param0->unk_0E == 10 - 2) { - Sprite_SetDrawFlag(param0->unk_2A4[1], TRUE); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_UNK], TRUE); if (param1 == 10) { - Sprite_SetAnimFrame(param0->unk_2A4[1], 1); - Sprite_SetDrawFlag(param0->unk_2A4[0], FALSE); + Sprite_SetAnimFrame(param0->sprites[SPRITE_TEMPLATE_UNK], 1); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_CURSOR], FALSE); } else { - Sprite_SetAnimFrame(param0->unk_2A4[1], 0); - Sprite_SetDrawFlag(param0->unk_2A4[0], TRUE); + Sprite_SetAnimFrame(param0->sprites[SPRITE_TEMPLATE_UNK], 0); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_CURSOR], TRUE); } } else { - Sprite_SetDrawFlag(param0->unk_2A4[0], TRUE); - Sprite_SetDrawFlag(param0->unk_2A4[1], FALSE); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_CURSOR], TRUE); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_UNK], FALSE); } switch (param0->unk_0E) { case 0: - Sprite_SetDrawFlag(param0->unk_2A4[2], FALSE); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_SCROLL_UP], FALSE); break; case (10 - 2): - Sprite_SetDrawFlag(param0->unk_2A4[3], FALSE); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_SCROLL_DOWN], FALSE); break; default: - Sprite_SetDrawFlag(param0->unk_2A4[2], TRUE); - Sprite_SetDrawFlag(param0->unk_2A4[3], TRUE); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_SCROLL_UP], TRUE); + Sprite_SetDrawFlag(param0->sprites[SPRITE_TEMPLATE_SCROLL_DOWN], TRUE); break; } - Sprite_SetPositionXY(param0->unk_2A4[0], param2 * 72 + 54, param3 * 24 + 68); + Sprite_SetPositionXY(param0->sprites[SPRITE_TEMPLATE_CURSOR], param2 * 72 + 54, param3 * 24 + 68); }