From 42aba98f464461b2aecd7b9fe79ebfdb6d7593ae Mon Sep 17 00:00:00 2001 From: h2o-DS <71458559+h2o-DS@users.noreply.github.com> Date: Wed, 1 Oct 2025 22:47:54 -0400 Subject: [PATCH] Unpack Pokedex Graphics and nitrogfx scan/encode Separation (#782) --- .../applications/pokedex/pokedex_graphics.h | 2 +- platinum.us/filesys.csv | 2 +- platinum.us/filesys.sha1 | 2 +- res/graphics/meson.build | 1 + res/graphics/pokedex/area_day.pal | 259 ++ res/graphics/pokedex/area_map.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/area_morning.pal | 259 ++ res/graphics/pokedex/area_night.pal | 259 ++ res/graphics/pokedex/area_sub.NSCR | Bin 0 -> 1572 bytes .../pokedex/background_scroll_default.pal | 259 ++ .../pokedex/background_scroll_national.pal | 259 ++ .../pokedex/background_scroll_sinnoh.pal | 259 ++ res/graphics/pokedex/background_sub_1.pal | 259 ++ res/graphics/pokedex/background_sub_2.pal | 259 ++ res/graphics/pokedex/background_sub_3.pal | 259 ++ res/graphics/pokedex/banner.png | Bin 0 -> 881 bytes res/graphics/pokedex/banner_anim.json | 23 + res/graphics/pokedex/banner_cell.json | 44 + res/graphics/pokedex/banner_default.pal | 259 ++ res/graphics/pokedex/banner_national.pal | 259 ++ res/graphics/pokedex/banner_register.pal | 259 ++ res/graphics/pokedex/banner_sinnoh.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/banner_sinnoh.pal | 259 ++ res/graphics/pokedex/buttons.pal | 259 ++ res/graphics/pokedex/cry_bar.png | Bin 0 -> 885 bytes res/graphics/pokedex/cry_bar_anim.json | 36 + res/graphics/pokedex/cry_bar_cell.json | 78 + res/graphics/pokedex/cry_button.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/cry_dials.png | Bin 0 -> 2518 bytes res/graphics/pokedex/cry_dials_anim.json | 254 + res/graphics/pokedex/cry_dials_cell.json | 998 ++++ res/graphics/pokedex/cry_sub.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/cry_sub.pal | 259 ++ res/graphics/pokedex/cry_wheel.NSCR | Bin 0 -> 1060 bytes res/graphics/pokedex/cry_wheel.png | Bin 0 -> 1389 bytes res/graphics/pokedex/cursor.png | Bin 0 -> 868 bytes res/graphics/pokedex/cursor_anim.json | 146 + res/graphics/pokedex/cursor_cell.json | 146 + res/graphics/pokedex/dummy1.NSCR | Bin 0 -> 92 bytes res/graphics/pokedex/dummy1.pal | 259 ++ res/graphics/pokedex/dummy1.png | Bin 0 -> 267 bytes res/graphics/pokedex/dummy2.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/dummy2.pal | 259 ++ res/graphics/pokedex/dummy2.png | Bin 0 -> 267 bytes res/graphics/pokedex/dummy3.NSCR | Bin 0 -> 372 bytes res/graphics/pokedex/dummy3.pal | 259 ++ res/graphics/pokedex/dummy3.png | Bin 0 -> 219 bytes res/graphics/pokedex/dungeon_highlight.png | Bin 0 -> 899 bytes .../pokedex/dungeon_highlight_anim.json | 88 + .../pokedex/dungeon_highlight_cell.json | 294 ++ res/graphics/pokedex/entry_main.png | Bin 0 -> 3968 bytes res/graphics/pokedex/entry_sub.png | Bin 0 -> 3545 bytes .../pokedex/foreign_entry_window.NSCR | Bin 0 -> 548 bytes .../pokedex/foreign_summary_window.NSCR | Bin 0 -> 356 bytes res/graphics/pokedex/form_display_box.png | Bin 0 -> 1605 bytes .../pokedex/form_display_box_anim.json | 70 + .../pokedex/form_display_box_cell.json | 672 +++ res/graphics/pokedex/forms_sub.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/height_check_main.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/info.pal | 259 ++ res/graphics/pokedex/info_entry_window.NSCR | Bin 0 -> 548 bytes .../pokedex/info_footprint_window.NSCR | Bin 0 -> 108 bytes .../pokedex/info_language_buttons.png | Bin 0 -> 1134 bytes .../pokedex/info_language_buttons_anim.json | 244 + .../pokedex/info_language_buttons_cell.json | 794 ++++ res/graphics/pokedex/info_main.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/info_species_window.NSCR | Bin 0 -> 324 bytes res/graphics/pokedex/info_sub.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/info_sub_pressed.NSCR | Bin 0 -> 236 bytes res/graphics/pokedex/info_sub_unpressed.NSCR | Bin 0 -> 236 bytes res/graphics/pokedex/map_fullmoon_island.NSCR | Bin 0 -> 44 bytes res/graphics/pokedex/map_newmoon_island.NSCR | Bin 0 -> 44 bytes res/graphics/pokedex/map_seabreak_path.NSCR | Bin 0 -> 80 bytes res/graphics/pokedex/map_spring_path.NSCR | Bin 0 -> 48 bytes res/graphics/pokedex/meson.build | 298 ++ res/graphics/pokedex/name_tag.png | Bin 0 -> 1034 bytes res/graphics/pokedex/name_tag_anim.json | 36 + res/graphics/pokedex/name_tag_cell.json | 98 + res/graphics/pokedex/page_buttons.png | Bin 0 -> 1469 bytes res/graphics/pokedex/page_buttons_anim.json | 196 + res/graphics/pokedex/page_buttons_cell.json | 1786 +++++++ res/graphics/pokedex/page_panel.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/pokedex.order | 130 + res/graphics/pokedex/register.pal | 259 ++ .../pokedex/register_species_window.NSCR | Bin 0 -> 324 bytes res/graphics/pokedex/scroll_buttons.png | Bin 0 -> 1898 bytes res/graphics/pokedex/scroll_buttons_anim.json | 178 + res/graphics/pokedex/scroll_buttons_cell.json | 4084 +++++++++++++++++ .../pokedex/scroll_main_background.NSCR | Bin 0 -> 1572 bytes .../pokedex/scroll_main_background.png | Bin 0 -> 1592 bytes res/graphics/pokedex/scroll_sub.NSCR | Bin 0 -> 1572 bytes .../pokedex/scroll_sub_background.png | Bin 0 -> 764 bytes res/graphics/pokedex/scroll_wheel.NSCR | Bin 0 -> 1060 bytes res/graphics/pokedex/scroll_wheel.png | Bin 0 -> 1241 bytes res/graphics/pokedex/search.pal | 259 ++ res/graphics/pokedex/search_body_shapes.png | Bin 0 -> 2522 bytes .../pokedex/search_body_shapes_anim.json | 244 + .../pokedex/search_body_shapes_cell.json | 642 +++ res/graphics/pokedex/search_button_forms.png | Bin 0 -> 1516 bytes .../pokedex/search_button_forms_anim.json | 444 ++ .../pokedex/search_button_forms_cell.json | 2794 +++++++++++ res/graphics/pokedex/search_buttons.png | Bin 0 -> 1536 bytes res/graphics/pokedex/search_buttons_anim.json | 221 + res/graphics/pokedex/search_buttons_cell.json | 1774 +++++++ res/graphics/pokedex/search_filter.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/search_filter_form.NSCR | Bin 0 -> 316 bytes res/graphics/pokedex/search_filter_name.NSCR | Bin 0 -> 196 bytes res/graphics/pokedex/search_filter_order.NSCR | Bin 0 -> 156 bytes res/graphics/pokedex/search_filter_type.NSCR | Bin 0 -> 276 bytes res/graphics/pokedex/search_main.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/search_national.NSCR | Bin 0 -> 2084 bytes res/graphics/pokedex/search_sinnoh.NSCR | Bin 0 -> 2084 bytes res/graphics/pokedex/size_buttons_pressed.png | Bin 0 -> 1127 bytes .../pokedex/size_buttons_pressed_anim.json | 97 + .../pokedex/size_buttons_pressed_cell.json | 1230 +++++ res/graphics/pokedex/size_check_icons.pal | 259 ++ res/graphics/pokedex/size_check_icons.png | Bin 0 -> 1910 bytes .../pokedex/size_check_icons_anim.json | 101 + .../pokedex/size_check_icons_cell.json | 328 ++ res/graphics/pokedex/size_sub.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/time_day_icons.png | Bin 0 -> 1569 bytes res/graphics/pokedex/time_day_icons_anim.json | 49 + res/graphics/pokedex/time_day_icons_cell.json | 112 + res/graphics/pokedex/type_icons.pal | 259 ++ res/graphics/pokedex/type_icons.png | Bin 0 -> 3334 bytes res/graphics/pokedex/type_icons_anim.json | 244 + res/graphics/pokedex/type_icons_cell.json | 1062 +++++ res/graphics/pokedex/unseen_icon.png | Bin 0 -> 1196 bytes res/graphics/pokedex/unseen_icon_anim.json | 23 + res/graphics/pokedex/unseen_icon_cell.json | 44 + res/graphics/pokedex/weight_check_main.NSCR | Bin 0 -> 1572 bytes res/graphics/pokedex/weight_scale.png | Bin 0 -> 217 bytes res/meson.build | 10 + res/prebuilt/resource/eng/meson.build | 1 - res/prebuilt/resource/eng/zukan/meson.build | 7 - res/prebuilt/resource/eng/zukan/zukan.narc | Bin 73968 -> 0 bytes src/applications/pokedex/crysub.c | 23 +- src/applications/pokedex/ov21_021D5AEC.c | 45 +- src/applications/pokedex/ov21_021D76B0.c | 27 +- src/applications/pokedex/ov21_021D94BC.c | 29 +- src/applications/pokedex/ov21_021DC9BC.c | 37 +- src/applications/pokedex/ov21_021DDD2C.c | 18 +- src/applications/pokedex/ov21_021DE668.c | 35 +- src/applications/pokedex/ov21_021DF734.c | 15 +- src/applications/pokedex/ov21_021E0C68.c | 21 +- src/applications/pokedex/ov21_021E1924.c | 37 +- src/applications/pokedex/ov21_021E29DC.c | 35 +- src/applications/pokedex/ov21_021E3FFC.c | 16 +- src/applications/pokedex/ov21_021E68F4.c | 25 +- src/applications/pokedex/ov21_021E737C.c | 21 +- src/applications/pokedex/ov21_021E8484.c | 23 +- src/applications/pokedex/ov21_021E8D48.c | 57 +- src/applications/pokedex/pokedex_graphics.c | 34 +- .../pokedex/pokedex_height_check.c | 23 +- src/applications/pokedex/pokedex_search.c | 41 +- tools/nitrogfx/gfx.c | 217 +- tools/nitrogfx/gfx.h | 6 +- tools/nitrogfx/main.c | 45 +- tools/nitrogfx/options.h | 5 +- tools/scripts/make_pl_otherpoke.py | 12 +- tools/scripts/make_pl_pokegra.py | 3 +- 161 files changed, 26518 insertions(+), 416 deletions(-) create mode 100644 res/graphics/pokedex/area_day.pal create mode 100644 res/graphics/pokedex/area_map.NSCR create mode 100644 res/graphics/pokedex/area_morning.pal create mode 100644 res/graphics/pokedex/area_night.pal create mode 100644 res/graphics/pokedex/area_sub.NSCR create mode 100644 res/graphics/pokedex/background_scroll_default.pal create mode 100644 res/graphics/pokedex/background_scroll_national.pal create mode 100644 res/graphics/pokedex/background_scroll_sinnoh.pal create mode 100644 res/graphics/pokedex/background_sub_1.pal create mode 100644 res/graphics/pokedex/background_sub_2.pal create mode 100644 res/graphics/pokedex/background_sub_3.pal create mode 100644 res/graphics/pokedex/banner.png create mode 100644 res/graphics/pokedex/banner_anim.json create mode 100644 res/graphics/pokedex/banner_cell.json create mode 100644 res/graphics/pokedex/banner_default.pal create mode 100644 res/graphics/pokedex/banner_national.pal create mode 100644 res/graphics/pokedex/banner_register.pal create mode 100644 res/graphics/pokedex/banner_sinnoh.NSCR create mode 100644 res/graphics/pokedex/banner_sinnoh.pal create mode 100644 res/graphics/pokedex/buttons.pal create mode 100644 res/graphics/pokedex/cry_bar.png create mode 100644 res/graphics/pokedex/cry_bar_anim.json create mode 100644 res/graphics/pokedex/cry_bar_cell.json create mode 100644 res/graphics/pokedex/cry_button.NSCR create mode 100644 res/graphics/pokedex/cry_dials.png create mode 100644 res/graphics/pokedex/cry_dials_anim.json create mode 100644 res/graphics/pokedex/cry_dials_cell.json create mode 100644 res/graphics/pokedex/cry_sub.NSCR create mode 100644 res/graphics/pokedex/cry_sub.pal create mode 100644 res/graphics/pokedex/cry_wheel.NSCR create mode 100644 res/graphics/pokedex/cry_wheel.png create mode 100644 res/graphics/pokedex/cursor.png create mode 100644 res/graphics/pokedex/cursor_anim.json create mode 100644 res/graphics/pokedex/cursor_cell.json create mode 100644 res/graphics/pokedex/dummy1.NSCR create mode 100644 res/graphics/pokedex/dummy1.pal create mode 100644 res/graphics/pokedex/dummy1.png create mode 100644 res/graphics/pokedex/dummy2.NSCR create mode 100644 res/graphics/pokedex/dummy2.pal create mode 100644 res/graphics/pokedex/dummy2.png create mode 100644 res/graphics/pokedex/dummy3.NSCR create mode 100644 res/graphics/pokedex/dummy3.pal create mode 100644 res/graphics/pokedex/dummy3.png create mode 100644 res/graphics/pokedex/dungeon_highlight.png create mode 100644 res/graphics/pokedex/dungeon_highlight_anim.json create mode 100644 res/graphics/pokedex/dungeon_highlight_cell.json create mode 100644 res/graphics/pokedex/entry_main.png create mode 100644 res/graphics/pokedex/entry_sub.png create mode 100644 res/graphics/pokedex/foreign_entry_window.NSCR create mode 100644 res/graphics/pokedex/foreign_summary_window.NSCR create mode 100644 res/graphics/pokedex/form_display_box.png create mode 100644 res/graphics/pokedex/form_display_box_anim.json create mode 100644 res/graphics/pokedex/form_display_box_cell.json create mode 100644 res/graphics/pokedex/forms_sub.NSCR create mode 100644 res/graphics/pokedex/height_check_main.NSCR create mode 100644 res/graphics/pokedex/info.pal create mode 100644 res/graphics/pokedex/info_entry_window.NSCR create mode 100644 res/graphics/pokedex/info_footprint_window.NSCR create mode 100644 res/graphics/pokedex/info_language_buttons.png create mode 100644 res/graphics/pokedex/info_language_buttons_anim.json create mode 100644 res/graphics/pokedex/info_language_buttons_cell.json create mode 100644 res/graphics/pokedex/info_main.NSCR create mode 100644 res/graphics/pokedex/info_species_window.NSCR create mode 100644 res/graphics/pokedex/info_sub.NSCR create mode 100644 res/graphics/pokedex/info_sub_pressed.NSCR create mode 100644 res/graphics/pokedex/info_sub_unpressed.NSCR create mode 100644 res/graphics/pokedex/map_fullmoon_island.NSCR create mode 100644 res/graphics/pokedex/map_newmoon_island.NSCR create mode 100644 res/graphics/pokedex/map_seabreak_path.NSCR create mode 100644 res/graphics/pokedex/map_spring_path.NSCR create mode 100644 res/graphics/pokedex/meson.build create mode 100644 res/graphics/pokedex/name_tag.png create mode 100644 res/graphics/pokedex/name_tag_anim.json create mode 100644 res/graphics/pokedex/name_tag_cell.json create mode 100644 res/graphics/pokedex/page_buttons.png create mode 100644 res/graphics/pokedex/page_buttons_anim.json create mode 100644 res/graphics/pokedex/page_buttons_cell.json create mode 100644 res/graphics/pokedex/page_panel.NSCR create mode 100644 res/graphics/pokedex/pokedex.order create mode 100644 res/graphics/pokedex/register.pal create mode 100644 res/graphics/pokedex/register_species_window.NSCR create mode 100644 res/graphics/pokedex/scroll_buttons.png create mode 100644 res/graphics/pokedex/scroll_buttons_anim.json create mode 100644 res/graphics/pokedex/scroll_buttons_cell.json create mode 100644 res/graphics/pokedex/scroll_main_background.NSCR create mode 100644 res/graphics/pokedex/scroll_main_background.png create mode 100644 res/graphics/pokedex/scroll_sub.NSCR create mode 100644 res/graphics/pokedex/scroll_sub_background.png create mode 100644 res/graphics/pokedex/scroll_wheel.NSCR create mode 100644 res/graphics/pokedex/scroll_wheel.png create mode 100644 res/graphics/pokedex/search.pal create mode 100644 res/graphics/pokedex/search_body_shapes.png create mode 100644 res/graphics/pokedex/search_body_shapes_anim.json create mode 100644 res/graphics/pokedex/search_body_shapes_cell.json create mode 100644 res/graphics/pokedex/search_button_forms.png create mode 100644 res/graphics/pokedex/search_button_forms_anim.json create mode 100644 res/graphics/pokedex/search_button_forms_cell.json create mode 100644 res/graphics/pokedex/search_buttons.png create mode 100644 res/graphics/pokedex/search_buttons_anim.json create mode 100644 res/graphics/pokedex/search_buttons_cell.json create mode 100644 res/graphics/pokedex/search_filter.NSCR create mode 100644 res/graphics/pokedex/search_filter_form.NSCR create mode 100644 res/graphics/pokedex/search_filter_name.NSCR create mode 100644 res/graphics/pokedex/search_filter_order.NSCR create mode 100644 res/graphics/pokedex/search_filter_type.NSCR create mode 100644 res/graphics/pokedex/search_main.NSCR create mode 100644 res/graphics/pokedex/search_national.NSCR create mode 100644 res/graphics/pokedex/search_sinnoh.NSCR create mode 100644 res/graphics/pokedex/size_buttons_pressed.png create mode 100644 res/graphics/pokedex/size_buttons_pressed_anim.json create mode 100644 res/graphics/pokedex/size_buttons_pressed_cell.json create mode 100644 res/graphics/pokedex/size_check_icons.pal create mode 100644 res/graphics/pokedex/size_check_icons.png create mode 100644 res/graphics/pokedex/size_check_icons_anim.json create mode 100644 res/graphics/pokedex/size_check_icons_cell.json create mode 100644 res/graphics/pokedex/size_sub.NSCR create mode 100644 res/graphics/pokedex/time_day_icons.png create mode 100644 res/graphics/pokedex/time_day_icons_anim.json create mode 100644 res/graphics/pokedex/time_day_icons_cell.json create mode 100644 res/graphics/pokedex/type_icons.pal create mode 100644 res/graphics/pokedex/type_icons.png create mode 100644 res/graphics/pokedex/type_icons_anim.json create mode 100644 res/graphics/pokedex/type_icons_cell.json create mode 100644 res/graphics/pokedex/unseen_icon.png create mode 100644 res/graphics/pokedex/unseen_icon_anim.json create mode 100644 res/graphics/pokedex/unseen_icon_cell.json create mode 100644 res/graphics/pokedex/weight_check_main.NSCR create mode 100644 res/graphics/pokedex/weight_scale.png delete mode 100644 res/prebuilt/resource/eng/zukan/meson.build delete mode 100644 res/prebuilt/resource/eng/zukan/zukan.narc diff --git a/include/applications/pokedex/pokedex_graphics.h b/include/applications/pokedex/pokedex_graphics.h index f063409f3c..b2cb967308 100644 --- a/include/applications/pokedex/pokedex_graphics.h +++ b/include/applications/pokedex/pokedex_graphics.h @@ -131,7 +131,7 @@ BOOL PokedexGraphics_TakeCursorTransformStep(CursorTransformation *cursorTransfo NARC *PokedexGraphics_GetNARC(PokedexGraphicData *pokedexGraphicData); u32 PokedexGraphics_LoadGraphicNarcCharacterData(PokedexGraphicData *pokedexGraphicData, u32 memberIndex, BgConfig *bgConfig, u32 bgLayer, u32 tileStart, u32 size, BOOL isCompressed, enum HeapID heapID); void PokedexGraphics_LoadGraphicNarcPaletteData(PokedexGraphicData *pokedexGraphicData, u32 memberIndex, enum PaletteLoadLocation loadLocation, u32 offset, u32 szByte, enum HeapID heapID); -void *PokedexGraphics_GetGraphicNarcScreenData(PokedexGraphicData *pokedexGraphicData, u32 memberIndex, BOOL isCompressed, NNSG2dScreenData **screenData, enum HeapID heapID); +void *PokedexGraphics_GetGraphicNarcTilemapData(PokedexGraphicData *pokedexGraphicData, u32 memberIndex, BOOL isCompressed, NNSG2dScreenData **screenData, enum HeapID heapID); void *PokedexGraphics_GetGraphicNarcPaletteData(PokedexGraphicData *pokedexGraphicData, u32 memberIndex, NNSG2dPaletteData **paletteData, enum HeapID heapID); void *PokedexGraphics_GetGraphicNarcCharacterData(PokedexGraphicData *pokedexGraphicData, u32 memberIndex, BOOL isCompressed, NNSG2dCharacterData **characterData, enum HeapID heapID); void PokedexGraphics_InitSpeciesLabelGraphics(PokedexSpeciesLabel *pokedexSpeciesLabel, SpriteResourceCollection **spriteResourceCollection, enum HeapID heapID, NARC *narc); diff --git a/platinum.us/filesys.csv b/platinum.us/filesys.csv index 8d63564cb5..a5caf2bcbc 100644 --- a/platinum.us/filesys.csv +++ b/platinum.us/filesys.csv @@ -331,7 +331,7 @@ res/prebuilt/contest/graphic/contest_obj.narc,/contest/graphic/contest_obj.narc res/prebuilt/demo/title/op_demo.narc,/demo/title/op_demo.narc res/graphics/title_screen/titledemo.narc,/demo/title/titledemo.narc res/field/trades/fld_trade.narc,/fielddata/pokemon_trade/fld_trade.narc -res/prebuilt/resource/eng/zukan/zukan.narc,/resource/eng/zukan/zukan.narc +res/graphics/pokedex/zukan.narc,/resource/eng/zukan/zukan.narc res/prebuilt/resource/eng/batt_rec/batt_rec_gra.narc,/resource/eng/batt_rec/batt_rec_gra.narc res/prebuilt/resource/eng/wifi_lobby_minigame/wlmngm_tool.narc,/resource/eng/wifi_lobby_minigame/wlmngm_tool.narc res/prebuilt/resource/eng/frontier_graphic/frontier_bg.narc,/resource/eng/frontier_graphic/frontier_bg.narc diff --git a/platinum.us/filesys.sha1 b/platinum.us/filesys.sha1 index a825b088f0..5b8aa10aaa 100644 --- a/platinum.us/filesys.sha1 +++ b/platinum.us/filesys.sha1 @@ -330,7 +330,7 @@ cec363028fa6bc6240f9c8da7ab8f9e8bb1b1465 *res/prebuilt/contest/graphic/contest_o 7fa87d90ba039f67221a43782bf6a1a1107d5947 *res/prebuilt/demo/title/op_demo.narc d7e86fadf59a54f922fc7cf65ae65fa326b8429e *res/graphics/title_screen/titledemo.narc 32a0989a18cc7f3eb17c5949adecb3f057a84eea *res/field/trades/fld_trade.narc -d4b6f9731b808a613338005f59959325ce1e3ac9 *res/prebuilt/resource/eng/zukan/zukan.narc +d4b6f9731b808a613338005f59959325ce1e3ac9 *res/graphics/pokedex/zukan.narc 7e85af57b27fa4a0829b24550fc6c0dd275cf994 *res/prebuilt/resource/eng/batt_rec/batt_rec_gra.narc 2994f2955035001a22a1f225c68bfa809e4c85bf *res/prebuilt/resource/eng/wifi_lobby_minigame/wlmngm_tool.narc 6be171e5d73a8ce4f6e262e6be0dd47c9bb95e41 *res/prebuilt/resource/eng/frontier_graphic/frontier_bg.narc diff --git a/res/graphics/meson.build b/res/graphics/meson.build index 8a5fad7fa2..0660b9297b 100644 --- a/res/graphics/meson.build +++ b/res/graphics/meson.build @@ -7,6 +7,7 @@ subdir('naming_screen') subdir('options_menu') subdir('party_menu') subdir('poffin_case') +subdir('pokedex') subdir('pokemon_summary_screen') subdir('scroll_prompts') subdir('shop_menu') diff --git a/res/graphics/pokedex/area_day.pal b/res/graphics/pokedex/area_day.pal new file mode 100644 index 0000000000..5be39be31a --- /dev/null +++ b/res/graphics/pokedex/area_day.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +148 238 131 +0 0 0 +0 0 0 +115 213 230 +139 222 238 +139 222 238 +139 222 238 +139 222 238 +115 213 230 +115 213 230 +0 0 0 +115 213 230 +106 189 230 +98 156 238 +115 213 230 +197 164 90 +148 238 131 +0 0 0 +0 0 0 +139 205 222 +148 205 222 +148 205 222 +148 205 222 +148 205 222 +139 205 222 +139 213 222 +0 0 0 +139 197 222 +131 180 222 +115 148 222 +139 197 222 +197 164 90 +148 238 131 +0 0 0 +0 0 0 +123 180 222 +139 197 222 +180 230 238 +139 180 222 +139 180 222 +131 197 222 +172 230 238 +0 0 0 +123 180 222 +115 156 213 +106 131 213 +123 180 222 +197 164 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 238 131 +0 0 0 +0 0 0 +115 213 230 +139 222 238 +139 222 238 +139 222 238 +139 222 238 +115 213 230 +115 213 230 +0 0 0 +115 213 230 +106 189 230 +98 156 238 +115 213 230 +189 255 156 +148 238 131 +0 0 0 +0 0 0 +139 205 222 +148 205 222 +148 205 222 +148 205 222 +148 205 222 +139 205 222 +139 213 222 +0 0 0 +139 197 222 +131 180 222 +115 148 222 +139 197 222 +189 255 156 +148 238 131 +0 0 0 +0 0 0 +123 180 222 +139 197 222 +180 230 238 +139 180 222 +139 180 222 +131 197 222 +172 230 238 +0 0 0 +123 180 222 +115 156 213 +106 131 213 +123 180 222 +189 255 156 diff --git a/res/graphics/pokedex/area_map.NSCR b/res/graphics/pokedex/area_map.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..d3dff227a0b47fea9cf0ba9fd1d4e1345cb2e081 GIT binary patch literal 1572 zcmb`F_g9xy9LK-7a#i0H0c|Iy0_s&vORt(j*4G3TTsiXd5-Rii&C#%>fU`nV*`<}T zw=>so{ta?Wa4S}>)P|!WcAtj_9B`t;@p+%~ocHIR`}&M~Z%jmN^sO3~UvL|j%kA=W zMaM+M`Wx@^+i!m6Gv4cNo}yHgZXQ`n-7h{s1vXHSYPz$!`dWvmdljZan^c^NxA%lK z!fO?(n^L@vv-bq)zy=EVA17Pae`AwYN|mF-azu{GF(*1MC*-7@lG9FH8Q&P~byrBW zqcifO{3Jg+(OEes=jDQ2bm9tMQ~WP-NiNG3XaBGAoBS?+$kn@ekMgKwm7o$;l5rk$ zcem?blk0Lr{*=FL;&1s!Zc2^ZlCwUm!`k{Ks#K*qDpTcm@h<#mK}%ZEnrdmo1GJ?b z?df2mI=-l$wz3r8!FS|A9^zr#JVGavp)>w;A%H-F4BwRl;&rFkbec+687kBES<33a z8;|lBkMjgi@)S?=4BZK)hh6tsdU8;HkVA&gRyjtwDo^FB0^1kbd@p(vLMUPMp)dVV z^k)F!4CFZmF_`Ch0c-w3onus>^L3uiwSBg(J-;CgMKg@yjNnB^GKvTyd5O`y%qw_I zCl;TjQ;jlphECUMwolPx>@HtrEKx)=j`2(&hFB&tiOEc1Dz7ok;l1u+o3gT4Dl%_( zIy0Eb>&!xc*~Agg8@$O|%;9b3;>C9dU#`pQGnDEQ!@t8k=Cgo>yvuvM&j&2xLq6hT zKH*aqvxEc^NwVknx;@&XlXRj^(8Y3?slHBaFxTwCP7A-O8V literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/area_morning.pal b/res/graphics/pokedex/area_morning.pal new file mode 100644 index 0000000000..475164c6cd --- /dev/null +++ b/res/graphics/pokedex/area_morning.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +148 238 131 +0 0 0 +0 0 0 +164 189 213 +156 180 205 +156 180 205 +156 180 205 +164 189 213 +156 189 213 +156 205 205 +0 0 0 +156 180 205 +148 164 205 +131 139 197 +156 180 205 +197 164 90 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +123 123 123 +148 238 131 +0 0 0 +0 0 0 +139 205 222 +148 205 222 +148 205 222 +148 205 222 +148 205 222 +139 205 222 +139 213 222 +0 0 0 +139 197 222 +131 180 222 +115 148 222 +139 197 222 +197 164 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/res/graphics/pokedex/area_night.pal b/res/graphics/pokedex/area_night.pal new file mode 100644 index 0000000000..e9e9c39e02 --- /dev/null +++ b/res/graphics/pokedex/area_night.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +148 238 131 +0 0 0 +0 0 0 +131 139 205 +139 172 205 +222 238 238 +131 139 205 +131 139 205 +139 172 205 +222 238 238 +0 0 0 +131 139 205 +123 123 189 +115 106 180 +131 139 205 +197 164 90 +148 238 131 +0 0 0 +0 0 0 +123 180 222 +139 197 222 +180 230 238 +139 180 222 +139 180 222 +123 197 222 +172 230 238 +0 0 0 +123 180 222 +115 156 213 +106 131 213 +123 180 222 +197 164 90 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +98 98 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/res/graphics/pokedex/area_sub.NSCR b/res/graphics/pokedex/area_sub.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..dcf5e8232a073e7d73264a65e7236c3e60ee6cb5 GIT binary patch literal 1572 zcmd^8%U0Vk5Op>^v?U3|;bES4aTfxV0OggGBwetfEnz`gXnA#;!jAx7)h}xq$+l$2 zz^3PPQ_o2>o|$`fHP)OQ437W&4oZ9#1QS6iI6gTT)Wr`l6a9%XyvAV;YvK*n z6m&;*mB;2)g!qKdP*}m0s<9$xs<38xM(Yg2Xe|FeDQM{lCSN#_*HQFpx}s!%UCXFV ztMWUA7)LpC+RbEww%25-^F9sCT0n8Q343@$ZBi7jxRa|wsJ`yt0wS$)MR;u%=P64q0cUmZT? sS?5yBk#y@vGJPR7u<23W8^K51B|mLR`7#SHll~VM|6j5M$f+*Q(kx!1(0y;p-Z}sOcZ1Z7g3%BdE+L@q#@Y+?i;ky@ zV~E7mH|wT69xv==e)5@aZ3e3 OVc_ZN=d#Wzp$Pyt<~N}L literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/banner_anim.json b/res/graphics/pokedex/banner_anim.json new file mode 100644 index 0000000000..38b25da7c7 --- /dev/null +++ b/res/graphics/pokedex/banner_anim.json @@ -0,0 +1,23 @@ +{ + "labelEnabled": true, + "sequenceCount": 1, + "frameCount": 1, + "sequences": [{ + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 0 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }], + "resultCount": 1, + "labels": ["CellAnime17"], + "labelCount": 1 +} \ No newline at end of file diff --git a/res/graphics/pokedex/banner_cell.json b/res/graphics/pokedex/banner_cell.json new file mode 100644 index 0000000000..40a299b0d2 --- /dev/null +++ b/res/graphics/pokedex/banner_cell.json @@ -0,0 +1,44 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 1, + "mappingType": 2, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 0 + } + }] + }], + "labels": ["CellAnime17"], + "labelCount": 1 +} \ No newline at end of file diff --git a/res/graphics/pokedex/banner_default.pal b/res/graphics/pokedex/banner_default.pal new file mode 100644 index 0000000000..2d3f3d6125 --- /dev/null +++ b/res/graphics/pokedex/banner_default.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +205 205 246 +106 106 115 +238 238 238 +255 255 255 +0 0 0 +0 148 255 +255 255 197 +156 139 98 +255 115 115 +255 164 164 +255 255 255 +123 115 106 +41 115 172 +32 139 222 +148 189 156 +255 255 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/res/graphics/pokedex/banner_national.pal b/res/graphics/pokedex/banner_national.pal new file mode 100644 index 0000000000..cbaee30109 --- /dev/null +++ b/res/graphics/pokedex/banner_national.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +222 222 255 +172 189 189 +16 24 32 +0 0 0 +82 189 106 +106 164 255 +197 222 255 +238 238 238 +123 115 106 +74 74 74 +0 0 0 +131 131 115 +148 148 106 +255 255 255 +123 131 131 +213 148 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +222 222 255 +172 189 189 +16 24 32 +0 0 0 +82 189 106 +106 164 255 +197 222 255 +238 238 238 +123 115 106 +106 57 0 +0 0 0 +238 139 0 +255 205 148 +255 255 255 +123 131 131 +213 148 90 diff --git a/res/graphics/pokedex/banner_register.pal b/res/graphics/pokedex/banner_register.pal new file mode 100644 index 0000000000..e9eee8a127 --- /dev/null +++ b/res/graphics/pokedex/banner_register.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +222 222 255 +172 189 189 +16 24 32 +0 0 0 +82 189 106 +106 164 255 +197 222 255 +238 238 238 +123 115 106 +131 123 41 +0 0 0 +213 189 98 +255 255 230 +255 255 255 +123 131 131 +213 148 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +222 222 255 +172 189 189 +16 24 32 +0 0 0 +82 189 106 +106 164 255 +197 222 255 +238 238 238 +123 115 106 +32 98 148 +0 0 0 +0 98 246 +82 197 255 +255 255 255 +123 131 131 +213 148 90 diff --git a/res/graphics/pokedex/banner_sinnoh.NSCR b/res/graphics/pokedex/banner_sinnoh.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..f96d355c4491d54d625fed2c7f8e41275e1a34dd GIT binary patch literal 1572 zcmWG?4)**1kAYEzje$Xcfsw&4$T?U9$Yx+X03?6_$hKs#VyGk&G6MBQGDI=-k_lyi Z`uZq@5RZ(KqaiRF0;3@?8Umz-008)0HaGwP literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/banner_sinnoh.pal b/res/graphics/pokedex/banner_sinnoh.pal new file mode 100644 index 0000000000..0f6838b89f --- /dev/null +++ b/res/graphics/pokedex/banner_sinnoh.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +222 222 255 +172 189 189 +16 24 32 +0 0 0 +82 189 106 +106 164 255 +197 222 255 +238 238 238 +123 115 106 +131 123 41 +0 0 0 +213 189 98 +255 255 230 +255 255 255 +123 131 131 +213 148 90 +255 213 205 +172 189 189 +16 24 32 +197 238 246 +156 189 255 +189 238 180 +255 255 255 +172 205 156 +246 246 255 +197 255 189 +255 255 213 +131 172 246 +197 180 98 +106 148 205 +222 255 213 +213 246 205 +148 238 131 +0 0 0 +0 0 0 +115 213 230 +139 222 238 +139 222 238 +139 222 238 +139 222 238 +115 213 230 +115 213 230 +0 0 0 +115 213 230 +106 189 230 +98 156 238 +115 213 230 +197 164 90 +255 205 238 +172 189 189 +238 230 222 +189 238 180 +197 255 189 +255 255 255 +131 197 246 +189 222 230 +238 255 255 +131 131 205 +172 172 246 +222 255 213 +213 246 205 +172 197 164 +238 246 230 +222 238 213 +246 222 189 +65 197 213 +164 230 238 +255 255 255 +0 0 0 +0 0 0 +213 238 180 +172 197 139 +0 0 0 +82 74 123 +131 156 123 +213 255 255 +32 164 172 +32 222 246 +8 205 222 +74 131 139 +238 189 139 +65 197 213 +164 230 238 +255 255 255 +0 0 0 +0 0 0 +213 238 180 +172 197 139 +0 0 0 +82 74 123 +131 156 123 +213 255 255 +32 164 172 +32 222 246 +8 205 222 +74 131 139 +189 98 213 +41 148 172 +32 115 230 +98 213 222 +57 172 131 +98 222 139 +139 197 98 +57 205 139 +57 156 246 +246 106 65 +41 238 255 +255 148 49 +255 205 65 +172 222 32 +148 98 82 +74 255 32 +148 213 255 +148 148 115 +255 255 255 +255 115 106 +255 98 98 +255 90 90 +205 197 189 +213 90 90 +106 90 74 +213 213 172 +106 74 24 +197 164 90 +238 238 213 +172 172 139 +213 213 172 +238 238 197 +238 255 189 +0 148 255 +255 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 222 189 +255 255 222 +0 0 0 +0 0 0 +238 238 197 +230 230 164 +139 139 255 +115 115 115 +123 123 131 +0 0 0 +74 123 139 +65 115 131 +41 222 189 +90 205 197 +41 197 230 +0 0 0 +255 255 164 +222 255 213 +213 246 205 +139 139 139 +123 123 123 +106 106 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +238 238 197 +131 123 65 +255 255 255 +222 222 222 +172 172 164 +156 156 148 +148 139 131 +131 115 98 +222 222 148 +180 180 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +16 24 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +139 139 205 +172 189 189 +16 24 32 +255 255 255 +98 98 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 98 213 +41 148 172 +164 131 230 +98 213 222 +57 172 131 +98 222 139 +139 197 98 +57 205 139 +57 156 246 +246 106 65 +41 238 255 +255 148 49 +255 205 65 +172 222 32 +148 98 82 +74 255 32 +148 213 255 +189 156 131 +255 255 255 +255 115 106 +255 98 98 +255 90 90 +213 205 197 +213 90 90 +131 115 98 +255 205 131 +115 189 90 +189 255 156 +238 230 180 +255 164 98 +255 189 123 +255 238 148 diff --git a/res/graphics/pokedex/buttons.pal b/res/graphics/pokedex/buttons.pal new file mode 100644 index 0000000000..a2642a2b51 --- /dev/null +++ b/res/graphics/pokedex/buttons.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +205 205 246 +205 205 164 +98 98 98 +98 98 98 +213 164 205 +189 189 189 +115 115 123 +164 65 156 +197 8 8 +246 8 8 +255 90 90 +180 106 49 +255 238 180 +0 0 0 +255 255 197 +255 255 255 +238 197 213 +131 131 139 +238 238 238 +255 255 255 +0 0 0 +222 222 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 246 189 +131 131 139 +238 238 238 +255 255 255 +255 255 255 +0 0 0 +0 0 0 +156 98 164 +0 0 0 +115 98 74 +189 172 115 +205 255 238 +74 156 139 +90 222 213 +82 205 189 +65 139 123 +246 222 189 +131 131 139 +238 238 238 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +156 98 164 +0 0 0 +115 98 74 +189 172 115 +230 255 222 +98 156 74 +131 222 98 +131 205 106 +90 139 65 +205 230 156 +131 131 139 +238 238 238 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +156 98 164 +0 0 0 +115 98 74 +189 172 115 +213 230 255 +106 148 246 +164 189 255 +148 172 255 +98 123 172 +197 246 189 +156 115 32 +246 222 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +156 98 164 +0 0 0 +115 98 74 +189 172 115 +246 230 172 +189 139 32 +246 197 90 +238 180 106 +156 115 32 +205 230 156 +205 139 139 +115 115 123 +115 115 123 +255 255 255 +205 139 139 +115 115 123 +156 98 164 +0 0 0 +115 98 74 +189 172 115 +255 197 189 +230 98 82 +246 156 148 +246 139 131 +180 65 65 +205 205 255 +189 189 164 +98 90 106 +98 90 106 +197 148 197 +172 172 189 +106 106 131 +148 57 156 +197 8 8 +246 8 8 +238 90 115 +172 98 49 +238 213 180 +0 0 0 +238 230 197 +238 230 246 +213 205 255 +172 172 172 +98 90 123 +98 90 123 +172 131 197 +156 148 180 +98 90 139 +139 49 164 +197 8 8 +246 8 8 +213 82 131 +172 98 49 +213 189 172 +0 0 0 +213 205 189 +213 205 230 +213 205 255 +156 148 172 +90 82 139 +90 82 139 +156 115 189 +139 131 180 +90 82 148 +123 41 164 +197 8 8 +246 8 8 +189 74 148 +164 90 49 +197 164 164 +0 0 0 +189 180 189 +189 180 213 +115 255 164 +16 24 32 +172 189 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +246 246 255 +205 222 255 +189 222 255 +230 238 255 +222 230 255 +255 255 255 +246 222 189 +180 180 180 +115 115 123 +115 115 123 +0 0 0 +180 180 180 +115 115 123 +156 98 164 +0 0 0 +115 98 74 +189 172 115 +255 255 255 +148 148 148 +197 197 197 +189 189 189 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/res/graphics/pokedex/cry_bar.png b/res/graphics/pokedex/cry_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..086ce3c2b6678bd3206633bc96a9c81d423dda70 GIT binary patch literal 885 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3-oF?)7FfFfcO&_=LDlne!hgf(QIBF8)7f zPBD-S3i{vNj7R0D)My9{y%308WDaz+fv1aOh{nX^2dzwUG7XIznDRIdtZm?D%2?U3 uKw9Iwnj`Culm}ct6dR^-aqMbr&}RtPB{6N)0049kdJ_($!sxLoc8Cr&NqRZ4tBq7sp);JG?uZFfQfNN&X&d88uzpZG2aC`Gk&kC(Q-FXXw3(E-}{6UU~o}*-(9xM_hYzQG}GN zdscU!OuTFb+TkN6$6e##)kw~k?VxMODS_T7r(JeqJwDD=kC#>7DCiFi0E?fbV07cP z0gz%1ex#ks$GgqCLae>yU8;R{IyN=nXkmlte7C(6O#L z%6|7oaj(+ZW^t>_r&nIvy1Jx^O2{i~P7`B9^eE7lc9}glwreZJOSn)ui;sQU!7&L9b!{RUwrd1}<1#wL_FR~rSHkOCc))2kS2*wn$M5L0Mq zYPVC>rYG%(Z;dbp@d-lqOYcxhg9-);1KRy71|-Mc9V4HCf#q-A9G6OZ(5G&rw$nby zZ54>ad46th;`g$_+a`pTr53N=s4A0%0^z$Ds&`mz>D{Z6XC^zgx@@7}TPd>m+@`Uz z+Btmr;Ohgw^>PY{A$p&^OpIOvqF-~Kl;!fV=bz33=B=P%+Ja*pYzu=qwRCK zuD1)A@)}tes)TOlrnKAv7d{!>!aHO1k(*g(!|TAD9%!?LBY7kmLN1e;SRI@eKI4$G z#+q0{B>8@U;x)1Z1RIZ9+Vt8hvWrt~9N&|PjN()t-IYwlR&uS-L4P%HKkEoQ3$jpk z;KJM8O=goeY7QZRVPIqv5FtHyv_WJD9dP?4R!U_>^}lRQ9_o2G9d`11S(#H+xgmJ* zPJfNHs{MuTWUP8}v0n9Bfe19e{N;r`igA&x!0+gy=kc#1f@lt?h(PnDTuP(Gu^lL3 zy<4bqHpo0>O%o`_voe=%6}1|AZ=HcPu4hkT{Du|syj5-UB1+QL)WmfB*X$5;#t-R0 z_q?V*%DKa3)m$EVuWC)uBt6{Rve$WM$@ba-F z*p7f?!4-N&vc|G7uJ`<`*YtTTwk+^@FVa>~wch~wf@{`MmsFd4)$us4r>K9vkbgYE z)QUN?>9>ydgbzsO)L3-%o*ZQUuY6ietd{y>QB{M0IF+lq9~eJ<6V1(S;NA8}G(~8_ z66`8829gO=d%BRTHX(yyXN&8hOcd-=B# zD%i}`i%o^+S5~4-RX65VMvE77XHsz6`iH$|cCL(1NgZo5LvQ1jIX`LiD1SQq5p}Ot z-RzSYdgqTm!@sdCTajj_s0H$o~HdFDvzYM9ukUzq@Z^cM9r zbMWuG&-JaRs_&OQa_*!h;T4fdsDYYE?U9+GuOaXUrVBs%3yU(s?b}c?*=P-IR)%L4 zFGf0qIZtLBv8C+(cqYD*$>YdWy~bW%k{5dcdpFr%NFYE0D%drR-bWp~rqO#Sm)`6R zdpFn{Y6Q-`?;2RqfBbd!T65;k%(u@uv(`;z!Deitw2ea?Q&eMOSzQK^*KJNUNtH(EU2R62jTt8kUB%2m5+U*#)(g)fi! zxAeB&(Ytz2%Okz75A>lv(#Nq!I)9C;b#<=ZHMj;}@9TW6uZj3i^r=46=cX?r`b&Kk zeSNKO)MO6-tCrqT4`lzpg;AO zn)SCjXc4ilLWjA(b51LE%WH0unquuGEA{DEvx~W9n)k8g1sxtLb zZ|%dr?8p8bVElm`M7qO+IfP~%%3&PN5ytmZe+|$;4bor@(NGQ3aE;JNjna`E#nBwY zu^h+oMxVfmoMiE2PT^Ee<8;p8Oh#*r#%i3#Yl0?fk|t}4rfQm|D~q!@n{zmq^EltQ z3%HPrEM82KY;wpYW%={C#B?c_ak=RVuH>p{=W08dbXq&kfvY^iAB%E!@g& z+|C^_eh$~30a$P6Px&7`Sh7PJ3D0dwqa)@m;En9l+hvWUfYvV^59Gdj>3 D+M;=3 literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/cry_sub.pal b/res/graphics/pokedex/cry_sub.pal new file mode 100644 index 0000000000..c2a0804bd8 --- /dev/null +++ b/res/graphics/pokedex/cry_sub.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +148 213 255 +148 148 115 +255 255 255 +255 189 106 +255 172 98 +255 164 82 +205 197 189 +255 148 49 +106 90 74 +213 213 172 +106 74 24 +197 164 115 +238 238 213 +172 172 139 +213 213 172 +238 238 197 +148 213 255 +148 148 115 +255 255 255 +255 115 106 +255 98 98 +255 90 90 +205 197 189 +213 90 90 +106 90 74 +213 213 172 +106 74 24 +197 164 115 +238 238 213 +172 172 139 +213 213 172 +238 238 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 213 255 +189 156 131 +255 255 255 +255 189 106 +255 172 98 +255 164 82 +213 205 197 +255 148 49 +131 115 98 +255 205 131 +115 189 90 +189 255 156 +238 230 180 +255 164 98 +255 189 123 +255 238 148 +148 213 255 +189 156 131 +255 255 255 +255 115 106 +255 98 98 +255 90 90 +213 205 197 +213 90 90 +131 115 98 +255 205 131 +115 189 90 +189 255 156 +238 230 180 +255 164 98 +255 189 123 +255 238 148 diff --git a/res/graphics/pokedex/cry_wheel.NSCR b/res/graphics/pokedex/cry_wheel.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..260465beae9283dd2f8509c82649e4d88b21dffe GIT binary patch literal 1060 zcmeH@*;c|Z5Qg)&g@P5N7DX)JhN55*RAg1ux`TxS@Bb>mB*IM^FFl6~=OmfQe3>OP z@u$Ij#!xgEOEIuu;!o3LlL=akaeGY!vPgXitm!a72NxBOL}4Np|AlW@n+e@aZl&yP zWxSKNc6Kv+S$p4A@Lay&9Ei+^?$Pl{xPI~UOkkjNexdBIyyO+G<^C@{uS)JK+BMIs zhd7{J^Ei?lJ^?viyKUSF3N%}7J;XcRo_#MKJXrn5rw|9|-_O4B@=9}1=my^9d96 literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/cry_wheel.png b/res/graphics/pokedex/cry_wheel.png new file mode 100644 index 0000000000000000000000000000000000000000..71b1147ebc39af13251e495d9bc25bdc555a1a21 GIT binary patch literal 1389 zcmeAS@N?(olHy`uVBq!ia0vp^4M1$b!3-qdX*KmQFfcO&_=LDlx%z*~l;ZzDus7@f znxy|rg3cb@`+tgIR+QJ(t822nB#tgAe)sO`nl;@(?z?wK5$cPx{wF2{3En=0|u^w|5LuButuUyd$X`gO?@#yGQO(^wzGaR_iY&bDIGP-VFAi}zGN z!NZ!+F=)3ZrG3zM{SHq3_LOsV>81BF1Yj|EGbwJa6Y3e!ad!-x! z6W^RRzoA}gy}f_2w}*z9z>7O4ZXAF9k}>(RvVq=;GmQ8CZ8Tv&;HIbGu<#kfdAlvA z;#R5s{P5IIz%=IWlDR*&PuY0ZYmJ2Zjsvg79>#ILS4mJ7b@9uapB_EA=y;WZby4z~E6)U82)R{m?Prl?xSF>)A5uMQqqEcs(|3_*EkGZC4G~1K~xYKUQY<6cvLKw5O||%Q~loCIDUf BqWb^< literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/cursor.png b/res/graphics/pokedex/cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..e905775882041234fb9ced2ace16b615d7ff7f1d GIT binary patch literal 868 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl4m>B|mLR_c3`wtW$2K)yCV$_YQ z84ZD<69SDpRs4ajmG^XU43U_c{J@!sN8!M6e)cJx2@+h1Mgjf|iFQ{R7$*0yX?ErP Q9W&i*H literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/cursor_anim.json b/res/graphics/pokedex/cursor_anim.json new file mode 100644 index 0000000000..c82287576d --- /dev/null +++ b/res/graphics/pokedex/cursor_anim.json @@ -0,0 +1,146 @@ +{ + "labelEnabled": true, + "sequenceCount": 4, + "frameCount": 16, + "sequences": [{ + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 2, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 6, + "resultId": 0 + }, { + "frameDelay": 6, + "resultId": 1 + }, { + "frameDelay": 6, + "resultId": 2 + }, { + "frameDelay": 6, + "resultId": 1 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 2, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 6, + "resultId": 3 + }, { + "frameDelay": 6, + "resultId": 4 + }, { + "frameDelay": 6, + "resultId": 5 + }, { + "frameDelay": 6, + "resultId": 4 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 2, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 6, + "resultId": 6 + }, { + "frameDelay": 6, + "resultId": 7 + }, { + "frameDelay": 6, + "resultId": 8 + }, { + "frameDelay": 6, + "resultId": 7 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 2, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 6, + "resultId": 9 + }, { + "frameDelay": 6, + "resultId": 10 + }, { + "frameDelay": 6, + "resultId": 11 + }, { + "frameDelay": 6, + "resultId": 10 + }] + }], + "animationResults": [{ + "resultType": 2, + "index": 0, + "positionX": 0, + "positionY": 0 + }, { + "resultType": 2, + "index": 0, + "positionX": -1, + "positionY": -1 + }, { + "resultType": 2, + "index": 0, + "positionX": -2, + "positionY": -2 + }, { + "resultType": 2, + "index": 1, + "positionX": 0, + "positionY": 0 + }, { + "resultType": 2, + "index": 1, + "positionX": 1, + "positionY": -1 + }, { + "resultType": 2, + "index": 1, + "positionX": 2, + "positionY": -2 + }, { + "resultType": 2, + "index": 2, + "positionX": 0, + "positionY": 0 + }, { + "resultType": 2, + "index": 2, + "positionX": -1, + "positionY": 1 + }, { + "resultType": 2, + "index": 2, + "positionX": -2, + "positionY": 2 + }, { + "resultType": 2, + "index": 3, + "positionX": 0, + "positionY": 0 + }, { + "resultType": 2, + "index": 3, + "positionX": 1, + "positionY": 1 + }, { + "resultType": 2, + "index": 3, + "positionX": 2, + "positionY": 2 + }], + "resultCount": 12, + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3"], + "labelCount": 4 +} \ No newline at end of file diff --git a/res/graphics/pokedex/cursor_cell.json b/res/graphics/pokedex/cursor_cell.json new file mode 100644 index 0000000000..bc152ce28a --- /dev/null +++ b/res/graphics/pokedex/cursor_cell.json @@ -0,0 +1,146 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 4, + "mappingType": 0, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 8, + "Size": 1 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": true, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 16, + "Size": 1 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": true, + "hvFlip": true, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 24, + "Size": 1 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 0 + } + }] + }], + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3"], + "labelCount": 4 +} \ No newline at end of file diff --git a/res/graphics/pokedex/dummy1.NSCR b/res/graphics/pokedex/dummy1.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..28f3acff421ef53408d65d98e848cb030d005ae8 GIT binary patch literal 92 zcmWG?4)**1kAX3Ufq_AQfsw&4$T`>t$hKfm0Foe@fq_+l4G!5AR29_VP+h@Q!3_@G M6<9Uc;E-Jd0FV<5v;Y7A literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/dummy1.pal b/res/graphics/pokedex/dummy1.pal new file mode 100644 index 0000000000..295172bc4c --- /dev/null +++ b/res/graphics/pokedex/dummy1.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +255 189 246 +16 24 32 +172 189 189 +0 0 0 +255 230 230 +255 230 164 +255 255 230 +230 222 139 +255 246 246 +189 172 172 +189 164 164 +90 65 65 +172 148 148 +164 139 139 +205 180 123 +213 189 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/res/graphics/pokedex/dummy1.png b/res/graphics/pokedex/dummy1.png new file mode 100644 index 0000000000000000000000000000000000000000..915ca2aa86a8ae634679731da4ded33bd980f5c3 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5I9Qm0h`aWN=+vU4=Z%GJu>uw_@8965_!dqFPG!6d(_ zj~~mqMi=TR=y^Nr$!Q8R@Sk}&fu;IN*j|o?8x!W&>}E0Pp7L|EK(oF-gg z{ahyGut7EtB;+>WHsJxgfX9R!HlG2X2|rjrzX>^Pa>5)rzQ_r4R>}5LOafy*Bq22vHd)fKM6DiZ49puW8cHS@} z`00-w?ia&kxI0b@3FyyWAbKYFnSsPXxvio4ObTXC)bHyto>fZyr{fZxX+PuWUDgP1 zozIW0uSe8wd4H!R^pVusEBoZ1h0Ziy`&Vay-JxfN*Frm2e^O?Q|6{IKazu0cp?!Am PKu-2_^>bP0l+XkKr08)h literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/dummy3.NSCR b/res/graphics/pokedex/dummy3.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..5299d7fe4937b65764252d6849980b876081dff7 GIT binary patch literal 372 zcmWG?4)**1kAbm-k%2*gfsw&4$T>I#$WCA=U;u#tAe&o&M}QX%@(J(@Xbb2F=%T?q z34H-?0UrThH0USbk5$}9Wblb+3*-poqCq{0e1UF(9)Vso*eB30uv%b^z*;o8PGG%& Pw1A9&EE<#(kQV>|(G^AA literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/dummy3.pal b/res/graphics/pokedex/dummy3.pal new file mode 100644 index 0000000000..296cf0e30a --- /dev/null +++ b/res/graphics/pokedex/dummy3.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +222 222 255 +172 189 189 +16 24 32 +0 0 0 +82 189 106 +106 164 255 +197 222 255 +238 238 238 +123 115 106 +57 90 115 +0 0 0 +255 213 0 +255 255 246 +255 255 255 +123 131 131 +213 148 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/res/graphics/pokedex/dummy3.png b/res/graphics/pokedex/dummy3.png new file mode 100644 index 0000000000000000000000000000000000000000..00d6d88df805bec34886f327e57f88ffcb0edea8 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0YJ>b!VDzmJW6E&QU(D&A+A%NO%ae#`2YX^k~v;k zSy@3rL07MK1HrqaUO@K$tl~9m)&ONe;(L?+|9@7p>FHIV-ZW1a#}J9BwHFTZHW+ZU zCi>0wnR6h0y{&+`fb0Pmw_+XsEngE3*JmA?KE=VsB`s~sSC36sBmSQC;$5~f+)1P7 zmeFy6_U*}{bKb2JJk!sgzk;EZyC>l{->X5*HDNMpS%~qAglVEFuLV#OS+^((g-+L3I~IR|9_|Mm&OH~-MZLC@&&}olAYa)vOtlNDt!zfk z1#RpGAOrQiMp zbi_Ry8N(nLXc%2&;k=jlf+Koi8)MP7f1pl=ZUe^=pt5Ex65M7&=+%TeIx%(I;{uy* zSIR_k-613i9ObC4!$77f@`y*2M>x@uw4b7f%l=fX#|Q8l}q< z3o?gA%W7T0(#qDGb`AUMYj+dH=l<$=DV+OQF3z-Ec!kd6>1Q_HIG>!F)?SVP`nOu) R>)^OEh_X_y8TZ@P**Cm6p_u>x literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/dungeon_highlight_anim.json b/res/graphics/pokedex/dungeon_highlight_anim.json new file mode 100644 index 0000000000..bb8ae1f33d --- /dev/null +++ b/res/graphics/pokedex/dungeon_highlight_anim.json @@ -0,0 +1,88 @@ +{ + "labelEnabled": true, + "sequenceCount": 6, + "frameCount": 6, + "sequences": [{ + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 0 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 1 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 2 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 3 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 4 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 5 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }, { + "resultType": 0, + "index": 1 + }, { + "resultType": 0, + "index": 2 + }, { + "resultType": 0, + "index": 3 + }, { + "resultType": 0, + "index": 4 + }, { + "resultType": 0, + "index": 5 + }], + "resultCount": 6, + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5"], + "labelCount": 6 +} \ No newline at end of file diff --git a/res/graphics/pokedex/dungeon_highlight_cell.json b/res/graphics/pokedex/dungeon_highlight_cell.json new file mode 100644 index 0000000000..5df1b073d5 --- /dev/null +++ b/res/graphics/pokedex/dungeon_highlight_cell.json @@ -0,0 +1,294 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 6, + "mappingType": 2, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 9 + }, + "maxX": 4, + "maxY": 31, + "minX": -11, + "minY": -32, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": 0, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -11, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -32, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -11, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 2, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 9 + }, + "maxX": 4, + "maxY": 31, + "minX": -11, + "minY": -32, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": 0, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -11, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -32, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -11, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 2, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 4, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 4, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": true, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 4, + "maxY": 13, + "minX": -11, + "minY": -14, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -2, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -11, + "RotationScaling": 16, + "Size": 1 + }, + "Attr2": { + "CharName": 5, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -14, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -11, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 5, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": true, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 4, + "maxY": 13, + "minX": -11, + "minY": -14, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -2, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -11, + "RotationScaling": 16, + "Size": 1 + }, + "Attr2": { + "CharName": 5, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -14, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -11, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 5, + "Priority": 0, + "Palette": 2 + } + }] + }], + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5"], + "labelCount": 6 +} \ No newline at end of file diff --git a/res/graphics/pokedex/entry_main.png b/res/graphics/pokedex/entry_main.png new file mode 100644 index 0000000000000000000000000000000000000000..dfaaa6f7d4a65faf0e0a97540719ab9c6f0f01c8 GIT binary patch literal 3968 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 Ib%q-Kf1Kr3dH?_b literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/foreign_entry_window.NSCR b/res/graphics/pokedex/foreign_entry_window.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..59a3198be3e75988f77e2323b47e0fc5914cb924 GIT binary patch literal 548 zcmWG?4)**1kAYEziGe|Yfsw&4$T?U9$Yx-401`j|Wb+AN2ZaJf_@PJ<5Ecul3Mf+m f`2|cU(5)j4lF8Yg9S9}3}oG~>3 literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/form_display_box.png b/res/graphics/pokedex/form_display_box.png new file mode 100644 index 0000000000000000000000000000000000000000..d6b3f3fce4c15147890011263b76767717394ad8 GIT binary patch literal 1605 zcmeAS@N?(olHy`uVBq!ia0vp^3JeU)8XU|()=YUJGa!c{z$e7@=)1jF=j=@a1E3TH z{NIxGe~RYODQExx|G#ER_qT8VuWs35==fiA%YT@XQF=54=n(?g)8~?_-}_3bhand=;~<)^;zT4SVmAvhrP z2V>~`6D z%1|e|hJA6MK*LEchCf;n{BDaC7$%D{{0QA3*W>2Mpr+06VReG7L~j#=PZ-04@Pkzb zQml+K)-W7c|A^!ByTs;7^ADU%?km~t9pqmy*Dm1y@{q^wMCySV?N#gKitDOs89rGl zr2i~ul4O!(h&p_e;hcUCGdokk2R2lT&xP>sy}jdt1_#7RZM}?|lH0^e%+;6Vy!p@XDSa;$@a}E#2ev84*H6E>(Q9U{(f@>htw$BbYokkEm2diE zDrr#gq<7aB^R0_b4eh40Ocz(1|CKe@Fi19%X+^h6BQ(Gn^u$16T&Et%&r5n3H+@Yo z;bJm~WNe5(D){Vfjb7&Nst?Rx8tpEy|8kH&_n`TXNVfFyCm$F8&fZ&>;Sk4u$>qg? zx9_*|hb-b=A~#{V^NRy6D;lm9m^FOnete*jL1quoB-YmlGelStHZd{m?=rs1Jm1^s znsa`#gOJngTc@=cZ_RlSQP08ffQdEcQNsbb6sLyAN!kr|GRN8NrmH}MT7_XrE%RYx zfdo@VUa26%<5**Ja6@;@kM}!&H``rkZ{@$f`riS+S$UhjG~5!Eov~{b klhRV=E$3D>965c!{6yz5CM%(D2S9n+)78&qol`;+0LxmB>Hq)$ literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/form_display_box_anim.json b/res/graphics/pokedex/form_display_box_anim.json new file mode 100644 index 0000000000..efed2a4b75 --- /dev/null +++ b/res/graphics/pokedex/form_display_box_anim.json @@ -0,0 +1,70 @@ +{ + "labelEnabled": true, + "sequenceCount": 3, + "frameCount": 6, + "sequences": [{ + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 0 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 2, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 6, + "resultId": 1 + }, { + "frameDelay": 6, + "resultId": 2 + }, { + "frameDelay": 6, + "resultId": 3 + }, { + "frameDelay": 6, + "resultId": 2 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 4 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }, { + "resultType": 2, + "index": 1, + "positionX": 0, + "positionY": 0 + }, { + "resultType": 2, + "index": 1, + "positionX": -1, + "positionY": 0 + }, { + "resultType": 2, + "index": 1, + "positionX": -2, + "positionY": 0 + }, { + "resultType": 0, + "index": 2 + }], + "resultCount": 5, + "labels": ["CellAnime0", "CellAnime1", "CellAnime2"], + "labelCount": 3 +} \ No newline at end of file diff --git a/res/graphics/pokedex/form_display_box_cell.json b/res/graphics/pokedex/form_display_box_cell.json new file mode 100644 index 0000000000..1677d2c541 --- /dev/null +++ b/res/graphics/pokedex/form_display_box_cell.json @@ -0,0 +1,672 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 3, + "mappingType": 2, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 21 + }, + "maxX": 51, + "maxY": 63, + "minX": -52, + "minY": -56, + "oamCount": 15, + "OAM": [{ + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -52, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 12, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 16, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 24, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 25, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -52, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 26, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 12, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 34, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 38, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -52, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 39, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 41, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 12, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 43, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 45, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -52, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 46, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 47, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 48, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 49, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 50, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 21 + }, + "maxX": 51, + "maxY": 63, + "minX": -52, + "minY": -56, + "oamCount": 15, + "OAM": [{ + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -52, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 51, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 12, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 67, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 75, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 76, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -52, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 77, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 12, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 85, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 89, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -52, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 90, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 92, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 12, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 94, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -52, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 97, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 98, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 99, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": 56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 44, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 100, + "Priority": 0, + "Palette": 0 + } + }] + }], + "labels": ["CellAnime0", "CellAnime1", "CellAnime2"], + "labelCount": 3 +} \ No newline at end of file diff --git a/res/graphics/pokedex/forms_sub.NSCR b/res/graphics/pokedex/forms_sub.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..d1c0a18c67512f25a54ebe5c46e1ed1f818e5928 GIT binary patch literal 1572 zcmeH^%MF7t5JcC2a?XJU_!KhWIdgytfJO{7mdcW>>A=}YT$m?WdwE`YJo;()yv4N- zk*7ErMn9E0i+kyziSr#(0|jj0&ZP|m)Am5XAw!-9b0woA)UQyZNrR12vpW3_J$xGU rO3&^Oet>0v?9bxI&%4^6v0zPutFmy`*8>}N9BJ@Sc5bI1@Ay4m&LlHF literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/height_check_main.NSCR b/res/graphics/pokedex/height_check_main.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..9120f10bd19f464c998a82e1cc6c88e2d2ee720e GIT binary patch literal 1572 zcmds!zYc;h5Qod+#K7R_=t^<}Lxc`0WiSJ`4B#jTIzs_XT1a$?Uyu{ z{O(J7*D|W)?aG|vjxmopOqNl#*EMs_`qD?&8T>Y`w~>RpiFJEE#6%Kw=ONTY8r08; zb`3q^cc93=3R1Do{ir6G$^I;+zw=X2oce!CbT9K~q8C&@7a8I=WIsgxM8rh=C;tN5 z7-57K3XahRpVOsdfD_7Ke0#e1617htjc-rC;Sc=H`-Pd#nl2qJF94%8zCFDIBfW>N literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/info.pal b/res/graphics/pokedex/info.pal new file mode 100644 index 0000000000..92af9bb978 --- /dev/null +++ b/res/graphics/pokedex/info.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +197 246 189 +98 123 172 +180 205 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 115 74 +156 189 115 +213 222 255 +106 148 246 +164 189 255 +139 172 255 +98 123 172 +197 246 189 +156 115 32 +246 222 164 +255 255 255 +0 0 0 +0 0 0 +213 197 246 +0 0 0 +82 74 123 +90 115 74 +156 189 115 +246 230 172 +189 139 32 +246 197 90 +238 180 106 +156 115 32 +205 255 246 +156 98 172 +238 180 255 +255 255 255 +0 0 0 +180 180 197 +106 106 106 +180 180 180 +255 255 255 +90 115 74 +156 189 115 +255 213 255 +213 106 246 +238 164 255 +230 139 255 +156 98 172 +205 255 246 +189 123 82 +255 222 213 +255 255 255 +0 0 0 +156 0 0 +106 106 106 +255 164 164 +255 115 115 +90 115 74 +156 189 115 +246 230 205 +230 139 82 +246 205 164 +238 180 131 +189 123 82 +246 222 189 +74 131 139 +213 246 246 +255 255 255 +0 0 0 +0 0 0 +213 197 246 +0 0 0 +82 74 123 +82 74 123 +131 98 180 +213 255 255 +32 164 172 +32 222 246 +8 205 222 +74 131 139 +32 197 246 +255 255 255 +180 180 180 +98 98 106 +0 0 0 +255 255 189 +255 255 90 +238 205 41 +255 205 189 +255 180 148 +255 139 74 +115 106 180 +131 139 197 +98 156 238 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/res/graphics/pokedex/info_entry_window.NSCR b/res/graphics/pokedex/info_entry_window.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..0ca5d6159426ede47927dc7ea7b5ef2c481ead4e GIT binary patch literal 548 zcmdszF%p9?5ChL?FrA7kT&S_h2lzn-dJ34~8UCTo&mfm4TpR6-M$INzo5GCYAVV7A1gaE PPeewxG}1>iD{|l$MMpsW literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/info_footprint_window.NSCR b/res/graphics/pokedex/info_footprint_window.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..1c1dd235681ae34dad4f955485ba9524abf1d0ed GIT binary patch literal 108 zcmWG?4)**1kAX3Vfq_AQfsw&4$T>I$$Tk2%5bywE76DcPHUTaHZUGhnIRSYA1px&S xc@Y%>10YKo2o*$(1RMnvB*1JLXMs=wc?ksx1sQpnaDi-r9D!Vce1QTW3jjRO4+a1L literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/info_language_buttons.png b/res/graphics/pokedex/info_language_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..9b133ca2b19a716f343f5882259b26b0e35e84e2 GIT binary patch literal 1134 zcmeAS@N?(olHy`uVBq!ia0vp^3P9Y!!3-ofzLs=lU|?nl@Ck7}`fYDg^_neb{{sO~ z3K>Kdd(GKfeD&V{tSR4??ET-p=08v+Q2m@@g>Uzkz|~(p`VFWn$g3Kn{@b%Pd%G3B z9gTXoB@3wX?Ei0blGeQ20yTfjmZMo&SzES%_z?B~ul~Q9_3hn~|IfPr162am@2w8{ zfA1>9{5cE^K=uEZEcstt3^V`iv+kg8XP3O&(hOAj?cQFm=I*QCzG1ot=%nVPEkJ`5 zmaI{@_l@K1J)la3qac+)2P7qB0iFH-|6ZU&-ksI_e|GQxEmQt?dlhGGY3@FnH0K?1 zP>iyNYY5B;e)p7tfl<@b#W5tJ_3iZAe1{A;+C0UUi7$Kqe@9yBY6r_Jve}#L4ZnSG zZ7e&$P$r`EV2RBsd1eRk1@UqXw;4qk?sGPL(${j3`No*3(m8?efcY`D0&X|=i*;(p zJ|<={&TGqiAm8|6$M%?&tL59@sl0NSn!%c|Bx#<%F2iibvmP@i#vU-+Bx=yRDVJRu*07+1g4?cZ8_ zXU)yvJ9pl(@=v+zUp4pVRiWp59@%~P9CFu2mZR6^K=-G`s~h!P^xpoedbls&j3J_! z>tX7x1#wfp9a$}I{gj>C;!myd-c6TG&Mj8d=0APQD7c|AbKW(F$e(9~*@N~Tc<%75 nq*dCKr)7d0^WFIzFTY9e{;Qe3TwmigC_#9-`njxgN@xNA%>6+C literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/info_language_buttons_anim.json b/res/graphics/pokedex/info_language_buttons_anim.json new file mode 100644 index 0000000000..4efc1fc9cb --- /dev/null +++ b/res/graphics/pokedex/info_language_buttons_anim.json @@ -0,0 +1,244 @@ +{ + "labelEnabled": true, + "sequenceCount": 14, + "frameCount": 20, + "sequences": [{ + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 0 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 1 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 2 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 3 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 4 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 5 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 6 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 7 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 8 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 9 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 10 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 11 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 2, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 12 + }, { + "frameDelay": 4, + "resultId": 13 + }, { + "frameDelay": 6, + "resultId": 14 + }, { + "frameDelay": 1, + "resultId": 15 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 2, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 16 + }, { + "frameDelay": 4, + "resultId": 17 + }, { + "frameDelay": 6, + "resultId": 18 + }, { + "frameDelay": 1, + "resultId": 19 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }, { + "resultType": 0, + "index": 1 + }, { + "resultType": 0, + "index": 2 + }, { + "resultType": 0, + "index": 3 + }, { + "resultType": 0, + "index": 4 + }, { + "resultType": 0, + "index": 5 + }, { + "resultType": 0, + "index": 6 + }, { + "resultType": 0, + "index": 7 + }, { + "resultType": 0, + "index": 8 + }, { + "resultType": 0, + "index": 9 + }, { + "resultType": 0, + "index": 10 + }, { + "resultType": 0, + "index": 11 + }, { + "resultType": 2, + "index": 12, + "positionX": 0, + "positionY": 0 + }, { + "resultType": 2, + "index": 12, + "positionX": 0, + "positionY": -2 + }, { + "resultType": 2, + "index": 13, + "positionX": 0, + "positionY": -4 + }, { + "resultType": 2, + "index": 13, + "positionX": 0, + "positionY": -2 + }, { + "resultType": 2, + "index": 14, + "positionX": 0, + "positionY": 0 + }, { + "resultType": 2, + "index": 14, + "positionX": 0, + "positionY": -2 + }, { + "resultType": 2, + "index": 15, + "positionX": 0, + "positionY": -4 + }, { + "resultType": 2, + "index": 15, + "positionX": 0, + "positionY": -2 + }], + "resultCount": 20, + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5", "CellAnime6", "CellAnime7", "CellAnime8", "CellAnime9", "CellAnime10", "CellAnime11", "CellAnime12", "CellAnime13"], + "labelCount": 14 +} \ No newline at end of file diff --git a/res/graphics/pokedex/info_language_buttons_cell.json b/res/graphics/pokedex/info_language_buttons_cell.json new file mode 100644 index 0000000000..1913087c6c --- /dev/null +++ b/res/graphics/pokedex/info_language_buttons_cell.json @@ -0,0 +1,794 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 16, + "mappingType": 0, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 40, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 40, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 48, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 48, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 56, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 56, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 4 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": true, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 16, + "Size": 1 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 4 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": true, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 16, + "Size": 1 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 1 + } + }] + }], + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5", "CellAnime6", "CellAnime7", "CellAnime8", "CellAnime9", "CellAnime10", "CellAnime11", "CellAnime12", "CellAnime13"], + "labelCount": 14 +} \ No newline at end of file diff --git a/res/graphics/pokedex/info_main.NSCR b/res/graphics/pokedex/info_main.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..6b7da82c14d326f0c86917f2c53e09b6fd02e56d GIT binary patch literal 1572 zcmWG?4)**1kAYEzje$Xcfsw&4$T?U9$Yx+X03?6_$j%lRSST$+8DtR{g+n<6qy;F0 k1DkpW-gaIA%HU8=J0Q1HmU^TqF8wGAeO`)7FG~Fn04UR{=Kufz literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/info_species_window.NSCR b/res/graphics/pokedex/info_species_window.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..7de4a5625d6b65d7cd4abe63210af9a5da51685d GIT binary patch literal 324 zcmWG?4)**1kAcyJk%2*gfsw&4$T`>q$W8!45KsWJI|cd$CZNGgfh>Xf0#X99FeoAm zhEgIO0`p*EAQ~zzD>6@p*5Wg;+Pg(SAFH^&3@&j80VxR#f5}M71PKHSgrGrY873J3 Du(&SR literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/info_sub.NSCR b/res/graphics/pokedex/info_sub.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..53a78f4297bd24fe77f9bfe10c422e1e84b672f8 GIT binary patch literal 1572 zcmWG?4)**1kAYEzje$Xcfsw&4$T?U9$Yx+X03?6_#2y6{g#e2KWzb<13}^^6P-J_9 U3q{%;9EQC90S-S3gMU;z05@_kE&u=k literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/info_sub_pressed.NSCR b/res/graphics/pokedex/info_sub_pressed.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..d2fb5988197a4f159d2884597ec2a18110adcd77 GIT binary patch literal 236 zcmWG?4)**1kAd+G0|SEq10#c9kaO@IAbSCW29RW6I03}00c-*61Rz@oYlv!qT7WtM ps1~9c;u_!<;7$O#g}8>K2BZa~6M$(UsUfWaZ2|2BU|UFQ2mlhXLfQZT literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/info_sub_unpressed.NSCR b/res/graphics/pokedex/info_sub_unpressed.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..d0dc453a4ebd83056f8ab4fd6c98396b8ef845a1 GIT binary patch literal 236 zcmajR!4W_(6olao4QL@;l(CXMJ0ul^O3;XM6rlt)ARWB<=HJ;A^ZdPV4}cC1bBg({ o|HN1qxN43KTSFr!&z^&!m)FF=Xb75AxNtQrD%!a7Fznj&0|T@>3IG5A literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/map_fullmoon_island.NSCR b/res/graphics/pokedex/map_fullmoon_island.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..50e3e78ac32bb6b1073ec0230ae2e7a54e6ba486 GIT binary patch literal 44 tcmWG?4)**1kAYE#fq_AQfsw&4$T?UB%oYHW3=AAVd@AK+%DI%YDFDVT390}9 literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/map_newmoon_island.NSCR b/res/graphics/pokedex/map_newmoon_island.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..e071362ce92e01934d4a55e7a42b65391fc4dbab GIT binary patch literal 44 tcmWG?4)**1kAYE#fq_AQfsw&4$T?UB%oYHW3=AAVd@|uw!r6p#2>`|E37P-^ literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/map_seabreak_path.NSCR b/res/graphics/pokedex/map_seabreak_path.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..6d5050989fd8e1fec75cda2c0256f40c354f7f3e GIT binary patch literal 80 zcmWG?4)**1kAX3Ofq_AQfsw&4$T`>n$d+KR0Fn$0T0nd(;dsJ{gwqLU5-#T)NH~Z= RUQD=@a5dpt!u13O1^~&f9yR~~ literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/map_spring_path.NSCR b/res/graphics/pokedex/map_spring_path.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..c619d231f967cc89139f7bb83a66f80b0508373e GIT binary patch literal 48 ycmWG?4)**1kAcyEfq_AQfsw&4$T?U6%$5L>3=BL#d_Lhq!l8u22}cr+CIA5RRSWF^ literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/meson.build b/res/graphics/pokedex/meson.build new file mode 100644 index 0000000000..5efdac0bac --- /dev/null +++ b/res/graphics/pokedex/meson.build @@ -0,0 +1,298 @@ +# Tiles and tilemaps +tiles_png_4bpp = files( + 'scroll_main_background.png', + 'scroll_sub_background.png', + 'dummy1.png', + 'dummy2.png', + 'dummy3.png', + 'entry_main.png', + 'entry_sub.png', +) + +tiles_png_8bpp = files( + 'scroll_wheel.png', + 'cry_wheel.png', +) + +tiles_ncgr_4bpp = ncgr_lz_gen.process( + tiles_png_4bpp, + extra_args: [ + '-version101', + '-sopc', + '-bitdepth', '4', + '-nopad', + ], +) + +tiles_ncgr_8bpp = ncgr_lz_gen.process( + tiles_png_8bpp, + extra_args: [ + '-version101', + '-sopc', + '-bitdepth', '8', + '-nopad', + ], +) + +scanned_png = files( + 'weight_scale.png', +) + +tilemaps_nscr = files( + 'scroll_wheel.NSCR', + 'scroll_main_background.NSCR', + 'register_species_window.NSCR', + 'search_sinnoh.NSCR', + 'scroll_sub.NSCR', + 'search_national.NSCR', + 'search_filter.NSCR', + 'search_filter_order.NSCR', + 'search_filter_name.NSCR', + 'search_filter_type.NSCR', + 'search_filter_form.NSCR', + 'dummy1.NSCR', + 'dummy2.NSCR', + 'info_main.NSCR', + 'info_species_window.NSCR', + 'info_footprint_window.NSCR', + 'dummy3.NSCR', + 'info_entry_window.NSCR', + 'foreign_entry_window.NSCR', + 'foreign_summary_window.NSCR', + 'banner_sinnoh.NSCR', + 'forms_sub.NSCR', + 'page_panel.NSCR', + 'info_sub_unpressed.NSCR', + 'size_sub.NSCR', + 'info_sub.NSCR', + 'info_sub_pressed.NSCR', + 'area_map.NSCR', + 'map_newmoon_island.NSCR', + 'map_seabreak_path.NSCR', + 'map_fullmoon_island.NSCR', + 'map_spring_path.NSCR', + 'area_sub.NSCR', + 'cry_button.NSCR', + 'cry_sub.NSCR', + 'cry_wheel.NSCR', + 'weight_check_main.NSCR', + 'height_check_main.NSCR', + 'search_main.NSCR', +) + +tilemaps_nscr = lz_gen.process( + tilemaps_nscr, + extra_args: [ + '-nopad', + ], +) + +# sprite images +sprites_png_mappingtype0 = files( + 'scroll_buttons.png', + 'page_buttons.png', + 'info_language_buttons.png', + 'size_buttons_pressed.png', + 'cry_dials.png', + 'search_buttons.png', + 'search_button_forms.png', +) +sprites_png_mappingtype0_cell = files( + 'time_day_icons.png', + 'cursor.png', +) + +sprites_png_mappingtype128 = files( + 'cry_bar.png', + 'size_check_icons.png', + 'dungeon_highlight.png', + 'form_display_box.png', +) +sprites_png_mappingtype128_cell = files( + 'name_tag.png', + 'search_body_shapes.png', + 'banner.png', + 'type_icons.png', + 'unseen_icon.png', +) + +scanned_ncgr = ncgr_lz_gen.process( + scanned_png, + extra_args: [ + '-version101', + '-scan', + '-sopc', + '-nopad', + ], +) + +sprites_ncgr_mappingtype0 = ncgr_lz_gen.process( + sprites_png_mappingtype0, + extra_args: [ + '-version101', + '-clobbersize', + '-mappingtype', '0', + '-convertTo4Bpp', + '-nopad', + ], +) + +sprites_ncgr_mappingtype0_cell = ncgr_cell_lz_gen.process( + sprites_png_mappingtype0_cell, + extra_args: [ + '-version101', + '-clobbersize', + '-mappingtype', '0', + '-convertTo4Bpp', + '-nopad', + ], +) + +sprites_ncgr_mappingtype128 = ncgr_lz_gen.process( + sprites_png_mappingtype128, + extra_args: [ + '-version101', + '-clobbersize', + '-mappingtype', '128', + '-convertTo4Bpp', + '-nopad', + ], +) + +sprites_ncgr_mappingtype128_cell = ncgr_cell_lz_gen.process( + sprites_png_mappingtype128_cell, + extra_args: [ + '-version101', + '-clobbersize', + '-mappingtype', '128', + '-convertTo4Bpp', + '-nopad', + ], +) + +# Sprite cells +sprites_cell_json = files( + 'name_tag_cell.json', + 'search_body_shapes_cell.json', + 'scroll_buttons_cell.json', + 'banner_cell.json', + 'type_icons_cell.json', + 'size_check_icons_cell.json', + 'page_buttons_cell.json', + 'info_language_buttons_cell.json', + 'size_buttons_pressed_cell.json', + 'time_day_icons_cell.json', + 'dungeon_highlight_cell.json', + 'unseen_icon_cell.json', + 'cry_dials_cell.json', + 'cry_bar_cell.json', + 'cursor_cell.json', + 'form_display_box_cell.json', + 'search_buttons_cell.json', + 'search_button_forms_cell.json', +) + +sprites_ncer = ncer_lz_gen.process( + sprites_cell_json, + extra_args: [ + '-nopad', + ], +) + +# Sprite anims +sprites_anim_json = files( + 'name_tag_anim.json', + 'search_body_shapes_anim.json', + 'scroll_buttons_anim.json', + 'banner_anim.json', + 'type_icons_anim.json', + 'size_check_icons_anim.json', + 'page_buttons_anim.json', + 'info_language_buttons_anim.json', + 'size_buttons_pressed_anim.json', + 'time_day_icons_anim.json', + 'dungeon_highlight_anim.json', + 'unseen_icon_anim.json', + 'cry_dials_anim.json', + 'cry_bar_anim.json', + 'cursor_anim.json', + 'form_display_box_anim.json', + 'search_buttons_anim.json', + 'search_button_forms_anim.json', +) + +sprites_nanr = nanr_lz_gen.process( + sprites_anim_json, + extra_args: [ + '-nopad', + ], +) + +# Palettes +palettes_pal = files( + 'background_scroll_default.pal', + 'background_scroll_sinnoh.pal', + 'dummy1.pal', + 'buttons.pal', + 'register.pal', + 'search.pal', + 'banner_sinnoh.pal', + 'dummy2.pal', + 'background_sub_1.pal', + 'background_sub_2.pal', + 'background_sub_3.pal', + 'info.pal', + 'banner_default.pal', + 'type_icons.pal', + 'size_check_icons.pal', + 'area_morning.pal', + 'area_day.pal', + 'area_night.pal', + 'cry_sub.pal', + 'banner_register.pal', + 'banner_national.pal', + 'background_scroll_national.pal', + 'dummy3.pal', + 'cry_dials.png', + 'cry_bar.png', + 'cursor.png', + 'form_display_box.png', +) + +palettes_nclr = nclr_gen.process(palettes_pal, + extra_args: [ + '-bitdepth', '4', + ], +) + +pokedex_order = files('pokedex.order') +pokedex_graphics_narc = custom_target('zukan.narc', + output: [ + 'zukan.narc', + 'zukan.naix.h', + ], + input: [ + tiles_ncgr_4bpp, + tiles_ncgr_8bpp, + tilemaps_nscr, + sprites_ncgr_mappingtype0, + sprites_ncgr_mappingtype0_cell, + sprites_ncgr_mappingtype128, + sprites_ncgr_mappingtype128_cell, + scanned_ncgr, + sprites_ncer, + sprites_nanr, + palettes_nclr, + pokedex_order, + ], + command: [ + narc_exe, 'create', + '--naix', + '--order', pokedex_order, + '--output', '@OUTPUT0@', + '@PRIVATE_DIR@', + ] +) + +nitrofs_files += pokedex_graphics_narc +naix_headers += pokedex_graphics_narc[1] diff --git a/res/graphics/pokedex/name_tag.png b/res/graphics/pokedex/name_tag.png new file mode 100644 index 0000000000000000000000000000000000000000..0293afe13b155bcf519c3c92c528306037a80065 GIT binary patch literal 1034 zcmdUtT}TvB6vyxGW=x`By=3;`Qbc6*u|?7s=%|ajnCY-kOg_Xs$rQ3UpvV@jju0^t z5fc;)BsOndf?%RvZmD!%!b`r4Z%td#B!m|Wx*1Wot1Fvj^xomjnZx0C&Yb(7d$psz zxxBQh6aY}(+R~(mcTPOA6cce@x@#7I80ctACkbJMxZ0BWETd)agI6X6#J%WQA$NFia`*F_z%Mj75PGofE~>h(a=%|8ido7W2u3!5F}e!7X0Fi zV^{Ja4>Tub2AWB9)sji*6zBhy_d~AR%thRWT+2eSk7LAH0E^4~u@4I&vf>P@)YAni z<`c^jng|yyg?!~c9HUTEm}4``^kkV3j*zRVx^Qe`2$8Ov_R(cMscJwiLH$KNX^3ga ze8M4wnwk|3P3+j7rdn3QE$Htnrr>=91@9B&lTh%E4OPVw?ifgXQ&sHj?qwdOY*$TS zcTryCA>{c6cPlF65Ft@nZH#dea1`*6@*ouF<3fMW^9tt`d?Eksyqw#%jWJ%jD#q%W z|5s&U`b)3a7`Hab>F&X~nFkw&<7LUts;bEgKlu6nEBTruGhNNE_IOk4+u}Quo!hHx zGG9+l2ZtvC`y{Q90NU#7b`yAt*jeaczf&V_4(5WlLP%v zGMP~jl`@BN$pg9DHNiCJ`~GNP-ArVxr|(7W-ic%N&t6`l zcw?mZ-qy4ExdKdd(GKfeD&V{tSR4??ET-p=08v+Q2m@@g>Uzkz|~(p`VFWn$g3Kn{@b%Pd%G3B z9gTXoB@3wX?Ei0blGeQ20yTfjmZMo&SzES%_z?B~ul~Q9_3hn~|IfPr162am@2w8{ zfA1>9{5cE^K=uEZEcstt3^V`iv+kg8XP3O&(hOAj?cQFm=I*QCzG1ot=%nVPEkJ`5 zmaI{@_l@K1J)la3qac+)2P7qB0iFH-|6ZU&-ksI_e|GQxEmQt?dlhGGY3@FnH0K?1 zP>iyNYY5B;e)p7tfvLjN#W5tJ_3ez?eawm+ZK->T+>U>*zs=jhx9CM)+2xYSMHekU zh)z8;pY8da;(#@AKRqQX-XCOcIBw1VMTheXgCz%Z{eg#}95t`KSso-XAK>t5*u=87 z>HTrlCu)s95+^^J@%8546Xz0c9rI=QxjFTmWs&=74TfEpO}Dx*`g|{qzpSZ5&}`LBPn>u#oPssH;+geEsR1+A}W@>5rLSU;J0 zL1_?kvmckjcdJVAxmOzQ*uH$k{Dg6ajDM=cGPS>@FBI%q4<2UVFF3<4kgLaVjG^h! zwwG+K3x0dD)cdH5RPf)O;=-K!Md92EcHLUGwx2HZI}_U$85{Z}{*d{)+a#~BctMK9 z9|NVzX&=}b{g`9h)Ei#&Sx6qrdF8mo@n2q6e?a|7v#C=!#}Vz0vMgP`KVMnE67cna?*|>m zRdQS(bUyk#I`;2^>BZ&s9?NEZdpT)E_O_C54sRPEboSA_j8|Lhvl^4#L06M;Bc){v&! vTlKB4-JnHh*r}EcJqC=1qZ;TrBOn?^6*&Lq-*F%tW_569!HLW8QYQ;v_>DF1 literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/scroll_buttons.png b/res/graphics/pokedex/scroll_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..dee75a805692f9e663f624f59173a5137a0882ea GIT binary patch literal 1898 zcmdUvdr%X15XUbBAs8S56ciuCw}J{(#ENK043b2OHsULz5;H+#RHQ@%jRF!M*jU3O zK8b)DQOZeGPVse$mUCp_L}XGemXlgYERhrujv&bO6o=Z{>Hpo?`Q6UWXZLo$^PAs+ z#ZeJ1gS`g>0N^6v^F-vA1psy{XjC!^5)PRU090UcWOO)+;wWm6elVi}g<)8!R2evW zghs<@G(s$f6oG^lBC7}jAqc{X7}aWx)oLYUGKpardH#nXI6T1jmyobtY9LRgR0xAg zl&}i*8Zl-Rp)g0I!m+>jfwrIWCIXY{g=$QyMipWW2Q}#j`u{6$G!Y6NZh#3LNJv#6 zIgeh+!ZC1Qn19TJn?P8@!V$3*QjjFsAJu3`O-Lt8`r}XMArROk72$dvu2DlA4vG>m zY>3Sth{!=W{siu77VWG|-4nz#^<%J;_hKx$Wz#PT` zVVKN(Za7Y$7y)C1$x2`*azBF9AA+F%eM!DQ{@cC;q0{LQ1o?1Pl%Mzfe`Rcsx)K1u zeu99AMx^+Jg^)qdCIiEoD6XUm72>>2O0^y(-o z%^{Nrrx&b~dt|w{3bL2EhGi!Q)!JD@SzRxZ%C#=RBc9vEd!^EOqta>_?Sge|!Hnr0 z(j;#RKjpOD*%={inxab;Jr^^+NK;WRD}W^X9c`6f6pKLeQ+@mqC&!7rdrP_UvrQJ4 zwaqh+Qdc*PNzWNs{tUqAn1$h=^D|v~p2FX;d1Q7-+Y4di-ix8LDb(y6fTd6i%2<28 zLTe_D59E9Y)cS-}LX*Pttkuh9Bf(-oU}D{7vCu> z>BDZkt?~YPbqxI0JoS96%5PEqaeQoho@KATwXT!P$1_{u!>vyk5AdXGYYuK=r&Uo3 zm*+F|T^U`)?klO+hO&ws;v)(i^Q+S$caC5>Esx_*sMt_5NZSQ@OR%BZw=b@A?wyyL zzT*e~sap5WGK$Oy18?HmLM7Pr6Xg?{cFsbxUfo?AXXkv^P7^)0%zWbPq*ktuyCvd& zM%VX!68azIsR1LZ9_P`1ah08k4Uej3I<$3PopZ%$eUMwttk-3501&jRXSN}~a@D?T zl&o7!WpiW3UDz) z(Ro>}5`g;B(-w4~qiC#~AtnHQ>mx_kfyV$gJ_+q)n06`V(tJWAiJ5pBs{b7~E6?8-g%rujv? zmRu~%imvC+zW}+l@2r~GA{=s;H@Rfm@$#r5%l32!huPY&=QbbqMQ71ghezI&>GGHy zpCcpdxha!huO4jAvybFLI7RhyTba&dO=i%cp1)qlac zk++U@*Y#!=&ziz+9IUNm$X3P_bf22$q3z!7H~yQH#)aryHXo6r4EM$DYJ;PPX91M? zZ1FaXhkr?T#=txH%)$eP#@K)qVg1A>VEkCi4%lJ@k+Ro^gjXgQZUQ_ literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/scroll_buttons_anim.json b/res/graphics/pokedex/scroll_buttons_anim.json new file mode 100644 index 0000000000..a5bb32730e --- /dev/null +++ b/res/graphics/pokedex/scroll_buttons_anim.json @@ -0,0 +1,178 @@ +{ + "labelEnabled": true, + "sequenceCount": 6, + "frameCount": 21, + "sequences": [{ + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 0 + }, { + "frameDelay": 4, + "resultId": 1 + }, { + "frameDelay": 6, + "resultId": 2 + }, { + "frameDelay": 1, + "resultId": 3 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 4 + }, { + "frameDelay": 4, + "resultId": 5 + }, { + "frameDelay": 6, + "resultId": 6 + }, { + "frameDelay": 1, + "resultId": 7 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 8 + }, { + "frameDelay": 4, + "resultId": 9 + }, { + "frameDelay": 6, + "resultId": 10 + }, { + "frameDelay": 1, + "resultId": 11 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 12 + }, { + "frameDelay": 4, + "resultId": 13 + }, { + "frameDelay": 6, + "resultId": 14 + }, { + "frameDelay": 1, + "resultId": 15 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 16 + }, { + "frameDelay": 4, + "resultId": 17 + }, { + "frameDelay": 6, + "resultId": 18 + }, { + "frameDelay": 1, + "resultId": 19 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 20 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }, { + "resultType": 0, + "index": 1 + }, { + "resultType": 0, + "index": 2 + }, { + "resultType": 0, + "index": 3 + }, { + "resultType": 0, + "index": 4 + }, { + "resultType": 0, + "index": 5 + }, { + "resultType": 0, + "index": 6 + }, { + "resultType": 0, + "index": 7 + }, { + "resultType": 0, + "index": 8 + }, { + "resultType": 0, + "index": 9 + }, { + "resultType": 0, + "index": 10 + }, { + "resultType": 0, + "index": 11 + }, { + "resultType": 0, + "index": 12 + }, { + "resultType": 0, + "index": 13 + }, { + "resultType": 0, + "index": 14 + }, { + "resultType": 0, + "index": 15 + }, { + "resultType": 0, + "index": 16 + }, { + "resultType": 0, + "index": 17 + }, { + "resultType": 0, + "index": 18 + }, { + "resultType": 0, + "index": 19 + }, { + "resultType": 0, + "index": 20 + }], + "resultCount": 21, + "labels": ["CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5", "CellAnime6", "CellAnime0"], + "labelCount": 6 +} \ No newline at end of file diff --git a/res/graphics/pokedex/scroll_buttons_cell.json b/res/graphics/pokedex/scroll_buttons_cell.json new file mode 100644 index 0000000000..b41e0ea3f9 --- /dev/null +++ b/res/graphics/pokedex/scroll_buttons_cell.json @@ -0,0 +1,4084 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 21, + "mappingType": 0, + "cells": [{ + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 15 + }, + "maxX": 55, + "maxY": 23, + "minX": -48, + "minY": -24, + "oamCount": 13, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 40, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 40, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 48, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 56, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 56, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 48, + "Priority": 1, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 15 + }, + "maxX": 55, + "maxY": 23, + "minX": -48, + "minY": -24, + "oamCount": 13, + "OAM": [{ + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 15 + }, + "maxX": 55, + "maxY": 23, + "minX": -48, + "minY": -24, + "oamCount": 13, + "OAM": [{ + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 96, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 104, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 104, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 96, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 112, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 120, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 128, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 128, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 136, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 136, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 112, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 120, + "Priority": 1, + "Palette": 5 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 15 + }, + "maxX": 55, + "maxY": 23, + "minX": -48, + "minY": -24, + "oamCount": 13, + "OAM": [{ + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 5 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 17 + }, + "maxX": 55, + "maxY": 39, + "minX": -48, + "minY": -40, + "oamCount": 17, + "OAM": [{ + "Attr0": { + "YCoordinate": 0, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 144, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 48, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 40, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 40, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 56, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 56, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 48, + "Priority": 1, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 17 + }, + "maxX": 55, + "maxY": 39, + "minX": -48, + "minY": -40, + "oamCount": 17, + "OAM": [{ + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -2, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 144, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 17 + }, + "maxX": 55, + "maxY": 39, + "minX": -48, + "minY": -40, + "oamCount": 17, + "OAM": [{ + "Attr0": { + "YCoordinate": -4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 144, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 192, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 192, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 192, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 192, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 208, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 208, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 208, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 208, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 112, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 120, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 128, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 128, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 112, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 136, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 136, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 120, + "Priority": 0, + "Palette": 5 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 17 + }, + "maxX": 55, + "maxY": 39, + "minX": -48, + "minY": -40, + "oamCount": 17, + "OAM": [{ + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -2, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 144, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 160, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 176, + "Priority": 1, + "Palette": 5 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 15 + }, + "maxX": 55, + "maxY": 23, + "minX": -48, + "minY": -24, + "oamCount": 13, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 40, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 40, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 48, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 56, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 56, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 48, + "Priority": 1, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 15 + }, + "maxX": 55, + "maxY": 23, + "minX": -48, + "minY": -24, + "oamCount": 13, + "OAM": [{ + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 15 + }, + "maxX": 55, + "maxY": 23, + "minX": -48, + "minY": -24, + "oamCount": 13, + "OAM": [{ + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 96, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 104, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 104, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 96, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 112, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 120, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 128, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 128, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 136, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 136, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 112, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 120, + "Priority": 1, + "Palette": 5 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 15 + }, + "maxX": 55, + "maxY": 23, + "minX": -48, + "minY": -24, + "oamCount": 13, + "OAM": [{ + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 24, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 88, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 64, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 80, + "Priority": 1, + "Palette": 5 + } + }, { + "Attr0": { + "YCoordinate": -24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -48, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 72, + "Priority": 1, + "Palette": 5 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 240, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 244, + "Priority": 1, + "Palette": 4 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 240, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 260, + "Priority": 1, + "Palette": 4 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 240, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 276, + "Priority": 1, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 240, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 260, + "Priority": 1, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 292, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 244, + "Priority": 1, + "Palette": 4 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 292, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 260, + "Priority": 1, + "Palette": 4 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 292, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 276, + "Priority": 1, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 292, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 260, + "Priority": 1, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 296, + "Priority": 0, + "Palette": 1 + } + }] + }], + "labels": ["CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5", "CellAnime6", "CellAnime0"], + "labelCount": 6 +} \ No newline at end of file diff --git a/res/graphics/pokedex/scroll_main_background.NSCR b/res/graphics/pokedex/scroll_main_background.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..8060822705ca75f010c913ad396200b1c1d5b05c GIT binary patch literal 1572 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 HLzDynuWTN7 literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/scroll_wheel.png b/res/graphics/pokedex/scroll_wheel.png new file mode 100644 index 0000000000000000000000000000000000000000..76132e3fffa37fe721928fafc41303923347160c GIT binary patch literal 1241 zcmbtS3v3Kg6n))Isf|)3DwWg{jUrm>Q>3Nc>Y}S^jbANIbbQLF`iyT!VwsgjCz?j4 zzALR5Av$e@6%8IGrdn)$VruM( zDCrfEMiG1f04zjc*@}HC(liXw@BEk?H3=b+lnyGQ&&xweqG+pE;w3@wc{$Z9bj(jE zby_~ClUGct+E^zrI3^8BI?ME zh3=C`CPpXx{~uLV=R-J$%8^~68B#aYFC>UTK_pSpqLU%^zxMb48U8)PpZyJJm=?%1 zs5ro5m5;JRHVXcZXMF^ zNZf^E`SYY`H1Ac~K|5G|nXf}V2G+!bGOnrY@j`cHh2b@ddXa4WkQx>- zrJLh%Fh;NJDk;{X!3FGexEe+56JpC>` z;qQkF#ig}#ld4)C8Am3Bqs@)o%lFj9nuqRK*`?SPJNnBN;J+2$ULKQppth9HoicI^ zc={?vIJFWq=fusPc=YQy(U>v9eKyc$SOV3$Gc;>39a-eI;_8bG8@ovpqP}kU+ zE2bTPY4A4|wq8rmALkiv-D0US_!pcQykXOgo0;>!=?G3 dj0G=;x>6IEp6m1amo)1Wm1)b)s7YVE^C!i?_L%?x literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/search.pal b/res/graphics/pokedex/search.pal new file mode 100644 index 0000000000..93d4db4fe7 --- /dev/null +++ b/res/graphics/pokedex/search.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +213 213 238 +0 0 0 +255 255 255 +115 0 49 +180 82 90 +115 0 49 +205 106 115 +205 106 115 +180 82 90 +82 82 82 +180 82 90 +238 139 148 +180 82 90 +180 82 90 +180 82 90 +238 139 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +213 213 238 +0 0 0 +255 255 255 +164 57 172 +197 98 222 +164 57 172 +205 123 246 +205 123 246 +197 98 222 +82 82 82 +197 98 222 +230 172 255 +197 98 222 +197 98 222 +197 98 222 +230 172 255 diff --git a/res/graphics/pokedex/search_body_shapes.png b/res/graphics/pokedex/search_body_shapes.png new file mode 100644 index 0000000000000000000000000000000000000000..2b32bdf32b603ef010597bc6d66b10e1599aaddc GIT binary patch literal 2522 zcmdT_e^e7!7JhG%kOV{mC`3h@bX6j&0$o?|2aq6WL_vyJX>cW`SY5zC&2B{z9E2il zut3eC*a)#Fid}b4&0J4igA-(H+gu?((K!*Q+Iy%b?a{ z7$%ctsRc?MgJEYd2$4ve5=dCJWE4T@2!gQc40(BStJO;SFn4vekz0n zDvx^eG~_KyOw~=l`#G zgPBNC*wq-J&=8U=4Ox#;#<3eU)5ZKpJ$ADOlXL7kkyV>QBFX%Ext!#LG%{q$f4v?; zhnXdDcBR5D&(jJ7dOd+*YKbU?G@U}H(O@Yld5Tp(@o5#wG?GB8VS-PqS!Xrd4SGVO z(MUvDq-pYWN`+P;lFI|tQ~Vp^@<_Y^(~x+B9y938Bwne|h~ng=DPO;Ma8YspV| zEJ~pk1?toj^kP~J(;8%in#Ja5FpS*!^|IRuy^+9-gxN|M&18QB$-h>so$8mwPx-&- zmmm}hg-)lNl#1-vIsdV4!C*n1{x6?JelEZn8HFDHA^ zj2o+5S`TtOV`CyJP?_IOr{;%l2%X>PbB&7vrw%eelC@W@(T>O(}L2B3_&au*^kuAlyq_af0n$JLYl&NrMRt-4KJ(zYf5w zltaE>Q`-{x09t7Q=2l)!bg`3ZxxP+UQ3iUy}s**_kOu+=WjlX7mkhG z6oMSz2D*63mVnE&)U)~2j8;!as$g3sTl&sYyc9JumqVKui;s>1Wfygpspc;#kiIPf z?seI)422pl3Pp*$40K*Qy?91{37pCAT-W6-RDo_}?w)lE@#h~2(I-qCToC~$rT?7- zbYEiPmGw9>)9H`wLnL?KLCkXpVp&E`3VBL1b$*Xfw9)_pd`g2JrSIQR`&BgZxP3xVT6eLrx7nmSWyw9G+dDb9pc z$6bWOQ??dz?HYYX)iiXYwx($jYD5r5 zhCj#(RUx_-u*RD=gZcQYZ^~)TrY_rK{f-9HrWMwaS#WQ=@59A>AbNRnF`F*_;Y7j= zW^H%-R^_pbY*py&flCFpJ1<>G9z4BGsoZW! zK(}+zhlQe4*>X^y_u0FZDl0eFm}GKR_2ec3&3-<761{BH)9-j)$=<9b(z+(t3zBC> z4Q_(jWkDqm14)`Imf^8R)N4# zMBXJ|nTu+|oYt!5APh3%wdoHdwReU(1c4(1JHTw-M60XOoHturSL9M^U(Gpp7fY^A zai1mrEkEgZezvp-U#IroZqrNDSjti5=aEF@sz0ZfUkOLyb1$w5BE-2DkP+5awL$#4Dk>^RKag zPmYmlnK_|?{v)KCr$pvR!!IujMw23OnA&mMBg|tpjI$^6k-ypIL3+kO5G@2q$IDd| zRaqm~g7gnI(inUrcqvX>A#meYg!+nM-`#K5Zm9sU+D%mZR&(bG{w;SKq+!j#Ha=AF?zj zH!hC;hd6C)mp{n@~ literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/search_body_shapes_anim.json b/res/graphics/pokedex/search_body_shapes_anim.json new file mode 100644 index 0000000000..68444176c6 --- /dev/null +++ b/res/graphics/pokedex/search_body_shapes_anim.json @@ -0,0 +1,244 @@ +{ + "labelEnabled": true, + "sequenceCount": 18, + "frameCount": 18, + "sequences": [{ + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 0 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 1 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 2 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 3 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 4 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 5 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 6 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 7 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 8 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 9 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 10 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 11 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 12 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 13 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 14 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 15 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 16 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 17 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }, { + "resultType": 0, + "index": 1 + }, { + "resultType": 0, + "index": 2 + }, { + "resultType": 0, + "index": 3 + }, { + "resultType": 0, + "index": 4 + }, { + "resultType": 0, + "index": 5 + }, { + "resultType": 0, + "index": 6 + }, { + "resultType": 0, + "index": 7 + }, { + "resultType": 0, + "index": 8 + }, { + "resultType": 0, + "index": 9 + }, { + "resultType": 0, + "index": 10 + }, { + "resultType": 0, + "index": 11 + }, { + "resultType": 0, + "index": 12 + }, { + "resultType": 0, + "index": 13 + }, { + "resultType": 0, + "index": 14 + }, { + "resultType": 0, + "index": 15 + }, { + "resultType": 0, + "index": 16 + }, { + "resultType": 0, + "index": 17 + }], + "resultCount": 18, + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5", "CellAnime6", "CellAnime7", "CellAnime8", "CellAnime9", "CellAnime10", "CellAnime11", "CellAnime12", "CellAnime13", "CellAnime14", "CellAnime15", "CellAnime16", "CellAnime17"], + "labelCount": 18 +} \ No newline at end of file diff --git a/res/graphics/pokedex/search_body_shapes_cell.json b/res/graphics/pokedex/search_body_shapes_cell.json new file mode 100644 index 0000000000..42dc839271 --- /dev/null +++ b/res/graphics/pokedex/search_body_shapes_cell.json @@ -0,0 +1,642 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 18, + "mappingType": 2, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 17 + }, + "maxX": 63, + "maxY": 15, + "minX": -64, + "minY": -16, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -64, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 1, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 8, + "Priority": 1, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 16, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 7, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 20, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 21, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 25, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 29, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 33, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 37, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 41, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 45, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 49, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 53, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 57, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 61, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 65, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 69, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 15, + "minX": -16, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 73, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 12 + }, + "maxX": 31, + "maxY": 31, + "minX": -32, + "minY": -32, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -32, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 77, + "Priority": 0, + "Palette": 0 + } + }] + }], + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5", "CellAnime6", "CellAnime7", "CellAnime8", "CellAnime9", "CellAnime10", "CellAnime11", "CellAnime12", "CellAnime13", "CellAnime14", "CellAnime15", "CellAnime16", "CellAnime17"], + "labelCount": 18 +} \ No newline at end of file diff --git a/res/graphics/pokedex/search_button_forms.png b/res/graphics/pokedex/search_button_forms.png new file mode 100644 index 0000000000000000000000000000000000000000..cf0c5b26a085a6c095c4a68d46cf37be9835b33c GIT binary patch literal 1516 zcmdUueNYs27{`x8jWAaMbaRpVHY)DHnU2=C{v0`+1&y zp6~20KSjUDT|H5)P$=BvKhPQAQ>9QiTUE|5n&nmlUpOmL64T;1PUbk$^xSxoV;BZS zvq&w$s#LN{1rUTbM*xY2RRFL60Ey)-7EF>P7{jC>2=M$5V`XN9A1;9~VItv)ni3ca z<$#nxV2HpQI7W+Q$--a!NZXfr5eOzC!6KL}oEgEioJfrH|5u(Dff<)c2H+GhWl?Y* z0`-#xYGjyy%p;2wgZarUBGG0@!u}kFK~12;lHvH}c>v3ZCWB1iGG?K*T8;w@Lz)mX zbQWhRiZPol_}mwIN(f4sA|(Eqo|4E)qRexEq9_xR1)Z|61Wua}42vL#_2&&1$ny*Z zd7fi?49ze!j{@@b34RpAz|5;A%YYLA zBLGnXf(Z8mP=A`Hhxdj2aQwG@0l;ybW!dMy3i@i#|5xVG)rXrD3T0`$PMfwmr`vdM zU2VAP!QrkU->rr>!hKiO>kVamN{P@qA;Zlz6X{YGw4H7UvpP386)*Jh@$!mX&^p>z zv5qEhZF3@bFoNO+i+BC}>-9OX!2n#o0-f!isoO5EYFYf-uT}L$7?cuUstPLWi zV>wl_?NYjNL)oOwPPYE;uzkrrwevg>XuUns3 z(Yfjyz4lJm=Af{RHNI`P9xm{(4hp?-k=Y!6-nQ)tu51rn+uApFl%-kqn&au|z8i}M0)8DpZ*YUb zXJ+X2x=Ay;1a(97!hIo6?;H1T+S*UtjoMkDnHyFY*qj_yB}OOzarV@K{sW^wAMAXX Zw4k6a#y>Uhf&JMfi;vUmPR6F^{s}bLg|7er literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/search_button_forms_anim.json b/res/graphics/pokedex/search_button_forms_anim.json new file mode 100644 index 0000000000..a8323d28ee --- /dev/null +++ b/res/graphics/pokedex/search_button_forms_anim.json @@ -0,0 +1,444 @@ +{ + "labelEnabled": true, + "sequenceCount": 14, + "frameCount": 56, + "sequences": [{ + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 0 + }, { + "frameDelay": 4, + "resultId": 1 + }, { + "frameDelay": 6, + "resultId": 2 + }, { + "frameDelay": 1, + "resultId": 3 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 4 + }, { + "frameDelay": 4, + "resultId": 5 + }, { + "frameDelay": 6, + "resultId": 6 + }, { + "frameDelay": 1, + "resultId": 7 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 8 + }, { + "frameDelay": 4, + "resultId": 9 + }, { + "frameDelay": 6, + "resultId": 10 + }, { + "frameDelay": 1, + "resultId": 11 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 12 + }, { + "frameDelay": 4, + "resultId": 13 + }, { + "frameDelay": 6, + "resultId": 14 + }, { + "frameDelay": 1, + "resultId": 15 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 16 + }, { + "frameDelay": 4, + "resultId": 17 + }, { + "frameDelay": 6, + "resultId": 18 + }, { + "frameDelay": 1, + "resultId": 19 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 20 + }, { + "frameDelay": 4, + "resultId": 21 + }, { + "frameDelay": 6, + "resultId": 22 + }, { + "frameDelay": 1, + "resultId": 23 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 24 + }, { + "frameDelay": 4, + "resultId": 25 + }, { + "frameDelay": 6, + "resultId": 26 + }, { + "frameDelay": 1, + "resultId": 27 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 28 + }, { + "frameDelay": 4, + "resultId": 29 + }, { + "frameDelay": 6, + "resultId": 30 + }, { + "frameDelay": 1, + "resultId": 31 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 32 + }, { + "frameDelay": 4, + "resultId": 33 + }, { + "frameDelay": 6, + "resultId": 34 + }, { + "frameDelay": 1, + "resultId": 35 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 36 + }, { + "frameDelay": 4, + "resultId": 37 + }, { + "frameDelay": 6, + "resultId": 38 + }, { + "frameDelay": 1, + "resultId": 39 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 40 + }, { + "frameDelay": 4, + "resultId": 41 + }, { + "frameDelay": 6, + "resultId": 42 + }, { + "frameDelay": 1, + "resultId": 43 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 44 + }, { + "frameDelay": 4, + "resultId": 45 + }, { + "frameDelay": 6, + "resultId": 46 + }, { + "frameDelay": 1, + "resultId": 47 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 48 + }, { + "frameDelay": 4, + "resultId": 49 + }, { + "frameDelay": 6, + "resultId": 50 + }, { + "frameDelay": 1, + "resultId": 51 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 52 + }, { + "frameDelay": 4, + "resultId": 53 + }, { + "frameDelay": 6, + "resultId": 54 + }, { + "frameDelay": 1, + "resultId": 55 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }, { + "resultType": 0, + "index": 1 + }, { + "resultType": 0, + "index": 2 + }, { + "resultType": 0, + "index": 3 + }, { + "resultType": 0, + "index": 4 + }, { + "resultType": 0, + "index": 5 + }, { + "resultType": 0, + "index": 6 + }, { + "resultType": 0, + "index": 7 + }, { + "resultType": 0, + "index": 8 + }, { + "resultType": 0, + "index": 9 + }, { + "resultType": 0, + "index": 10 + }, { + "resultType": 0, + "index": 11 + }, { + "resultType": 0, + "index": 12 + }, { + "resultType": 0, + "index": 13 + }, { + "resultType": 0, + "index": 14 + }, { + "resultType": 0, + "index": 15 + }, { + "resultType": 0, + "index": 16 + }, { + "resultType": 0, + "index": 17 + }, { + "resultType": 0, + "index": 18 + }, { + "resultType": 0, + "index": 19 + }, { + "resultType": 0, + "index": 20 + }, { + "resultType": 0, + "index": 21 + }, { + "resultType": 0, + "index": 22 + }, { + "resultType": 0, + "index": 23 + }, { + "resultType": 0, + "index": 24 + }, { + "resultType": 0, + "index": 25 + }, { + "resultType": 0, + "index": 26 + }, { + "resultType": 0, + "index": 27 + }, { + "resultType": 0, + "index": 28 + }, { + "resultType": 0, + "index": 29 + }, { + "resultType": 0, + "index": 30 + }, { + "resultType": 0, + "index": 31 + }, { + "resultType": 0, + "index": 32 + }, { + "resultType": 0, + "index": 33 + }, { + "resultType": 0, + "index": 34 + }, { + "resultType": 0, + "index": 35 + }, { + "resultType": 0, + "index": 36 + }, { + "resultType": 0, + "index": 37 + }, { + "resultType": 0, + "index": 38 + }, { + "resultType": 0, + "index": 39 + }, { + "resultType": 0, + "index": 40 + }, { + "resultType": 0, + "index": 41 + }, { + "resultType": 0, + "index": 42 + }, { + "resultType": 0, + "index": 43 + }, { + "resultType": 0, + "index": 44 + }, { + "resultType": 0, + "index": 45 + }, { + "resultType": 0, + "index": 46 + }, { + "resultType": 0, + "index": 47 + }, { + "resultType": 0, + "index": 48 + }, { + "resultType": 0, + "index": 49 + }, { + "resultType": 0, + "index": 50 + }, { + "resultType": 0, + "index": 51 + }, { + "resultType": 0, + "index": 52 + }, { + "resultType": 0, + "index": 53 + }, { + "resultType": 0, + "index": 54 + }, { + "resultType": 0, + "index": 55 + }], + "resultCount": 56, + "labels": ["CellAnime5", "CellAnime6", "CellAnime7", "CellAnime8", "CellAnime9", "CellAnime10", "CellAnime11", "CellAnime12", "CellAnime13", "CellAnime14", "CellAnime15", "CellAnime16", "CellAnime17", "CellAnime18"], + "labelCount": 14 +} \ No newline at end of file diff --git a/res/graphics/pokedex/search_button_forms_cell.json b/res/graphics/pokedex/search_button_forms_cell.json new file mode 100644 index 0000000000..8e2a16415e --- /dev/null +++ b/res/graphics/pokedex/search_button_forms_cell.json @@ -0,0 +1,2794 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 56, + "mappingType": 0, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 4 + }, + "maxX": 7, + "maxY": 10, + "minX": -8, + "minY": -5, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 8, + "minX": -8, + "minY": -7, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 6, + "minX": -8, + "minY": -9, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 3 + }, + "maxX": 7, + "maxY": 8, + "minX": -8, + "minY": -7, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 11, + "maxY": 10, + "minX": -20, + "minY": -5, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 4, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 11, + "maxY": 8, + "minX": -20, + "minY": -7, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 4, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 11, + "maxY": 6, + "minX": -20, + "minY": -9, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 4, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 11, + "maxY": 8, + "minX": -20, + "minY": -7, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 4, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 7, + "maxY": 23, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 12, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 21, + "minX": -8, + "minY": -10, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 12, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 19, + "minX": -8, + "minY": -12, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -12, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 12, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 21, + "minX": -8, + "minY": -10, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 12, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 19, + "maxY": 15, + "minX": -20, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 20, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 19, + "maxY": 13, + "minX": -20, + "minY": -10, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": 6, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 20, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 19, + "maxY": 11, + "minX": -20, + "minY": -12, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": 4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 20, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -12, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 19, + "maxY": 13, + "minX": -20, + "minY": -10, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": 6, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 20, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 13, + "minX": -16, + "minY": -18, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 15, + "maxY": 11, + "minX": -16, + "minY": -20, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 15, + "maxY": 9, + "minX": -16, + "minY": -22, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -22, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -22, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 15, + "maxY": 11, + "minX": -16, + "minY": -20, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 11, + "maxY": 12, + "minX": -20, + "minY": -11, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": 5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 40, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": 5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 4, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 42, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -11, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 43, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 11, + "maxY": 10, + "minX": -20, + "minY": -13, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": 3, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 40, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": 3, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 4, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 42, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -13, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 43, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 11, + "maxY": 8, + "minX": -20, + "minY": -15, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": 1, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 40, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": 1, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 4, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 42, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -15, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 43, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 11, + "maxY": 10, + "minX": -20, + "minY": -13, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": 3, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 40, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": 3, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 4, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 42, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -13, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -20, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 43, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 7, + "maxY": 15, + "minX": -8, + "minY": -16, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 51, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 7, + "maxY": 13, + "minX": -8, + "minY": -18, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 51, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 11, + "minX": -8, + "minY": -20, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 51, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 7, + "maxY": 13, + "minX": -8, + "minY": -18, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 51, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 19, + "maxY": 10, + "minX": -12, + "minY": -5, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 59, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 19, + "maxY": 8, + "minX": -12, + "minY": -7, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 59, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 19, + "maxY": 6, + "minX": -12, + "minY": -9, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 59, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 19, + "maxY": 8, + "minX": -12, + "minY": -7, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 59, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 7, + "maxY": 23, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 67, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 21, + "minX": -8, + "minY": -10, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 67, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 19, + "minX": -8, + "minY": -12, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -12, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 67, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 21, + "minX": -8, + "minY": -10, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 67, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 13, + "maxY": 15, + "minX": -10, + "minY": -8, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": 0, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 6, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 75, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 77, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 81, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 13, + "maxY": 13, + "minX": -10, + "minY": -10, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": -2, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 6, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 75, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 77, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": 6, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 81, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 13, + "maxY": 11, + "minX": -10, + "minY": -12, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": -4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 6, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 75, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -12, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 77, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": 4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 81, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 13, + "maxY": 13, + "minX": -10, + "minY": -10, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": -2, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 6, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 75, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 77, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": 6, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 81, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 11, + "maxY": 16, + "minX": -12, + "minY": -7, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 83, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 4, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 87, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": 9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 89, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 11, + "maxY": 14, + "minX": -12, + "minY": -9, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 83, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 4, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 87, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": 7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 89, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 11, + "maxY": 12, + "minX": -12, + "minY": -11, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": -11, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 83, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -11, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 4, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 87, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": 5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 89, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 11, + "maxY": 14, + "minX": -12, + "minY": -9, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 83, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 4, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 87, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": 7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -12, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 89, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 13, + "maxY": 14, + "minX": -10, + "minY": -9, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": 7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 6, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 91, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -9, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 92, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": 7, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 13, + "maxY": 12, + "minX": -10, + "minY": -11, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": 5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 6, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 91, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -11, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 92, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": 5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 13, + "maxY": 10, + "minX": -10, + "minY": -13, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": 3, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 6, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 91, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -13, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 92, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": 3, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 5 + }, + "maxX": 13, + "maxY": 12, + "minX": -10, + "minY": -11, + "oamCount": 3, + "OAM": [{ + "Attr0": { + "YCoordinate": 5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 6, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 91, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -11, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 92, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": 5, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -10, + "RotationScaling": 0, + "Size": 0 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 15, + "maxY": 13, + "minX": -16, + "minY": -18, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 98, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -18, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 98, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 15, + "maxY": 11, + "minX": -16, + "minY": -20, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 98, + "Priority": 0, + "Palette": 11 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 98, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 15, + "maxY": 9, + "minX": -16, + "minY": -22, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -22, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 98, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -22, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 98, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 15, + "maxY": 11, + "minX": -16, + "minY": -20, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 8, + "Size": 2 + }, + "Attr2": { + "CharName": 98, + "Priority": 0, + "Palette": 6 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -16, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 98, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 7, + "maxY": 23, + "minX": -8, + "minY": -8, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 106, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 21, + "minX": -8, + "minY": -10, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 106, + "Priority": 0, + "Palette": 11 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 19, + "minX": -8, + "minY": -12, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -12, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 106, + "Priority": 0, + "Palette": 6 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 6 + }, + "maxX": 7, + "maxY": 21, + "minX": -8, + "minY": -10, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -10, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 2 + }, + "Attr1": { + "XCoordinate": -8, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 106, + "Priority": 0, + "Palette": 6 + } + }] + }], + "labels": ["CellAnime5", "CellAnime6", "CellAnime7", "CellAnime8", "CellAnime9", "CellAnime10", "CellAnime11", "CellAnime12", "CellAnime13", "CellAnime14", "CellAnime15", "CellAnime16", "CellAnime17", "CellAnime18"], + "labelCount": 14 +} \ No newline at end of file diff --git a/res/graphics/pokedex/search_buttons.png b/res/graphics/pokedex/search_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..0c80a0488e38779bdecb4887c060b413bd6028f9 GIT binary patch literal 1536 zcmdUue@qi+7{{+ys32l>2xVqLmL)SNZeTF{@CPk|NQXr`9C$|2(>T`n1E@o^MhaCa ztID!<4DbS|M<#e8KkD$;X^q^R+s>KA+Ys=m5vxNuSg?nqgLf}rn48P~-;*crJ$dqZ zo_n5e-nV$QCee55?5PNX_$IB4*TQcwf=I%=q%eBmY5EmGq{!;z)C86lS(e1djU!o_ zruBLQsUjFJFVV{jV3@0gn@E6OWr%9cEFnPGYkEzw(?D=&T}111kk^ z0|n+c-TSX9NaQGz~Ma znkWL62Q&|y0^pr+KLGW&*=!U0LVhCt+r9u;tyYF%#;=P0)t>*a%=0@#IS7JYPKsBh zW)}37XYV=~JdL?^u^T@;JaVlM6=rO7V@E1G7P=q1=FWX~ex>(=S%zbsZ|p&v@=pZB z$?BJB%)FtuVx(}_l)cv+9n7VSz)_FTQXs4MOg<@ZFb|xKoSxq0`r_>c z_O-5z&UahmE+SW52aq%kvV!dLG-p=I&Es7*wlJH`QKh~=gx?MbyLt1}n@HKiErAQy zOfU8QbY%X_BHX`W*zdaW<8SX?*R`)3Mw929nVDbFzZLbI`E-_~_<1rZKfPSY3)zF6 z-CU)Sv@hE*+ITi+N0la|uo5eMsvW@o$XNB938BcKE4`iIxLp4R<>^xm$UW*4aMbd8J8D3txwRQshe|LWoS z#x~zSR7NpuvE(5inzwv=d4hRfq)Vgw{QioaV%s8D!G|r`iECs7O~?5)+xJ~)cF&O{ zHg{Z@doO+m`pwc?rHb6#LBnT!=d3gYX(2e{!UMdESc1e;Fo?*{0?q(<3^$?|fpfU>Cde(++9pjK__QMn zHuRb4Wagb``n^dy?an4&pDd7^u}c=P$+SDWO4clROJ2#7tlx3wm>t;S;|R9c;mJ?~ zN0<_!et<}3DVMd}*_HeTL`oAE2WaXnZD`8pD%3wjs;>8m(k#@R^n187^l|Uemp1GD zIlsVu13SF{J^ug?h9O2CLus=C`Ta4T4J*8OtfbAxq;L2CzwRwf#GdKQHuO Zl>XpFq5quhzru;!2kjhK=wO@_e8*VDwh>j!r?iE^GNWV z3PR?x$_luul?tmARwKbxItXK0@Iqh0kd4lL}1kgUSkp wl~A}!VKo|Dr2~^&p>sjuA{1Uy=t6^+RA6!!RJs* literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/search_filter_order.NSCR b/res/graphics/pokedex/search_filter_order.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..7c5fd063ee7ee3bf04fb13a5694e9fb6da193822 GIT binary patch literal 156 zcmWG?4)**1kAZOx0|SEq10#c9kaKVkkiCFG0!T72Q~>cSh1X#CM&T_M_(laH`$}bn m!b&h)rLYu;zyJatfH+Gb8wzt2a?xOp3QR6bWre~@ zC|sqm8V#<}fyu4VL8x1!uoexjQNgCJQ(-w8>_k%c0&Z`o#&R80*a^4yh01Y-mqfth FDgcOJWljJ9 literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/search_main.NSCR b/res/graphics/pokedex/search_main.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..bb2d7098e5c3b182b7d3f223f36eb8639a6384cb GIT binary patch literal 1572 zcmWG?4)**1kAYEzje$Xcfsw&4$T?U9$Yx+X03?6_$o5Pi7J4OkC-`GPVs(2ajOrf^ zztQxA9s;BJhu9FHto-mv@TI8y@=6Fu2*fD;{NbgiPl6v_h~0LCey@a}gkU@{1gqi&DJXQ>gR{3C(tEQtySvX>70&HdXmnuMs8wFt&GHLZW7O4GV-gx6>r`%is{Sy zOaI#r6w6PUzjFWD4iw8z*+2iMe|q)lH(=0^VIxM388>0llxZ_&&HecyJMW)_c?%XT zS+-);nspmCZP~VC*PeX`zw}Ay^iLcP9XWR5)R}V^E?v2HfgrCHr8Cn@% DB?-wG literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/search_sinnoh.NSCR b/res/graphics/pokedex/search_sinnoh.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..598af6477a41871899a471f24f92eaffd7119b58 GIT binary patch literal 2084 zcmeH|J8!};6otQRo`6y)6eut-(+4f@m&6_*X`zL_esuME9^!jz1a^-0!U zjw~G?pXa2k literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/size_buttons_pressed.png b/res/graphics/pokedex/size_buttons_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..ba15d1ae18200b318c50c0115552107e1e11d941 GIT binary patch literal 1127 zcmeAS@N?(olHy`uVBq!ia0vp^3JeTP3>?fr)|Kh=ZZa@1GX(gAxE}qsH>rBfmb3qX z04RkFqKdud>@B`}?|;^mZ%g+6?_TpCs1m4tPO-wbdrRQzuO9sd)D`4a4N?E?*_yrG z3g3=Kz1xxnRC)IQw>e2`-fe-Jzh%qOtgNgpTR?n>`u|t|U(NdVZpr^=-T#3qf$H~G z2mQZy6=MDz1_q$||4WwqFD{0efA(2-(6_To-fd|Hs{D3uuUB*T)o`>6YW_dF_y3kD|GT}4v$iyMA5EI` z4ml`B*~2viW(2=`%D}*=dCo{KTg z$yP92p)@Hdu5`)dfJ04RrF{+T6pvkBF0{ud*GVgCTdH}`PB*{DQiARi`HmQ`)cJp= zd1BKxpKwsXNlf@5)7tPs-)UL%Jf_b^L17QaL$ilr=LN%G zCs`ZoN3QNJYn&*)Rqxhc*WT5q*R+3%n(^<$lofkcRlX{l|26wyhp#FF!;2*$Yjjsm zPmq|;wQHll#;Qm8XD4%1Yu!yeFLbA{@XvStcN@gT9|>y$tv}GvV{loiN7*3U`~)+D z!-R_I#nLZ1eydeFI8=xq%00App7OeDM?d~M_+#?dzs*~_e*HTbv#h$^ss2S}tm&?V eBg=#s7)0J}5{jM3zcg$g$U~m4elF{r5}E+!O*}CG literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/size_buttons_pressed_anim.json b/res/graphics/pokedex/size_buttons_pressed_anim.json new file mode 100644 index 0000000000..29f90fd65b --- /dev/null +++ b/res/graphics/pokedex/size_buttons_pressed_anim.json @@ -0,0 +1,97 @@ +{ + "labelEnabled": true, + "sequenceCount": 3, + "frameCount": 12, + "sequences": [{ + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 0 + }, { + "frameDelay": 4, + "resultId": 1 + }, { + "frameDelay": 6, + "resultId": 2 + }, { + "frameDelay": 1, + "resultId": 3 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 0 + }, { + "frameDelay": 4, + "resultId": 4 + }, { + "frameDelay": 6, + "resultId": 5 + }, { + "frameDelay": 1, + "resultId": 6 + }] + }, { + "frameCount": 4, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 1, + "resultId": 0 + }, { + "frameDelay": 4, + "resultId": 7 + }, { + "frameDelay": 6, + "resultId": 8 + }, { + "frameDelay": 1, + "resultId": 9 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }, { + "resultType": 0, + "index": 1 + }, { + "resultType": 0, + "index": 2 + }, { + "resultType": 0, + "index": 3 + }, { + "resultType": 0, + "index": 4 + }, { + "resultType": 0, + "index": 5 + }, { + "resultType": 0, + "index": 6 + }, { + "resultType": 0, + "index": 7 + }, { + "resultType": 0, + "index": 8 + }, { + "resultType": 0, + "index": 9 + }], + "resultCount": 10, + "labels": ["CellAnime2", "CellAnime3", "CellAnime0"], + "labelCount": 3 +} \ No newline at end of file diff --git a/res/graphics/pokedex/size_buttons_pressed_cell.json b/res/graphics/pokedex/size_buttons_pressed_cell.json new file mode 100644 index 0000000000..7375141e36 --- /dev/null +++ b/res/graphics/pokedex/size_buttons_pressed_cell.json @@ -0,0 +1,1230 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 10, + "mappingType": 0, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 0 + }, + "maxX": 0, + "maxY": 0, + "minX": 0, + "minY": 0, + "oamCount": 0, + "OAM": [] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 22 + }, + "maxX": 79, + "maxY": 35, + "minX": -80, + "minY": -36, + "oamCount": 6, + "OAM": [{ + "Attr0": { + "YCoordinate": 4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -12, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": 4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -80, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -36, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -80, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 4 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 22 + }, + "maxX": 79, + "maxY": 35, + "minX": -80, + "minY": -36, + "oamCount": 6, + "OAM": [{ + "Attr0": { + "YCoordinate": 4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 128, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -12, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 160, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -80, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 128, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -36, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 192, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -80, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 22 + }, + "maxX": 79, + "maxY": 35, + "minX": -80, + "minY": -36, + "oamCount": 6, + "OAM": [{ + "Attr0": { + "YCoordinate": 4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -12, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 4, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -80, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -36, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 16, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -20, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -80, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 24 + }, + "maxX": 59, + "maxY": 71, + "minX": -60, + "minY": -56, + "oamCount": 4, + "OAM": [{ + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -4, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -4, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -60, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -60, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 4 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 24 + }, + "maxX": 59, + "maxY": 71, + "minX": -60, + "minY": -56, + "oamCount": 4, + "OAM": [{ + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -4, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 128, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -4, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -60, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 128, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -60, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 24 + }, + "maxX": 59, + "maxY": 71, + "minX": -60, + "minY": -56, + "oamCount": 4, + "OAM": [{ + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -4, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -4, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -60, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -60, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 33 + }, + "maxX": 119, + "maxY": 55, + "minX": -120, + "minY": -56, + "oamCount": 8, + "OAM": [{ + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -64, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -64, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 56, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 56, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -120, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -120, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 4 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 33 + }, + "maxX": 119, + "maxY": 55, + "minX": -120, + "minY": -56, + "oamCount": 8, + "OAM": [{ + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 160, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -64, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 160, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 192, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -64, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 192, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 56, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 128, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 56, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -120, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 128, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -120, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 224, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": true, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 33 + }, + "maxX": 119, + "maxY": 55, + "minX": -120, + "minY": -56, + "oamCount": 8, + "OAM": [{ + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -64, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 0, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -56, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -64, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 64, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 56, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": 56, + "RotationScaling": 8, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": 24, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -120, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -40, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -120, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 96, + "Priority": 0, + "Palette": 1 + } + }] + }], + "labels": ["CellAnime2", "CellAnime3", "CellAnime0"], + "labelCount": 3 +} \ No newline at end of file diff --git a/res/graphics/pokedex/size_check_icons.pal b/res/graphics/pokedex/size_check_icons.pal new file mode 100644 index 0000000000..330f1719ad --- /dev/null +++ b/res/graphics/pokedex/size_check_icons.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +205 255 213 +90 82 82 +123 115 106 +65 65 65 +172 205 139 +205 222 189 +131 172 82 +230 148 255 +246 213 255 +189 74 230 +255 0 0 +255 0 0 +0 0 0 +98 106 106 +255 255 255 +123 131 131 +205 205 246 +172 164 123 +246 213 65 +0 0 0 +205 205 213 +0 148 255 +255 255 197 +156 139 98 +255 115 115 +255 164 164 +255 255 255 +123 115 106 +41 115 172 +32 139 222 +148 189 156 +255 255 139 +172 180 255 +213 189 180 +98 98 98 +98 98 98 +0 0 0 +255 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 205 205 +246 115 115 +197 189 156 +98 115 189 +189 57 74 +222 106 123 +57 65 82 +57 98 139 +156 189 255 +90 131 230 +205 205 222 +205 156 57 +123 65 65 +222 164 123 +255 213 189 +0 0 0 +172 164 205 +238 238 255 +156 197 156 +197 106 156 +197 57 65 +238 106 106 +57 65 82 +57 98 139 +255 222 90 +238 148 197 +205 205 222 +205 156 57 +123 65 65 +222 164 123 +255 213 189 +0 0 0 +172 164 205 +238 238 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/res/graphics/pokedex/size_check_icons.png b/res/graphics/pokedex/size_check_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..6bfb630a5b93cddf5bab5c30dcc29272ca64e34e GIT binary patch literal 1910 zcmeH{`%_YB9LCQ9EJN~^c}X*iOiNQyGf`5G3trOkHd@NG=B*M?)2Pi2T@g|%%FPuG z4aZB^YEoH&nu+0zjFz1)ZrW8cCv_#$T3t#F&r|e0^nRn*>&NI*Rd}rPt-jk8x zK`XIqumAw83<;)0>ux&$KzZwA5rzi=flgM6_{j*1g^0ypJS@g$mc)*) z639ge!k0*qLAf;fE4s+Hwl9s}f#|APETvqO%#zEAJ5>xe5sD@z^F?xm#v6xW6)YmM zAxI@=>l$@wi5Q-qMnp=Hk|9zOp=k!=n;%iprUlA>^MAMYf8js<0yFZS4gkOqLMTv7 zj_6(G%CZY~xFRqqu~2~^ZQC0&Vo}hwR(8KH+hZ6;&ja`|OZMG*n$=B(ROoP_$MYGn zMuNX+Wo*;tLf(j(@SZ!7jXi;a^j)cch-#v(^tOXWR!b)p7X|ASbZZ8ZldZej%E-FETgFvS5&Pc^jiLqHr zn*&BqtXT`88!S{vU8MQGUpYp8OQ~~{n71*do4{0q_l@ZIMt@Z5)_mNjBH5>9cFg${ zGS&X1ImK&sZ{4W?nMQrZb@f8*u?*Y&`_5+P&?!@HI4bI5lSL8+2a$UDZe*0O&IhIxt~_F~EZ4?i>D`fL1@p_YamhJA8oAN9!<}KRK-0WVRcK3FOG` z_Kg%8*&fdhzEx~2u(;NbRV<*lv=x0bwUR^DX6YtL$JuDG{*@Tve**=hq^*lJE{>lbQXYhHWoL6}FaQE`r zJ6^WO8dJ*fz!ThA7q9ro)sgg(%e`+jtW9~Qt|d$&rVV{A?@^=h^(8GC)bqt#sCn9g zILXj~vfPf%3KNd6zSKW{a1r_J5g1#Yc`|jFkADcg1LSd2Hv?ktlvO@dbPEmW2aeun zrWIwGUDJf43a#6EYeEO%)oPopF3S|qdnDoNO|Nbz4qBQy<7w{ zJ7JKZ|8cmp>*F4_>aB0VEoPAUWNX#SQWlug{L0BNaiZXdJGb*?j8*l?j!$oOe8nXS zCVc2hqfr8Bd80nsGi7smw(YM;A>h?f36`25G-Z|Uc0cS{gAOlgj_6u1wdQE^9@`&P znvpx&L2s4G3(~5RYA4kFa_|Xm>PMTn>G7qk0{*G%`n4jV9KcaTPeA+(+o?PeV1zt2Y+-X1=fDIfFCj=eGlG)5TZY dO&qwNmisvk@3?{Mr1^NQ)={s#h} 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 SA6@z5S4XgR++S_!pYk8LIXEW( literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/type_icons_anim.json b/res/graphics/pokedex/type_icons_anim.json new file mode 100644 index 0000000000..776006343d --- /dev/null +++ b/res/graphics/pokedex/type_icons_anim.json @@ -0,0 +1,244 @@ +{ + "labelEnabled": true, + "sequenceCount": 18, + "frameCount": 18, + "sequences": [{ + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 0 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 1 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 2 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 3 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 4 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 5 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 6 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 7 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 8 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 9 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 10 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 11 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 12 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 13 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 14 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 15 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 16 + }] + }, { + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 17 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }, { + "resultType": 0, + "index": 1 + }, { + "resultType": 0, + "index": 2 + }, { + "resultType": 0, + "index": 3 + }, { + "resultType": 0, + "index": 4 + }, { + "resultType": 0, + "index": 5 + }, { + "resultType": 0, + "index": 6 + }, { + "resultType": 0, + "index": 7 + }, { + "resultType": 0, + "index": 8 + }, { + "resultType": 0, + "index": 9 + }, { + "resultType": 0, + "index": 10 + }, { + "resultType": 0, + "index": 11 + }, { + "resultType": 0, + "index": 12 + }, { + "resultType": 0, + "index": 13 + }, { + "resultType": 0, + "index": 14 + }, { + "resultType": 0, + "index": 15 + }, { + "resultType": 0, + "index": 16 + }, { + "resultType": 0, + "index": 17 + }], + "resultCount": 18, + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5", "CellAnime6", "CellAnime7", "CellAnime8", "CellAnime9", "CellAnime10", "CellAnime11", "CellAnime12", "CellAnime13", "CellAnime14", "CellAnime15", "CellAnime16", "CellAnime21"], + "labelCount": 18 +} \ No newline at end of file diff --git a/res/graphics/pokedex/type_icons_cell.json b/res/graphics/pokedex/type_icons_cell.json new file mode 100644 index 0000000000..d592678e88 --- /dev/null +++ b/res/graphics/pokedex/type_icons_cell.json @@ -0,0 +1,1062 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 18, + "mappingType": 2, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 2, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 3, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 5, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 6, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 8, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 9, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 11, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 12, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 14, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 15, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 17, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 18, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 20, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 21, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 23, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 24, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 26, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 27, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 29, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 30, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 32, + "Priority": 0, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 33, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 35, + "Priority": 0, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 36, + "Priority": 0, + "Palette": 3 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 38, + "Priority": 0, + "Palette": 3 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 39, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 41, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 42, + "Priority": 0, + "Palette": 0 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 44, + "Priority": 0, + "Palette": 0 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 45, + "Priority": 0, + "Palette": 1 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 47, + "Priority": 0, + "Palette": 1 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 7 + }, + "maxX": 23, + "maxY": 7, + "minX": -24, + "minY": -8, + "oamCount": 2, + "OAM": [{ + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -24, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 48, + "Priority": 0, + "Palette": 2 + } + }, { + "Attr0": { + "YCoordinate": -8, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 8, + "RotationScaling": 0, + "Size": 1 + }, + "Attr2": { + "CharName": 50, + "Priority": 0, + "Palette": 2 + } + }] + }, { + "cellAttrs": { + "hFlip": false, + "vFlip": true, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 24 + }, + "maxX": 73, + "maxY": 15, + "minX": -86, + "minY": -36, + "oamCount": 6, + "OAM": [{ + "Attr0": { + "YCoordinate": -36, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -86, + "RotationScaling": 16, + "Size": 3 + }, + "Attr2": { + "CharName": 51, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -36, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -22, + "RotationScaling": 16, + "Size": 3 + }, + "Attr2": { + "CharName": 59, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -36, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 42, + "RotationScaling": 16, + "Size": 2 + }, + "Attr2": { + "CharName": 67, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -86, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 51, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 1 + }, + "Attr1": { + "XCoordinate": -22, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 59, + "Priority": 0, + "Palette": 4 + } + }, { + "Attr0": { + "YCoordinate": -16, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": 42, + "RotationScaling": 0, + "Size": 2 + }, + "Attr2": { + "CharName": 67, + "Priority": 0, + "Palette": 4 + } + }] + }], + "labels": ["CellAnime0", "CellAnime1", "CellAnime2", "CellAnime3", "CellAnime4", "CellAnime5", "CellAnime6", "CellAnime7", "CellAnime8", "CellAnime9", "CellAnime10", "CellAnime11", "CellAnime12", "CellAnime13", "CellAnime14", "CellAnime15", "CellAnime16", "CellAnime21"], + "labelCount": 18 +} \ No newline at end of file diff --git a/res/graphics/pokedex/unseen_icon.png b/res/graphics/pokedex/unseen_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8ebd0264936f5eeb4cff0a08ca1cd652ef054c39 GIT binary patch literal 1196 zcmdUtYe*DP6vxNb$7q^cW~K;EA(a)O(ie-$Ekk!vkxj&g>@h`;g?uy+(e_xI-h;H% zXhCB|O)tDz(PU&?(sBx_DKVy%J`8Nsq!Lp>JB4JoYa8~Y?;XyZIUIiH+;jij17)R! z32|w01VJP?iwfNMpFjMOHXNI8)W0DJ8&OtVzF1W)Rh5`;rb#MpPSJgsYP6*_pY zrT^eZ#{SG3NM}SBr!$=Dp?QaDh$Hj=%4-Jl2$lqq01)E^cps6aEFFw2^V>d_0U%FV z3T?_BOyc<}&tpxnyz4 z5(Gg}ly6Uk{d4C3Rr%EYaT7sAtaBDP$}9I=KkAs!MUjhcqO7&^E;Y}1e2=b=yxKOi z@pB+$`sr=!)2rUiOyyUTk>khZ5lfQxMs;oS`SWjIC&{$hytZ3ZwaZ;PcGQQ;Ry z^pQ+__c(Z^;^4CY$cS(7`HFT-vQy^^Bm3jQ{Ow#>#d6}+PH91GRo0pTTgTM>+S@to z)Q1h!z0RkLkgYFdthV_JqI>7$-%OmA;+xVFioQ}vdiw$`4axS*o{-ab*<9jVmeTuS z!@vM_Bh=`(^`6Kb-7y$fG~4YR-^j-jPuE41pNy>C9u;4l`Q>bjz5hH>d(D=8r*g&T zRinndDA}C0g7B9_QM-dN>8CDkO?rQ#|G}|r5Yb+FI9PqoxvTwo?%m|8_Nuq+*6fup zLoum!?d06f&b^>6b;z%f6YY-eF~f#0{WW^zVb;Qml3=KkQ3*Y$;g o!D}@`!PML`bMB#<#Ng7MPu3q#8dqIXJp4$Ui%Sby7p~m(6*ijG3;+NC literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/unseen_icon_anim.json b/res/graphics/pokedex/unseen_icon_anim.json new file mode 100644 index 0000000000..2cd09ec5dd --- /dev/null +++ b/res/graphics/pokedex/unseen_icon_anim.json @@ -0,0 +1,23 @@ +{ + "labelEnabled": true, + "sequenceCount": 1, + "frameCount": 1, + "sequences": [{ + "frameCount": 1, + "loopStartFrame": 0, + "animationElement": 0, + "animationType": 1, + "playbackMode": 2, + "frameData": [{ + "frameDelay": 4, + "resultId": 0 + }] + }], + "animationResults": [{ + "resultType": 0, + "index": 0 + }], + "resultCount": 1, + "labels": ["CellAnime0"], + "labelCount": 1 +} \ No newline at end of file diff --git a/res/graphics/pokedex/unseen_icon_cell.json b/res/graphics/pokedex/unseen_icon_cell.json new file mode 100644 index 0000000000..393d8ea946 --- /dev/null +++ b/res/graphics/pokedex/unseen_icon_cell.json @@ -0,0 +1,44 @@ +{ + "labelEnabled": true, + "extended": true, + "vramTransferEnabled": false, + "cellCount": 1, + "mappingType": 2, + "cells": [{ + "cellAttrs": { + "hFlip": false, + "vFlip": false, + "hvFlip": false, + "boundingRect": true, + "boundingSphereRadius": 12 + }, + "maxX": 31, + "maxY": 31, + "minX": -32, + "minY": -32, + "oamCount": 1, + "OAM": [{ + "Attr0": { + "YCoordinate": -32, + "Rotation": false, + "SizeDisable": false, + "Mode": 0, + "Mosaic": false, + "Colours": 16, + "Shape": 0 + }, + "Attr1": { + "XCoordinate": -32, + "RotationScaling": 0, + "Size": 3 + }, + "Attr2": { + "CharName": 0, + "Priority": 0, + "Palette": 10 + } + }] + }], + "labels": ["CellAnime0"], + "labelCount": 1 +} \ No newline at end of file diff --git a/res/graphics/pokedex/weight_check_main.NSCR b/res/graphics/pokedex/weight_check_main.NSCR new file mode 100644 index 0000000000000000000000000000000000000000..d747f17e57f6fb9140cee698ebec63b1ec87eacf GIT binary patch literal 1572 zcmds#s}6%O6o!kLLLeq5r^zo6h!YSfE+Jez0SvqV7Xk0KhuHIM1I$>`LK9}Teo1qZ zzh81r+r&x3=YuKN6Jr`vSeQ8Jd8(Omo3?39wTs_I)edq|53#;I9VNUSdiZc@ZM|z7 zxdesKk0tCJoxrb9OZl}CaQh!HO8FxVf9VIPO_}$rsp8J>q9YkUCei;XqDDEQ)3T literal 0 HcmV?d00001 diff --git a/res/graphics/pokedex/weight_scale.png b/res/graphics/pokedex/weight_scale.png new file mode 100644 index 0000000000000000000000000000000000000000..28f19b17657492e6161ae0c17721dca745d5f241 GIT binary patch literal 217 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
rsnO*Z(&0O4qB&D?G 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 diff --git a/src/applications/pokedex/crysub.c b/src/applications/pokedex/crysub.c index 94d0201a16..b53befdd12 100644 --- a/src/applications/pokedex/crysub.c +++ b/src/applications/pokedex/crysub.c @@ -33,6 +33,7 @@ #include "unk_02012744.h" #include "vram_transfer.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" /* @@ -837,15 +838,15 @@ static void LoadBackgroundTileMaps(PokedexGraphicData **graphicData, enum HeapID { NNSG2dScreenData *screenData; - PokedexGraphics_LoadGraphicNarcCharacterData(*graphicData, 34, (*graphicData)->bgConfig, BG_LAYER_SUB_2, 0, 0, TRUE, heapID); - void *tileMap = PokedexGraphics_GetGraphicNarcScreenData(*graphicData, 71, TRUE, &screenData, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*graphicData, entry_sub_NCGR_lz, (*graphicData)->bgConfig, BG_LAYER_SUB_2, 0, 0, TRUE, heapID); + void *tileMap = PokedexGraphics_GetGraphicNarcTilemapData(*graphicData, cry_sub_NSCR_lz, TRUE, &screenData, heapID); Bg_LoadToTilemapRect((*graphicData)->bgConfig, BG_LAYER_SUB_2, screenData->rawData, 0, 0, screenData->screenWidth / 8, screenData->screenHeight / 8); Heap_Free(tileMap); Bg_ScheduleTilemapTransfer((*graphicData)->bgConfig, BG_LAYER_SUB_2); - PokedexGraphics_LoadGraphicNarcCharacterData(*graphicData, 35, (*graphicData)->bgConfig, BG_LAYER_SUB_3, 0, 0, TRUE, heapID); - tileMap = PokedexGraphics_GetGraphicNarcScreenData(*graphicData, 72, TRUE, &screenData, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*graphicData, cry_wheel_NCGR_lz, (*graphicData)->bgConfig, BG_LAYER_SUB_3, 0, 0, TRUE, heapID); + tileMap = PokedexGraphics_GetGraphicNarcTilemapData(*graphicData, cry_wheel_NSCR_lz, TRUE, &screenData, heapID); Bg_LoadToTilemapRect((*graphicData)->bgConfig, BG_LAYER_SUB_3, screenData->rawData, 0, 0, screenData->screenWidth / 8, screenData->screenHeight / 8); Heap_Free(tileMap); @@ -867,18 +868,18 @@ static void LoadCryDialSprite(PokedexCrySubGraphics *pokedexCrySubGraphics, Poke PokedexGraphicData *graphicsData = *graphics; NARC *narc = PokedexGraphics_GetNARC(*graphics); - pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(graphicsData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], narc, 113, TRUE, 113 + CRYSUB_GRAPHIC_ID, NNS_G2D_VRAM_TYPE_2DSUB, heapID); + pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(graphicsData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], narc, cry_dials_NCGR_lz, TRUE, cry_dials_NCGR_lz + CRYSUB_GRAPHIC_ID, NNS_G2D_VRAM_TYPE_2DSUB, heapID); SpriteTransfer_RequestCharAtEnd(pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_CHAR]); SpriteResource_ReleaseData(pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_CHAR]); - pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(graphicsData->spriteResourceCollection[1], narc, 18, FALSE, 18 + CRYSUB_GRAPHIC_ID, NNS_G2D_VRAM_TYPE_2DSUB, 3, heapID); + pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(graphicsData->spriteResourceCollection[1], narc, cry_dials_NCLR, FALSE, cry_dials_NCLR + CRYSUB_GRAPHIC_ID, NNS_G2D_VRAM_TYPE_2DSUB, 3, heapID); SpriteTransfer_RequestPlttFreeSpace(pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_PLTT]); SpriteResource_ReleaseData(pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_PLTT]); - pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(graphicsData->spriteResourceCollection[SPRITE_RESOURCE_CELL], narc, 114, TRUE, 114 + CRYSUB_GRAPHIC_ID, SPRITE_RESOURCE_CELL, heapID); - pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(graphicsData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], narc, 112, TRUE, 112 + CRYSUB_GRAPHIC_ID, SPRITE_RESOURCE_ANIM, heapID); + pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(graphicsData->spriteResourceCollection[SPRITE_RESOURCE_CELL], narc, cry_dials_cell_NCER_lz, TRUE, cry_dials_cell_NCER_lz + CRYSUB_GRAPHIC_ID, SPRITE_RESOURCE_CELL, heapID); + pokedexCrySubGraphics->dialSpriteResource[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(graphicsData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], narc, cry_dials_anim_NANR_lz, TRUE, cry_dials_anim_NANR_lz + CRYSUB_GRAPHIC_ID, SPRITE_RESOURCE_ANIM, heapID); } static void FreeDialSpriteResource(PokedexCrySubGraphics *pokedexCrySubGraphics, PokedexGraphicData **graphics) @@ -899,7 +900,7 @@ static void AnimateSprites(PokedexCrySubGraphics *pokedexCrySubGraphics, Pokedex SpriteListTemplate spriteListTemplate; PokedexGraphicData *graphicData = *graphics; - SpriteResourcesHeader_Init(&spriteResourcesHeader, 113 + CRYSUB_GRAPHIC_ID, 18 + CRYSUB_GRAPHIC_ID, 114 + CRYSUB_GRAPHIC_ID, 112 + CRYSUB_GRAPHIC_ID, 0xffffffff, 0xffffffff, FALSE, 2, graphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], graphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], graphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], graphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); + SpriteResourcesHeader_Init(&spriteResourcesHeader, cry_dials_NCGR_lz + CRYSUB_GRAPHIC_ID, cry_dials_NCLR + CRYSUB_GRAPHIC_ID, cry_dials_cell_NCER_lz + CRYSUB_GRAPHIC_ID, cry_dials_anim_NANR_lz + CRYSUB_GRAPHIC_ID, 0xffffffff, 0xffffffff, FALSE, 2, graphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], graphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], graphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], graphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); spriteListTemplate.list = graphicData->spriteList; spriteListTemplate.resourceData = &spriteResourcesHeader; @@ -975,7 +976,7 @@ static void LoadSwitchText(PokedexCrySubGraphics *pokedexCrySubGraphics, Pokedex PokedexDisplayBox displayBox; PokedexGraphicData *graphicData = *graphics; - SpriteResource *palette = SpriteResourceCollection_Find(graphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], 18 + CRYSUB_GRAPHIC_ID); + SpriteResource *palette = SpriteResourceCollection_Find(graphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], cry_dials_NCLR + CRYSUB_GRAPHIC_ID); displayBox.textMan = graphicData->textMan; displayBox.paletteProxy = SpriteTransfer_GetPaletteProxy(palette, NULL); @@ -1332,7 +1333,7 @@ static void SetLoop(PokedexCrySubPageData *pokedexCrySubPageData, BOOL loop) static void LoadCryPalette(PokedexCrySubGraphics *pokedexCrySubGraphics, PokedexGraphicData **graphicData, enum HeapID heapID) { - pokedexCrySubGraphics->backgroundPalette = PokedexGraphics_GetGraphicNarcPaletteData(*graphicData, 20, &pokedexCrySubGraphics->paletteData, heapID); + pokedexCrySubGraphics->backgroundPalette = PokedexGraphics_GetGraphicNarcPaletteData(*graphicData, cry_sub_NCLR, &pokedexCrySubGraphics->paletteData, heapID); } static void FreeCryPalette(PokedexCrySubGraphics *pokedexCrySubGraphics) diff --git a/src/applications/pokedex/ov21_021D5AEC.c b/src/applications/pokedex/ov21_021D5AEC.c index a923a98b8f..7b77e0d4ab 100644 --- a/src/applications/pokedex/ov21_021D5AEC.c +++ b/src/applications/pokedex/ov21_021D5AEC.c @@ -32,6 +32,7 @@ #include "text.h" #include "unk_02012744.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -613,7 +614,7 @@ static BOOL ov21_021D6108(UnkStruct_ov21_021D5B68 *param0, int param1) static void ov21_021D6114(UnkStruct_ov21_021D71A8 *param0, PokedexGraphicData *param1, const UnkStruct_ov21_021D5B68 *param2, int heapID) { - PokedexGraphics_LoadGraphicNarcPaletteData(param1, 0, 0, 0, 0, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(param1, background_scroll_default_NCLR, 0, 0, 0, heapID); ov21_021D62E4(param1, heapID); ov21_021D637C(param0, param1, heapID, PokedexSort_IsNationalDex(param2->unk_04)); ov21_021D63DC(param1, heapID, PokedexSort_NumEncountered(param2->unk_04), PokedexSort_NumCaught(param2->unk_04)); @@ -647,9 +648,9 @@ static void ov21_021D61F4(UnkStruct_ov21_021D71A8 *param0, PokedexGraphicData *p NNSG2dPaletteData *v1; u8 *v2; - PokedexGraphics_LoadGraphicNarcPaletteData(param1, 4, 0, 0, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(param1, register_NCLR, 0, 0, 32, heapID); - v0 = PokedexGraphics_GetGraphicNarcPaletteData(param1, 0, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcPaletteData(param1, background_scroll_default_NCLR, &v1, heapID); v2 = (u8 *)v1->pRawData; DC_FlushRange(v2, 16 * 32); @@ -681,14 +682,14 @@ static void ov21_021D62E4(PokedexGraphicData *param0, int heapID) void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(param0, 28, param0->bgConfig, 3, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(param0, scroll_main_background_NCGR_lz, param0->bgConfig, 3, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0, 38, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0, scroll_main_background_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->bgConfig, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0, 39, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0, register_species_window_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->bgConfig, 3, v1->rawData, 1, 4, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -699,15 +700,15 @@ static void ov21_021D637C(UnkStruct_ov21_021D71A8 *param0, PokedexGraphicData *p { int v0; - PokedexGraphics_LoadGraphicNarcCharacterData(param1, 28, param1->bgConfig, 2, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(param1, scroll_main_background_NCGR_lz, param1->bgConfig, 2, 0, 0, TRUE, heapID); if (param3 == 1) { - v0 = 42; + v0 = search_national_NSCR_lz; } else { - v0 = 40; + v0 = search_sinnoh_NSCR_lz; } - param0->unk_D8 = PokedexGraphics_GetGraphicNarcScreenData(param1, v0, 1, ¶m0->unk_DC, heapID); + param0->unk_D8 = PokedexGraphics_GetGraphicNarcTilemapData(param1, v0, TRUE, ¶m0->unk_DC, heapID); } static void ov21_021D63C0(UnkStruct_ov21_021D71A8 *param0) @@ -763,13 +764,13 @@ static void ov21_021D6538(UnkStruct_ov21_021D71A8 *param0, int heapID) static void ov21_021D6580(UnkStruct_ov21_021D71A8 *param0) { - SpriteResource *v0 = SpriteResourceCollection_Find(param0->unk_80[0], 81); + SpriteResource *v0 = SpriteResourceCollection_Find(param0->unk_80[0], search_body_shapes_NCGR_lz); SpriteTransfer_ResetCharTransfer(v0); - v0 = SpriteResourceCollection_Find(param0->unk_80[1], 3); + v0 = SpriteResourceCollection_Find(param0->unk_80[1], buttons_NCLR); SpriteTransfer_ResetPlttTransfer(v0); - v0 = SpriteResourceCollection_Find(param0->unk_80[0], 111); + v0 = SpriteResourceCollection_Find(param0->unk_80[0], unseen_icon_NCGR_lz); SpriteTransfer_ResetCharTransfer(v0); SpriteResourceCollection_Delete(param0->unk_80[0]); @@ -783,26 +784,26 @@ static void ov21_021D65DC(UnkStruct_ov21_021D71A8 *param0, PokedexGraphicData *p SpriteResource *v0; NARC *v1 = PokedexGraphics_GetNARC(param1); - v0 = SpriteResourceCollection_AddTilesFrom(param0->unk_80[0], v1, 81, 1, 81, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + v0 = SpriteResourceCollection_AddTilesFrom(param0->unk_80[0], v1, search_body_shapes_NCGR_lz, TRUE, search_body_shapes_NCGR_lz, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(v0); SpriteResource_ReleaseData(v0); - v0 = SpriteResourceCollection_AddPaletteFrom(param0->unk_80[1], v1, 3, 0, 3, NNS_G2D_VRAM_TYPE_2DMAIN, 12, param2); + v0 = SpriteResourceCollection_AddPaletteFrom(param0->unk_80[1], v1, buttons_NCLR, FALSE, buttons_NCLR, NNS_G2D_VRAM_TYPE_2DMAIN, 12, param2); SpriteTransfer_RequestPlttFreeSpace(v0); SpriteResource_ReleaseData(v0); - SpriteResourceCollection_AddFrom(param0->unk_80[2], v1, 79, 1, 79, 2, param2); - SpriteResourceCollection_AddFrom(param0->unk_80[3], v1, 80, 1, 80, 3, param2); - SpriteResourcesHeader_Init(¶m0->unk_90, 81, 3, 79, 80, 0xffffffff, 0xffffffff, 0, 2, param0->unk_80[0], param0->unk_80[1], param0->unk_80[2], param0->unk_80[3], NULL, NULL); + SpriteResourceCollection_AddFrom(param0->unk_80[2], v1, search_body_shapes_cell_NCER_lz, TRUE, search_body_shapes_cell_NCER_lz, 2, param2); + SpriteResourceCollection_AddFrom(param0->unk_80[3], v1, search_body_shapes_anim_NANR_lz, TRUE, search_body_shapes_anim_NANR_lz, 3, param2); + SpriteResourcesHeader_Init(¶m0->unk_90, search_body_shapes_NCGR_lz, buttons_NCLR, search_body_shapes_cell_NCER_lz, search_body_shapes_anim_NANR_lz, 0xffffffff, 0xffffffff, FALSE, 2, param0->unk_80[0], param0->unk_80[1], param0->unk_80[2], param0->unk_80[3], NULL, NULL); - v0 = SpriteResourceCollection_AddTilesFrom(param0->unk_80[0], v1, 111, 1, 111, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + v0 = SpriteResourceCollection_AddTilesFrom(param0->unk_80[0], v1, unseen_icon_NCGR_lz, TRUE, unseen_icon_NCGR_lz, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(v0); SpriteResource_ReleaseData(v0); - SpriteResourceCollection_AddFrom(param0->unk_80[2], v1, 109, 1, 109, 2, param2); - SpriteResourceCollection_AddFrom(param0->unk_80[3], v1, 110, 1, 110, 3, param2); - SpriteResourcesHeader_Init(¶m0->unk_B4, 111, 3, 109, 110, 0xffffffff, 0xffffffff, 0, 2, param0->unk_80[0], param0->unk_80[1], param0->unk_80[2], param0->unk_80[3], NULL, NULL); + SpriteResourceCollection_AddFrom(param0->unk_80[2], v1, unseen_icon_cell_NCER_lz, TRUE, unseen_icon_cell_NCER_lz, 2, param2); + SpriteResourceCollection_AddFrom(param0->unk_80[3], v1, unseen_icon_anim_NANR_lz, TRUE, unseen_icon_anim_NANR_lz, 3, param2); + SpriteResourcesHeader_Init(¶m0->unk_B4, unseen_icon_NCGR_lz, buttons_NCLR, unseen_icon_cell_NCER_lz, unseen_icon_anim_NANR_lz, 0xffffffff, 0xffffffff, FALSE, 2, param0->unk_80[0], param0->unk_80[1], param0->unk_80[2], param0->unk_80[3], NULL, NULL); } static void ov21_021D6744(UnkStruct_ov21_021D71A8 *param0, PokedexGraphicData *param1, int param2) diff --git a/src/applications/pokedex/ov21_021D76B0.c b/src/applications/pokedex/ov21_021D76B0.c index fcfa5d6a87..a85210ae04 100644 --- a/src/applications/pokedex/ov21_021D76B0.c +++ b/src/applications/pokedex/ov21_021D76B0.c @@ -33,6 +33,7 @@ #include "touch_screen_actions.h" #include "unk_02012744.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -533,19 +534,19 @@ static void ov21_021D7CD8(PokedexGraphicData **param0, const UnkStruct_ov21_021D NNSG2dScreenData *v1; BgConfig *v2 = (*param0)->bgConfig; - PokedexGraphics_LoadGraphicNarcPaletteData(*param0, 0, 4, 0, 0, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param0, background_scroll_default_NCLR, 4, 0, 0, heapID); if (param1->unk_1C->unk_04->unk_1740 == 1) { - PokedexGraphics_LoadGraphicNarcPaletteData(*param0, 1, 4, 3 * 32, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param0, background_scroll_sinnoh_NCLR, 4, 3 * 32, 32, heapID); } else { if (PokedexSort_IsNationalDex(param1->unk_1C->unk_04) == 1) { - PokedexGraphics_LoadGraphicNarcPaletteData(*param0, 25, 4, 3 * 32, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param0, background_scroll_national_NCLR, 4, 3 * 32, 32, heapID); } } - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 29, v2, 6, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, scroll_sub_background_NCGR_lz, v2, 6, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 41, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, scroll_sub_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(v2, 6, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -557,18 +558,18 @@ static void ov21_021D7D8C(UnkStruct_ov21_021D7C64 *param0, PokedexGraphicData ** PokedexGraphicData *v0 = *param1; NARC *v1 = PokedexGraphics_GetNARC(*param1); - param0->unk_2C[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 84, 1, 84 + 1000, NNS_G2D_VRAM_TYPE_2DSUB, param2); + param0->unk_2C[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, scroll_buttons_NCGR_lz, TRUE, scroll_buttons_NCGR_lz + 1000, NNS_G2D_VRAM_TYPE_2DSUB, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_2C[0]); SpriteResource_ReleaseData(param0->unk_2C[0]); - param0->unk_2C[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, 3, 0, 3 + 1000, NNS_G2D_VRAM_TYPE_2DSUB, 12, param2); + param0->unk_2C[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, buttons_NCLR, FALSE, buttons_NCLR + 1000, NNS_G2D_VRAM_TYPE_2DSUB, 12, param2); SpriteTransfer_RequestPlttFreeSpace(param0->unk_2C[1]); SpriteResource_ReleaseData(param0->unk_2C[1]); - param0->unk_2C[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 82, 1, 82 + 1000, 2, param2); - param0->unk_2C[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 83, 1, 83 + 1000, 3, param2); + param0->unk_2C[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, scroll_buttons_cell_NCER_lz, TRUE, scroll_buttons_cell_NCER_lz + 1000, 2, param2); + param0->unk_2C[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, scroll_buttons_anim_NANR_lz, TRUE, scroll_buttons_anim_NANR_lz + 1000, 3, param2); } static void ov21_021D7E3C(UnkStruct_ov21_021D7C64 *param0, PokedexGraphicData **param1) @@ -589,7 +590,7 @@ static void ov21_021D7E80(UnkStruct_ov21_021D7C64 *param0, PokedexGraphicData ** SpriteListTemplate v1; PokedexGraphicData *v2 = *param1; - SpriteResourcesHeader_Init(&v0, 84 + 1000, 3 + 1000, 82 + 1000, 83 + 1000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, scroll_buttons_NCGR_lz + 1000, buttons_NCLR + 1000, scroll_buttons_cell_NCER_lz + 1000, scroll_buttons_anim_NANR_lz + 1000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -674,7 +675,7 @@ static void ov21_021D8018(UnkStruct_ov21_021D7C64 *param0, PokedexGraphicData ** GF_ASSERT(param0->unk_00[0]); - v2 = SpriteResourceCollection_Find(v3->spriteResourceCollection[1], 3 + 1000); + v2 = SpriteResourceCollection_Find(v3->spriteResourceCollection[1], buttons_NCLR + 1000); displayBox.textMan = v3->textMan; displayBox.paletteProxy = SpriteTransfer_GetPaletteProxy(v2, NULL); @@ -757,9 +758,9 @@ static void ov21_021D820C(PokedexGraphicData **param0, int heapID) NNSG2dScreenData *v1; BgConfig *v2 = (*param0)->bgConfig; - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 27, v2, 7, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, scroll_wheel_NCGR_lz, v2, 7, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 37, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, scroll_wheel_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(v2, 7, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); diff --git a/src/applications/pokedex/ov21_021D94BC.c b/src/applications/pokedex/ov21_021D94BC.c index 02c185eae5..3fbc88eb20 100644 --- a/src/applications/pokedex/ov21_021D94BC.c +++ b/src/applications/pokedex/ov21_021D94BC.c @@ -31,6 +31,7 @@ #include "touch_screen_actions.h" #include "unk_02012744.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -582,9 +583,9 @@ static void ov21_021D9A74(UnkStruct_ov21_021D95CC *param0, const UnkStruct_ov21_ void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, 29, param0->unk_00->bgConfig, 6, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, scroll_sub_background_NCGR_lz, param0->unk_00->bgConfig, 6, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0->unk_00, 75, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0->unk_00, search_main_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->unk_00->bgConfig, 6, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -2279,18 +2280,18 @@ static void ov21_021DB50C(UnkStruct_ov21_021DC96C *param0, UnkStruct_ov21_021D95 PokedexGraphicData *v0 = param1->unk_00; NARC *v1 = PokedexGraphics_GetNARC(param1->unk_00); - param0->unk_E4[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 125, 1, 125 + 16000, NNS_G2D_VRAM_TYPE_2DSUB, param2); + param0->unk_E4[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, search_buttons_NCGR_lz, TRUE, search_buttons_NCGR_lz + 16000, NNS_G2D_VRAM_TYPE_2DSUB, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_E4[0]); SpriteResource_ReleaseData(param0->unk_E4[0]); - param0->unk_E4[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, 3, 0, 3 + 16000, NNS_G2D_VRAM_TYPE_2DSUB, 6, param2); + param0->unk_E4[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, buttons_NCLR, FALSE, buttons_NCLR + 16000, NNS_G2D_VRAM_TYPE_2DSUB, 6, param2); SpriteTransfer_RequestPlttFreeSpace(param0->unk_E4[1]); SpriteResource_ReleaseData(param0->unk_E4[1]); - param0->unk_E4[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 126, 1, 126 + 16000, 2, param2); - param0->unk_E4[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 124, 1, 124 + 16000, 3, param2); + param0->unk_E4[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, search_buttons_cell_NCER_lz, TRUE, search_buttons_cell_NCER_lz + 16000, 2, param2); + param0->unk_E4[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, search_buttons_anim_NANR_lz, TRUE, search_buttons_anim_NANR_lz + 16000, 3, param2); } static void ov21_021DB5DC(UnkStruct_ov21_021DC96C *param0, UnkStruct_ov21_021D95CC *param1) @@ -2311,13 +2312,13 @@ static void ov21_021DB634(UnkStruct_ov21_021DC96C *param0, UnkStruct_ov21_021D95 PokedexGraphicData *v0 = param1->unk_00; NARC *v1 = PokedexGraphics_GetNARC(param1->unk_00); - param0->unk_F4[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 128, 1, 128 + 16000, NNS_G2D_VRAM_TYPE_2DSUB, param2); + param0->unk_F4[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, search_button_forms_NCGR_lz, TRUE, search_button_forms_NCGR_lz + 16000, NNS_G2D_VRAM_TYPE_2DSUB, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_F4[0]); SpriteResource_ReleaseData(param0->unk_F4[0]); - param0->unk_F4[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 129, 1, 129 + 16000, 2, param2); - param0->unk_F4[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 127, 1, 127 + 16000, 3, param2); + param0->unk_F4[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, search_button_forms_cell_NCER_lz, TRUE, search_button_forms_cell_NCER_lz + 16000, 2, param2); + param0->unk_F4[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, search_button_forms_anim_NANR_lz, TRUE, search_button_forms_anim_NANR_lz + 16000, 3, param2); } static void ov21_021DB6C8(UnkStruct_ov21_021DC96C *param0, UnkStruct_ov21_021D95CC *param1) @@ -2337,7 +2338,7 @@ static void ov21_021DB708(UnkStruct_ov21_021DC96C *param0, UnkStruct_ov21_021D95 PokedexGraphicData *v2 = param1->unk_00; int v3; - SpriteResourcesHeader_Init(&v0, 125 + 16000, 3 + 16000, 126 + 16000, 124 + 16000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, search_buttons_NCGR_lz + 16000, buttons_NCLR + 16000, search_buttons_cell_NCER_lz + 16000, search_buttons_anim_NANR_lz + 16000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -2362,7 +2363,7 @@ static void ov21_021DB79C(UnkStruct_ov21_021DC96C *param0, UnkStruct_ov21_021D95 PokedexGraphicData *v2 = param1->unk_00; int v3; - SpriteResourcesHeader_Init(&v0, 125 + 16000, 3 + 16000, 126 + 16000, 124 + 16000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, search_buttons_NCGR_lz + 16000, buttons_NCLR + 16000, search_buttons_cell_NCER_lz + 16000, search_buttons_anim_NANR_lz + 16000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -2587,7 +2588,7 @@ static void ov21_021DBBE4(UnkStruct_ov21_021DC96C *param0, UnkStruct_ov21_021D95 PokedexGraphicData *v2 = param1->unk_00; int v3, v4; - SpriteResourcesHeader_Init(&v0, 128 + 16000, 3 + 16000, 129 + 16000, 127 + 16000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, search_button_forms_NCGR_lz + 16000, buttons_NCLR + 16000, search_button_forms_cell_NCER_lz + 16000, search_button_forms_anim_NANR_lz + 16000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -2673,7 +2674,7 @@ static void ov21_021DBDC8(UnkStruct_ov21_021DC96C *param0, UnkStruct_ov21_021D95 SpriteResource *v1; PokedexGraphicData *v2 = param1->unk_00; - v1 = SpriteResourceCollection_Find(v2->spriteResourceCollection[1], 3 + 16000); + v1 = SpriteResourceCollection_Find(v2->spriteResourceCollection[1], buttons_NCLR + 16000); displayBox.textMan = v2->textMan; displayBox.paletteProxy = SpriteTransfer_GetPaletteProxy(v1, NULL); @@ -2698,7 +2699,7 @@ static void ov21_021DBE3C(UnkStruct_ov21_021DC96C *param0, UnkStruct_ov21_021D95 SpriteResource *v1; PokedexGraphicData *v2 = param1->unk_00; - v1 = SpriteResourceCollection_Find(v2->spriteResourceCollection[1], 3 + 16000); + v1 = SpriteResourceCollection_Find(v2->spriteResourceCollection[1], buttons_NCLR + 16000); displayBox.textMan = v2->textMan; displayBox.paletteProxy = SpriteTransfer_GetPaletteProxy(v1, NULL); diff --git a/src/applications/pokedex/ov21_021DC9BC.c b/src/applications/pokedex/ov21_021DC9BC.c index 40f7f9466c..ffe20fa77a 100644 --- a/src/applications/pokedex/ov21_021DC9BC.c +++ b/src/applications/pokedex/ov21_021DC9BC.c @@ -29,6 +29,7 @@ #include "sprite_util.h" #include "unk_02012744.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" #define TERMINALVALUE 0xffff @@ -491,36 +492,36 @@ static void ov21_021DCE40(UnkStruct_ov21_021DCAE0 *param0, const UnkStruct_ov21_ void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, 33, param0->unk_00->bgConfig, 3, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, entry_main_NCGR_lz, param0->unk_00->bgConfig, 3, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0->unk_00, 64, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0->unk_00, area_map_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->unk_00->bgConfig, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); if (param1->unk_00->newmoonIslandVisible) { - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0->unk_00, 65, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0->unk_00, map_newmoon_island_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->unk_00->bgConfig, 3, v1->rawData, 13, 8, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); } if (param1->unk_00->seabreakPathVisible) { - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0->unk_00, 66, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0->unk_00, map_seabreak_path_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->unk_00->bgConfig, 3, v1->rawData, 28, 7, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); } if (param1->unk_00->fullmoonIslandVisible) { - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0->unk_00, 67, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0->unk_00, map_fullmoon_island_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->unk_00->bgConfig, 3, v1->rawData, 11, 8, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); } if (param1->unk_00->springPathVisible) { - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0->unk_00, 68, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0->unk_00, map_spring_path_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->unk_00->bgConfig, 3, v1->rawData, 25, 16, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -534,25 +535,25 @@ static void ov21_021DCFC8(PokedexMapDisplay *mapDisplay, UnkStruct_ov21_021DCAE0 PokedexGraphicData *v0 = param1->unk_00; NARC *v1 = PokedexGraphics_GetNARC(param1->unk_00); - mapDisplay->unk_B4[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 108, 1, 108 + 6000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); + mapDisplay->unk_B4[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, dungeon_highlight_NCGR_lz, TRUE, dungeon_highlight_NCGR_lz + 6000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); SpriteTransfer_RequestCharAtEnd(mapDisplay->unk_B4[0]); SpriteResource_ReleaseData(mapDisplay->unk_B4[0]); - mapDisplay->unk_B4[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 106, 1, 106 + 6000, 2, heapID); - mapDisplay->unk_B4[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 107, 1, 107 + 6000, 3, heapID); - mapDisplay->unk_D0[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 93, 1, 93 + 6000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); + mapDisplay->unk_B4[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, dungeon_highlight_cell_NCER_lz, TRUE, dungeon_highlight_cell_NCER_lz + 6000, 2, heapID); + mapDisplay->unk_B4[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, dungeon_highlight_anim_NANR_lz, TRUE, dungeon_highlight_anim_NANR_lz + 6000, 3, heapID); + mapDisplay->unk_D0[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, size_check_icons_NCGR_lz, TRUE, size_check_icons_NCGR_lz + 6000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); SpriteTransfer_RequestCharAtEnd(mapDisplay->unk_D0[0]); SpriteResource_ReleaseData(mapDisplay->unk_D0[0]); - mapDisplay->unk_D0[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, 14, 0, 14 + 6000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, heapID); + mapDisplay->unk_D0[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, size_check_icons_NCLR, FALSE, size_check_icons_NCLR + 6000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, heapID); SpriteTransfer_RequestPlttFreeSpace(mapDisplay->unk_D0[1]); SpriteResource_ReleaseData(mapDisplay->unk_D0[1]); - mapDisplay->unk_D0[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 91, 1, 91 + 6000, 2, heapID); - mapDisplay->unk_D0[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 92, 1, 92 + 6000, 3, heapID); + mapDisplay->unk_D0[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, size_check_icons_cell_NCER_lz, TRUE, size_check_icons_cell_NCER_lz + 6000, 2, heapID); + mapDisplay->unk_D0[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, size_check_icons_anim_NANR_lz, TRUE, size_check_icons_anim_NANR_lz + 6000, 3, heapID); } static void ov21_021DD114(PokedexMapDisplay *mapDisplay, UnkStruct_ov21_021DCAE0 *param1) @@ -578,7 +579,7 @@ static void ov21_021DD1A8(PokedexMapDisplay *mapDisplay, UnkStruct_ov21_021DCAE0 PokedexGraphicData *v2 = param1->unk_00; int v3; - SpriteResourcesHeader_Init(&v0, 93 + 6000, 14 + 6000, 91 + 6000, 92 + 6000, 0xffffffff, 0xffffffff, 0, 1, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, size_check_icons_NCGR_lz + 6000, size_check_icons_NCLR + 6000, size_check_icons_cell_NCER_lz + 6000, size_check_icons_anim_NANR_lz + 6000, 0xffffffff, 0xffffffff, FALSE, 1, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -591,7 +592,7 @@ static void ov21_021DD1A8(PokedexMapDisplay *mapDisplay, UnkStruct_ov21_021DCAE0 mapDisplay->AreaUnknownCellActor = SpriteList_Add(&v1); Sprite_SetAnim(mapDisplay->AreaUnknownCellActor, 2); - SpriteResourcesHeader_Init(&v0, 108 + 6000, 14 + 6000, 106 + 6000, 107 + 6000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, dungeon_highlight_NCGR_lz + 6000, size_check_icons_NCLR + 6000, dungeon_highlight_cell_NCER_lz + 6000, dungeon_highlight_anim_NANR_lz + 6000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -633,7 +634,7 @@ static void ov21_021DD2E0(PokedexMapDisplay *mapDisplay, UnkStruct_ov21_021DCAE0 GF_ASSERT(mapDisplay->AreaUnknownCellActor); - v2 = SpriteResourceCollection_Find(param1->unk_00->spriteResourceCollection[1], 14 + 6000); + v2 = SpriteResourceCollection_Find(param1->unk_00->spriteResourceCollection[1], size_check_icons_NCLR + 6000); displayBox.textMan = v3->textMan; displayBox.paletteProxy = SpriteTransfer_GetPaletteProxy(v2, NULL); @@ -801,8 +802,8 @@ static void ov21_021DD668(PokedexMapDisplay *mapDisplay, UnkStruct_ov21_021DCAE0 { Window_FillTilemap(¶m1->unk_00->window, 0); - mapDisplay->unk_7F4 = PokedexGraphics_GetGraphicNarcCharacterData(param1->unk_00, 30, 1, &mapDisplay->unk_7F8, heapID); - mapDisplay->unk_7FC = PokedexGraphics_GetGraphicNarcCharacterData(param1->unk_00, 31, 1, &mapDisplay->unk_800, heapID); + mapDisplay->unk_7F4 = PokedexGraphics_GetGraphicNarcCharacterData(param1->unk_00, dummy1_NCGR_lz, TRUE, &mapDisplay->unk_7F8, heapID); + mapDisplay->unk_7FC = PokedexGraphics_GetGraphicNarcCharacterData(param1->unk_00, dummy2_NCGR_lz, TRUE, &mapDisplay->unk_800, heapID); Window_SetPalette(¶m1->unk_00->window, 8); } diff --git a/src/applications/pokedex/ov21_021DDD2C.c b/src/applications/pokedex/ov21_021DDD2C.c index 405689ff0e..51f701a10e 100644 --- a/src/applications/pokedex/ov21_021DDD2C.c +++ b/src/applications/pokedex/ov21_021DDD2C.c @@ -29,6 +29,8 @@ #include "touch_screen_actions.h" #include "vram_transfer.h" +#include "res/graphics/pokedex/zukan.naix.h" + typedef struct { PokedexScreenManager *unk_00; PokedexSortData *unk_04; @@ -381,9 +383,9 @@ static void ov21_021DE13C(PokedexGraphicData **param0, int heapID) void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 34, (*param0)->bgConfig, 6, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, entry_sub_NCGR_lz, (*param0)->bgConfig, 6, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 69, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, area_sub_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 6, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -395,13 +397,13 @@ static void ov21_021DE1A4(UnkStruct_ov21_021DDEC8 *param0, PokedexGraphicData ** PokedexGraphicData *v0 = *param1; NARC *v1 = PokedexGraphics_GetNARC(*param1); - param0->unk_04[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 105, 1, 105 + 6000, NNS_G2D_VRAM_TYPE_2DSUB, param2); + param0->unk_04[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, time_day_icons_NCGR_lz, TRUE, time_day_icons_NCGR_lz + 6000, NNS_G2D_VRAM_TYPE_2DSUB, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_04[0]); SpriteResource_ReleaseData(param0->unk_04[0]); - param0->unk_04[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 103, 1, 103 + 6000, 2, param2); - param0->unk_04[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 104, 1, 104 + 6000, 3, param2); + param0->unk_04[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, time_day_icons_cell_NCER_lz, TRUE, time_day_icons_cell_NCER_lz + 6000, 2, param2); + param0->unk_04[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, time_day_icons_anim_NANR_lz, TRUE, time_day_icons_anim_NANR_lz + 6000, 3, param2); } static void ov21_021DE224(UnkStruct_ov21_021DDEC8 *param0, PokedexGraphicData **param1) @@ -421,7 +423,7 @@ static void ov21_021DE258(UnkStruct_ov21_021DDEC8 *param0, PokedexGraphicData ** SpriteListTemplate v1; PokedexGraphicData *v2 = *param1; - SpriteResourcesHeader_Init(&v0, 105 + 6000, 11 + 2100, 103 + 6000, 104 + 6000, 0xffffffff, 0xffffffff, 0, 1, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, time_day_icons_NCGR_lz + 6000, info_NCLR + 2100, time_day_icons_cell_NCER_lz + 6000, time_day_icons_anim_NANR_lz + 6000, 0xffffffff, 0xffffffff, FALSE, 1, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -604,7 +606,7 @@ static void ov21_021DE4D4(UnkStruct_ov21_021DDEC8 *param0, PokedexGraphicData ** Heap_Free(param0->unk_14); } - param0->unk_14 = PokedexGraphics_GetGraphicNarcPaletteData(*param1, 15 + param0->unk_18, ¶m0->unk_20, heapID); + param0->unk_14 = PokedexGraphics_GetGraphicNarcPaletteData(*param1, area_morning_NCLR + param0->unk_18, ¶m0->unk_20, heapID); param0->unk_28 = 0; if (param0->unk_18 > v0) { @@ -620,7 +622,7 @@ static void ov21_021DE4D4(UnkStruct_ov21_021DDEC8 *param0, PokedexGraphicData ** Heap_Free(param0->unk_14); } - param0->unk_14 = PokedexGraphics_GetGraphicNarcPaletteData(*param1, 15 + param0->unk_1C, ¶m0->unk_20, heapID); + param0->unk_14 = PokedexGraphics_GetGraphicNarcPaletteData(*param1, area_morning_NCLR + param0->unk_1C, ¶m0->unk_20, heapID); param0->unk_28 = 0; if (param0->unk_18 < param0->unk_1C) { diff --git a/src/applications/pokedex/ov21_021DE668.c b/src/applications/pokedex/ov21_021DE668.c index d32ccca000..43e16bd60a 100644 --- a/src/applications/pokedex/ov21_021DE668.c +++ b/src/applications/pokedex/ov21_021DE668.c @@ -35,6 +35,7 @@ #include "text.h" #include "unk_02012744.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -385,21 +386,21 @@ static void ov21_021DEA44(PokedexGraphicData **param0, int heapID) void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 33, (*param0)->bgConfig, 3, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, entry_main_NCGR_lz, (*param0)->bgConfig, 3, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 50, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, info_main_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 51, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, info_species_window_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 0, 3, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 52, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, info_footprint_window_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 12, 8, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 54, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, info_entry_window_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 0, 16, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); Bg_ScheduleTilemapTransfer((*param0)->bgConfig, 3); @@ -498,18 +499,18 @@ static void ov21_021DED7C(UnkStruct_ov21_021DF374 *param0, PokedexGraphicData ** int v4 = GetSharedFootprintCells(); int v5 = GetSharedFootprintAnims(); - param0->unk_24[0] = SpriteResourceCollection_AddTiles(v0->spriteResourceCollection[0], v1, v2, 1, 4000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + param0->unk_24[0] = SpriteResourceCollection_AddTiles(v0->spriteResourceCollection[0], v1, v2, TRUE, 4000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_24[0]); SpriteResource_ReleaseData(param0->unk_24[0]); - param0->unk_24[1] = SpriteResourceCollection_AddPalette(v0->spriteResourceCollection[1], v1, v3, 0, 4000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, param2); + param0->unk_24[1] = SpriteResourceCollection_AddPalette(v0->spriteResourceCollection[1], v1, v3, FALSE, 4000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, param2); SpriteTransfer_RequestPlttFreeSpace(param0->unk_24[1]); SpriteResource_ReleaseData(param0->unk_24[1]); - param0->unk_24[2] = SpriteResourceCollection_Add(v0->spriteResourceCollection[2], v1, v4, 1, 4000, 2, param2); - param0->unk_24[3] = SpriteResourceCollection_Add(v0->spriteResourceCollection[3], v1, v5, 1, 4000, 3, param2); + param0->unk_24[2] = SpriteResourceCollection_Add(v0->spriteResourceCollection[2], v1, v4, TRUE, 4000, 2, param2); + param0->unk_24[3] = SpriteResourceCollection_Add(v0->spriteResourceCollection[3], v1, v5, TRUE, 4000, 3, param2); } static void ov21_021DEE38(UnkStruct_ov21_021DF374 *param0, PokedexGraphicData **param1) @@ -534,7 +535,7 @@ static void ov21_021DEE80(UnkStruct_ov21_021DF374 *param0, PokedexGraphicData ** SpriteListTemplate v1; PokedexGraphicData *v2 = *param1; - SpriteResourcesHeader_Init(&v0, 4000, 4000, 4000, 4000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, 4000, 4000, 4000, 4000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -588,18 +589,18 @@ static void ov21_021DEFA8(UnkStruct_ov21_021DF374 *param0, PokedexGraphicData ** PokedexGraphicData *v0 = *param1; NARC *v1 = PokedexGraphics_GetNARC(*param1); - param0->unk_14[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 90, 1, 90 + 4000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + param0->unk_14[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, type_icons_NCGR_lz, TRUE, type_icons_NCGR_lz + 4000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_14[0]); SpriteResource_ReleaseData(param0->unk_14[0]); - param0->unk_14[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, 13, 0, 13 + 4000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, param2); + param0->unk_14[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, type_icons_NCLR, FALSE, type_icons_NCLR + 4000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, param2); SpriteTransfer_RequestPlttFreeSpace(param0->unk_14[1]); SpriteResource_ReleaseData(param0->unk_14[1]); - param0->unk_14[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 88, 1, 88 + 4000, 2, param2); - param0->unk_14[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 89, 1, 89 + 4000, 3, param2); + param0->unk_14[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, type_icons_cell_NCER_lz, TRUE, type_icons_cell_NCER_lz + 4000, 2, param2); + param0->unk_14[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, type_icons_anim_NANR_lz, TRUE, type_icons_anim_NANR_lz + 4000, 3, param2); } static void ov21_021DF054(UnkStruct_ov21_021DF374 *param0, PokedexGraphicData **param1) @@ -628,7 +629,7 @@ static void ov21_021DF098(UnkStruct_ov21_021DF374 *param0, PokedexGraphicData ** type1 = PokedexGraphics_GetAnimIDfromType(type1); type2 = PokedexGraphics_GetAnimIDfromType(type2); - SpriteResourcesHeader_Init(&v0, 90 + 4000, 13 + 4000, 88 + 4000, 89 + 4000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, type_icons_NCGR_lz + 4000, type_icons_NCLR + 4000, type_icons_cell_NCER_lz + 4000, type_icons_anim_NANR_lz + 4000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -652,7 +653,7 @@ static void ov21_021DF098(UnkStruct_ov21_021DF374 *param0, PokedexGraphicData ** } } -// This maps the type to an animation ID used in the Pokedex graphics. See zukan.narc -> files 88 (NCER), 89 (NANR), 90 (NCGR) +// This maps the type to an animation ID used in the Pokedex graphics. See zukan.narc -> files type_icons_cell_NCER_lz, type_icons_anim_NANR_lz, type_icons_NCGR_lz int PokedexGraphics_GetAnimIDfromType(int monType) { int animID; @@ -736,7 +737,7 @@ static void ov21_021DF214(UnkStruct_ov21_021DF374 *param0, PokedexGraphicData ** PokedexDisplayBox displayBox; SpriteResource *v6; - SpriteResourcesHeader_Init(&v0, 90 + 4000, 13 + 4000, 88 + 4000, 89 + 4000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, type_icons_NCGR_lz + 4000, type_icons_NCLR + 4000, type_icons_cell_NCER_lz + 4000, type_icons_anim_NANR_lz + 4000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; diff --git a/src/applications/pokedex/ov21_021DF734.c b/src/applications/pokedex/ov21_021DF734.c index 7c55efeec8..eb90312fb7 100644 --- a/src/applications/pokedex/ov21_021DF734.c +++ b/src/applications/pokedex/ov21_021DF734.c @@ -29,6 +29,7 @@ #include "sprite_util.h" #include "unk_02012744.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -423,9 +424,9 @@ static void ov21_021DFAE8(UnkStruct_ov21_021DF858 *param0, int heapID) void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, 33, param0->unk_00->bgConfig, 3, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, entry_main_NCGR_lz, param0->unk_00->bgConfig, 3, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0->unk_00, 50, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0->unk_00, info_main_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->unk_00->bgConfig, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -514,18 +515,18 @@ static void ov21_021DFD1C(UnkStruct_ov21_021DFFF8 *param0, UnkStruct_ov21_021DF8 PokedexGraphicData *v0 = param1->unk_00; NARC *v1 = PokedexGraphics_GetNARC(param1->unk_00); - param0->unk_10[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 122, 1, 122 + 14000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + param0->unk_10[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, form_display_box_NCGR_lz, TRUE, form_display_box_NCGR_lz + 14000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_10[0]); SpriteResource_ReleaseData(param0->unk_10[0]); - param0->unk_10[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, 22, 0, 22 + 14000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, param2); + param0->unk_10[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, form_display_box_NCLR, FALSE, form_display_box_NCLR + 14000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, param2); SpriteTransfer_RequestPlttFreeSpace(param0->unk_10[1]); SpriteResource_ReleaseData(param0->unk_10[1]); - param0->unk_10[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 123, 1, 123 + 14000, 2, param2); - param0->unk_10[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 121, 1, 121 + 14000, 3, param2); + param0->unk_10[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, form_display_box_cell_NCER_lz, TRUE, form_display_box_cell_NCER_lz + 14000, 2, param2); + param0->unk_10[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, form_display_box_anim_NANR_lz, TRUE, form_display_box_anim_NANR_lz + 14000, 3, param2); } static void ov21_021DFDC8(UnkStruct_ov21_021DFFF8 *param0, UnkStruct_ov21_021DF858 *param1) @@ -548,7 +549,7 @@ static void ov21_021DFE0C(UnkStruct_ov21_021DFFF8 *param0, UnkStruct_ov21_021DF8 int v3, v4; int v5; - SpriteResourcesHeader_Init(&v0, 122 + 14000, 22 + 14000, 123 + 14000, 121 + 14000, 0xffffffff, 0xffffffff, 0, 3, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, form_display_box_NCGR_lz + 14000, form_display_box_NCLR + 14000, form_display_box_cell_NCER_lz + 14000, form_display_box_anim_NANR_lz + 14000, 0xffffffff, 0xffffffff, FALSE, 3, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; diff --git a/src/applications/pokedex/ov21_021E0C68.c b/src/applications/pokedex/ov21_021E0C68.c index ea2355adfe..d76f329899 100644 --- a/src/applications/pokedex/ov21_021E0C68.c +++ b/src/applications/pokedex/ov21_021E0C68.c @@ -29,6 +29,7 @@ #include "text.h" #include "unk_02012744.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -383,23 +384,23 @@ static void ov21_021E0FBC(PokedexGraphicData **param0, int heapID) void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 33, (*param0)->bgConfig, 3, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, entry_main_NCGR_lz, (*param0)->bgConfig, 3, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 50, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, info_main_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 51, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, info_species_window_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 0, 3, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 55, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, foreign_entry_window_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 0, 16, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 56, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, foreign_summary_window_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 12, 8, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -479,18 +480,18 @@ static void ov21_021E127C(UnkStruct_ov21_021E14D4 *param0, PokedexGraphicData ** PokedexGraphicData *v0 = *param1; NARC *v1 = PokedexGraphics_GetNARC(*param1); - param0->unk_08[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 90, 1, 90 + 4000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + param0->unk_08[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, type_icons_NCGR_lz, TRUE, type_icons_NCGR_lz + 4000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_08[0]); SpriteResource_ReleaseData(param0->unk_08[0]); - param0->unk_08[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, 13, 0, 13 + 4000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, param2); + param0->unk_08[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, type_icons_NCLR, FALSE, type_icons_NCLR + 4000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, param2); SpriteTransfer_RequestPlttFreeSpace(param0->unk_08[1]); SpriteResource_ReleaseData(param0->unk_08[1]); - param0->unk_08[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 88, 1, 88 + 4000, 2, param2); - param0->unk_08[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 89, 1, 89 + 4000, 3, param2); + param0->unk_08[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, type_icons_cell_NCER_lz, TRUE, type_icons_cell_NCER_lz + 4000, 2, param2); + param0->unk_08[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, type_icons_anim_NANR_lz, TRUE, type_icons_anim_NANR_lz + 4000, 3, param2); } static void ov21_021E1328(UnkStruct_ov21_021E14D4 *param0, PokedexGraphicData **param1) @@ -516,7 +517,7 @@ static void ov21_021E136C(UnkStruct_ov21_021E14D4 *param0, PokedexGraphicData ** PokedexDisplayBox displayBox; SpriteResource *v6; - SpriteResourcesHeader_Init(&v0, 90 + 4000, 13 + 4000, 88 + 4000, 89 + 4000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, type_icons_NCGR_lz + 4000, type_icons_NCLR + 4000, type_icons_cell_NCER_lz + 4000, type_icons_anim_NANR_lz + 4000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; diff --git a/src/applications/pokedex/ov21_021E1924.c b/src/applications/pokedex/ov21_021E1924.c index 5369922a54..ee4d6504c4 100644 --- a/src/applications/pokedex/ov21_021E1924.c +++ b/src/applications/pokedex/ov21_021E1924.c @@ -36,6 +36,7 @@ #include "unk_02012744.h" #include "vram_transfer.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -618,8 +619,8 @@ static void ov21_021E2044(UnkStruct_ov21_021E2588 *param0, PokedexGraphicData ** { int v0; - PokedexGraphics_LoadGraphicNarcPaletteData(*param1, 9, 4, 4 * 32, 32, heapID); - PokedexGraphics_LoadGraphicNarcPaletteData(*param1, 9, 4, 5 * 32, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param1, background_sub_2_NCLR, 4, 4 * 32, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param1, background_sub_2_NCLR, 4, 5 * 32, 32, heapID); ov21_021E2458(param0); ov21_021E256C(param0, param1); ov21_021E226C(param0, param1); @@ -636,19 +637,19 @@ static void ov21_021E20A4(PokedexGraphicData **param0, int heapID) void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 34, (*param0)->bgConfig, 6, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, entry_sub_NCGR_lz, (*param0)->bgConfig, 6, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 62, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, info_sub_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 6, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 60, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, info_sub_unpressed_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 6, v1->rawData, ((128 - (160 / 2)) / 8), ((132 - (40 / 2)) / 8), v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 63, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, info_sub_pressed_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 6, v1->rawData, ((128 - (160 / 2)) / 8), ((76 - (40 / 2)) / 8), v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -660,20 +661,20 @@ static void ov21_021E2180(UnkStruct_ov21_021E2588 *param0, PokedexGraphicData ** PokedexGraphicData *v0 = *param1; NARC *v1 = PokedexGraphics_GetNARC(v0); - param0->unk_40[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 102, 1, 102 + 5000, NNS_G2D_VRAM_TYPE_2DSUB, param2); + param0->unk_40[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, size_buttons_pressed_NCGR_lz, TRUE, size_buttons_pressed_NCGR_lz + 5000, NNS_G2D_VRAM_TYPE_2DSUB, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_40[0]); SpriteResource_ReleaseData(param0->unk_40[0]); - param0->unk_40[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 100, 1, 100 + 5000, 2, param2); - param0->unk_40[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 101, 1, 101 + 5000, 3, param2); - param0->unk_70[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 99, 1, 99 + 5000, NNS_G2D_VRAM_TYPE_2DSUB, param2); + param0->unk_40[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, size_buttons_pressed_cell_NCER_lz, TRUE, size_buttons_pressed_cell_NCER_lz + 5000, 2, param2); + param0->unk_40[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, size_buttons_pressed_anim_NANR_lz, TRUE, size_buttons_pressed_anim_NANR_lz + 5000, 3, param2); + param0->unk_70[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, info_language_buttons_NCGR_lz, TRUE, info_language_buttons_NCGR_lz + 5000, NNS_G2D_VRAM_TYPE_2DSUB, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_70[0]); SpriteResource_ReleaseData(param0->unk_70[0]); - param0->unk_70[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 97, 1, 97 + 5000, 2, param2); - param0->unk_70[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 98, 1, 98 + 5000, 3, param2); + param0->unk_70[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, info_language_buttons_cell_NCER_lz, TRUE, info_language_buttons_cell_NCER_lz + 5000, 2, param2); + param0->unk_70[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, info_language_buttons_anim_NANR_lz, TRUE, info_language_buttons_anim_NANR_lz + 5000, 3, param2); } static void ov21_021E226C(UnkStruct_ov21_021E2588 *param0, PokedexGraphicData **param1) @@ -698,7 +699,7 @@ static void ov21_021E22C8(UnkStruct_ov21_021E2588 *param0, PokedexGraphicData ** PokedexGraphicData *v2 = *param1; int v3; - SpriteResourcesHeader_Init(&v0, 102 + 5000, 11 + 2100, 100 + 5000, 101 + 5000, 0xffffffff, 0xffffffff, 0, 2, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, size_buttons_pressed_NCGR_lz + 5000, info_NCLR + 2100, size_buttons_pressed_cell_NCER_lz + 5000, size_buttons_pressed_anim_NANR_lz + 5000, 0xffffffff, 0xffffffff, FALSE, 2, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -720,7 +721,7 @@ static void ov21_021E22C8(UnkStruct_ov21_021E2588 *param0, PokedexGraphicData ** param0->unk_00[1] = SpriteList_Add(&v1); Sprite_SetAnim(param0->unk_00[1], 0); - SpriteResourcesHeader_Init(&v0, 99 + 5000, 11 + 2100, 97 + 5000, 98 + 5000, 0xffffffff, 0xffffffff, 0, 2, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, info_language_buttons_NCGR_lz + 5000, info_NCLR + 2100, info_language_buttons_cell_NCER_lz + 5000, info_language_buttons_anim_NANR_lz + 5000, 0xffffffff, 0xffffffff, FALSE, 2, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.resourceData = &v0; v1.position.y = 176 << FX32_SHIFT; @@ -778,7 +779,7 @@ static void ov21_021E2478(UnkStruct_ov21_021E2588 *param0, PokedexGraphicData ** GF_ASSERT(param0->unk_00[0]); - v2 = SpriteResourceCollection_Find(v3->spriteResourceCollection[1], 11 + 2100); + v2 = SpriteResourceCollection_Find(v3->spriteResourceCollection[1], info_NCLR + 2100); displayBox.textMan = v3->textMan; displayBox.paletteProxy = SpriteTransfer_GetPaletteProxy(v2, NULL); @@ -919,21 +920,21 @@ static void ov21_021E26A0(PokedexGraphicData **param0, Sprite *param1, PokedexTe case 1: if (*param6 != 0) { v3 = 1; - v4 = 9; + v4 = background_sub_2_NCLR; *param6 = 0; } break; case 2: if (*param6 != 1) { v3 = 1; - v4 = 10; + v4 = background_sub_3_NCLR; *param6 = 1; } break; case 3: if (*param6 != 2) { v3 = 1; - v4 = 8; + v4 = background_sub_1_NCLR; *param6 = 2; } break; diff --git a/src/applications/pokedex/ov21_021E29DC.c b/src/applications/pokedex/ov21_021E29DC.c index 25566715d9..7467f6cdac 100644 --- a/src/applications/pokedex/ov21_021E29DC.c +++ b/src/applications/pokedex/ov21_021E29DC.c @@ -36,6 +36,7 @@ #include "touch_screen_actions.h" #include "unk_02012744.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -627,15 +628,15 @@ static void ov21_021E30E4(PokedexGraphicData **param0, const UnkStruct_ov21_021E void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcPaletteData(*param0, 6, 0, 0, 0, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param0, banner_sinnoh_NCLR, 0, 0, 0, heapID); if (PokedexSort_IsNationalDex(param1->unk_04) == 1) { - PokedexGraphics_LoadGraphicNarcPaletteData(*param0, 24, 0, 0, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param0, banner_national_NCLR, 0, 0, 32, heapID); } - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 33, (*param0)->bgConfig, 2, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, entry_main_NCGR_lz, (*param0)->bgConfig, 2, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 57, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, banner_sinnoh_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 2, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -647,18 +648,18 @@ static void ov21_021E3178(PokedexGraphicData **param0, UnkStruct_ov21_021E326C * PokedexGraphicData *v0 = *param0; NARC *v1 = PokedexGraphics_GetNARC(*param0); - param1->unk_18[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 87, 1, 87 + 2000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + param1->unk_18[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, banner_NCGR_lz, TRUE, banner_NCGR_lz + 2000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(param1->unk_18[0]); SpriteResource_ReleaseData(param1->unk_18[0]); - param1->unk_18[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, 12, 0, 12 + 2000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, param2); + param1->unk_18[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, banner_default_NCLR, FALSE, banner_default_NCLR + 2000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, param2); SpriteTransfer_RequestPlttFreeSpace(param1->unk_18[1]); SpriteResource_ReleaseData(param1->unk_18[1]); - param1->unk_18[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 85, 1, 85 + 2000, 2, param2); - param1->unk_18[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 86, 1, 86 + 2000, 3, param2); + param1->unk_18[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, banner_cell_NCER_lz, TRUE, banner_cell_NCER_lz + 2000, 2, param2); + param1->unk_18[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, banner_anim_NANR_lz, TRUE, banner_anim_NANR_lz + 2000, 3, param2); } static void ov21_021E3224(PokedexGraphicData **param0, UnkStruct_ov21_021E326C *param1) @@ -1197,16 +1198,16 @@ static void ov21_021E3960(PokedexGraphicData **param0, const UnkStruct_ov21_021E NNSG2dScreenData *v1; if (param1->unk_04->unk_30) { - PokedexGraphics_LoadGraphicNarcPaletteData(*param0, 6, 4, 0, 0, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param0, banner_sinnoh_NCLR, 4, 0, 0, heapID); if (PokedexSort_IsNationalDex(param1->unk_08) == 1) { - PokedexGraphics_LoadGraphicNarcPaletteData(*param0, 24, 4, 0, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param0, banner_national_NCLR, 4, 0, 32, heapID); } } - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 34, (*param0)->bgConfig, 5, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, entry_sub_NCGR_lz, (*param0)->bgConfig, 5, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 59, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, page_panel_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 5, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -1218,18 +1219,18 @@ static void ov21_021E39FC(UnkStruct_ov21_021E3900 *param0, PokedexGraphicData ** PokedexGraphicData *v0 = *param1; NARC *v1 = PokedexGraphics_GetNARC(*param1); - param0->unk_18[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 96, 1, 96 + 2100, NNS_G2D_VRAM_TYPE_2DSUB, param2); + param0->unk_18[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, page_buttons_NCGR_lz, TRUE, page_buttons_NCGR_lz + 2100, NNS_G2D_VRAM_TYPE_2DSUB, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_18[0]); SpriteResource_ReleaseData(param0->unk_18[0]); - param0->unk_18[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, 11, 0, 11 + 2100, NNS_G2D_VRAM_TYPE_2DSUB, 6, param2); + param0->unk_18[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, info_NCLR, FALSE, info_NCLR + 2100, NNS_G2D_VRAM_TYPE_2DSUB, 6, param2); SpriteTransfer_RequestPlttFreeSpace(param0->unk_18[1]); SpriteResource_ReleaseData(param0->unk_18[1]); - param0->unk_18[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 94, 1, 94 + 2100, 2, param2); - param0->unk_18[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 95, 1, 95 + 2100, 3, param2); + param0->unk_18[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, page_buttons_cell_NCER_lz, TRUE, page_buttons_cell_NCER_lz + 2100, 2, param2); + param0->unk_18[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, page_buttons_anim_NANR_lz, TRUE, page_buttons_anim_NANR_lz + 2100, 3, param2); } static void ov21_021E3AAC(UnkStruct_ov21_021E3900 *param0, PokedexGraphicData **param1) @@ -1252,7 +1253,7 @@ static void ov21_021E3AF0(UnkStruct_ov21_021E3900 *param0, PokedexGraphicData ** PokedexGraphicData *v2 = *param1; int v3; - SpriteResourcesHeader_Init(&v0, 96 + 2100, 11 + 2100, 94 + 2100, 95 + 2100, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, page_buttons_NCGR_lz + 2100, info_NCLR + 2100, page_buttons_cell_NCER_lz + 2100, page_buttons_anim_NANR_lz + 2100, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; diff --git a/src/applications/pokedex/ov21_021E3FFC.c b/src/applications/pokedex/ov21_021E3FFC.c index c4b887540d..236ca8d256 100644 --- a/src/applications/pokedex/ov21_021E3FFC.c +++ b/src/applications/pokedex/ov21_021E3FFC.c @@ -25,6 +25,8 @@ #include "sprite_transfer.h" #include "sprite_util.h" +#include "res/graphics/pokedex/zukan.naix.h" + typedef struct { int *unk_00; PokedexSortData *unk_04; @@ -511,8 +513,8 @@ static void ov21_021E45FC(UnkStruct_ov21_021E4108 *param0, const UnkStruct_ov21_ void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, 33, param0->unk_00->bgConfig, 3, 0, 0, 1, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0->unk_00, 70, 1, &v1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, entry_main_NCGR_lz, param0->unk_00->bgConfig, 3, 0, 0, TRUE, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0->unk_00, cry_button_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->unk_00->bgConfig, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -532,18 +534,18 @@ static void ov21_021E46A8(UnkStruct_ov21_021E4360 *param0, UnkStruct_ov21_021E41 PokedexGraphicData *v0 = param1->unk_00; NARC *v1 = PokedexGraphics_GetNARC(param1->unk_00); - param0->unk_314[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 116, 1, 116 + 11000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + param0->unk_314[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, cry_bar_NCGR_lz, TRUE, cry_bar_NCGR_lz + 11000, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_314[0]); SpriteResource_ReleaseData(param0->unk_314[0]); - param0->unk_314[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, 19, 0, 19 + 11000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, param2); + param0->unk_314[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v1, cry_bar_NCLR, FALSE, cry_bar_NCLR + 11000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, param2); SpriteTransfer_RequestPlttFreeSpace(param0->unk_314[1]); SpriteResource_ReleaseData(param0->unk_314[1]); - param0->unk_314[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 117, 1, 117 + 11000, 2, param2); - param0->unk_314[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 115, 1, 115 + 11000, 3, param2); + param0->unk_314[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, cry_bar_cell_NCER_lz, TRUE, cry_bar_cell_NCER_lz + 11000, 2, param2); + param0->unk_314[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, cry_bar_anim_NANR_lz, TRUE, cry_bar_anim_NANR_lz + 11000, 3, param2); } static void ov21_021E4770(UnkStruct_ov21_021E4360 *param0, UnkStruct_ov21_021E4108 *param1) @@ -566,7 +568,7 @@ static void ov21_021E47CC(UnkStruct_ov21_021E4360 *param0, UnkStruct_ov21_021E41 PokedexGraphicData *v2 = param1->unk_00; int v3, v4; - SpriteResourcesHeader_Init(&v0, 116 + 11000, 19 + 11000, 117 + 11000, 115 + 11000, 0xffffffff, 0xffffffff, 0, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, cry_bar_NCGR_lz + 11000, cry_bar_NCLR + 11000, cry_bar_cell_NCER_lz + 11000, cry_bar_anim_NANR_lz + 11000, 0xffffffff, 0xffffffff, FALSE, 0, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; diff --git a/src/applications/pokedex/ov21_021E68F4.c b/src/applications/pokedex/ov21_021E68F4.c index 6f39795663..25ecb3d136 100644 --- a/src/applications/pokedex/ov21_021E68F4.c +++ b/src/applications/pokedex/ov21_021E68F4.c @@ -32,6 +32,7 @@ #include "unk_02012744.h" #include "vram_transfer.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -496,8 +497,8 @@ static void ov21_021E6E94(UnkStruct_ov21_021E6C60 *param0, PokedexGraphicData ** { int v0; - PokedexGraphics_LoadGraphicNarcPaletteData(*param1, 9, 4, 4 * 32, 32, heapID); - PokedexGraphics_LoadGraphicNarcPaletteData(*param1, 9, 4, 5 * 32, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param1, background_sub_2_NCLR, 4, 4 * 32, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param1, background_sub_2_NCLR, 4, 5 * 32, 32, heapID); ov21_021E70BC(param0); ov21_021E71B8(param0, param1); ov21_021E6FD8(param0, param1); @@ -514,9 +515,9 @@ static void ov21_021E6EF0(PokedexGraphicData **param0, int heapID) void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 34, (*param0)->bgConfig, 6, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, entry_sub_NCGR_lz, (*param0)->bgConfig, 6, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 61, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, size_sub_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 6, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -528,13 +529,13 @@ static void ov21_021E6F58(UnkStruct_ov21_021E6C60 *param0, PokedexGraphicData ** PokedexGraphicData *v0 = *param1; NARC *v1 = PokedexGraphics_GetNARC(*param1); - param0->unk_10[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 102, 1, 102 + 9000, NNS_G2D_VRAM_TYPE_2DSUB, param2); + param0->unk_10[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, size_buttons_pressed_NCGR_lz, TRUE, size_buttons_pressed_NCGR_lz + 9000, NNS_G2D_VRAM_TYPE_2DSUB, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_10[0]); SpriteResource_ReleaseData(param0->unk_10[0]); - param0->unk_10[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 100, 1, 100 + 9000, 2, param2); - param0->unk_10[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 101, 1, 101 + 9000, 3, param2); + param0->unk_10[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, size_buttons_pressed_cell_NCER_lz, TRUE, size_buttons_pressed_cell_NCER_lz + 9000, 2, param2); + param0->unk_10[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, size_buttons_pressed_anim_NANR_lz, TRUE, size_buttons_pressed_anim_NANR_lz + 9000, 3, param2); } static void ov21_021E6FD8(UnkStruct_ov21_021E6C60 *param0, PokedexGraphicData **param1) @@ -554,7 +555,7 @@ static void ov21_021E700C(UnkStruct_ov21_021E6C60 *param0, PokedexGraphicData ** PokedexGraphicData *v2 = *param1; int v3; - SpriteResourcesHeader_Init(&v0, 102 + 9000, 11 + 2100, 100 + 9000, 101 + 9000, 0xffffffff, 0xffffffff, 0, 2, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, size_buttons_pressed_NCGR_lz + 9000, info_NCLR + 2100, size_buttons_pressed_cell_NCER_lz + 9000, size_buttons_pressed_anim_NANR_lz + 9000, 0xffffffff, 0xffffffff, FALSE, 2, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -599,7 +600,7 @@ static void ov21_021E70D4(UnkStruct_ov21_021E6C60 *param0, PokedexGraphicData ** GF_ASSERT(param0->unk_00[0]); - v2 = SpriteResourceCollection_Find(v3->spriteResourceCollection[1], 11 + 2100); + v2 = SpriteResourceCollection_Find(v3->spriteResourceCollection[1], info_NCLR + 2100); displayBox.textMan = v3->textMan; displayBox.paletteProxy = SpriteTransfer_GetPaletteProxy(v2, NULL); @@ -662,21 +663,21 @@ static void ov21_021E71D0(PokedexGraphicData **param0, Sprite *param1, PokedexTe case 1: if (*param6 != 0) { v3 = 1; - v4 = 9; + v4 = background_sub_2_NCLR; *param6 = 0; } break; case 2: if (*param6 != 1) { v3 = 1; - v4 = 10; + v4 = background_sub_3_NCLR; *param6 = 1; } break; case 3: if (*param6 != 2) { v3 = 1; - v4 = 8; + v4 = background_sub_1_NCLR; *param6 = 2; } break; diff --git a/src/applications/pokedex/ov21_021E737C.c b/src/applications/pokedex/ov21_021E737C.c index bf1e982bb4..5f368bb687 100644 --- a/src/applications/pokedex/ov21_021E737C.c +++ b/src/applications/pokedex/ov21_021E737C.c @@ -34,6 +34,7 @@ #include "text.h" #include "vram_transfer.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -523,9 +524,9 @@ static void ov21_021E789C(UnkStruct_ov21_021E747C *param0, const UnkStruct_ov21_ void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, 33, param0->unk_00->bgConfig, 3, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(param0->unk_00, entry_main_NCGR_lz, param0->unk_00->bgConfig, 3, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(param0->unk_00, 73, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(param0->unk_00, weight_check_main_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect(param0->unk_00->bgConfig, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -563,12 +564,12 @@ static void ov21_021E7904(UnkStruct_ov21_021E7714 *param0, UnkStruct_ov21_021E74 param0->unk_14[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v9, v3, 0, 8000, 2, heapID); param0->unk_14[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v9, v4, 0, 8000, 3, heapID); - param0->unk_24[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v7, 93, 1, 93 + 7000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); + param0->unk_24[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v7, size_check_icons_NCGR_lz, TRUE, size_check_icons_NCGR_lz + 7000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); SpriteTransfer_RequestCharAtEnd(param0->unk_24[0]); SpriteResource_ReleaseData(param0->unk_24[0]); - param0->unk_24[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v7, 14, 0, 14 + 7000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, heapID); + param0->unk_24[1] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], v7, size_check_icons_NCLR, FALSE, size_check_icons_NCLR + 7000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, heapID); SpriteTransfer_RequestPlttFreeSpace(param0->unk_24[1]); @@ -576,8 +577,8 @@ static void ov21_021E7904(UnkStruct_ov21_021E7714 *param0, UnkStruct_ov21_021E74 param0->unk_C0 = Heap_Alloc(heapID, 32 * 5); } - param0->unk_24[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v7, 91, 1, 91 + 7000, 2, heapID); - param0->unk_24[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v7, 92, 1, 92 + 7000, 3, heapID); + param0->unk_24[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v7, size_check_icons_cell_NCER_lz, TRUE, size_check_icons_cell_NCER_lz + 7000, 2, heapID); + param0->unk_24[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v7, size_check_icons_anim_NANR_lz, TRUE, size_check_icons_anim_NANR_lz + 7000, 3, heapID); NARC_dtor(v9); } @@ -617,7 +618,7 @@ static void ov21_021E7B34(UnkStruct_ov21_021E7714 *param0, UnkStruct_ov21_021E74 int species = PokedexSort_CurrentSpecies(param2->unk_00); int v7 = PokedexSort_DefaultForm(param2->unk_00, species); - SpriteResourcesHeader_Init(&v0, 93 + 7000, 14 + 7000, 91 + 7000, 92 + 7000, 0xffffffff, 0xffffffff, 0, 3, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, size_check_icons_NCGR_lz + 7000, size_check_icons_NCLR + 7000, size_check_icons_cell_NCER_lz + 7000, size_check_icons_anim_NANR_lz + 7000, 0xffffffff, 0xffffffff, FALSE, 3, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -655,7 +656,7 @@ static void ov21_021E7B34(UnkStruct_ov21_021E7714 *param0, UnkStruct_ov21_021E74 param0->unk_0C[1] = SpriteList_Add(&v1); Sprite_SetAnim(param0->unk_0C[1], 0); - SpriteResourcesHeader_Init(&v0, SpriteResource_GetID(param0->unk_14[0]), SpriteResource_GetID(param0->unk_14[1]), SpriteResource_GetID(param0->unk_14[2]), SpriteResource_GetID(param0->unk_14[3]), 0xffffffff, 0xffffffff, 0, 3, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, SpriteResource_GetID(param0->unk_14[0]), SpriteResource_GetID(param0->unk_14[1]), SpriteResource_GetID(param0->unk_14[2]), SpriteResource_GetID(param0->unk_14[3]), 0xffffffff, 0xffffffff, FALSE, 3, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -752,8 +753,8 @@ static void ov21_021E7EC0(UnkStruct_ov21_021E747C *param0, int heapID) SoftwareSpriteCharsTemplate v0; SoftwareSpritePaletteTemplate v1; - param0->unk_10 = PokedexGraphics_GetGraphicNarcCharacterData(param0->unk_00, 36, 1, ¶m0->unk_18, heapID); - param0->unk_14 = PokedexGraphics_GetGraphicNarcPaletteData(param0->unk_00, 6, ¶m0->unk_1C, heapID); + param0->unk_10 = PokedexGraphics_GetGraphicNarcCharacterData(param0->unk_00, weight_scale_NCGR_lz, TRUE, ¶m0->unk_18, heapID); + param0->unk_14 = PokedexGraphics_GetGraphicNarcPaletteData(param0->unk_00, banner_sinnoh_NCLR, ¶m0->unk_1C, heapID); v0.softSpriteMan = param0->unk_00->unk_164; v0.charsData = param0->unk_18; diff --git a/src/applications/pokedex/ov21_021E8484.c b/src/applications/pokedex/ov21_021E8484.c index 677e98afcd..805795c8ed 100644 --- a/src/applications/pokedex/ov21_021E8484.c +++ b/src/applications/pokedex/ov21_021E8484.c @@ -31,6 +31,7 @@ #include "unk_02012744.h" #include "vram_transfer.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -469,7 +470,7 @@ static void ov21_021E894C(UnkStruct_ov21_021E8794 *param0, PokedexGraphicData ** { int v0; - PokedexGraphics_LoadGraphicNarcPaletteData(*param1, 9, 4, 4 * 32, 32, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param1, background_sub_2_NCLR, 4, 4 * 32, 32, heapID); ov21_021E8B34(param0); ov21_021E8BDC(param0, param1); ov21_021E8A74(param0, param1); @@ -486,9 +487,9 @@ static void ov21_021E898C(PokedexGraphicData **param0, int heapID) void *v0; NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 34, (*param0)->bgConfig, 6, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, entry_sub_NCGR_lz, (*param0)->bgConfig, 6, 0, 0, TRUE, heapID); - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 58, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, forms_sub_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 6, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -500,13 +501,13 @@ static void ov21_021E89F4(UnkStruct_ov21_021E8794 *param0, PokedexGraphicData ** PokedexGraphicData *v0 = *param1; NARC *v1 = PokedexGraphics_GetNARC(v0); - param0->unk_08[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, 102, 1, 102 + 13000, NNS_G2D_VRAM_TYPE_2DSUB, param2); + param0->unk_08[0] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], v1, size_buttons_pressed_NCGR_lz, TRUE, size_buttons_pressed_NCGR_lz + 13000, NNS_G2D_VRAM_TYPE_2DSUB, param2); SpriteTransfer_RequestCharAtEnd(param0->unk_08[0]); SpriteResource_ReleaseData(param0->unk_08[0]); - param0->unk_08[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, 100, 1, 100 + 13000, 2, param2); - param0->unk_08[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, 101, 1, 101 + 13000, 3, param2); + param0->unk_08[2] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], v1, size_buttons_pressed_cell_NCER_lz, TRUE, size_buttons_pressed_cell_NCER_lz + 13000, 2, param2); + param0->unk_08[3] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], v1, size_buttons_pressed_anim_NANR_lz, TRUE, size_buttons_pressed_anim_NANR_lz + 13000, 3, param2); } static void ov21_021E8A74(UnkStruct_ov21_021E8794 *param0, PokedexGraphicData **param1) @@ -526,7 +527,7 @@ static void ov21_021E8AA8(UnkStruct_ov21_021E8794 *param0, PokedexGraphicData ** PokedexGraphicData *v2 = *param1; int v3; - SpriteResourcesHeader_Init(&v0, 102 + 13000, 11 + 2100, 100 + 13000, 101 + 13000, 0xffffffff, 0xffffffff, 0, 2, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, size_buttons_pressed_NCGR_lz + 13000, info_NCLR + 2100, size_buttons_pressed_cell_NCER_lz + 13000, size_buttons_pressed_anim_NANR_lz + 13000, 0xffffffff, 0xffffffff, FALSE, 2, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -563,7 +564,7 @@ static void ov21_021E8B40(UnkStruct_ov21_021E8794 *param0, PokedexGraphicData ** GF_ASSERT(param0->unk_00[0]); - v2 = SpriteResourceCollection_Find(v3->spriteResourceCollection[1], 11 + 2100); + v2 = SpriteResourceCollection_Find(v3->spriteResourceCollection[1], info_NCLR + 2100); displayBox.textMan = v3->textMan; displayBox.paletteProxy = SpriteTransfer_GetPaletteProxy(v2, NULL); @@ -614,21 +615,21 @@ static void ov21_021E8BE8(PokedexGraphicData **param0, Sprite *param1, PokedexTe case 1: if (*param6 != 0) { v3 = 1; - v4 = 9; + v4 = background_sub_2_NCLR; *param6 = 0; } break; case 2: if (*param6 != 1) { v3 = 1; - v4 = 10; + v4 = background_sub_3_NCLR; *param6 = 1; } break; case 3: if (*param6 != 2) { v3 = 1; - v4 = 8; + v4 = background_sub_1_NCLR; *param6 = 2; } break; diff --git a/src/applications/pokedex/ov21_021E8D48.c b/src/applications/pokedex/ov21_021E8D48.c index 3b57dc361b..2f31bea3fb 100644 --- a/src/applications/pokedex/ov21_021E8D48.c +++ b/src/applications/pokedex/ov21_021E8D48.c @@ -32,6 +32,7 @@ #include "text.h" #include "vram_transfer.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -50,8 +51,8 @@ typedef struct { } UnkStruct_ov21_021E968C; typedef struct { - void *unk_00[2]; - NNSG2dPaletteData *unk_08[2]; + void *paletteBuffers[2]; + NNSG2dPaletteData *paletteData[2]; int unk_10; int unk_14[2]; int unk_1C; @@ -418,34 +419,34 @@ static void ov21_021E92B0(PokedexSpeciesLabel *pokedexSpeciesLabel) static void ov21_021E92C4(SpriteResource **param0, SpriteResourceCollection **param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9) { - param0[0] = SpriteResourceCollection_AddTiles(param1[0], param3, param4, 1, param9, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + param0[0] = SpriteResourceCollection_AddTiles(param1[0], param3, param4, TRUE, param9, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(param0[0]); SpriteResource_ReleaseData(param0[0]); - param0[1] = SpriteResourceCollection_AddPalette(param1[1], param3, param5, 0, param9, NNS_G2D_VRAM_TYPE_2DMAIN, param8, param2); + param0[1] = SpriteResourceCollection_AddPalette(param1[1], param3, param5, FALSE, param9, NNS_G2D_VRAM_TYPE_2DMAIN, param8, param2); SpriteTransfer_RequestPlttFreeSpace(param0[1]); SpriteResource_ReleaseData(param0[1]); - param0[2] = SpriteResourceCollection_Add(param1[2], param3, param6, 1, param9, 2, param2); - param0[3] = SpriteResourceCollection_Add(param1[3], param3, param7, 1, param9, 3, param2); + param0[2] = SpriteResourceCollection_Add(param1[2], param3, param6, TRUE, param9, 2, param2); + param0[3] = SpriteResourceCollection_Add(param1[3], param3, param7, TRUE, param9, 3, param2); } static void ov21_021E9344(SpriteResource **param0, SpriteResourceCollection **param1, int param2, NARC *param3, int param4, int param5, int param6, int param7, int param8, int param9) { - param0[0] = SpriteResourceCollection_AddTilesFrom(param1[0], param3, param4, 1, param9, NNS_G2D_VRAM_TYPE_2DMAIN, param2); + param0[0] = SpriteResourceCollection_AddTilesFrom(param1[0], param3, param4, TRUE, param9, NNS_G2D_VRAM_TYPE_2DMAIN, param2); SpriteTransfer_RequestCharAtEnd(param0[0]); SpriteResource_ReleaseData(param0[0]); - param0[1] = SpriteResourceCollection_AddPaletteFrom(param1[1], param3, param5, 0, param9, NNS_G2D_VRAM_TYPE_2DMAIN, param8, param2); + param0[1] = SpriteResourceCollection_AddPaletteFrom(param1[1], param3, param5, FALSE, param9, NNS_G2D_VRAM_TYPE_2DMAIN, param8, param2); SpriteTransfer_RequestPlttFreeSpace(param0[1]); SpriteResource_ReleaseData(param0[1]); - param0[2] = SpriteResourceCollection_AddFrom(param1[2], param3, param6, 1, param9, 2, param2); - param0[3] = SpriteResourceCollection_AddFrom(param1[3], param3, param7, 1, param9, 3, param2); + param0[2] = SpriteResourceCollection_AddFrom(param1[2], param3, param6, TRUE, param9, 2, param2); + param0[3] = SpriteResourceCollection_AddFrom(param1[3], param3, param7, TRUE, param9, 3, param2); } static void ov21_021E93C4(SpriteResource **param0, SpriteResourceCollection **param1) @@ -461,7 +462,7 @@ static void ov21_021E93C4(SpriteResource **param0, SpriteResourceCollection **pa static void ov21_021E93F8(SpriteResource **param0, SpriteResourceCollection **param1, SpriteResourcesHeader *param2, int param3) { - SpriteResourcesHeader_Init(param2, SpriteResource_GetID(param0[0]), SpriteResource_GetID(param0[1]), SpriteResource_GetID(param0[2]), SpriteResource_GetID(param0[3]), 0xffffffff, 0xffffffff, 0, param3, param1[0], param1[1], param1[2], param1[3], NULL, NULL); + SpriteResourcesHeader_Init(param2, SpriteResource_GetID(param0[0]), SpriteResource_GetID(param0[1]), SpriteResource_GetID(param0[2]), SpriteResource_GetID(param0[3]), 0xffffffff, 0xffffffff, FALSE, param3, param1[0], param1[1], param1[2], param1[3], NULL, NULL); } static void ov21_021E9458(UnkStruct_ov21_021E94F8 *param0, SpriteResourceCollection **param1, int param2, int param3) @@ -560,7 +561,7 @@ static void ov21_021E95B0(UnkStruct_ov21_021E95B0 *param0) static void ov21_021E95BC(UnkStruct_ov21_021E968C *param0, SpriteResourceCollection **param1, int param2, int param3, NARC *param4) { - ov21_021E9344(param0->unk_08, param1, param3, param4, 90, 13, 88, 89, 5, 17000); + ov21_021E9344(param0->unk_08, param1, param3, param4, type_icons_NCGR_lz, type_icons_NCLR, type_icons_cell_NCER_lz, type_icons_anim_NANR_lz, 5, 17000); } static void ov21_021E95EC(UnkStruct_ov21_021E968C *param0, SpriteResourceCollection **param1) @@ -617,25 +618,25 @@ static void ov21_021E96A8(BgConfig *param0, int param1, NARC *param2) void *v0; NNSG2dScreenData *v1; - Graphics_LoadPaletteFromOpenNARC(param2, 6, 0, 0, 0, param1); - Graphics_LoadTilesToBgLayerFromOpenNARC(param2, 33, param0, 3, 0, 0, 1, param1); + Graphics_LoadPaletteFromOpenNARC(param2, banner_sinnoh_NCLR, 0, 0, 0, param1); + Graphics_LoadTilesToBgLayerFromOpenNARC(param2, entry_main_NCGR_lz, param0, 3, 0, 0, 1, param1); - v0 = Graphics_GetScrnDataFromOpenNARC(param2, 50, 1, &v1, param1); + v0 = Graphics_GetScrnDataFromOpenNARC(param2, info_main_NSCR_lz, 1, &v1, param1); Bg_LoadToTilemapRect(param0, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = Graphics_GetScrnDataFromOpenNARC(param2, 51, 1, &v1, param1); + v0 = Graphics_GetScrnDataFromOpenNARC(param2, info_species_window_NSCR_lz, 1, &v1, param1); Bg_LoadToTilemapRect(param0, 3, v1->rawData, 0, 3, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = Graphics_GetScrnDataFromOpenNARC(param2, 52, 1, &v1, param1); + v0 = Graphics_GetScrnDataFromOpenNARC(param2, info_footprint_window_NSCR_lz, 1, &v1, param1); Bg_LoadToTilemapRect(param0, 3, v1->rawData, 12, 8, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); - v0 = Graphics_GetScrnDataFromOpenNARC(param2, 54, 1, &v1, param1); + v0 = Graphics_GetScrnDataFromOpenNARC(param2, info_entry_window_NSCR_lz, 1, &v1, param1); Bg_LoadToTilemapRect(param0, 3, v1->rawData, 0, 16, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -647,9 +648,9 @@ static void ov21_021E97C4(BgConfig *param0, int param1, NARC *param2) void *v0; NNSG2dScreenData *v1; - Graphics_LoadTilesToBgLayerFromOpenNARC(param2, 33, param0, 2, 0, 0, 1, param1); + Graphics_LoadTilesToBgLayerFromOpenNARC(param2, entry_main_NCGR_lz, param0, 2, 0, 0, 1, param1); - v0 = Graphics_GetScrnDataFromOpenNARC(param2, 57, 1, &v1, param1); + v0 = Graphics_GetScrnDataFromOpenNARC(param2, banner_sinnoh_NSCR_lz, 1, &v1, param1); Bg_LoadToTilemapRect(param0, 2, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -762,17 +763,17 @@ static void ov21_021E9A38(void) CharTransfer_Free(); } -static void ov21_021E9A40(UnkStruct_ov21_021E9A9C *param0, int param1, int param2, NARC *param3) +static void ov21_021E9A40(UnkStruct_ov21_021E9A9C *param0, int heapID, int param2, NARC *param3) { int v0; if (param2 == 0) { - param0->unk_00[0] = Graphics_GetPlttDataFromOpenNARC(param3, 23, ¶m0->unk_08[0], param1); + param0->paletteBuffers[0] = Graphics_GetPlttDataFromOpenNARC(param3, banner_register_NCLR, ¶m0->paletteData[0], heapID); } else { - param0->unk_00[0] = Graphics_GetPlttDataFromOpenNARC(param3, 24, ¶m0->unk_08[0], param1); + param0->paletteBuffers[0] = Graphics_GetPlttDataFromOpenNARC(param3, banner_national_NCLR, ¶m0->paletteData[0], heapID); } - param0->unk_00[1] = Graphics_GetPlttDataFromOpenNARC(param3, 26, ¶m0->unk_08[1], param1); + param0->paletteBuffers[1] = Graphics_GetPlttDataFromOpenNARC(param3, dummy3_NCLR, ¶m0->paletteData[1], heapID); param0->unk_10 = 0; param0->unk_1C = 0; @@ -804,7 +805,7 @@ static void ov21_021E9AC8(UnkStruct_ov21_021E9A9C *param0) int v0; for (v0 = 0; v0 < 2; v0++) { - Heap_Free(param0->unk_00[0]); + Heap_Free(param0->paletteBuffers[0]); } memset(param0, 0, sizeof(UnkStruct_ov21_021E9A9C)); @@ -812,11 +813,11 @@ static void ov21_021E9AC8(UnkStruct_ov21_021E9A9C *param0) static void ov21_021E9AE8(UnkStruct_ov21_021E9A9C *param0, int param1) { - DC_FlushRange((void *)param0->unk_08[param1]->pRawData, 1 * 32); - GX_LoadBGPltt(param0->unk_08[param1]->pRawData, 0 * 32, 1 * 32); + DC_FlushRange((void *)param0->paletteData[param1]->pRawData, 1 * 32); + GX_LoadBGPltt(param0->paletteData[param1]->pRawData, 0 * 32, 1 * 32); } static void ov21_021E9B08(UnkStruct_ov21_021E9A9C *param0, int param1) { - VramTransfer_Request(NNS_GFD_DST_2D_BG_PLTT_MAIN, 0 * 32, param0->unk_08[param1]->pRawData, 1 * 32); + VramTransfer_Request(NNS_GFD_DST_2D_BG_PLTT_MAIN, 0 * 32, param0->paletteData[param1]->pRawData, 1 * 32); } diff --git a/src/applications/pokedex/pokedex_graphics.c b/src/applications/pokedex/pokedex_graphics.c index 1fe6bbbc82..800f487c56 100644 --- a/src/applications/pokedex/pokedex_graphics.c +++ b/src/applications/pokedex/pokedex_graphics.c @@ -11,6 +11,8 @@ #include "sys_task.h" #include "unk_02012744.h" +#include "res/graphics/pokedex/zukan.naix.h" + static void InitBackgrounds(BgConfig *bgConfig, enum HeapID heapID); static void FreeBackgrounds(BgConfig *bgConfig); static void InitWindow(PokedexGraphicData *pokedexGraphicData, enum HeapID heapID); @@ -496,7 +498,7 @@ void PokedexGraphics_LoadGraphicNarcPaletteData(PokedexGraphicData *pokedexGraph } } -void *PokedexGraphics_GetGraphicNarcScreenData(PokedexGraphicData *pokedexGraphicData, u32 memberIndex, BOOL isCompressed, NNSG2dScreenData **screenData, enum HeapID heapID) +void *PokedexGraphics_GetGraphicNarcTilemapData(PokedexGraphicData *pokedexGraphicData, u32 memberIndex, BOOL isCompressed, NNSG2dScreenData **screenData, enum HeapID heapID) { void *graphicFile = LoadGraphicsFile(pokedexGraphicData, memberIndex, isCompressed, heapID); @@ -724,34 +726,34 @@ static void InitSpeciesLabelGraphics(PokedexGraphicData *pokedexGraphicData, enu PokedexSpeciesLabel *pokedexSpeciesLabel = &pokedexGraphicData->pokedexSpeciesLabel; NARC *pokedexGraphicsNARC = PokedexGraphics_GetNARC(pokedexGraphicData); - pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphicsNARC, 78, 1, 3000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); + pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphicsNARC, name_tag_NCGR_lz, TRUE, 3000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); SpriteTransfer_RequestCharAtEnd(pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CHAR]); SpriteResource_ReleaseData(pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CHAR]); - pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphicsNARC, 3, 0, 3000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, heapID); + pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphicsNARC, buttons_NCLR, FALSE, 3000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, heapID); SpriteTransfer_RequestPlttFreeSpace(pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_PLTT]); SpriteResource_ReleaseData(pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_PLTT]); - pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphicsNARC, 76, 1, 3000, 2, heapID); - pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], pokedexGraphicsNARC, 77, 1, 3000, 3, heapID); + pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphicsNARC, name_tag_cell_NCER_lz, TRUE, 3000, SPRITE_RESOURCE_CELL, heapID); + pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], pokedexGraphicsNARC, name_tag_anim_NANR_lz, TRUE, 3000, SPRITE_RESOURCE_ANIM, heapID); } void PokedexGraphics_InitSpeciesLabelGraphics(PokedexSpeciesLabel *pokedexSpeciesLabel, SpriteResourceCollection **spriteResourceCollection, enum HeapID heapID, NARC *narc) { - pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(spriteResourceCollection[SPRITE_RESOURCE_CHAR], narc, 78, 1, 3000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); + pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(spriteResourceCollection[SPRITE_RESOURCE_CHAR], narc, name_tag_NCGR_lz, TRUE, 3000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); SpriteTransfer_RequestCharAtEnd(pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CHAR]); SpriteResource_ReleaseData(pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CHAR]); - pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(spriteResourceCollection[SPRITE_RESOURCE_PLTT], narc, 3, 0, 3000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, heapID); + pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(spriteResourceCollection[SPRITE_RESOURCE_PLTT], narc, buttons_NCLR, FALSE, 3000, NNS_G2D_VRAM_TYPE_2DMAIN, 1, heapID); SpriteTransfer_RequestPlttFreeSpace(pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_PLTT]); SpriteResource_ReleaseData(pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_PLTT]); - pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(spriteResourceCollection[SPRITE_RESOURCE_CELL], narc, 76, 1, 3000, 2, heapID); - pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(spriteResourceCollection[SPRITE_RESOURCE_ANIM], narc, 77, 1, 3000, 3, heapID); + pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(spriteResourceCollection[SPRITE_RESOURCE_CELL], narc, name_tag_cell_NCER_lz, TRUE, 3000, SPRITE_RESOURCE_CELL, heapID); + pokedexSpeciesLabel->spriteResource[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(spriteResourceCollection[SPRITE_RESOURCE_ANIM], narc, name_tag_anim_NANR_lz, TRUE, 3000, SPRITE_RESOURCE_ANIM, heapID); } static void FreeSpeciesLabelGraphics(PokedexGraphicData *pokedexGraphicData) @@ -783,7 +785,7 @@ static void InitSpeciesLabel(PokedexGraphicData *pokedexGraphicData, enum HeapID SpriteResourcesHeader spriteResourcesHeader; SpriteListTemplate spriteListTemplate; - SpriteResourcesHeader_Init(&spriteResourcesHeader, 3000, 3000, 3000, 3000, 0xffffffff, 0xffffffff, 0, 0, pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); + SpriteResourcesHeader_Init(&spriteResourcesHeader, 3000, 3000, 3000, 3000, 0xffffffff, 0xffffffff, FALSE, 0, pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); spriteListTemplate.list = pokedexGraphicData->spriteList; spriteListTemplate.resourceData = &spriteResourcesHeader; @@ -830,7 +832,7 @@ void PokedexGraphics_NewSpeciesLabel(PokedexSpeciesLabel *pokedexSpeciesLabel, S SpriteResourcesHeader spriteResourcesHeader; SpriteListTemplate spriteListTemplate; - SpriteResourcesHeader_Init(&spriteResourcesHeader, 3000, 3000, 3000, 3000, 0xffffffff, 0xffffffff, 0, headerPriority, spriteResourceCollection[SPRITE_RESOURCE_CHAR], spriteResourceCollection[SPRITE_RESOURCE_PLTT], spriteResourceCollection[SPRITE_RESOURCE_CELL], spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); + SpriteResourcesHeader_Init(&spriteResourcesHeader, 3000, 3000, 3000, 3000, 0xffffffff, 0xffffffff, FALSE, headerPriority, spriteResourceCollection[SPRITE_RESOURCE_CHAR], spriteResourceCollection[SPRITE_RESOURCE_PLTT], spriteResourceCollection[SPRITE_RESOURCE_CELL], spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); spriteListTemplate.list = spriteList; spriteListTemplate.resourceData = &spriteResourcesHeader; @@ -892,18 +894,18 @@ static void InitCursorGraphics(PokedexGraphicData *pokedexGraphicData, enum Heap PokedexCursorGraphics *pokedexCursorGraphics = &pokedexGraphicData->cursorGraphics; NARC *pokedexGraphicsNARC = PokedexGraphics_GetNARC(pokedexGraphicData); - pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphicsNARC, 119, 1, 12000, NNS_G2D_VRAM_TYPE_2DSUB, heapID); + pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphicsNARC, cursor_NCGR_lz, TRUE, 12000, NNS_G2D_VRAM_TYPE_2DSUB, heapID); SpriteTransfer_RequestCharAtEnd(pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_CHAR]); SpriteResource_ReleaseData(pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_CHAR]); - pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphicsNARC, 21, 0, 12000, NNS_G2D_VRAM_TYPE_2DSUB, 1, heapID); + pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphicsNARC, cursor_NCLR, FALSE, 12000, NNS_G2D_VRAM_TYPE_2DSUB, 1, heapID); SpriteTransfer_RequestPlttFreeSpace(pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_PLTT]); SpriteResource_ReleaseData(pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_PLTT]); - pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphicsNARC, 120, 1, 12000, 2, heapID); - pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], pokedexGraphicsNARC, 118, 1, 12000, 3, heapID); + pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphicsNARC, cursor_cell_NCER_lz, TRUE, 12000, SPRITE_RESOURCE_CELL, heapID); + pokedexCursorGraphics->spriteResource[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], pokedexGraphicsNARC, cursor_anim_NANR_lz, TRUE, 12000, SPRITE_RESOURCE_ANIM, heapID); } static void FreeCursorGraphics(PokedexGraphicData *pokedexGraphicData) @@ -925,7 +927,7 @@ static void InitCursor(PokedexGraphicData *pokedexGraphicData, enum HeapID heapI SpriteListTemplate spriteListTemplate; PokedexCursorGraphics *pokedexCursorGraphics = &pokedexGraphicData->cursorGraphics; - SpriteResourcesHeader_Init(&resourceData, 12000, 12000, 12000, 12000, 0xffffffff, 0xffffffff, 0, 0, pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); + SpriteResourcesHeader_Init(&resourceData, 12000, 12000, 12000, 12000, 0xffffffff, 0xffffffff, FALSE, 0, pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphicData->spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); spriteListTemplate.list = pokedexGraphicData->spriteList; spriteListTemplate.resourceData = &resourceData; diff --git a/src/applications/pokedex/pokedex_height_check.c b/src/applications/pokedex/pokedex_height_check.c index c98c5daac3..026243752c 100644 --- a/src/applications/pokedex/pokedex_height_check.c +++ b/src/applications/pokedex/pokedex_height_check.c @@ -30,6 +30,7 @@ #include "strbuf.h" #include "text.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" typedef struct { @@ -324,9 +325,9 @@ static void DisplayBackground(PokedexGraphicData **param0, const UnkStruct_ov21_ { NNSG2dScreenData *v1; - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 33, (*param0)->bgConfig, 3, 0, 0, 1, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, entry_main_NCGR_lz, (*param0)->bgConfig, 3, 0, 0, TRUE, heapID); - void *v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 74, 1, &v1, heapID); + void *v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, height_check_main_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -338,18 +339,18 @@ static void GetHeightCheckGraphics(HeightCheckVisuals *heightCheckVisuals, Poked PokedexGraphicData *v0 = *param1; NARC *pokedexGraphicsNarc = PokedexGraphics_GetNARC(v0); - heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], pokedexGraphicsNarc, 93, 1, 93 + 7000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); + heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphicsNarc, size_check_icons_NCGR_lz, TRUE, size_check_icons_NCGR_lz + 7000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); SpriteTransfer_RequestCharAtEnd(heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CHAR]); SpriteResource_ReleaseData(heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CHAR]); - heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], pokedexGraphicsNarc, 14, 0, 14 + 7000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, heapID); + heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphicsNarc, size_check_icons_NCLR, FALSE, size_check_icons_NCLR + 7000, NNS_G2D_VRAM_TYPE_2DMAIN, 5, heapID); SpriteTransfer_RequestPlttFreeSpace(heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_PLTT]); SpriteResource_ReleaseData(heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_PLTT]); - heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], pokedexGraphicsNarc, 91, 1, 91 + 7000, 2, heapID); - heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], pokedexGraphicsNarc, 92, 1, 92 + 7000, 3, heapID); + heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphicsNarc, size_check_icons_cell_NCER_lz, TRUE, size_check_icons_cell_NCER_lz + 7000, SPRITE_RESOURCE_CELL, heapID); + heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[SPRITE_RESOURCE_ANIM], pokedexGraphicsNarc, size_check_icons_anim_NANR_lz, TRUE, size_check_icons_anim_NANR_lz + 7000, SPRITE_RESOURCE_ANIM, heapID); } static void FreeSprites(HeightCheckVisuals *heightCheckVisuals, PokedexGraphicData **param1) @@ -358,10 +359,10 @@ static void FreeSprites(HeightCheckVisuals *heightCheckVisuals, PokedexGraphicDa SpriteTransfer_ResetCharTransfer(heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CHAR]); SpriteTransfer_ResetPlttTransfer(heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_PLTT]); - SpriteResourceCollection_Remove(v0->spriteResourceCollection[0], heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CHAR]); - SpriteResourceCollection_Remove(v0->spriteResourceCollection[1], heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_PLTT]); - SpriteResourceCollection_Remove(v0->spriteResourceCollection[2], heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CELL]); - SpriteResourceCollection_Remove(v0->spriteResourceCollection[3], heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_ANIM]); + SpriteResourceCollection_Remove(v0->spriteResourceCollection[SPRITE_RESOURCE_CHAR], heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CHAR]); + SpriteResourceCollection_Remove(v0->spriteResourceCollection[SPRITE_RESOURCE_PLTT], heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_PLTT]); + SpriteResourceCollection_Remove(v0->spriteResourceCollection[SPRITE_RESOURCE_CELL], heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_CELL]); + SpriteResourceCollection_Remove(v0->spriteResourceCollection[SPRITE_RESOURCE_ANIM], heightCheckVisuals->heightCheckGraphics[SPRITE_RESOURCE_ANIM]); } static void DisplayTrainerHeight(HeightCheckVisuals *heightCheckVisuals, PokedexGraphicData **param1, const UnkStruct_ov21_021E6104 *param2, enum HeapID heapID) @@ -371,7 +372,7 @@ static void DisplayTrainerHeight(HeightCheckVisuals *heightCheckVisuals, Pokedex PokedexGraphicData *v2 = *param1; int species = PokedexSort_CurrentSpecies(param2->unk_04); - SpriteResourcesHeader_Init(&trainerResource, 93 + 7000, 14 + 7000, 91 + 7000, 92 + 7000, 0xffffffff, 0xffffffff, 0, 1, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&trainerResource, size_check_icons_NCGR_lz + 7000, size_check_icons_NCLR + 7000, size_check_icons_cell_NCER_lz + 7000, size_check_icons_anim_NANR_lz + 7000, 0xffffffff, 0xffffffff, FALSE, 1, v2->spriteResourceCollection[SPRITE_RESOURCE_CHAR], v2->spriteResourceCollection[SPRITE_RESOURCE_PLTT], v2->spriteResourceCollection[SPRITE_RESOURCE_CELL], v2->spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); trainerCellParams.list = v2->spriteList; trainerCellParams.resourceData = &trainerResource; diff --git a/src/applications/pokedex/pokedex_search.c b/src/applications/pokedex/pokedex_search.c index 713c5fb414..f2c22a5eab 100644 --- a/src/applications/pokedex/pokedex_search.c +++ b/src/applications/pokedex/pokedex_search.c @@ -29,6 +29,7 @@ #include "strbuf.h" #include "text.h" +#include "res/graphics/pokedex/zukan.naix.h" #include "res/text/bank/pokedex.h" #define EXITSEARCH (1 << 1) @@ -552,8 +553,8 @@ static void ClearScreen(PokedexSearchDisplay *searchDisplay, PokedexGraphicData static void ov21_021D8B8C(PokedexGraphicData **param0, const PokedexSearchSettings *searchSettings, enum HeapID heapID) { - PokedexGraphics_LoadGraphicNarcCharacterData(*param0, 28, (*param0)->bgConfig, 3, 0, 0, 1, heapID); - PokedexGraphics_LoadGraphicNarcPaletteData(*param0, 5, 0, 0, 32, heapID); + PokedexGraphics_LoadGraphicNarcCharacterData(*param0, scroll_main_background_NCGR_lz, (*param0)->bgConfig, 3, 0, 0, TRUE, heapID); + PokedexGraphics_LoadGraphicNarcPaletteData(*param0, search_NCLR, 0, 0, 32, heapID); } static void GetDisplayMap(PokedexSearchDisplay *searchDisplay, PokedexGraphicData **param1, const PokedexSearchSettings *searchSettings, enum HeapID heapID, int param4) @@ -561,12 +562,12 @@ static void GetDisplayMap(PokedexSearchDisplay *searchDisplay, PokedexGraphicDat int mapIndex; if (param4 == 1) { - mapIndex = 42; + mapIndex = search_national_NSCR_lz; } else { - mapIndex = 40; + mapIndex = search_sinnoh_NSCR_lz; } - searchDisplay->tileMap = PokedexGraphics_GetGraphicNarcScreenData(*param1, mapIndex, 1, &searchDisplay->screenData, heapID); + searchDisplay->tileMap = PokedexGraphics_GetGraphicNarcTilemapData(*param1, mapIndex, TRUE, &searchDisplay->screenData, heapID); } static void FreeDisplayMap(PokedexSearchDisplay *searchDisplay, PokedexGraphicData **param1) @@ -589,18 +590,18 @@ static void GetSearchGraphics(PokedexSearchDisplay *searchDisplay, PokedexGraphi PokedexGraphicData *v0 = *param1; NARC *pokedexGraphics = PokedexGraphics_GetNARC(v0); - searchDisplay->searchGraphics[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[0], pokedexGraphics, 81, 1, 81 + 15000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); + searchDisplay->searchGraphics[SPRITE_RESOURCE_CHAR] = SpriteResourceCollection_AddTilesFrom(v0->spriteResourceCollection[SPRITE_RESOURCE_CHAR], pokedexGraphics, search_body_shapes_NCGR_lz, TRUE, search_body_shapes_NCGR_lz + 15000, NNS_G2D_VRAM_TYPE_2DMAIN, heapID); SpriteTransfer_RequestCharAtEnd(searchDisplay->searchGraphics[SPRITE_RESOURCE_CHAR]); SpriteResource_ReleaseData(searchDisplay->searchGraphics[SPRITE_RESOURCE_CHAR]); - searchDisplay->searchGraphics[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[1], pokedexGraphics, 3, 0, 3 + 15000, NNS_G2D_VRAM_TYPE_2DMAIN, 12, heapID); + searchDisplay->searchGraphics[SPRITE_RESOURCE_PLTT] = SpriteResourceCollection_AddPaletteFrom(v0->spriteResourceCollection[SPRITE_RESOURCE_PLTT], pokedexGraphics, buttons_NCLR, FALSE, buttons_NCLR + 15000, NNS_G2D_VRAM_TYPE_2DMAIN, 12, heapID); SpriteTransfer_RequestPlttFreeSpace(searchDisplay->searchGraphics[SPRITE_RESOURCE_PLTT]); SpriteResource_ReleaseData(searchDisplay->searchGraphics[SPRITE_RESOURCE_PLTT]); - searchDisplay->searchGraphics[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[2], pokedexGraphics, 79, 1, 79 + 15000, SPRITE_RESOURCE_CELL, heapID); - searchDisplay->searchGraphics[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[3], pokedexGraphics, 80, 1, 80 + 15000, SPRITE_RESOURCE_ANIM, heapID); + searchDisplay->searchGraphics[SPRITE_RESOURCE_CELL] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[SPRITE_RESOURCE_CELL], pokedexGraphics, search_body_shapes_cell_NCER_lz, TRUE, search_body_shapes_cell_NCER_lz + 15000, SPRITE_RESOURCE_CELL, heapID); + searchDisplay->searchGraphics[SPRITE_RESOURCE_ANIM] = SpriteResourceCollection_AddFrom(v0->spriteResourceCollection[SPRITE_RESOURCE_ANIM], pokedexGraphics, search_body_shapes_anim_NANR_lz, TRUE, search_body_shapes_anim_NANR_lz + 15000, SPRITE_RESOURCE_ANIM, heapID); } static void FreeSearchGraphics(PokedexSearchDisplay *searchDisplay, PokedexGraphicData **param1) @@ -610,10 +611,10 @@ static void FreeSearchGraphics(PokedexSearchDisplay *searchDisplay, PokedexGraph SpriteTransfer_ResetCharTransfer(searchDisplay->searchGraphics[SPRITE_RESOURCE_CHAR]); SpriteTransfer_ResetPlttTransfer(searchDisplay->searchGraphics[SPRITE_RESOURCE_PLTT]); - SpriteResourceCollection_Remove(v0->spriteResourceCollection[0], searchDisplay->searchGraphics[SPRITE_RESOURCE_CHAR]); - SpriteResourceCollection_Remove(v0->spriteResourceCollection[1], searchDisplay->searchGraphics[SPRITE_RESOURCE_PLTT]); - SpriteResourceCollection_Remove(v0->spriteResourceCollection[2], searchDisplay->searchGraphics[SPRITE_RESOURCE_CELL]); - SpriteResourceCollection_Remove(v0->spriteResourceCollection[3], searchDisplay->searchGraphics[SPRITE_RESOURCE_ANIM]); + SpriteResourceCollection_Remove(v0->spriteResourceCollection[SPRITE_RESOURCE_CHAR], searchDisplay->searchGraphics[SPRITE_RESOURCE_CHAR]); + SpriteResourceCollection_Remove(v0->spriteResourceCollection[SPRITE_RESOURCE_PLTT], searchDisplay->searchGraphics[SPRITE_RESOURCE_PLTT]); + SpriteResourceCollection_Remove(v0->spriteResourceCollection[SPRITE_RESOURCE_CELL], searchDisplay->searchGraphics[SPRITE_RESOURCE_CELL]); + SpriteResourceCollection_Remove(v0->spriteResourceCollection[SPRITE_RESOURCE_ANIM], searchDisplay->searchGraphics[SPRITE_RESOURCE_ANIM]); } static void InitCellActors(PokedexSearchDisplay *searchDisplay, PokedexGraphicData **param1, const PokedexSearchSettings *searchSettings, enum HeapID heapID) @@ -622,7 +623,7 @@ static void InitCellActors(PokedexSearchDisplay *searchDisplay, PokedexGraphicDa SpriteListTemplate v1; PokedexGraphicData *v2 = *param1; - SpriteResourcesHeader_Init(&v0, 81 + 15000, 3 + 15000, 79 + 15000, 80 + 15000, 0xffffffff, 0xffffffff, 0, 2, v2->spriteResourceCollection[0], v2->spriteResourceCollection[1], v2->spriteResourceCollection[2], v2->spriteResourceCollection[3], NULL, NULL); + SpriteResourcesHeader_Init(&v0, search_body_shapes_NCGR_lz + 15000, buttons_NCLR + 15000, search_body_shapes_cell_NCER_lz + 15000, search_body_shapes_anim_NANR_lz + 15000, 0xffffffff, 0xffffffff, FALSE, 2, v2->spriteResourceCollection[SPRITE_RESOURCE_CHAR], v2->spriteResourceCollection[SPRITE_RESOURCE_PLTT], v2->spriteResourceCollection[SPRITE_RESOURCE_CELL], v2->spriteResourceCollection[SPRITE_RESOURCE_ANIM], NULL, NULL); v1.list = v2->spriteList; v1.resourceData = &v0; @@ -760,7 +761,7 @@ static void FilterMethodMap(PokedexGraphicData **param0, int filterMethod, enum int y; int mapIndex; - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, 43, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, search_filter_NSCR_lz, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 0, 0, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); @@ -768,25 +769,25 @@ static void FilterMethodMap(PokedexGraphicData **param0, int filterMethod, enum switch (filterMethod) { case FM_ORDER: y = 6; - mapIndex = 44; + mapIndex = search_filter_order_NSCR_lz; break; case FM_NAME: y = 9; - mapIndex = 45; + mapIndex = search_filter_name_NSCR_lz; break; case FM_TYPE: y = 12; - mapIndex = 46; + mapIndex = search_filter_type_NSCR_lz; break; case FM_FORM: y = 17; - mapIndex = 47; + mapIndex = search_filter_form_NSCR_lz; break; default: break; } - v0 = PokedexGraphics_GetGraphicNarcScreenData(*param0, mapIndex, 1, &v1, heapID); + v0 = PokedexGraphics_GetGraphicNarcTilemapData(*param0, mapIndex, TRUE, &v1, heapID); Bg_LoadToTilemapRect((*param0)->bgConfig, 3, v1->rawData, 6, y, v1->screenWidth / 8, v1->screenHeight / 8); Heap_Free(v0); diff --git a/tools/nitrogfx/gfx.c b/tools/nitrogfx/gfx.c index 4cfe21de45..057d7e4dfe 100644 --- a/tools/nitrogfx/gfx.c +++ b/tools/nitrogfx/gfx.c @@ -215,33 +215,9 @@ static void ConvertFromTiles4BppCell(unsigned char *src, unsigned char *dest, in } } -static uint32_t ConvertFromScanned4Bpp(unsigned char *src, unsigned char *dest, int fileSize, bool invertColours, bool scanFrontToBack) +static void ConvertScanned4Bpp(unsigned char *src, unsigned char *dest, int charDataSize, bool invertColours, bool convertTo8Bpp, int palIndex) { - uint32_t encValue = 0; - if (scanFrontToBack) { - encValue = (src[1] << 8) | src[0]; - for (int i = 0; i < fileSize; i += 2) - { - uint16_t val = src[i] | (src[i + 1] << 8); - val ^= (encValue & 0xFFFF); - src[i] = val; - src[i + 1] = val >> 8; - encValue = encValue * 1103515245; - encValue = encValue + 24691; - } - } else { - encValue = (src[fileSize - 1] << 8) | src[fileSize - 2]; - for (int i = fileSize; i > 0; i -= 2) - { - uint16_t val = (src[i - 1] << 8) | src[i - 2]; - val ^= (encValue & 0xFFFF); - src[i - 1] = (val >> 8); - src[i - 2] = val; - encValue = encValue * 1103515245; - encValue = encValue + 24691; - } - } - for (int i = 0; i < fileSize; i++) + for (int i = 0; i < charDataSize; i++) { unsigned char srcPixelPair = src[i]; unsigned char leftPixel = srcPixelPair & 0xF; @@ -252,9 +228,16 @@ static uint32_t ConvertFromScanned4Bpp(unsigned char *src, unsigned char *dest, rightPixel = 15 - rightPixel; } - dest[i] = (leftPixel << 4) | rightPixel; + if (convertTo8Bpp) + { + *dest++ = ((palIndex - 1) << 4) | leftPixel; + *dest++ = ((palIndex - 1) << 4) | rightPixel; + } + else + { + *dest++ = (leftPixel << 4) | rightPixel; + } } - return encValue; } static void ConvertFromTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int chunksWide, int colsPerChunk, int rowsPerChunk, bool invertColors) @@ -330,43 +313,33 @@ static void ConvertFromTiles8BppCell(unsigned char *src, unsigned char *dest, in } } -static uint32_t ConvertFromScanned8Bpp(unsigned char *src, unsigned char *dest, int fileSize, bool invertColours, bool scanFrontToBack) +static void ConvertScanned8Bpp(unsigned char *src, unsigned char *dest, int charDataSize, bool invertColors, bool convertTo4Bpp) { - uint32_t encValue = 0; - if (scanFrontToBack) { - encValue = (src[1] << 8) | src[0]; - for (int i = 0; i < fileSize; i += 2) - { - uint16_t val = src[i] | (src[i + 1] << 8); - val ^= (encValue & 0xFFFF); - src[i] = val; - src[i + 1] = val >> 8; - encValue = encValue * 1103515245; - encValue = encValue + 24691; - } - } else { - encValue = (src[fileSize - 1] << 8) | src[fileSize - 2]; - for (int i = fileSize; i > 0; i -= 2) - { - uint16_t val = (src[i - 1] << 8) | src[i - 2]; - val ^= (encValue & 0xFFFF); - src[i - 1] = (val >> 8); - src[i - 2] = val; - encValue = encValue * 1103515245; - encValue = encValue + 24691; - } - } - for (int i = 0; i < fileSize; i++) + charDataSize *= convertTo4Bpp + 1; + for (int i = 0; i < charDataSize; i++) { - unsigned char srcPixel = src[i]; + if (convertTo4Bpp) + { + unsigned char leftPixel = src[i++] & 0xF; + unsigned char rightPixel = src[i] & 0xF; - if (invertColours) { - srcPixel = 255 - srcPixel; + if (invertColors) { + leftPixel = 15 - leftPixel; + rightPixel = 15 - rightPixel; + } + + *dest++ = (rightPixel << 4) | leftPixel; } + else + { + unsigned char srcPixel = src[i]; - dest[i] = srcPixel; + if (invertColors) { + srcPixel = 255 - srcPixel; + } + *dest++ = srcPixel; + } } - return encValue; } static void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int chunksWide, int colsPerChunk, int rowsPerChunk, bool invertColors) @@ -426,42 +399,6 @@ static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numT } } -static void ConvertToScanned4Bpp(unsigned char *src, unsigned char *dest, int fileSize, bool invertColours, uint32_t encValue, uint32_t scanMode) -{ - for (int i = 0; i < fileSize; i++) - { - unsigned char srcPixelPair = src[i]; - unsigned char leftPixel = srcPixelPair & 0xF; - unsigned char rightPixel = srcPixelPair >> 4; - if (invertColours) { - leftPixel = 15 - leftPixel; - rightPixel = 15 - rightPixel; - } - dest[i] = (leftPixel << 4) | rightPixel; - } - - if (scanMode == 2) { // front to back - for (int i = fileSize - 1; i > 0; i -= 2) - { - uint16_t val = dest[i - 1] | (dest[i] << 8); - encValue = (encValue - 24691) * 4005161829; - val ^= (encValue & 0xFFFF); - dest[i] = (val >> 8); - dest[i - 1] = val; - } - } - else if (scanMode == 1) { - for (int i = 1; i < fileSize; i += 2) - { - uint16_t val = (dest[i] << 8) | dest[i - 1]; - encValue = (encValue - 24691) * 4005161829; - val ^= (encValue & 0xFFFF); - dest[i] = (val >> 8); - dest[i - 1] = val; - } - } -} - static void ConvertToTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int chunksWide, int colsPerChunk, int rowsPerChunk, bool invertColors, bool convertTo4Bpp) { int tilesSoFar = 0; @@ -507,6 +444,59 @@ static void ConvertToTiles8Bpp(unsigned char *src, unsigned char *dest, int numT } } +static uint32_t Decode(unsigned char *src, int charDataSize, uint32_t encodeMode) +{ + uint32_t encValue = 0; + if (encodeMode == 2) { // front to back + encValue = (src[1] << 8) | src[0]; + for (int i = 0; i < charDataSize; i += 2) + { + uint16_t val = src[i] | (src[i + 1] << 8); + val ^= (encValue & 0xFFFF); + src[i] = val; + src[i + 1] = val >> 8; + encValue = encValue * 1103515245; + encValue = encValue + 24691; + } + } else if (encodeMode == 1) { // back to front + encValue = (src[charDataSize - 1] << 8) | src[charDataSize - 2]; + for (int i = charDataSize; i > 0; i -= 2) + { + uint16_t val = (src[i - 1] << 8) | src[i - 2]; + val ^= (encValue & 0xFFFF); + src[i - 1] = (val >> 8); + src[i - 2] = val; + encValue = encValue * 1103515245; + encValue = encValue + 24691; + } + } + return encValue; +} + +static void Encode(unsigned char *dest, int charDataSize, uint32_t encValue, uint32_t encodeMode) +{ + if (encodeMode == 2) { // front to back + for (int i = charDataSize - 1; i > 0; i -= 2) + { + uint16_t val = dest[i - 1] | (dest[i] << 8); + encValue = (encValue - 24691) * 4005161829; + val ^= (encValue & 0xFFFF); + dest[i] = (val >> 8); + dest[i - 1] = val; + } + } + else if (encodeMode == 1) { // back to front + for (int i = 1; i < charDataSize; i += 2) + { + uint16_t val = (dest[i] << 8) | dest[i - 1]; + encValue = (encValue - 24691) * 4005161829; + val ^= (encValue & 0xFFFF); + dest[i] = (val >> 8); + dest[i - 1] = val; + } + } +} + void ReadImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, int rowsPerChunk, struct Image *image, bool invertColors) { int tileSize = bitDepth * 8; // number of bytes per tile @@ -549,7 +539,7 @@ void ReadImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, int ro free(buffer); } -uint32_t ReadNtrImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, int rowsPerChunk, struct Image *image, bool invertColors, bool scanFrontToBack, bool convertTo8Bpp, int palIndex, bool verbose) +uint32_t ReadNtrImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, int rowsPerChunk, struct Image *image, bool invertColors, uint32_t encodeMode, bool convertTo8Bpp, int palIndex, bool verbose) { int fileSize; unsigned char *buffer = ReadWholeFile(path, &fileSize); @@ -599,7 +589,7 @@ uint32_t ReadNtrImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, if (scanned) { - printf("-scanned "); + printf("-scan "); } if (charHeader[0x15] == 1) { @@ -607,13 +597,13 @@ uint32_t ReadNtrImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, } } - if (bitDepth == 4 && (scanned || !convertTo8Bpp)) + if (bitDepth == 4 && !convertTo8Bpp) { image->palette.numColors = 16; } int tileSize = bitDepth * 8; // number of bytes per tile - if (bitDepth == 4 && convertTo8Bpp && !scanned) + if (bitDepth == 4 && convertTo8Bpp) tileSize *= 2; if (tilesWide == 0) { @@ -638,7 +628,7 @@ uint32_t ReadNtrImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, image->width = tilesWide * 8; image->height = tilesTall * 8; - image->bitDepth = !scanned && convertTo8Bpp ? 8 : bitDepth; + image->bitDepth = convertTo8Bpp ? 8 : bitDepth; image->pixels = calloc(tilesWide * tilesTall, tileSize); if (image->pixels == NULL) @@ -647,15 +637,20 @@ uint32_t ReadNtrImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, int chunksWide = tilesWide / colsPerChunk; // how many chunks side-by-side are needed for the full width of the image uint32_t key = 0; + uint32_t charDataSize = ReadS32(charHeader, 0x4) - 0x20; // read explicitly to account for possible SOPC chunk + if (encodeMode) + { + key = Decode(imageData, charDataSize, encodeMode); + } if (scanned) { switch (bitDepth) { case 4: - key = ConvertFromScanned4Bpp(imageData, image->pixels, fileSize - 0x30, invertColors, scanFrontToBack); + ConvertScanned4Bpp(imageData, image->pixels, charDataSize, invertColors, convertTo8Bpp, palIndex); break; case 8: - key = ConvertFromScanned8Bpp(imageData, image->pixels, fileSize - 0x30, invertColors, scanFrontToBack); + ConvertScanned8Bpp(imageData, image->pixels, charDataSize, invertColors, false); break; } } @@ -1085,8 +1080,8 @@ void WriteImage(char *path, int numTiles, int bitDepth, int colsPerChunk, int ro } void WriteNtrImage(char *path, int numTiles, int bitDepth, int colsPerChunk, int rowsPerChunk, struct Image *image, - bool invertColors, bool clobberSize, bool byteOrder, bool version101, bool sopc, bool vram, uint32_t scanMode, - uint32_t mappingType, uint32_t key, bool wrongSize, bool convertTo4Bpp, int rotate) + bool invertColors, bool clobberSize, bool byteOrder, bool version101, bool sopc, bool vram, bool scan, + uint32_t encodeMode, uint32_t mappingType, uint32_t key, bool wrongSize, bool convertTo4Bpp, int rotate) { FILE *fp = fopen(path, "wb"); @@ -1094,7 +1089,7 @@ void WriteNtrImage(char *path, int numTiles, int bitDepth, int colsPerChunk, int FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); int tileSize = bitDepth * 8; // number of bytes per tile - if (bitDepth == 8 && convertTo4Bpp && !scanMode) + if (bitDepth == 8 && convertTo4Bpp) tileSize /= 2; if (image->width % 8 != 0) @@ -1127,15 +1122,15 @@ void WriteNtrImage(char *path, int numTiles, int bitDepth, int colsPerChunk, int int chunksWide = tilesWide / colsPerChunk; // how many chunks side-by-side are needed for the full width of the image - if (scanMode) + if (scan) { switch (bitDepth) { case 4: - ConvertToScanned4Bpp(image->pixels, pixelBuffer, bufferSize, invertColors, key, scanMode); + ConvertScanned4Bpp(image->pixels, pixelBuffer, bufferSize, invertColors, false, 0); break; case 8: - FATAL_ERROR("8Bpp not supported yet.\n"); + ConvertScanned8Bpp(image->pixels, pixelBuffer, bufferSize, invertColors, convertTo4Bpp); break; } } @@ -1153,6 +1148,10 @@ void WriteNtrImage(char *path, int numTiles, int bitDepth, int colsPerChunk, int break; } } + if (encodeMode) + { + Encode(pixelBuffer, bufferSize, key, encodeMode); + } WriteGenericNtrHeader(fp, "RGCN", bufferSize + (sopc ? 0x30 : 0x20) + (wrongSize ? -8 : 0), byteOrder, version101, sopc ? 2 : 1); @@ -1212,7 +1211,7 @@ void WriteNtrImage(char *path, int numTiles, int bitDepth, int colsPerChunk, int charHeader[18] = val; } - if (scanMode) + if (scan) { charHeader[20] = 1; //implies BMP } diff --git a/tools/nitrogfx/gfx.h b/tools/nitrogfx/gfx.h index aa6b8bb3ea..63e4dc29bc 100644 --- a/tools/nitrogfx/gfx.h +++ b/tools/nitrogfx/gfx.h @@ -51,12 +51,12 @@ struct Image { }; void ReadImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, int rowsPerChunk, struct Image *image, bool invertColors); -uint32_t ReadNtrImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, int rowsPerChunk, struct Image *image, bool invertColors, bool scanFrontToBack, bool convertTo8Bpp, int palIndex, bool verbose); +uint32_t ReadNtrImage(char *path, int tilesWide, int bitDepth, int colsPerChunk, int rowsPerChunk, struct Image *image, bool invertColors, uint32_t encodeMode, bool convertTo8Bpp, int palIndex, bool verbose); void ApplyCellsToImage(char *cellFilePath, struct Image *image, bool toPNG, bool snap, bool noSkip, bool convertBpp); void WriteImage(char *path, int numTiles, int bitDepth, int colsPerChunk, int rowsPerChunk, const char *embedName, struct Image *image, bool invertColors); void WriteNtrImage(char *path, int numTiles, int bitDepth, int colsPerChunk, int rowsPerChunk, struct Image *image, - bool invertColors, bool clobberSize, bool byteOrder, bool version101, bool sopc, bool vram, uint32_t scanMode, - uint32_t mappingType, uint32_t key, bool wrongSize, bool convertTo4Bpp, int rotate); + bool invertColors, bool clobberSize, bool byteOrder, bool version101, bool sopc, bool vram, bool scan, + uint32_t encodeMode, uint32_t mappingType, uint32_t key, bool wrongSize, bool convertTo4Bpp, int rotate); void FreeImage(struct Image *image); void ReadGbaPalette(char *path, struct Palette *palette); void ReadNtrPalette(char *path, struct Palette *palette, int bitdepth, int palIndex, bool inverted, bool convertTo8Bpp); diff --git a/tools/nitrogfx/main.c b/tools/nitrogfx/main.c index 4dba129cf2..70ac643c16 100644 --- a/tools/nitrogfx/main.c +++ b/tools/nitrogfx/main.c @@ -88,7 +88,7 @@ void ConvertNtrToPng(char *inputPath, char *outputPath, struct NtrToPngOptions * image.hasPalette = false; } - uint32_t key = ReadNtrImage(inputPath, options->width, 0, options->colsPerChunk, options->rowsPerChunk, &image, !image.hasPalette, options->scanFrontToBack, options->convertTo8Bpp, options->palIndex, options->verbose); + uint32_t key = ReadNtrImage(inputPath, options->width, 0, options->colsPerChunk, options->rowsPerChunk, &image, !image.hasPalette, options->encodeMode, options->convertTo8Bpp, options->palIndex, options->verbose); if (key) { @@ -163,7 +163,7 @@ void ConvertPngToNtr(char *inputPath, char *outputPath, struct PngToNtrOptions * ReadPng(inputPath, &image); uint32_t key = 0; - if (options->scanMode) + if (options->encodeMode) { char* string = malloc(strlen(inputPath) + 5); sprintf(string, "%s.key", inputPath); @@ -186,8 +186,8 @@ void ConvertPngToNtr(char *inputPath, char *outputPath, struct PngToNtrOptions * WriteNtrImage(outputPath, options->numTiles, options->bitDepth, options->colsPerChunk, options->rowsPerChunk, &image, !image.hasPalette, options->clobberSize, options->byteOrder, options->version101, - options->sopc, options->vramTransfer, options->scanMode, options->mappingType, key, options->wrongSize, - options->convertTo4Bpp, options->rotate); + options->sopc, options->vramTransfer, options->scan, options->encodeMode, options->mappingType, + key, options->wrongSize, options->convertTo4Bpp, options->rotate); FreeImage(&image); } @@ -285,11 +285,11 @@ void HandleNtrToPngCommand(char *inputPath, char *outputPath, int argc, char **a options.colsPerChunk = 1; options.rowsPerChunk = 1; options.palIndex = 1; - options.scanFrontToBack = false; options.handleEmpty = false; options.noSkip = false; options.convertTo8Bpp = false; options.verbose = false; + options.encodeMode = 0; for (int i = 3; i < argc; i++) { @@ -390,9 +390,17 @@ void HandleNtrToPngCommand(char *inputPath, char *outputPath, int argc, char **a if (options.rowsPerChunk < 1) FATAL_ERROR("rows per chunk must be positive.\n"); } - else if (strcmp(option, "-scanfronttoback") == 0) + else if (strcmp(option, "-encodebacktofront") == 0) { - options.scanFrontToBack = true; + if (options.encodeMode != 0) + FATAL_ERROR("Encode mode specified more than once.\n-encodebacktofront goes back to front as in DP, -encodefronttoback goes front to back as in PtHGSS\n"); + options.encodeMode = 1; + } + else if (strcmp(option, "-encodefronttoback") == 0) + { + if (options.encodeMode != 0) + FATAL_ERROR("Encode mode specified more than once.\n-encodebacktofront goes back to front as in DP, -encodefronttoback goes front to back as in PtHGSS\n"); + options.encodeMode = 2; } else if (strcmp(option, "-handleempty") == 0) { @@ -517,7 +525,8 @@ void HandlePngToNtrCommand(char *inputPath, char *outputPath, int argc, char **a options.byteOrder = true; options.version101 = false; options.sopc = false; - options.scanMode = 0; + options.scan = false; + options.encodeMode = 0; options.handleEmpty = false; options.vramTransfer = false; options.mappingType = 0; @@ -613,17 +622,21 @@ void HandlePngToNtrCommand(char *inputPath, char *outputPath, int argc, char **a { options.sopc = true; } - else if (strcmp(option, "-scanned") == 0) + else if (strcmp(option, "-scan") == 0) { - if (options.scanMode != 0) - FATAL_ERROR("Scan mode specified more than once.\n-scanned goes back to front as in DP, -scanfronttoback goes front to back as in PtHGSS\n"); - options.scanMode = 1; + options.scan = true; } - else if (strcmp(option, "-scanfronttoback") == 0) + else if (strcmp(option, "-encodebacktofront") == 0) { - if (options.scanMode != 0) - FATAL_ERROR("Scan mode specified more than once.\n-scanned goes back to front as in DP, -scanfronttoback goes front to back as in PtHGSS\n"); - options.scanMode = 2; + if (options.encodeMode != 0) + FATAL_ERROR("Encode mode specified more than once.\n-encodebacktofront goes back to front as in DP, -encodefronttoback goes front to back as in PtHGSS\n"); + options.encodeMode = 1; + } + else if (strcmp(option, "-encodefronttoback") == 0) + { + if (options.encodeMode != 0) + FATAL_ERROR("Encode mode specified more than once.\n-encodebacktofront goes back to front as in DP, -encodefronttoback goes front to back as in PtHGSS\n"); + options.encodeMode = 2; } else if (strcmp(option, "-wrongsize") == 0) { options.wrongSize = true; diff --git a/tools/nitrogfx/options.h b/tools/nitrogfx/options.h index 46c787ab78..03e9387c57 100644 --- a/tools/nitrogfx/options.h +++ b/tools/nitrogfx/options.h @@ -35,7 +35,8 @@ struct PngToNtrOptions { bool byteOrder; bool version101; bool sopc; - uint32_t scanMode; + bool scan; + uint32_t encodeMode; bool wrongSize; bool handleEmpty; bool vramTransfer; @@ -55,10 +56,10 @@ struct NtrToPngOptions { int colsPerChunk; int rowsPerChunk; int palIndex; - bool scanFrontToBack; bool handleEmpty; bool convertTo8Bpp; bool verbose; + uint32_t encodeMode; }; struct CellVramTransferData { diff --git a/tools/scripts/make_pl_otherpoke.py b/tools/scripts/make_pl_otherpoke.py index 919f74a1bb..f3654ddea0 100755 --- a/tools/scripts/make_pl_otherpoke.py +++ b/tools/scripts/make_pl_otherpoke.py @@ -44,7 +44,8 @@ for i in range(args.sprite_entries): args.nitrogfx, infile, target, - '-scanfronttoback' + '-encodefronttoback', + '-scan', ]) # The next batch of files should all be palettes @@ -72,13 +73,15 @@ subprocess.run([ args.nitrogfx, sub_back, private_dir / f'pl_otherpoke_{i:04}.NCGR', - '-scanfronttoback' + '-encodefronttoback', + '-scan', ]) subprocess.run([ args.nitrogfx, sub_front, private_dir / f'pl_otherpoke_{(i+1):04}.NCGR', - '-scanfronttoback' + '-encodefronttoback', + '-scan', ]) subprocess.run([ args.nitrogfx, @@ -92,7 +95,8 @@ subprocess.run([ args.nitrogfx, shadows, private_dir / f'pokemon_shadows.NCGR', - '-scanfronttoback' + '-encodefronttoback', + '-scan', ]) subprocess.run([ args.nitrogfx, diff --git a/tools/scripts/make_pl_pokegra.py b/tools/scripts/make_pl_pokegra.py index a67c8aed66..9c989cc3f1 100755 --- a/tools/scripts/make_pl_pokegra.py +++ b/tools/scripts/make_pl_pokegra.py @@ -51,7 +51,8 @@ for i, subdir in enumerate(SPECIES_DIRS): args.nitrogfx, source_file, target_file, - '-scanfronttoback' + '-encodefronttoback', + '-scan', ]) else: subprocess.run(['touch', target_file])