From 196038eaeef3f22722060fca2d54f8670d31e343 Mon Sep 17 00:00:00 2001 From: sbird Date: Sun, 22 Oct 2023 03:17:16 +0200 Subject: [PATCH 1/4] [pokedex_plus] refactor #if to C if --- Makefile | 1 + include/graphics.h | 35 -- include/pokedex_plus_hgss.h | 3 - include/strings.h | 128 ------- src/daycare.c | 2 +- src/graphics.c | 35 -- src/pokedex.c | 14 +- src/pokedex_plus_hgss.c | 649 +++++++++++++++++++++--------------- src/secret_base.c | 3 + src/strings.c | 128 ------- 10 files changed, 397 insertions(+), 601 deletions(-) diff --git a/Makefile b/Makefile index fb48be184146..028fd8612c06 100644 --- a/Makefile +++ b/Makefile @@ -345,6 +345,7 @@ $(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm$(EXE) $(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet else $(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast +$(C_BUILDDIR)/pokedex_plus_hgss.o: CFLAGS := -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -Wno-pointer-to-int-cast -std=gnu17 -Werror -Wall -Wno-strict-aliasing -Wno-attribute-alias endif ifeq ($(DINFO),1) diff --git a/include/graphics.h b/include/graphics.h index 7a44592d26be..c5ca157a005a 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -7842,41 +7842,6 @@ extern const u32 gPokedexSearchMenu_Gfx[]; extern const u32 gPokedexSearchMenuHoenn_Tilemap[]; extern const u32 gPokedexSearchMenuNational_Tilemap[]; extern const u16 gPokedexSearchMenu_Pal[]; -// pokedex HGSS -#if POKEDEX_PLUS_HGSS == TRUE -extern const u16 gPokedexPlusHGSS_Default_Pal[]; -extern const u16 gPokedexPlusHGSS_National_Pal[]; -extern const u16 gPokedexPlusHGSS_MenuSearch_Pal[]; -extern const u16 gPokedexPlusHGSS_SearchResults_Pal[]; -extern const u16 gPokedexPlusHGSS_Default_dark_Pal[]; -extern const u16 gPokedexPlusHGSS_National_dark_Pal[]; -extern const u16 gPokedexPlusHGSS_MenuSearch_dark_Pal[]; -extern const u16 gPokedexPlusHGSS_SearchResults_dark_Pal[]; -extern const u32 gPokedexPlusHGSS_MenuList_Gfx[]; -extern const u32 gPokedexPlusHGSS_MenuList_DECA_Gfx[]; -extern const u32 gPokedexPlusHGSS_Interface_Gfx[]; -extern const u32 gPokedexPlusHGSS_Interface_DECA_Gfx[]; -extern const u32 gPokedexPlusHGSS_Menu_1_Gfx[]; -extern const u32 gPokedexPlusHGSS_Menu_2_Gfx[]; -extern const u32 gPokedexPlusHGSS_Menu_3_Gfx[]; -extern const u32 gPokedexPlusHGSS_MenuSearch_Gfx[]; -extern const u32 gPokedexPlusHGSS_MenuSearch_DECA_Gfx[]; -extern const u32 gPokedexPlusHGSS_StartMenuMain_Tilemap[]; -extern const u32 gPokedexPlusHGSS_StartMenuSearchResults_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap_Clear[]; -extern const u32 gPokedexPlusHGSS_ScreenList_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenListUnderlay_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenInfo_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenStats_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenEvolution_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenEvolution_Tilemap_PE[]; -extern const u32 gPokedexPlusHGSS_ScreenForms_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenCry_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenSize_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenSearchHoenn_Tilemap[]; -extern const u32 gPokedexPlusHGSS_ScreenSearchNational_Tilemap[]; -#endif // berry tag screen extern const u32 gBerryCheck_Gfx[]; diff --git a/include/pokedex_plus_hgss.h b/include/pokedex_plus_hgss.h index 68a4ddce4fd2..a30992423677 100644 --- a/include/pokedex_plus_hgss.h +++ b/include/pokedex_plus_hgss.h @@ -1,10 +1,7 @@ #ifndef GUARD_POKEDEX_PLUS_HGSS_H #define GUARD_POKEDEX_PLUS_HGSS_H -#if POKEDEX_PLUS_HGSS == TRUE void CB2_OpenPokedexPlusHGSS(void); -u16 NationalPokedexNumToSpeciesHGSS(u16 nationalNum); void Task_DisplayCaughtMonDexPageHGSS(u8); -#endif #endif // GUARD_POKEDEX_PLUS_HGSS_H diff --git a/include/strings.h b/include/strings.h index 4fd5670a0d3a..2c8abc5a10c4 100644 --- a/include/strings.h +++ b/include/strings.h @@ -538,134 +538,6 @@ extern const u8 gText_SearchingPleaseWait[]; extern const u8 gText_SearchCompleted[]; extern const u8 gText_NoMatchingPkmnWereFound[]; extern const u8 gText_SelectorArrow[]; -//PokedexPlus HGSS_Ui -#if POKEDEX_PLUS_HGSS == TRUE -extern const u8 gText_Stats_Buttons[]; -extern const u8 gText_Stats_Buttons_Decapped[]; -extern const u8 gText_Stats_HP[]; -extern const u8 gText_Stats_Attack[]; -extern const u8 gText_Stats_Defense[]; -extern const u8 gText_Stats_Speed[]; -extern const u8 gText_Stats_SpAttack[]; -extern const u8 gText_Stats_SpDefense[]; -extern const u8 gText_Stats_EV_Plus1[]; -extern const u8 gText_Stats_EV_Plus2[]; -extern const u8 gText_Stats_EV_Plus3[]; -extern const u8 gText_Stats_EvStr1Str2[]; -extern const u8 gText_Stats_MoveSelectedMax[]; -extern const u8 gText_Stats_MoveLevel[]; -extern const u8 gText_Stats_Gender_0[]; -extern const u8 gText_Stats_Gender_12_5[]; -extern const u8 gText_Stats_Gender_25[]; -extern const u8 gText_Stats_Gender_50[]; -extern const u8 gText_Stats_Gender_75[]; -extern const u8 gText_Stats_Gender_87_5[]; -extern const u8 gText_Stats_Gender_100[]; -extern const u8 gText_Stats_CatchRate[]; -extern const u8 gText_Stats_CatchRate_Legend[]; -extern const u8 gText_Stats_CatchRate_VeryHard[]; -extern const u8 gText_Stats_CatchRate_Difficult[]; -extern const u8 gText_Stats_CatchRate_Medium[]; -extern const u8 gText_Stats_CatchRate_Relaxed[]; -extern const u8 gText_Stats_CatchRate_Easy[]; -extern const u8 gText_Stats_ExpYield[]; -extern const u8 gText_Stats_EggCycles[]; -extern const u8 gText_Stats_EggCycles_VeryFast[]; -extern const u8 gText_Stats_EggCycles_Fast[]; -extern const u8 gText_Stats_EggCycles_Normal[]; -extern const u8 gText_Stats_EggCycles_Slow[]; -extern const u8 gText_Stats_Growthrate[]; -extern const u8 gText_Stats_Friendship[]; -extern const u8 gText_Stats_Friendship_BigAnger[]; -extern const u8 gText_Stats_Friendship_Neutral[]; -extern const u8 gText_Stats_Friendship_Happy[]; -extern const u8 gText_Stats_Friendship_BigSmile[]; -extern const u8 gText_Stats_MEDIUM_FAST[]; -extern const u8 gText_Stats_ERRATIC[]; -extern const u8 gText_Stats_FLUCTUATING[]; -extern const u8 gText_Stats_MEDIUM_SLOW[]; -extern const u8 gText_Stats_FAST[]; -extern const u8 gText_Stats_SLOW[]; -extern const u8 gText_Stats_ContestHeart[]; -extern const u8 gText_PlusSymbol[]; -extern const u8 gText_Stats_Minus[]; -extern const u8 gText_Stats_eggGroup[]; -extern const u8 gText_Stats_eggGroup_Groups[]; -extern const u8 gText_Stats_eggGroup_MONSTER[]; -extern const u8 gText_Stats_eggGroup_WATER_1[]; -extern const u8 gText_Stats_eggGroup_BUG[]; -extern const u8 gText_Stats_eggGroup_FLYING[]; -extern const u8 gText_Stats_eggGroup_FIELD[]; -extern const u8 gText_Stats_eggGroup_FAIRY[]; -extern const u8 gText_Stats_eggGroup_GRASS[]; -extern const u8 gText_Stats_eggGroup_HUMAN_LIKE[]; -extern const u8 gText_Stats_eggGroup_WATER_3[]; -extern const u8 gText_Stats_eggGroup_MINERAL[]; -extern const u8 gText_Stats_eggGroup_AMORPHOUS[]; -extern const u8 gText_Stats_eggGroup_WATER_2[]; -extern const u8 gText_Stats_eggGroup_DITTO[]; -extern const u8 gText_Stats_eggGroup_DRAGON[]; -extern const u8 gText_Stats_eggGroup_UNDISCOVERED[]; -extern const u8 gText_Dex_SEEN[]; -extern const u8 gText_Dex_OWN[]; - -extern const u8 gText_EVO_Buttons[]; -extern const u8 gText_EVO_Buttons_Decapped[]; -extern const u8 gText_EVO_Buttons_PE[]; -extern const u8 gText_EVO_Buttons_Decapped_PE[]; -extern const u8 gText_EVO_Name[]; -extern const u8 gText_EVO_PreEvo[]; -extern const u8 gText_EVO_PreEvo_PE_Mega[]; -extern const u8 gText_EVO_FRIENDSHIP[]; -extern const u8 gText_EVO_FRIENDSHIP_DAY[]; -extern const u8 gText_EVO_FRIENDSHIP_NIGHT[]; -extern const u8 gText_EVO_FRIENDSHIP_MOVE_TYPE[]; -extern const u8 gText_EVO_LEVEL[]; -extern const u8 gText_EVO_TRADE[]; -extern const u8 gText_EVO_TRADE_ITEM[]; -extern const u8 gText_EVO_ITEM[]; -extern const u8 gText_EVO_LEVEL_ATK_GT_DEF[]; -extern const u8 gText_EVO_LEVEL_ATK_EQ_DEF[]; -extern const u8 gText_EVO_LEVEL_ATK_LT_DEF[]; -extern const u8 gText_EVO_LEVEL_SILCOON[]; -extern const u8 gText_EVO_LEVEL_CASCOON[]; -extern const u8 gText_EVO_LEVEL_NINJASK[]; -extern const u8 gText_EVO_LEVEL_SHEDINJA[]; -extern const u8 gText_EVO_BEAUTY[]; -extern const u8 gText_EVO_LEVEL_FEMALE[]; -extern const u8 gText_EVO_LEVEL_MALE[]; -extern const u8 gText_EVO_LEVEL_NIGHT[]; -extern const u8 gText_EVO_LEVEL_DAY[]; -extern const u8 gText_EVO_LEVEL_DUSK[]; -extern const u8 gText_EVO_ITEM_HOLD_DAY[]; -extern const u8 gText_EVO_ITEM_HOLD_NIGHT[]; -extern const u8 gText_EVO_MOVE[]; -extern const u8 gText_EVO_MAPSEC[]; -extern const u8 gText_EVO_ITEM_MALE[]; -extern const u8 gText_EVO_ITEM_FEMALE[]; -extern const u8 gText_EVO_LEVEL_RAIN[]; -extern const u8 gText_EVO_SPECIFIC_MON_IN_PARTY[]; -extern const u8 gText_EVO_LEVEL_DARK_TYPE_MON_IN_PARTY[]; -extern const u8 gText_EVO_TRADE_SPECIFIC_MON[]; -extern const u8 gText_EVO_SPECIFIC_MAP[]; -extern const u8 gText_EVO_LEVEL_NATURE_AMPED[]; -extern const u8 gText_EVO_LEVEL_NATURE_LOW_KEY[]; -extern const u8 gText_EVO_CRITICAL_HITS[]; -extern const u8 gText_EVO_SCRIPT_TRIGGER_DMG[]; -extern const u8 gText_EVO_DARK_SCROLL[]; -extern const u8 gText_EVO_WATER_SCROLL[]; -extern const u8 gText_EVO_ITEM_NIGHT[]; -extern const u8 gText_EVO_ITEM_DAY[]; -extern const u8 gText_EVO_ITEM_HOLD[]; -extern const u8 gText_EVO_UNKNOWN[]; -extern const u8 gText_EVO_NONE[]; - -extern const u8 gText_FORMS_Buttons_PE[]; -extern const u8 gText_FORMS_Buttons_Decapped_PE[]; -extern const u8 gText_FORMS_Buttons_Submenu_PE[]; -extern const u8 gText_FORMS_Buttons_Submenu_Decapped_PE[]; -extern const u8 gText_FORMS_NONE[]; -#endif // birch dex rating text extern const u8 gBirchDexRatingText_LessThan10[]; diff --git a/src/daycare.c b/src/daycare.c index 338990380896..c66e10eaab49 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1076,7 +1076,7 @@ static void _GiveEggFromDaycare(struct DayCare *daycare) { struct Pokemon egg; u16 species; - u8 parentSlots[DAYCARE_MON_COUNT]; + u8 parentSlots[DAYCARE_MON_COUNT] = {0}; bool8 isEgg; species = DetermineEggSpeciesAndParentSlots(daycare, parentSlots); diff --git a/src/graphics.c b/src/graphics.c index 00bcea056424..0549e4476bd5 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1739,41 +1739,6 @@ const u16 gPokedexSearchMenu_Pal[] = INCBIN_U16("graphics/pokedex/search_menu.gb const u32 gPokedexSearchMenu_Gfx[] = INCBIN_U32("graphics/pokedex/search_menu.4bpp.lz"); const u32 gPokedexSearchMenuNational_Tilemap[] = INCBIN_U32("graphics/pokedex/search_menu_national.bin.lz"); const u32 gPokedexSearchMenuHoenn_Tilemap[] = INCBIN_U32("graphics/pokedex/search_menu_hoenn.bin.lz"); -// Pokedex HGSS -#if POKEDEX_PLUS_HGSS == TRUE -const u16 gPokedexPlusHGSS_Default_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_default.gbapal"); -const u16 gPokedexPlusHGSS_National_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_national.gbapal"); -const u16 gPokedexPlusHGSS_MenuSearch_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_search_menu.gbapal"); -const u16 gPokedexPlusHGSS_SearchResults_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_search_results.gbapal"); -const u16 gPokedexPlusHGSS_Default_dark_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_default_dark.gbapal"); -const u16 gPokedexPlusHGSS_National_dark_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_national_dark.gbapal"); -const u16 gPokedexPlusHGSS_MenuSearch_dark_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_search_menu_dark.gbapal"); -const u16 gPokedexPlusHGSS_SearchResults_dark_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_search_results_dark.gbapal"); -const u32 gPokedexPlusHGSS_MenuList_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu_list.4bpp.lz"); -const u32 gPokedexPlusHGSS_MenuList_DECA_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu_list_DECA.4bpp.lz"); -const u32 gPokedexPlusHGSS_Interface_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_interface.4bpp.lz"); -const u32 gPokedexPlusHGSS_Interface_DECA_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_interface_DECA.4bpp.lz"); -const u32 gPokedexPlusHGSS_Menu_1_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu1.4bpp.lz"); -const u32 gPokedexPlusHGSS_Menu_2_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu2.4bpp.lz"); -const u32 gPokedexPlusHGSS_Menu_3_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu3.4bpp.lz"); -const u32 gPokedexPlusHGSS_MenuSearch_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu_search.4bpp.lz"); -const u32 gPokedexPlusHGSS_MenuSearch_DECA_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu_search_DECA.4bpp.lz"); -const u32 gPokedexPlusHGSS_StartMenuMain_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_start_menu.bin.lz"); -const u32 gPokedexPlusHGSS_StartMenuSearchResults_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_start_menu_search_results.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/SelectBar.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap_Clear[] = INCBIN_U32("graphics/pokedex/hgss/SelectBar_clear.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenList_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_list_screen.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenListUnderlay_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_list_screen_underlay.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenInfo_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_info_screen.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenStats_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_stats_screen.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenEvolution_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_evo_screen.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenEvolution_Tilemap_PE[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_evo_screen_PE.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenForms_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_forms_screen.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenCry_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_cry_screen.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenSize_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_size_screen.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenSearchHoenn_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_search_screen_hoenn.bin.lz"); -const u32 gPokedexPlusHGSS_ScreenSearchNational_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_search_screen_national.bin.lz"); -#endif const u16 gSummaryScreen_MoveEffect_Battle_Tilemap[] = INCBIN_U16("graphics/summary_screen/effect_battle.bin"); const u16 gSummaryScreen_MoveEffect_Contest_Tilemap[] = INCBIN_U16("graphics/summary_screen/effect_contest.bin"); diff --git a/src/pokedex.c b/src/pokedex.c index 308c078c22a9..487413e4b6da 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1591,10 +1591,11 @@ static void ResetPokedexView(struct PokedexView *pokedexView) void CB2_OpenPokedex(void) { -#if POKEDEX_PLUS_HGSS == TRUE - CB2_OpenPokedexPlusHGSS(); - return; -#endif + if (POKEDEX_PLUS_HGSS) + { + CB2_OpenPokedexPlusHGSS(); + return; + } switch (gMain.state) { @@ -3944,11 +3945,10 @@ static void HighlightSubmenuScreenSelectBarItem(u8 a, u16 b) u8 DisplayCaughtMonDexPage(u16 dexNum, u32 otId, u32 personality) { u8 taskId = 0; - #if POKEDEX_PLUS_HGSS + if (POKEDEX_PLUS_HGSS) taskId = CreateTask(Task_DisplayCaughtMonDexPageHGSS, 0); - #else + else taskId = CreateTask(Task_DisplayCaughtMonDexPage, 0); - #endif // POKEDEX_PLUS_HGSS gTasks[taskId].tState = 0; gTasks[taskId].tDexNum = dexNum; diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index be5633294ed1..d96a5636656a 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -47,7 +47,6 @@ #include "constants/rgb.h" #include "constants/songs.h" -#if POKEDEX_PLUS_HGSS == TRUE enum { @@ -117,7 +116,6 @@ enum NAME_YZ, }; - extern const u8 *const gMonFootprintTable[]; extern const u16 gPokedexOrder_Alphabetical[]; extern const u16 gPokedexOrder_Height[]; @@ -125,6 +123,7 @@ extern const u16 gPokedexOrder_Weight[]; extern const struct Evolution gEvolutionTable[][EVOS_PER_MON]; extern const struct PokedexEntry gPokedexEntries[]; +// static .rodata strings static const u8 sText_No000[] = _("{NO}000"); static const u8 sCaughtBall_Gfx[] = INCBIN_U8("graphics/pokedex/caught_ball.4bpp"); @@ -133,6 +132,166 @@ ALIGNED(4) static const u8 sExpandedPlaceholder_PokedexDescription[] = _(""); static const u16 sSizeScreenSilhouette_Pal[] = INCBIN_U16("graphics/pokedex/size_silhouette.gbapal"); static const u8 sText_TenDashes2[] = _("----------"); +static const u8 sText_Stats_Buttons[] = _("{A_BUTTON}TOGGLE {DPAD_UPDOWN}MOVES"); +static const u8 sText_Stats_Buttons_Decapped[] = _("{A_BUTTON}Toggle {DPAD_UPDOWN}Moves"); +static const u8 sText_Stats_HP[] = _("HP"); +static const u8 sText_Stats_Attack[] = _("ATK"); +static const u8 sText_Stats_Defense[] = _("DEF"); +static const u8 sText_Stats_Speed[] = _("SPE"); +static const u8 sText_Stats_SpAttack[] = _("SP.A"); +static const u8 sText_Stats_SpDefense[] = _("SP.D"); +static const u8 sText_Stats_EV_Plus1[] = _("{UP_ARROW_2}"); +static const u8 sText_Stats_EV_Plus2[] = _("{UP_ARROW_2}{UP_ARROW_2}"); +static const u8 sText_Stats_EV_Plus3[] = _("{UP_ARROW_2}{UP_ARROW_2}{UP_ARROW_2}"); +static const u8 sText_Stats_EvStr1Str2[] = _("{STR_VAR_1}{STR_VAR_2}"); +static const u8 sText_Stats_MoveSelectedMax[] = _("{STR_VAR_1} / {STR_VAR_2}"); +static const u8 sText_Stats_MoveLevel[] = _("LVL"); +static const u8 sText_Stats_Gender_0[] = _("♂"); +static const u8 sText_Stats_Gender_12_5[] = _("♀ 1/7 ♂"); //_("♀ 12.5 / 87.5 ♂"); +static const u8 sText_Stats_Gender_25[] = _("♀ 1/3 ♂"); //_("♀ 25 / 75 ♂"); +static const u8 sText_Stats_Gender_50[] = _("♀ 1/1 ♂"); //_("♀ 50 / 50 ♂"); +static const u8 sText_Stats_Gender_75[] = _("♀ 3/1 ♂"); //_("♀ 75 / 25 ♂"); +static const u8 sText_Stats_Gender_87_5[] = _("♀ 7/1 ♂"); +static const u8 sText_Stats_Gender_100[] = _("♀"); +static const u8 sText_Stats_CatchRate[] = _("CATCH{0x5B}: "); +static const u8 sText_Stats_CatchRate_Legend[] = _("LEGENDARY"); +static const u8 sText_Stats_CatchRate_VeryHard[] = _("VERY HARD"); +static const u8 sText_Stats_CatchRate_Difficult[] = _("DIFFICULT"); +static const u8 sText_Stats_CatchRate_Medium[] = _("MEDIUM"); +static const u8 sText_Stats_CatchRate_Relaxed[] = _("RELAXED"); +static const u8 sText_Stats_CatchRate_Easy[] = _("EASY"); +static const u8 sText_Stats_ExpYield[] = _("EXP YIELD: "); +static const u8 sText_Stats_EggCycles[] = _("HATCH STEPS:"); +static const u8 sText_Stats_EggCycles_VeryFast[] = _("{EMOJI_BOLT}{EMOJI_DIZZYEGG}"); +static const u8 sText_Stats_EggCycles_Fast[] = _("{EMOJI_DIZZYEGG}"); +static const u8 sText_Stats_EggCycles_Normal[] = _("{EMOJI_DIZZYEGG}{EMOJI_DIZZYEGG}"); +static const u8 sText_Stats_EggCycles_Slow[] = _("{EMOJI_DIZZYEGG}{EMOJI_DIZZYEGG}{EMOJI_DIZZYEGG}"); +static const u8 sText_Stats_Growthrate[] = _("GROW: "); +static const u8 sText_Stats_Friendship[] = _("FRIENDSHIP:"); +static const u8 sText_Stats_Friendship_BigAnger[] = _("{EMOJI_BIGANGER}"); +static const u8 sText_Stats_Friendship_Neutral[] = _("{EMOJI_NEUTRAL}"); +static const u8 sText_Stats_Friendship_Happy[] = _("{EMOJI_HAPPY}"); +static const u8 sText_Stats_Friendship_BigSmile[] = _("{EMOJI_BIGSMILE}"); +static const u8 sText_Stats_MEDIUM_FAST[] = _("MED. FAST"); +static const u8 sText_Stats_ERRATIC[] = _("ERRATIC"); +static const u8 sText_Stats_FLUCTUATING[] = _("FLUCTUATING"); +static const u8 sText_Stats_MEDIUM_SLOW[] = _("MED. SLOW"); +static const u8 sText_Stats_FAST[] = _("FAST"); +static const u8 sText_Stats_SLOW[] = _("SLOW"); +static const u8 sText_Stats_ContestHeart[] = _("H"); +static const u8 sText_Stats_Minus[] = _("-"); +static const u8 sText_Stats_eggGroup[] = _("EGG G1:"); +static const u8 sText_Stats_eggGroup_Groups[] = _("{STR_VAR_1}/{STR_VAR_2}"); +static const u8 sText_Stats_eggGroup_MONSTER[] = _("MONSTER"); +static const u8 sText_Stats_eggGroup_WATER_1[] = _("WATER {CIRCLE_1}"); +static const u8 sText_Stats_eggGroup_BUG[] = _("BUG"); +static const u8 sText_Stats_eggGroup_FLYING[] = _("FLYING"); +static const u8 sText_Stats_eggGroup_FIELD[] = _("FIELD"); +static const u8 sText_Stats_eggGroup_FAIRY[] = _("FAIRY"); +static const u8 sText_Stats_eggGroup_GRASS[] = _("GRASS"); +static const u8 sText_Stats_eggGroup_HUMAN_LIKE[] = _("HUMANE"); +static const u8 sText_Stats_eggGroup_WATER_3[] = _("WATER {CIRCLE_3}"); +static const u8 sText_Stats_eggGroup_MINERAL[] = _("MINERAL"); +static const u8 sText_Stats_eggGroup_AMORPHOUS[] = _("AMORPHOUS"); +static const u8 sText_Stats_eggGroup_WATER_2[] = _("WATER {CIRCLE_2}"); +static const u8 sText_Stats_eggGroup_DITTO[] = _("DITTO"); +static const u8 sText_Stats_eggGroup_DRAGON[] = _("DRAGON"); +static const u8 sText_Stats_eggGroup_UNDISCOVERED[] = _("---"); +static const u8 sText_Dex_SEEN[] = _("SEEN"); +static const u8 sText_Dex_OWN[] = _("OWN"); + +static const u8 sText_EVO_Buttons[] = _("{DPAD_UPDOWN}EVOs {A_BUTTON}CHECK"); +static const u8 sText_EVO_Buttons_Decapped[] = _("{DPAD_UPDOWN}Evos {A_BUTTON}Check"); +static const u8 sText_EVO_Buttons_PE[] = _("{DPAD_UPDOWN}EVOs {A_BUTTON}CHECK {START_BUTTON}FORMs"); +static const u8 sText_EVO_Buttons_Decapped_PE[] = _("{DPAD_UPDOWN}Evos {A_BUTTON}Check {START_BUTTON}Froms"); +static const u8 sText_EVO_Name[] = _("{STR_VAR_3}:"); +static const u8 sText_EVO_PreEvo[] = _("{STR_VAR_1} evolves from {STR_VAR_2}"); +static const u8 sText_EVO_PreEvo_PE_Mega[] = _("{STR_VAR_1} Mega Evolves with {STR_VAR_2}"); +static const u8 sText_EVO_FRIENDSHIP[] = _("{LV}{UP_ARROW}, high friendship"); +static const u8 sText_EVO_FRIENDSHIP_DAY[] = _("{LV}{UP_ARROW}, high friendship, day"); +static const u8 sText_EVO_FRIENDSHIP_NIGHT[] = _("{LV}{UP_ARROW}, high friendship, night"); +static const u8 sText_EVO_FRIENDSHIP_MOVE_TYPE[] = _("{LV}{UP_ARROW}, high friendship, {STR_VAR_2} move"); +static const u8 sText_EVO_LEVEL[] = _("{LV}{UP_ARROW} to {STR_VAR_2}"); +static const u8 sText_EVO_TRADE[] = _("Trading"); +static const u8 sText_EVO_TRADE_ITEM[] = _("Trading, holding {STR_VAR_2}"); +static const u8 sText_EVO_ITEM[] = _("{STR_VAR_2} is used"); +static const u8 sText_EVO_LEVEL_ATK_GT_DEF[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Atk > Def"); +static const u8 sText_EVO_LEVEL_ATK_EQ_DEF[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Atk = Def"); +static const u8 sText_EVO_LEVEL_ATK_LT_DEF[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Atk < Def"); +static const u8 sText_EVO_LEVEL_SILCOON[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Silcoon persona"); +static const u8 sText_EVO_LEVEL_CASCOON[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Cascoon persona"); +static const u8 sText_EVO_LEVEL_NINJASK[] = _("{LV}{UP_ARROW} to {STR_VAR_2}"); +static const u8 sText_EVO_LEVEL_SHEDINJA[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, party<6, 1x POKéBALL"); +static const u8 sText_EVO_BEAUTY[] = _("{LV}{UP_ARROW}, high beauty"); +static const u8 sText_EVO_LEVEL_FEMALE[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, is female"); +static const u8 sText_EVO_LEVEL_MALE[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, is male"); +static const u8 sText_EVO_LEVEL_NIGHT[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, night"); +static const u8 sText_EVO_LEVEL_DAY[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, day"); +static const u8 sText_EVO_LEVEL_DUSK[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, dusk (5-6PM)"); +static const u8 sText_EVO_ITEM_HOLD_DAY[] = _("{LV}{UP_ARROW}, holds {STR_VAR_2}, day"); +static const u8 sText_EVO_ITEM_HOLD_NIGHT[] = _("{LV}{UP_ARROW}, holds {STR_VAR_2}, night"); +static const u8 sText_EVO_MOVE[] = _("{LV}{UP_ARROW}, knows {STR_VAR_2}"); +static const u8 sText_EVO_MAPSEC[] = _("{LV}{UP_ARROW} on {STR_VAR_2}"); +static const u8 sText_EVO_ITEM_MALE[] = _("{STR_VAR_2} used on male"); +static const u8 sText_EVO_ITEM_FEMALE[] = _("{STR_VAR_2} used on female"); +static const u8 sText_EVO_LEVEL_RAIN[] = _("{LV}{UP_ARROW} to {STR_VAR_2} while raining"); +static const u8 sText_EVO_SPECIFIC_MON_IN_PARTY[] = _("{LV}{UP_ARROW} with {STR_VAR_2} in party"); +static const u8 sText_EVO_LEVEL_DARK_TYPE_MON_IN_PARTY[] = _("{LV}{UP_ARROW} with dark type in party"); +static const u8 sText_EVO_TRADE_SPECIFIC_MON[] = _("Traded for {STR_VAR_2}"); +static const u8 sText_EVO_SPECIFIC_MAP[] = _("{LV}{UP_ARROW} on {STR_VAR_2}"); +static const u8 sText_EVO_LEVEL_NATURE_AMPED[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Amped natures"); +static const u8 sText_EVO_LEVEL_NATURE_LOW_KEY[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Low Key natures"); +static const u8 sText_EVO_CRITICAL_HITS[] = _("Land {STR_VAR_2} critical hits in\nsingle battle"); +static const u8 sText_EVO_SCRIPT_TRIGGER_DMG[] = _("Takes at least {STR_VAR_2} HP in damage"); +static const u8 sText_EVO_DARK_SCROLL[] = _("ScrllOfDrknss is used"); +static const u8 sText_EVO_WATER_SCROLL[] = _("ScrollOfWatrs is used"); +static const u8 sText_EVO_ITEM_NIGHT[] = _("{STR_VAR_2} is used, night"); +static const u8 sText_EVO_ITEM_DAY[] = _("{STR_VAR_2} is used, day"); +static const u8 sText_EVO_ITEM_HOLD[] = _("{LV}{UP_ARROW}, holds {STR_VAR_2}"); +static const u8 sText_EVO_UNKNOWN[] = _("Method unknown"); +static const u8 sText_EVO_NONE[] = _("{STR_VAR_1} has no evolution."); + +static const u8 sText_FORMS_Buttons_PE[] = _("{A_BUTTON}FORM MODE {START_BUTTON}EVOs"); +static const u8 sText_FORMS_Buttons_Decapped_PE[] = _("{START_BUTTON}Evos"); +static const u8 sText_FORMS_Buttons_Submenu_PE[] = _("{DPAD_NONE}FORMs {A_BUTTON}CHECK {START_BUTTON}EVOs"); +static const u8 sText_FORMS_Buttons_Submenu_Decapped_PE[] = _("{START_BUTTON}Evos"); +static const u8 sText_FORMS_NONE[] = _("{STR_VAR_1} has no alternate forms."); +static const u8 sText_PlusSymbol[] = _("+"); + +// static .rodata graphics + +static const u16 sPokedexPlusHGSS_Default_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_default.gbapal"); +static const u16 sPokedexPlusHGSS_National_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_national.gbapal"); +static const u16 sPokedexPlusHGSS_MenuSearch_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_search_menu.gbapal"); +static const u16 sPokedexPlusHGSS_SearchResults_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_search_results.gbapal"); +static const u16 sPokedexPlusHGSS_Default_dark_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_default_dark.gbapal"); +static const u16 sPokedexPlusHGSS_National_dark_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_national_dark.gbapal"); +static const u16 sPokedexPlusHGSS_MenuSearch_dark_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_search_menu_dark.gbapal"); +static const u16 sPokedexPlusHGSS_SearchResults_dark_Pal[] = INCBIN_U16("graphics/pokedex/hgss/palette_search_results_dark.gbapal"); +static const u32 sPokedexPlusHGSS_MenuList_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu_list.4bpp.lz"); +static const u32 sPokedexPlusHGSS_MenuList_DECA_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu_list_DECA.4bpp.lz"); +static const u32 sPokedexPlusHGSS_Interface_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_interface.4bpp.lz"); +static const u32 sPokedexPlusHGSS_Interface_DECA_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_interface_DECA.4bpp.lz"); +static const u32 sPokedexPlusHGSS_Menu_1_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu1.4bpp.lz"); +static const u32 sPokedexPlusHGSS_Menu_2_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu2.4bpp.lz"); +static const u32 sPokedexPlusHGSS_Menu_3_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu3.4bpp.lz"); +static const u32 sPokedexPlusHGSS_MenuSearch_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu_search.4bpp.lz"); +static const u32 sPokedexPlusHGSS_MenuSearch_DECA_Gfx[] = INCBIN_U32("graphics/pokedex/hgss/tileset_menu_search_DECA.4bpp.lz"); +static const u32 sPokedexPlusHGSS_StartMenuMain_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_start_menu.bin.lz"); +static const u32 sPokedexPlusHGSS_StartMenuSearchResults_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_start_menu_search_results.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/SelectBar.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap_Clear[] = INCBIN_U32("graphics/pokedex/hgss/SelectBar_clear.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenList_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_list_screen.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenListUnderlay_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_list_screen_underlay.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenInfo_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_info_screen.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenStats_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_stats_screen.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenEvolution_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_evo_screen.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenEvolution_Tilemap_PE[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_evo_screen_PE.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenForms_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_forms_screen.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenCry_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_cry_screen.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenSize_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_size_screen.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenSearchHoenn_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_search_screen_hoenn.bin.lz"); +static const u32 sPokedexPlusHGSS_ScreenSearchNational_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/tilemap_search_screen_national.bin.lz"); #define SCROLLING_MON_X 146 #define HGSS_DECAPPED FALSE @@ -375,7 +534,6 @@ static void Task_SwitchScreensFromSizeScreen(u8); static void LoadScreenSelectBarMain(u16); static void LoadScreenSelectBarSubmenu(u16); static void HighlightScreenSelectBarItem(u8, u16); -static void HighlightSubmenuScreenSelectBarItem(u8, u16); static void Task_HandleCaughtMonPageInput(u8); static void Task_ExitCaughtMonPage(u8); static void SpriteCB_SlideCaughtMonToCenter(struct Sprite *sprite); @@ -463,6 +621,8 @@ static void Task_ExitFormsScreen(u8 taskId); static u8 ShowSplitIcon(u32 split); //Physical/Special Split from BE static void DestroySplitIcon(void); //Physical/Special Split from BE +static u16 NationalPokedexNumToSpeciesHGSS(u16 nationalNum); + //Physical/Special Split from BE #define TAG_SPLIT_ICONS 30004 @@ -1076,14 +1236,14 @@ static const struct SpriteTemplate sDexListStartMenuCursorSpriteTemplate = static const struct CompressedSpriteSheet sInterfaceSpriteSheet[] = { - {gPokedexPlusHGSS_Interface_Gfx, 0x2000, TAG_DEX_INTERFACE}, - {gPokedexPlusHGSS_Interface_DECA_Gfx, 0x2000, TAG_DEX_INTERFACE}, + {sPokedexPlusHGSS_Interface_Gfx, 0x2000, TAG_DEX_INTERFACE}, + {sPokedexPlusHGSS_Interface_DECA_Gfx, 0x2000, TAG_DEX_INTERFACE}, {0} }; static const struct SpritePalette sInterfaceSpritePalette[] = { - {gPokedexPlusHGSS_Default_Pal, TAG_DEX_INTERFACE}, + {sPokedexPlusHGSS_Default_Pal, TAG_DEX_INTERFACE}, {0} }; @@ -1927,6 +2087,8 @@ static const struct WindowTemplate sSearchMenu_WindowTemplate[] = //************************************ void CB2_OpenPokedexPlusHGSS(void) { + if (!POKEDEX_PLUS_HGSS) return; // prevents the compiler from emitting static .rodata + // if the feature is disabled switch (gMain.state) { case 0: @@ -2048,7 +2210,7 @@ static void CB2_Pokedex(void) UpdatePaletteFade(); } -void Task_OpenPokedexMainPage(u8 taskId) +static void Task_OpenPokedexMainPage(u8 taskId) { sPokedexView->isSearchResults = FALSE; sPokedexView->sEvoScreenData.fromEvoPage = FALSE; @@ -2246,21 +2408,21 @@ static void LoadPokedexBgPalette(bool8 isSearchResults) if (!HGSS_DARK_MODE) { if (isSearchResults == TRUE) - LoadPalette(gPokedexPlusHGSS_SearchResults_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(sPokedexPlusHGSS_SearchResults_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); else if (!IsNationalPokedexEnabled()) - LoadPalette(gPokedexPlusHGSS_Default_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(sPokedexPlusHGSS_Default_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); else - LoadPalette(gPokedexPlusHGSS_National_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(sPokedexPlusHGSS_National_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); LoadPalette(GetOverworldTextboxPalettePtr(), 0xF0, 32); } else { if (isSearchResults == TRUE) - LoadPalette(gPokedexPlusHGSS_SearchResults_dark_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(sPokedexPlusHGSS_SearchResults_dark_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); else if (!IsNationalPokedexEnabled()) - LoadPalette(gPokedexPlusHGSS_Default_dark_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(sPokedexPlusHGSS_Default_dark_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); else - LoadPalette(gPokedexPlusHGSS_National_dark_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(sPokedexPlusHGSS_National_dark_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); LoadPalette(GetOverworldTextboxPalettePtr(), 0xF0, 32); } @@ -2293,15 +2455,15 @@ static bool8 LoadPokedexListPage(u8 page) SetBgTilemapBuffer(1, AllocZeroed(BG_SCREEN_SIZE)); SetBgTilemapBuffer(0, AllocZeroed(BG_SCREEN_SIZE)); if (!HGSS_DECAPPED) - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_MenuList_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_MenuList_Gfx, 0x2000, 0, 0); else - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_MenuList_DECA_Gfx, 0x2000, 0, 0); - CopyToBgTilemapBuffer(1, gPokedexPlusHGSS_ScreenList_Tilemap, 0, 0); - CopyToBgTilemapBuffer(3, gPokedexPlusHGSS_ScreenListUnderlay_Tilemap, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_MenuList_DECA_Gfx, 0x2000, 0, 0); + CopyToBgTilemapBuffer(1, sPokedexPlusHGSS_ScreenList_Tilemap, 0, 0); + CopyToBgTilemapBuffer(3, sPokedexPlusHGSS_ScreenListUnderlay_Tilemap, 0, 0); if (page == PAGE_MAIN) - CopyToBgTilemapBuffer(0, gPokedexPlusHGSS_StartMenuMain_Tilemap, 0, 0x280); + CopyToBgTilemapBuffer(0, sPokedexPlusHGSS_StartMenuMain_Tilemap, 0, 0x280); else - CopyToBgTilemapBuffer(0, gPokedexPlusHGSS_StartMenuSearchResults_Tilemap, 0, 0x280); + CopyToBgTilemapBuffer(0, sPokedexPlusHGSS_StartMenuSearchResults_Tilemap, 0, 0x280); ResetPaletteFade(); if (page == PAGE_MAIN) sPokedexView->isSearchResults = FALSE; @@ -3202,7 +3364,7 @@ static void SpriteCB_SeenOwnInfo(struct Sprite *sprite) DestroySprite(sprite); } -void SpriteCB_MoveMonForInfoScreen(struct Sprite *sprite) +static void SpriteCB_MoveMonForInfoScreen(struct Sprite *sprite) { sprite->oam.priority = 0; sprite->oam.affineMode = ST_OAM_AFFINE_OFF; @@ -3648,8 +3810,6 @@ static void Task_LoadInfoScreen(u8 taskId) break; case 1: LoadTilesetTilemapHGSS(INFO_SCREEN); - // DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0); - // CopyToBgTilemapBuffer(3, gPokedexInfoScreen_Tilemap, 0, 0); FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0)); PutWindowTilemap(WIN_INFO); PutWindowTilemap(WIN_FOOTPRINT); @@ -3659,7 +3819,6 @@ static void Task_LoadInfoScreen(u8 taskId) break; case 2: LoadScreenSelectBarMain(0xD); - // HighlightScreenSelectBarItem(sPokedexView->selectedScreen, 0xD); LoadPokedexBgPalette(sPokedexView->isSearchResults); gMain.state++; break; @@ -3718,7 +3877,6 @@ static void Task_LoadInfoScreen(u8 taskId) } break; case 9: - // if (!IsCryPlayingOrClearCrySongs()) gMain.state++; break; case 10: @@ -3895,13 +4053,13 @@ static void Task_SwitchScreensFromAreaScreen(u8 taskId) //************************************ static void LoadScreenSelectBarMain(u16 unused) { - CopyToBgTilemapBuffer(1, gPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap_Clear, 0, 0); + CopyToBgTilemapBuffer(1, sPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap_Clear, 0, 0); CopyBgTilemapBufferToVram(1); } static void LoadScreenSelectBarSubmenu(u16 unused) { - CopyToBgTilemapBuffer(1, gPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap, 0, 0); + CopyToBgTilemapBuffer(1, sPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap, 0, 0); CopyBgTilemapBufferToVram(1); } @@ -3932,36 +4090,6 @@ static void UNUSED HighlightScreenSelectBarItem(u8 selectedScreen, u16 unused) CopyBgTilemapBufferToVram(1); } -static void UNUSED HighlightSubmenuScreenSelectBarItem(u8 a, u16 b) -{ - u8 i; - u8 j; - u16 *ptr = GetBgTilemapBuffer(1); - - for (i = 0; i < 4; i++) - { - u8 row = i * 7 + 1; - u32 newPalette; - - do - { - if (i == a || i == 3) - newPalette = 0x2000; - else - newPalette = 0x4000; - } while (0); - - for (j = 0; j < 7; j++) - { - ptr[row + j] = (ptr[row + j] % 0x1000) | newPalette; - ptr[row + j + 0x20] = (ptr[row + j + 0x20] % 0x1000) | newPalette; - } - } - CopyBgTilemapBufferToVram(1); -} - - - //************************************ //* * //* CAUGHT MON * @@ -3979,9 +4107,14 @@ static void UNUSED HighlightSubmenuScreenSelectBarItem(u8 a, u16 b) void Task_DisplayCaughtMonDexPageHGSS(u8 taskId) { u8 spriteId; - u16 species = gTasks[taskId].tSpecies; - u16 dexNum = SpeciesToNationalPokedexNum(species); + u16 species; + u16 dexNum; + if (!POKEDEX_PLUS_HGSS) return; // prevents the compiler from emitting static .rodata + // if the feature is disabled + + species = gTasks[taskId].tSpecies; + dexNum = SpeciesToNationalPokedexNum(species); switch (gTasks[taskId].tState) { case 0: @@ -4074,16 +4207,16 @@ static void Task_HandleCaughtMonPageInput(u8 taskId) else if (++gTasks[taskId].tPalTimer & 16) { if (!HGSS_DARK_MODE) - LoadPalette(gPokedexPlusHGSS_Default_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); + LoadPalette(sPokedexPlusHGSS_Default_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); else - LoadPalette(gPokedexPlusHGSS_Default_dark_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); + LoadPalette(sPokedexPlusHGSS_Default_dark_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); } else { if (!HGSS_DARK_MODE) - LoadPalette(gPokedexPlusHGSS_Default_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); + LoadPalette(sPokedexPlusHGSS_Default_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); else - LoadPalette(gPokedexPlusHGSS_Default_dark_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); + LoadPalette(sPokedexPlusHGSS_Default_dark_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); } } @@ -4309,8 +4442,6 @@ static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry) const u8 *category; const u8 *description; - // if (newEntry) - // PrintInfoScreenText(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0); if (value == 0) value = NationalToHoennOrder(num); else @@ -4664,7 +4795,7 @@ static UNUSED u32 GetPokedexMonPersonality(u16 species) //* HGSS * //* * //************************************ -u16 NationalPokedexNumToSpeciesHGSS(u16 nationalNum) +static u16 NationalPokedexNumToSpeciesHGSS(u16 nationalNum) { if (!nationalNum) return 0; @@ -4681,45 +4812,45 @@ static void LoadTilesetTilemapHGSS(u8 page) { case INFO_SCREEN: if (!HGSS_DECAPPED) - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_1_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_1_Gfx, 0x2000, 0, 0); else - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_1_Gfx, 0x2000, 0, 0); - CopyToBgTilemapBuffer(3, gPokedexPlusHGSS_ScreenInfo_Tilemap, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_1_Gfx, 0x2000, 0, 0); + CopyToBgTilemapBuffer(3, sPokedexPlusHGSS_ScreenInfo_Tilemap, 0, 0); break; case STATS_SCREEN: if (!HGSS_DECAPPED) - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_1_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_1_Gfx, 0x2000, 0, 0); else - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_1_Gfx, 0x2000, 0, 0); - CopyToBgTilemapBuffer(3, gPokedexPlusHGSS_ScreenStats_Tilemap, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_1_Gfx, 0x2000, 0, 0); + CopyToBgTilemapBuffer(3, sPokedexPlusHGSS_ScreenStats_Tilemap, 0, 0); break; case EVO_SCREEN: if (!HGSS_DECAPPED) - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_2_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_2_Gfx, 0x2000, 0, 0); else - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_2_Gfx, 0x2000, 0, 0); - CopyToBgTilemapBuffer(3, gPokedexPlusHGSS_ScreenEvolution_Tilemap_PE, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_2_Gfx, 0x2000, 0, 0); + CopyToBgTilemapBuffer(3, sPokedexPlusHGSS_ScreenEvolution_Tilemap_PE, 0, 0); break; case FORMS_SCREEN: if (!HGSS_DECAPPED) - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_2_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_2_Gfx, 0x2000, 0, 0); else - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_2_Gfx, 0x2000, 0, 0); - CopyToBgTilemapBuffer(3, gPokedexPlusHGSS_ScreenForms_Tilemap, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_2_Gfx, 0x2000, 0, 0); + CopyToBgTilemapBuffer(3, sPokedexPlusHGSS_ScreenForms_Tilemap, 0, 0); break; case CRY_SCREEN: if (!HGSS_DECAPPED) - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_3_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_3_Gfx, 0x2000, 0, 0); else - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_3_Gfx, 0x2000, 0, 0); - CopyToBgTilemapBuffer(3, gPokedexPlusHGSS_ScreenCry_Tilemap, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_3_Gfx, 0x2000, 0, 0); + CopyToBgTilemapBuffer(3, sPokedexPlusHGSS_ScreenCry_Tilemap, 0, 0); break; case SIZE_SCREEN: if (!HGSS_DECAPPED) - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_3_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_3_Gfx, 0x2000, 0, 0); else - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_Menu_3_Gfx, 0x2000, 0, 0); - CopyToBgTilemapBuffer(3, gPokedexPlusHGSS_ScreenSize_Tilemap, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_Menu_3_Gfx, 0x2000, 0, 0); + CopyToBgTilemapBuffer(3, sPokedexPlusHGSS_ScreenSize_Tilemap, 0, 0); break; } } @@ -4753,9 +4884,9 @@ static void StatsPage_PrintNavigationButtons(void) u8 x = 9; u8 y = 0; if (!HGSS_DECAPPED) - AddTextPrinterParameterized3(WIN_STATS_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, gText_Stats_Buttons); + AddTextPrinterParameterized3(WIN_STATS_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, sText_Stats_Buttons); else - AddTextPrinterParameterized3(WIN_STATS_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, gText_Stats_Buttons_Decapped); + AddTextPrinterParameterized3(WIN_STATS_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, sText_Stats_Buttons_Decapped); PutWindowTilemap(WIN_STATS_NAVIGATION_BUTTONS); CopyWindowToVram(WIN_STATS_NAVIGATION_BUTTONS, 3); @@ -4786,7 +4917,7 @@ static void SaveMonDataInStruct(void) //Count how many different EVs for (i = 0; i<6; i++) { - if (EVs[i] > 0) //HP//Speed//Attack//Special Attack//Defense//Special Defense + if (evs[i] > 0) //HP//Speed//Attack//Special Attack//Defense//Special Defense differentEVs++; } @@ -4799,12 +4930,12 @@ static void SaveMonDataInStruct(void) sPokedexView->sPokemonStats.baseDefense = gSpeciesInfo[species].baseDefense; sPokedexView->sPokemonStats.baseSpDefense = gSpeciesInfo[species].baseSpDefense; sPokedexView->sPokemonStats.differentEVs = differentEVs; - sPokedexView->sPokemonStats.evYield_HP = EVs[0]; - sPokedexView->sPokemonStats.evYield_Speed = EVs[1]; - sPokedexView->sPokemonStats.evYield_Attack = EVs[2]; - sPokedexView->sPokemonStats.evYield_SpAttack = EVs[3]; - sPokedexView->sPokemonStats.evYield_Defense = EVs[4]; - sPokedexView->sPokemonStats.evYield_SpDefense = EVs[5]; + sPokedexView->sPokemonStats.evYield_HP = evs[0]; + sPokedexView->sPokemonStats.evYield_Speed = evs[1]; + sPokedexView->sPokemonStats.evYield_Attack = evs[2]; + sPokedexView->sPokemonStats.evYield_SpAttack = evs[3]; + sPokedexView->sPokemonStats.evYield_Defense = evs[4]; + sPokedexView->sPokemonStats.evYield_SpDefense = evs[5]; sPokedexView->sPokemonStats.catchRate = gSpeciesInfo[species].catchRate; sPokedexView->sPokemonStats.growthRate = gSpeciesInfo[species].growthRate; sPokedexView->sPokemonStats.eggGroup1 = gSpeciesInfo[species].eggGroups[0]; @@ -4898,7 +5029,7 @@ static void Task_LoadStatsScreen(u8 taskId) PrintStatsScreen_Moves_Bottom(taskId); if (!sPokedexListItem->owned) LoadPalette(gPlttBufferUnfaded + 1, 0x31, 0x1E); - StatsPage_PrintNavigationButtons(); //gText_Stats_Buttons + StatsPage_PrintNavigationButtons(); //sText_Stats_Buttons gMain.state++; break; case 7: @@ -5145,7 +5276,7 @@ static void PrintStatsScreen_Moves_Top(u8 taskId) //Moves selected from move max ConvertIntToDecimalStringN(gStringVar1, (selected+1), STR_CONV_MODE_RIGHT_ALIGN, 3); ConvertIntToDecimalStringN(gStringVar2, movesTotal, STR_CONV_MODE_RIGHT_ALIGN, 3); - StringExpandPlaceholders(gStringVar1, gText_Stats_MoveSelectedMax); + StringExpandPlaceholders(gStringVar1, sText_Stats_MoveSelectedMax); PrintStatsScreenTextSmallWhite(WIN_STATS_MOVES_TOP, gStringVar1, moves_x-1, moves_y+1); //Move name @@ -5175,7 +5306,7 @@ static void PrintStatsScreen_Moves_Top(u8 taskId) { level = gLevelUpLearnsets[species][(selected-numEggMoves)].level; ConvertIntToDecimalStringN(gStringVar1, level, STR_CONV_MODE_LEFT_ALIGN, 3); //Move learn lvl - PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gText_Stats_MoveLevel, moves_x + 113, moves_y + 3); //Level text + PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, sText_Stats_MoveLevel, moves_x + 113, moves_y + 3); //Level text PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gStringVar1, moves_x + 113, moves_y + 14); //Print level item = ITEM_RARE_CANDY; } @@ -5285,7 +5416,7 @@ static void PrintStatsScreen_Moves_Bottom(u8 taskId) if (contest_effectValue != 0xFF) contest_appeal = contest_effectValue / 10; ConvertIntToDecimalStringN(gStringVar1, contest_appeal, STR_CONV_MODE_RIGHT_ALIGN, 1); - StringCopy(gStringVar2, gText_PlusSymbol); + StringCopy(gStringVar2, sText_PlusSymbol); StringAppend(gStringVar2, gStringVar1); PrintStatsScreenTextSmall(WIN_STATS_MOVES_BOTTOM, gStringVar2, moves_x + 45, moves_y); @@ -5294,7 +5425,7 @@ static void PrintStatsScreen_Moves_Bottom(u8 taskId) if (contest_effectValue != 0xFF) contest_jam = contest_effectValue / 10; ConvertIntToDecimalStringN(gStringVar1, contest_jam, STR_CONV_MODE_RIGHT_ALIGN, 1); - StringCopy(gStringVar2, gText_Stats_Minus); + StringCopy(gStringVar2, sText_Stats_Minus); StringAppend(gStringVar2, gStringVar1); PrintStatsScreenTextSmall(WIN_STATS_MOVES_BOTTOM, gStringVar2, moves_x + 119, moves_y); } @@ -5326,25 +5457,25 @@ static void PrintStatsScreen_NameGender(u8 taskId, u32 num, u32 value) switch (sPokedexView->sPokemonStats.genderRatio) { case 0: - PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, gText_Stats_Gender_0, gender_x, gender_y); + PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, sText_Stats_Gender_0, gender_x, gender_y); break; case 31: - PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, gText_Stats_Gender_12_5, gender_x, gender_y); + PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, sText_Stats_Gender_12_5, gender_x, gender_y); break; case 63: - PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, gText_Stats_Gender_25, gender_x, gender_y); + PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, sText_Stats_Gender_25, gender_x, gender_y); break; case 127: - PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, gText_Stats_Gender_50, gender_x, gender_y); + PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, sText_Stats_Gender_50, gender_x, gender_y); break; case 191: - PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, gText_Stats_Gender_75, gender_x, gender_y); + PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, sText_Stats_Gender_75, gender_x, gender_y); break; case 223: - PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, gText_Stats_Gender_87_5, gender_x, gender_y); + PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, sText_Stats_Gender_87_5, gender_x, gender_y); break; case 254: - PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, gText_Stats_Gender_100, gender_x, gender_y); + PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, sText_Stats_Gender_100, gender_x, gender_y); break; default: PrintStatsScreenTextSmall(WIN_STATS_NAME_GENDER, gText_ThreeDashes, gender_x, gender_y); @@ -5373,13 +5504,13 @@ static u8* PrintMonStatsToggle_EV_Arrows(u8 *dest, u8 value) switch (value) { case 1: - StringCopy(dest, gText_Stats_EV_Plus1); + StringCopy(dest, sText_Stats_EV_Plus1); break; case 2: - StringCopy(dest, gText_Stats_EV_Plus2); + StringCopy(dest, sText_Stats_EV_Plus2); break; case 3: - StringCopy(dest, gText_Stats_EV_Plus3); + StringCopy(dest, sText_Stats_EV_Plus3); break; } return dest; @@ -5406,29 +5537,29 @@ static void PrintStatsScreen_Left(u8 taskId) //Base stats if (gTasks[taskId].data[5] == 0) { - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_HP, base_x, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_HP, base_x, base_y + base_y_offset*base_i); ConvertIntToDecimalStringN(strBase, sPokedexView->sPokemonStats.baseHP, STR_CONV_MODE_RIGHT_ALIGN, 3); PrintStatsScreenTextSmall(WIN_STATS_LEFT, strBase, base_x+base_x_first_row, base_y + base_y_offset*base_i); - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_Speed, base_x+base_x_second_row, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_Speed, base_x+base_x_second_row, base_y + base_y_offset*base_i); ConvertIntToDecimalStringN(strBase, sPokedexView->sPokemonStats.baseSpeed, STR_CONV_MODE_RIGHT_ALIGN, 3); PrintStatsScreenTextSmall(WIN_STATS_LEFT, strBase, base_x+base_x_offset, base_y + base_y_offset*base_i); base_i++; - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_Attack, base_x, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_Attack, base_x, base_y + base_y_offset*base_i); ConvertIntToDecimalStringN(strBase, sPokedexView->sPokemonStats.baseAttack, STR_CONV_MODE_RIGHT_ALIGN, 3); PrintStatsScreenTextSmall(WIN_STATS_LEFT, strBase, base_x+base_x_first_row, base_y + base_y_offset*base_i); - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_SpAttack, base_x+base_x_second_row, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_SpAttack, base_x+base_x_second_row, base_y + base_y_offset*base_i); ConvertIntToDecimalStringN(strBase, sPokedexView->sPokemonStats.baseSpAttack, STR_CONV_MODE_RIGHT_ALIGN, 3); PrintStatsScreenTextSmall(WIN_STATS_LEFT, strBase, base_x+base_x_offset, base_y + base_y_offset*base_i); base_i++; - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_Defense, base_x, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_Defense, base_x, base_y + base_y_offset*base_i); ConvertIntToDecimalStringN(strBase, sPokedexView->sPokemonStats.baseDefense, STR_CONV_MODE_RIGHT_ALIGN, 3); PrintStatsScreenTextSmall(WIN_STATS_LEFT, strBase, base_x+base_x_first_row, base_y + base_y_offset*base_i); - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_SpDefense, base_x+base_x_second_row, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_SpDefense, base_x+base_x_second_row, base_y + base_y_offset*base_i); ConvertIntToDecimalStringN(strBase, sPokedexView->sPokemonStats.baseSpDefense, STR_CONV_MODE_RIGHT_ALIGN, 3); PrintStatsScreenTextSmall(WIN_STATS_LEFT, strBase, base_x+base_x_offset, base_y + base_y_offset*base_i); base_i++; @@ -5445,9 +5576,9 @@ static void PrintStatsScreen_Left(u8 taskId) differentEVs++; column = PrintMonStatsToggle_DifferentEVsColumn(differentEVs); base_i = PrintMonStatsToggle_DifferentEVsRow(differentEVs); - StringCopy(gStringVar1, gText_Stats_HP); + StringCopy(gStringVar1, sText_Stats_HP); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[0]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + x_offset_column*column, base_y + base_y_offset*base_i); } //Speed @@ -5456,9 +5587,9 @@ static void PrintStatsScreen_Left(u8 taskId) differentEVs++; column = PrintMonStatsToggle_DifferentEVsColumn(differentEVs); base_i = PrintMonStatsToggle_DifferentEVsRow(differentEVs); - StringCopy(gStringVar1, gText_Stats_Speed); + StringCopy(gStringVar1, sText_Stats_Speed); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[1]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + x_offset_column*column, base_y + base_y_offset*base_i); } //Attack @@ -5467,9 +5598,9 @@ static void PrintStatsScreen_Left(u8 taskId) differentEVs++; column = PrintMonStatsToggle_DifferentEVsColumn(differentEVs); base_i = PrintMonStatsToggle_DifferentEVsRow(differentEVs); - StringCopy(gStringVar1, gText_Stats_Attack); + StringCopy(gStringVar1, sText_Stats_Attack); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[2]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + x_offset_column*column, base_y + base_y_offset*base_i); } //Special Attack @@ -5478,9 +5609,9 @@ static void PrintStatsScreen_Left(u8 taskId) differentEVs++; column = PrintMonStatsToggle_DifferentEVsColumn(differentEVs); base_i = PrintMonStatsToggle_DifferentEVsRow(differentEVs); - StringCopy(gStringVar1, gText_Stats_SpAttack); + StringCopy(gStringVar1, sText_Stats_SpAttack); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[3]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + x_offset_column*column, base_y + base_y_offset*base_i); } //Defense @@ -5489,9 +5620,9 @@ static void PrintStatsScreen_Left(u8 taskId) differentEVs++; column = PrintMonStatsToggle_DifferentEVsColumn(differentEVs); base_i = PrintMonStatsToggle_DifferentEVsRow(differentEVs); - StringCopy(gStringVar1, gText_Stats_Defense); + StringCopy(gStringVar1, sText_Stats_Defense); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[4]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + x_offset_column*column, base_y + base_y_offset*base_i); } //Special Defense @@ -5500,9 +5631,9 @@ static void PrintStatsScreen_Left(u8 taskId) differentEVs++; column = PrintMonStatsToggle_DifferentEVsColumn(differentEVs); base_i = PrintMonStatsToggle_DifferentEVsRow(differentEVs); - StringCopy(gStringVar1, gText_Stats_SpDefense); + StringCopy(gStringVar1, sText_Stats_SpDefense); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[5]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + x_offset_column*column, base_y + base_y_offset*base_i); } } @@ -5512,54 +5643,54 @@ static void PrintStatsScreen_Left(u8 taskId) //HP if (EVs[0] > 0) { - StringCopy(gStringVar1, gText_Stats_HP); + StringCopy(gStringVar1, sText_Stats_HP); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[0]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + 29*column, base_y + base_y_offset*base_i); column++; } //Speed if (EVs[1] > 0) { - StringCopy(gStringVar1, gText_Stats_Speed); + StringCopy(gStringVar1, sText_Stats_Speed); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[1]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + 29*column, base_y + base_y_offset*base_i); column++; } //Attack if (EVs[2] > 0) { - StringCopy(gStringVar1, gText_Stats_Attack); + StringCopy(gStringVar1, sText_Stats_Attack); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[2]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + 29*column, base_y + base_y_offset*base_i); column++; } //Special Attack if (EVs[3] > 0) { - StringCopy(gStringVar1, gText_Stats_SpAttack); + StringCopy(gStringVar1, sText_Stats_SpAttack); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[3]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + 29*column, base_y + base_y_offset*base_i); column++; } //Defense if (EVs[4] > 0) { - StringCopy(gStringVar1, gText_Stats_Defense); + StringCopy(gStringVar1, sText_Stats_Defense); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[4]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + 29*column, base_y + base_y_offset*base_i); column++; } //Special Defense if (EVs[5] > 0) { - StringCopy(gStringVar1, gText_Stats_SpDefense); + StringCopy(gStringVar1, sText_Stats_SpDefense); PrintMonStatsToggle_EV_Arrows(gStringVar2, EVs[5]); - StringExpandPlaceholders(gStringVar3, gText_Stats_EvStr1Str2); + StringExpandPlaceholders(gStringVar3, sText_Stats_EvStr1Str2); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x + 29*column, base_y + base_y_offset*base_i); column++; } @@ -5574,42 +5705,42 @@ static void PrintStatsScreen_Left(u8 taskId) u32 growthRate = sPokedexView->sPokemonStats.growthRate; //Catch rate - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_CatchRate, base_x, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_CatchRate, base_x, base_y + base_y_offset*base_i); if (catchRate <= 10) - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_CatchRate_Legend, base_x + x_offset_column, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_CatchRate_Legend, base_x + x_offset_column, base_y + base_y_offset*base_i); else if (catchRate <= 70) - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_CatchRate_VeryHard, base_x + x_offset_column, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_CatchRate_VeryHard, base_x + x_offset_column, base_y + base_y_offset*base_i); else if (catchRate <= 100) - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_CatchRate_Difficult, base_x + x_offset_column, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_CatchRate_Difficult, base_x + x_offset_column, base_y + base_y_offset*base_i); else if (catchRate <= 150) - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_CatchRate_Medium, base_x + x_offset_column, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_CatchRate_Medium, base_x + x_offset_column, base_y + base_y_offset*base_i); else if (catchRate <= 200) - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_CatchRate_Relaxed, base_x + x_offset_column, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_CatchRate_Relaxed, base_x + x_offset_column, base_y + base_y_offset*base_i); else - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_CatchRate_Easy, base_x + x_offset_column, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_CatchRate_Easy, base_x + x_offset_column, base_y + base_y_offset*base_i); base_i++; //Growth rate - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_Growthrate, base_x, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_Growthrate, base_x, base_y + base_y_offset*base_i); switch (growthRate) { case GROWTH_MEDIUM_FAST: - StringCopy(strEV, gText_Stats_MEDIUM_FAST); + StringCopy(strEV, sText_Stats_MEDIUM_FAST); break; case GROWTH_ERRATIC: - StringCopy(strEV, gText_Stats_ERRATIC); + StringCopy(strEV, sText_Stats_ERRATIC); break; case GROWTH_FLUCTUATING: - StringCopy(strEV, gText_Stats_FLUCTUATING); + StringCopy(strEV, sText_Stats_FLUCTUATING); break; case GROWTH_MEDIUM_SLOW: - StringCopy(strEV, gText_Stats_MEDIUM_SLOW); + StringCopy(strEV, sText_Stats_MEDIUM_SLOW); break; case GROWTH_FAST: - StringCopy(strEV, gText_Stats_FAST); + StringCopy(strEV, sText_Stats_FAST); break; case GROWTH_SLOW: - StringCopy(strEV, gText_Stats_SLOW); + StringCopy(strEV, sText_Stats_SLOW); break; default: break; @@ -5620,29 +5751,29 @@ static void PrintStatsScreen_Left(u8 taskId) else { //Exp Yield - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_ExpYield, base_x, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_ExpYield, base_x, base_y + base_y_offset*base_i); ConvertIntToDecimalStringN(gStringVar1, sPokedexView->sPokemonStats.expYield, STR_CONV_MODE_RIGHT_ALIGN, 3); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar1, base_x + base_x_offset, base_y + base_y_offset*base_i); base_i++; //Friendship - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_Friendship, base_x, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_Friendship, base_x, base_y + base_y_offset*base_i); switch (sPokedexView->sPokemonStats.friendship) { case 35: - StringCopy(strEV, gText_Stats_Friendship_BigAnger); + StringCopy(strEV, sText_Stats_Friendship_BigAnger); break; case 70: - StringCopy(strEV, gText_Stats_Friendship_Neutral); + StringCopy(strEV, sText_Stats_Friendship_Neutral); break; case 90: - StringCopy(strEV, gText_Stats_Friendship_Happy); + StringCopy(strEV, sText_Stats_Friendship_Happy); break; case 100: - StringCopy(strEV, gText_Stats_Friendship_Happy); + StringCopy(strEV, sText_Stats_Friendship_Happy); break; case 140: - StringCopy(strEV, gText_Stats_Friendship_BigSmile); + StringCopy(strEV, sText_Stats_Friendship_BigSmile); break; default: ConvertIntToDecimalStringN(strEV, sPokedexView->sPokemonStats.friendship, STR_CONV_MODE_RIGHT_ALIGN, 3); @@ -5655,30 +5786,30 @@ static void PrintStatsScreen_Left(u8 taskId) //Egg cycles if (sPokedexView->sPokemonStats.eggGroup1 == EGG_GROUP_UNDISCOVERED || sPokedexView->sPokemonStats.eggGroup2 == EGG_GROUP_UNDISCOVERED) //Species without eggs (legendaries etc) { - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_EggCycles, base_x, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_EggCycles, base_x, base_y + base_y_offset*base_i); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_ThreeDashes, 78, base_y + base_y_offset*base_i); } else { - PrintStatsScreenTextSmall(WIN_STATS_LEFT, gText_Stats_EggCycles, base_x, base_y + base_y_offset*base_i); + PrintStatsScreenTextSmall(WIN_STATS_LEFT, sText_Stats_EggCycles, base_x, base_y + base_y_offset*base_i); if (sPokedexView->sPokemonStats.eggCycles <= 10) { - StringCopy(strEV, gText_Stats_EggCycles_VeryFast); + StringCopy(strEV, sText_Stats_EggCycles_VeryFast); align_x = 76; } else if (sPokedexView->sPokemonStats.eggCycles <= 20) { - StringCopy(strEV, gText_Stats_EggCycles_Fast); + StringCopy(strEV, sText_Stats_EggCycles_Fast); align_x = 85; } else if (sPokedexView->sPokemonStats.eggCycles <= 30) { - StringCopy(strEV, gText_Stats_EggCycles_Normal); + StringCopy(strEV, sText_Stats_EggCycles_Normal); align_x = 76; } else { - StringCopy(strEV, gText_Stats_EggCycles_Slow); + StringCopy(strEV, sText_Stats_EggCycles_Slow); align_x = 67; } PrintStatsScreenTextSmall(WIN_STATS_LEFT, strEV, align_x, base_y + base_y_offset*base_i); @@ -5689,49 +5820,49 @@ static void PrintStatsScreen_Left(u8 taskId) switch (sPokedexView->sPokemonStats.eggGroup1) { case EGG_GROUP_MONSTER : - StringCopy(gStringVar1, gText_Stats_eggGroup_MONSTER); + StringCopy(gStringVar1, sText_Stats_eggGroup_MONSTER); break; case EGG_GROUP_WATER_1 : - StringCopy(gStringVar1, gText_Stats_eggGroup_WATER_1); + StringCopy(gStringVar1, sText_Stats_eggGroup_WATER_1); break; case EGG_GROUP_BUG : - StringCopy(gStringVar1, gText_Stats_eggGroup_BUG); + StringCopy(gStringVar1, sText_Stats_eggGroup_BUG); break; case EGG_GROUP_FLYING : - StringCopy(gStringVar1, gText_Stats_eggGroup_FLYING); + StringCopy(gStringVar1, sText_Stats_eggGroup_FLYING); break; case EGG_GROUP_FIELD : - StringCopy(gStringVar1, gText_Stats_eggGroup_FIELD); + StringCopy(gStringVar1, sText_Stats_eggGroup_FIELD); break; case EGG_GROUP_FAIRY : - StringCopy(gStringVar1, gText_Stats_eggGroup_FAIRY); + StringCopy(gStringVar1, sText_Stats_eggGroup_FAIRY); break; case EGG_GROUP_GRASS : - StringCopy(gStringVar1, gText_Stats_eggGroup_GRASS); + StringCopy(gStringVar1, sText_Stats_eggGroup_GRASS); break; case EGG_GROUP_HUMAN_LIKE : - StringCopy(gStringVar1, gText_Stats_eggGroup_HUMAN_LIKE); + StringCopy(gStringVar1, sText_Stats_eggGroup_HUMAN_LIKE); break; case EGG_GROUP_WATER_3 : - StringCopy(gStringVar1, gText_Stats_eggGroup_WATER_3); + StringCopy(gStringVar1, sText_Stats_eggGroup_WATER_3); break; case EGG_GROUP_MINERAL : - StringCopy(gStringVar1, gText_Stats_eggGroup_MINERAL); + StringCopy(gStringVar1, sText_Stats_eggGroup_MINERAL); break; case EGG_GROUP_AMORPHOUS : - StringCopy(gStringVar1, gText_Stats_eggGroup_AMORPHOUS); + StringCopy(gStringVar1, sText_Stats_eggGroup_AMORPHOUS); break; case EGG_GROUP_WATER_2 : - StringCopy(gStringVar1, gText_Stats_eggGroup_WATER_2); + StringCopy(gStringVar1, sText_Stats_eggGroup_WATER_2); break; case EGG_GROUP_DITTO : - StringCopy(gStringVar1, gText_Stats_eggGroup_DITTO); + StringCopy(gStringVar1, sText_Stats_eggGroup_DITTO); break; case EGG_GROUP_DRAGON : - StringCopy(gStringVar1, gText_Stats_eggGroup_DRAGON); + StringCopy(gStringVar1, sText_Stats_eggGroup_DRAGON); break; case EGG_GROUP_UNDISCOVERED: - StringCopy(gStringVar1, gText_Stats_eggGroup_UNDISCOVERED); + StringCopy(gStringVar1, sText_Stats_eggGroup_UNDISCOVERED); break; } //Egg group 2 @@ -5740,52 +5871,52 @@ static void PrintStatsScreen_Left(u8 taskId) switch (sPokedexView->sPokemonStats.eggGroup2) { case EGG_GROUP_MONSTER : - StringCopy(gStringVar2, gText_Stats_eggGroup_MONSTER); + StringCopy(gStringVar2, sText_Stats_eggGroup_MONSTER); break; case EGG_GROUP_WATER_1 : - StringCopy(gStringVar2, gText_Stats_eggGroup_WATER_1); + StringCopy(gStringVar2, sText_Stats_eggGroup_WATER_1); break; case EGG_GROUP_BUG : - StringCopy(gStringVar2, gText_Stats_eggGroup_BUG); + StringCopy(gStringVar2, sText_Stats_eggGroup_BUG); break; case EGG_GROUP_FLYING : - StringCopy(gStringVar2, gText_Stats_eggGroup_FLYING); + StringCopy(gStringVar2, sText_Stats_eggGroup_FLYING); break; case EGG_GROUP_FIELD : - StringCopy(gStringVar2, gText_Stats_eggGroup_FIELD); + StringCopy(gStringVar2, sText_Stats_eggGroup_FIELD); break; case EGG_GROUP_FAIRY : - StringCopy(gStringVar2, gText_Stats_eggGroup_FAIRY); + StringCopy(gStringVar2, sText_Stats_eggGroup_FAIRY); break; case EGG_GROUP_GRASS : - StringCopy(gStringVar2, gText_Stats_eggGroup_GRASS); + StringCopy(gStringVar2, sText_Stats_eggGroup_GRASS); break; case EGG_GROUP_HUMAN_LIKE : - StringCopy(gStringVar2, gText_Stats_eggGroup_HUMAN_LIKE); + StringCopy(gStringVar2, sText_Stats_eggGroup_HUMAN_LIKE); break; case EGG_GROUP_WATER_3 : - StringCopy(gStringVar2, gText_Stats_eggGroup_WATER_3); + StringCopy(gStringVar2, sText_Stats_eggGroup_WATER_3); break; case EGG_GROUP_MINERAL : - StringCopy(gStringVar2, gText_Stats_eggGroup_MINERAL); + StringCopy(gStringVar2, sText_Stats_eggGroup_MINERAL); break; case EGG_GROUP_AMORPHOUS : - StringCopy(gStringVar2, gText_Stats_eggGroup_AMORPHOUS); + StringCopy(gStringVar2, sText_Stats_eggGroup_AMORPHOUS); break; case EGG_GROUP_WATER_2 : - StringCopy(gStringVar2, gText_Stats_eggGroup_WATER_2); + StringCopy(gStringVar2, sText_Stats_eggGroup_WATER_2); break; case EGG_GROUP_DITTO : - StringCopy(gStringVar2, gText_Stats_eggGroup_DITTO); + StringCopy(gStringVar2, sText_Stats_eggGroup_DITTO); break; case EGG_GROUP_DRAGON : - StringCopy(gStringVar2, gText_Stats_eggGroup_DRAGON); + StringCopy(gStringVar2, sText_Stats_eggGroup_DRAGON); break; case EGG_GROUP_UNDISCOVERED: - StringCopy(gStringVar2, gText_Stats_eggGroup_UNDISCOVERED); + StringCopy(gStringVar2, sText_Stats_eggGroup_UNDISCOVERED); break; } - StringExpandPlaceholders(gStringVar3, gText_Stats_eggGroup_Groups); + StringExpandPlaceholders(gStringVar3, sText_Stats_eggGroup_Groups); align_x = GetStringRightAlignXOffset(0, gStringVar3, total_x); PrintStatsScreenTextSmall(WIN_STATS_LEFT, gStringVar3, base_x, base_y + base_y_offset*base_i); } @@ -5898,29 +6029,28 @@ static void EvoFormsPage_PrintNavigationButtons(void) if (sPokedexView->selectedScreen == EVO_SCREEN) { if (!HGSS_DECAPPED) - AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x+9, y, sStatsPageNavigationTextColor, 0, gText_EVO_Buttons_PE); + AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x+9, y, sStatsPageNavigationTextColor, 0, sText_EVO_Buttons_PE); else - AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x+9, y, sStatsPageNavigationTextColor, 0, gText_EVO_Buttons_Decapped_PE); + AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x+9, y, sStatsPageNavigationTextColor, 0, sText_EVO_Buttons_Decapped_PE); } else if (sPokedexView->selectedScreen == FORMS_SCREEN) { if (sPokedexView->sFormScreenData.inSubmenu) { if (!HGSS_DECAPPED) - AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, gText_FORMS_Buttons_Submenu_PE); + AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, sText_FORMS_Buttons_Submenu_PE); else - AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, gText_FORMS_Buttons_Submenu_Decapped_PE); + AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, sText_FORMS_Buttons_Submenu_Decapped_PE); } else { if (!HGSS_DECAPPED) - AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, gText_FORMS_Buttons_PE); + AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, sText_FORMS_Buttons_PE); else - AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, gText_FORMS_Buttons_Decapped_PE); + AddTextPrinterParameterized3(WIN_NAVIGATION_BUTTONS, 0, x, y, sStatsPageNavigationTextColor, 0, sText_FORMS_Buttons_Decapped_PE); } } - // DrawKeypadIcon(WIN_NAVIGATION_BUTTONS, 10, 5, 0); //(u8 windowId, u8 keypadIconId, u16 x, u16 y) PutWindowTilemap(WIN_NAVIGATION_BUTTONS); CopyWindowToVram(WIN_NAVIGATION_BUTTONS, 3); } @@ -6169,7 +6299,7 @@ static void HandleTargetSpeciesPrint(u8 taskId, u16 targetSpecies, u16 previousT StringCopy(gStringVar3, gSpeciesNames[targetSpecies]); //evolution mon name else StringCopy(gStringVar3, gText_ThreeQuestionMarks); //show questionmarks instead of name - StringExpandPlaceholders(gStringVar3, gText_EVO_Name); //evolution mon name + StringExpandPlaceholders(gStringVar3, sText_EVO_Name); //evolution mon name PrintInfoScreenTextSmall(gStringVar3, base_x, base_y + base_y_offset*base_i); //evolution mon name //Print mon icon in the top row @@ -6214,7 +6344,7 @@ static void HandlePreEvolutionSpeciesPrint(u8 taskId, u16 preSpecies, u16 specie StringCopy(gStringVar1, gSpeciesNames[species]); //evolution mon name if (sPokedexView->sEvoScreenData.isMega) - StringExpandPlaceholders(gStringVar3, gText_EVO_PreEvo_PE_Mega); + StringExpandPlaceholders(gStringVar3, sText_EVO_PreEvo_PE_Mega); else { @@ -6223,7 +6353,7 @@ static void HandlePreEvolutionSpeciesPrint(u8 taskId, u16 preSpecies, u16 specie else StringCopy(gStringVar2, gText_ThreeQuestionMarks); //show questionmarks instead of name - StringExpandPlaceholders(gStringVar3, gText_EVO_PreEvo); //evolution mon name + StringExpandPlaceholders(gStringVar3, sText_EVO_PreEvo); //evolution mon name } @@ -6371,7 +6501,7 @@ static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, //If there are no evolutions print text if (times == 0 && depth == 0) { - StringExpandPlaceholders(gStringVar4, gText_EVO_NONE); + StringExpandPlaceholders(gStringVar4, sText_EVO_NONE); PrintInfoScreenTextSmall(gStringVar4, base_x-7-7, base_y + base_y_offset*depth_i); } @@ -6391,178 +6521,178 @@ static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, { case EVO_FRIENDSHIP: ConvertIntToDecimalStringN(gStringVar2, 220, STR_CONV_MODE_LEADING_ZEROS, 3); //friendship value - StringExpandPlaceholders(gStringVar4, gText_EVO_FRIENDSHIP ); + StringExpandPlaceholders(gStringVar4, sText_EVO_FRIENDSHIP ); break; case EVO_FRIENDSHIP_DAY: - StringExpandPlaceholders(gStringVar4, gText_EVO_FRIENDSHIP_DAY ); + StringExpandPlaceholders(gStringVar4, sText_EVO_FRIENDSHIP_DAY ); break; case EVO_FRIENDSHIP_NIGHT: - StringExpandPlaceholders(gStringVar4, gText_EVO_FRIENDSHIP_NIGHT ); + StringExpandPlaceholders(gStringVar4, sText_EVO_FRIENDSHIP_NIGHT ); break; case EVO_LEVEL: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL ); break; case EVO_TRADE: - StringExpandPlaceholders(gStringVar4, gText_EVO_TRADE ); + StringExpandPlaceholders(gStringVar4, sText_EVO_TRADE ); break; case EVO_TRADE_ITEM: item = gEvolutionTable[species][i].param; //item CopyItemName(item, gStringVar2); //item - StringExpandPlaceholders(gStringVar4, gText_EVO_TRADE_ITEM ); + StringExpandPlaceholders(gStringVar4, sText_EVO_TRADE_ITEM ); break; case EVO_ITEM: item = gEvolutionTable[species][i].param; CopyItemName(item, gStringVar2); - StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM ); + StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM ); break; case EVO_LEVEL_ATK_GT_DEF: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_ATK_GT_DEF ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_ATK_GT_DEF ); break; case EVO_LEVEL_ATK_EQ_DEF: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_ATK_EQ_DEF ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_ATK_EQ_DEF ); break; case EVO_LEVEL_ATK_LT_DEF: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_ATK_LT_DEF ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_ATK_LT_DEF ); break; case EVO_LEVEL_SILCOON: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_SILCOON ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_SILCOON ); break; case EVO_LEVEL_CASCOON: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_CASCOON ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_CASCOON ); break; case EVO_LEVEL_NINJASK: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_NINJASK ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_NINJASK ); break; case EVO_LEVEL_SHEDINJA: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_SHEDINJA ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_SHEDINJA ); break; case EVO_BEAUTY: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, 3); //beauty - StringExpandPlaceholders(gStringVar4, gText_EVO_BEAUTY ); + StringExpandPlaceholders(gStringVar4, sText_EVO_BEAUTY ); break; case EVO_LEVEL_FEMALE: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_FEMALE ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_FEMALE ); break; case EVO_LEVEL_MALE: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_MALE ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_MALE ); break; case EVO_LEVEL_NIGHT: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_NIGHT ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_NIGHT ); break; case EVO_LEVEL_DAY: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_DAY ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_DAY ); break; case EVO_LEVEL_DUSK: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_DUSK ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_DUSK ); break; case EVO_ITEM_HOLD_DAY: item = gEvolutionTable[species][i].param; //item CopyItemName(item, gStringVar2); //item - StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_HOLD_DAY ); + StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_HOLD_DAY ); break; case EVO_ITEM_HOLD_NIGHT: item = gEvolutionTable[species][i].param; //item CopyItemName(item, gStringVar2); //item - StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_HOLD_NIGHT ); + StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_HOLD_NIGHT ); break; case EVO_MOVE: StringCopy(gStringVar2, gMoveNames[gEvolutionTable[species][i].param]); - StringExpandPlaceholders(gStringVar4, gText_EVO_MOVE ); + StringExpandPlaceholders(gStringVar4, sText_EVO_MOVE ); break; case EVO_FRIENDSHIP_MOVE_TYPE: StringCopy(gStringVar2, gTypeNames[gEvolutionTable[species][i].param]); - StringExpandPlaceholders(gStringVar4, gText_EVO_FRIENDSHIP_MOVE_TYPE ); + StringExpandPlaceholders(gStringVar4, sText_EVO_FRIENDSHIP_MOVE_TYPE ); break; case EVO_MAPSEC: StringCopy(gStringVar2, gRegionMapEntries[gEvolutionTable[species][i].param].name); - StringExpandPlaceholders(gStringVar4, gText_EVO_MAPSEC ); + StringExpandPlaceholders(gStringVar4, sText_EVO_MAPSEC ); break; case EVO_ITEM_MALE: item = gEvolutionTable[species][i].param; //item CopyItemName(item, gStringVar2); //item - StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_MALE ); + StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_MALE ); break; case EVO_ITEM_FEMALE: item = gEvolutionTable[species][i].param; //item CopyItemName(item, gStringVar2); //item - StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_FEMALE ); + StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_FEMALE ); break; case EVO_LEVEL_RAIN: //if (j == WEATHER_RAIN || j == WEATHER_RAIN_THUNDERSTORM || j == WEATHER_DOWNPOUR) - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_RAIN ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_RAIN ); break; case EVO_SPECIFIC_MON_IN_PARTY: StringCopy(gStringVar2, gSpeciesNames[gEvolutionTable[species][i].param]); //mon name - StringExpandPlaceholders(gStringVar4, gText_EVO_SPECIFIC_MON_IN_PARTY ); + StringExpandPlaceholders(gStringVar4, sText_EVO_SPECIFIC_MON_IN_PARTY ); break; case EVO_LEVEL_DARK_TYPE_MON_IN_PARTY: - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_DARK_TYPE_MON_IN_PARTY ); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_DARK_TYPE_MON_IN_PARTY ); break; case EVO_TRADE_SPECIFIC_MON: StringCopy(gStringVar2, gSpeciesNames[gEvolutionTable[species][i].param]); //mon name - StringExpandPlaceholders(gStringVar4, gText_EVO_TRADE_SPECIFIC_MON ); + StringExpandPlaceholders(gStringVar4, sText_EVO_TRADE_SPECIFIC_MON ); break; case EVO_SPECIFIC_MAP: mapHeader = Overworld_GetMapHeaderByGroupAndId(gEvolutionTable[species][i].param >> 8, gEvolutionTable[species][i].param & 0xFF); GetMapName(gStringVar2, mapHeader->regionMapSectionId, 0); - StringExpandPlaceholders(gStringVar4, gText_EVO_SPECIFIC_MAP ); + StringExpandPlaceholders(gStringVar4, sText_EVO_SPECIFIC_MAP ); break; case EVO_LEVEL_NATURE_AMPED: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_NATURE_AMPED); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_NATURE_AMPED); break; case EVO_LEVEL_NATURE_LOW_KEY: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level - StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_NATURE_LOW_KEY); + StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_NATURE_LOW_KEY); break; case EVO_CRITICAL_HITS: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_CRITS_DIGITS); //crits - StringExpandPlaceholders(gStringVar4, gText_EVO_CRITICAL_HITS); + StringExpandPlaceholders(gStringVar4, sText_EVO_CRITICAL_HITS); break; case EVO_SCRIPT_TRIGGER_DMG: ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_DMG_DIGITS); //damage - StringExpandPlaceholders(gStringVar4, gText_EVO_SCRIPT_TRIGGER_DMG); + StringExpandPlaceholders(gStringVar4, sText_EVO_SCRIPT_TRIGGER_DMG); break; case EVO_DARK_SCROLL: item = gEvolutionTable[species][i].param; CopyItemName(item, gStringVar2); - StringExpandPlaceholders(gStringVar4, gText_EVO_DARK_SCROLL ); + StringExpandPlaceholders(gStringVar4, sText_EVO_DARK_SCROLL ); break; case EVO_WATER_SCROLL: item = gEvolutionTable[species][i].param; CopyItemName(item, gStringVar2); - StringExpandPlaceholders(gStringVar4, gText_EVO_WATER_SCROLL ); + StringExpandPlaceholders(gStringVar4, sText_EVO_WATER_SCROLL ); break; case EVO_ITEM_NIGHT: item = gEvolutionTable[species][i].param; CopyItemName(item, gStringVar2); - StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_NIGHT ); + StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_NIGHT ); break; case EVO_ITEM_DAY: item = gEvolutionTable[species][i].param; CopyItemName(item, gStringVar2); - StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_DAY ); + StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_DAY ); break; case EVO_ITEM_HOLD: item = gEvolutionTable[species][i].param; CopyItemName(item, gStringVar2); - StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_HOLD ); + StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_HOLD ); break; default: - StringExpandPlaceholders(gStringVar4, gText_EVO_UNKNOWN ); + StringExpandPlaceholders(gStringVar4, sText_EVO_UNKNOWN ); break; }//Switch end PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i); //Print actual instructions @@ -6861,13 +6991,6 @@ static void PrintForms(u8 taskId, u16 species) gTasks[taskId].data[4+times] = CreateMonIcon(speciesForm, SpriteCB_MonIcon, 52 + 34*(times-1), 31, 4, 0); //Create pokemon sprite else if (times < 14) gTasks[taskId].data[4+times] = CreateMonIcon(speciesForm, SpriteCB_MonIcon, 18 + 34*(times-7), 70 - y_offset_icons, 4, 0); //Create pokemon sprite - // Can't print any more forms, because we're going out of bounds for task data. - /* - else if (times < 21) - gTasks[taskId].data[4+times] = CreateMonIcon(speciesForm, SpriteCB_MonIcon, 18 + 34*(times-14), 104 - y_offset_icons, 4, 0); //Create pokemon sprite - else - gTasks[taskId].data[4+times] = CreateMonIcon(speciesForm, SpriteCB_MonIcon, 18 + 34*(times-21), 138 - y_offset_icons, 4, 0); //Create pokemon sprite - */ gSprites[gTasks[taskId].data[4+times]].oam.priority = 0; } } @@ -6877,7 +7000,7 @@ static void PrintForms(u8 taskId, u16 species) //If there are no forms print text if (times == 0) { - StringExpandPlaceholders(gStringVar4, gText_FORMS_NONE); + StringExpandPlaceholders(gStringVar4, sText_FORMS_NONE); PrintInfoScreenTextSmall(gStringVar4, base_x, base_y + base_y_offset*times); } } @@ -7699,17 +7822,17 @@ static void Task_LoadSearchMenu(u8 taskId) DeactivateAllTextPrinters(); PutWindowTilemap(0); if (!HGSS_DECAPPED) - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_MenuSearch_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_MenuSearch_Gfx, 0x2000, 0, 0); else - DecompressAndLoadBgGfxUsingHeap(3, gPokedexPlusHGSS_MenuSearch_DECA_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, sPokedexPlusHGSS_MenuSearch_DECA_Gfx, 0x2000, 0, 0); if (!IsNationalPokedexEnabled()) - CopyToBgTilemapBuffer(3, gPokedexPlusHGSS_ScreenSearchHoenn_Tilemap, 0, 0); + CopyToBgTilemapBuffer(3, sPokedexPlusHGSS_ScreenSearchHoenn_Tilemap, 0, 0); else - CopyToBgTilemapBuffer(3, gPokedexPlusHGSS_ScreenSearchNational_Tilemap, 0, 0); + CopyToBgTilemapBuffer(3, sPokedexPlusHGSS_ScreenSearchNational_Tilemap, 0, 0); if (!HGSS_DARK_MODE) - LoadPalette(gPokedexPlusHGSS_MenuSearch_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(4 * 16 - 1)); + LoadPalette(sPokedexPlusHGSS_MenuSearch_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(4 * 16 - 1)); else - LoadPalette(gPokedexPlusHGSS_MenuSearch_dark_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(4 * 16 - 1)); + LoadPalette(sPokedexPlusHGSS_MenuSearch_dark_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(4 * 16 - 1)); gMain.state = 1; } break; @@ -8516,5 +8639,3 @@ static void ClearSearchParameterBoxText(void) { ClearSearchMenuRect(144, 8, 96, 96); } - -#endif diff --git a/src/secret_base.c b/src/secret_base.c index c5f21e252de5..a662acb36ef8 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1733,6 +1733,9 @@ void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx) struct SecretBaseRecordMixer mixers[3]; u16 i; + if (linkIdx > 3) + return; + if (FlagGet(FLAG_RECEIVED_SECRET_POWER)) { switch (GetLinkPlayerCount()) diff --git a/src/strings.c b/src/strings.c index 52b6fefc02ee..1197c54cd923 100644 --- a/src/strings.c +++ b/src/strings.c @@ -207,7 +207,6 @@ const u8 gText_MaleSymbol[] = _("♂"); const u8 gText_FemaleSymbol[] = _("♀"); const u8 gText_LevelSymbol[] = _("{LV}"); const u8 gText_NumberClear01[] = _("{NO}{CLEAR 0x01}"); -const u8 gText_PlusSymbol[] = _("+"); // Unused const u8 gText_RightArrow[] = _("{RIGHT_ARROW}"); // Unused const u8 gText_IDNumber2[] = _("{ID}{NO}"); const u8 gText_Space[] = _(" "); @@ -1834,130 +1833,3 @@ const u8 gText_Berries[] = _("BERRIES"); const u8 gText_ExpShareOn[] = _("The Exp. Share has been turned on.{PAUSE_UNTIL_PRESS}"); const u8 gText_ExpShareOff[] = _("The Exp. Share has been turned off.{PAUSE_UNTIL_PRESS}"); const u8 gText_BasePointsResetToZero[] = _("{STR_VAR_1}'s base points\nwere all reset to zero!{PAUSE_UNTIL_PRESS}"); -//HGSS_Ui PokedexPlus -#if POKEDEX_PLUS_HGSS == TRUE -const u8 gText_Stats_Buttons[] = _("{A_BUTTON}TOGGLE {DPAD_UPDOWN}MOVES"); -const u8 gText_Stats_Buttons_Decapped[] = _("{A_BUTTON}Toggle {DPAD_UPDOWN}Moves"); -const u8 gText_Stats_HP[] = _("HP"); -const u8 gText_Stats_Attack[] = _("ATK"); -const u8 gText_Stats_Defense[] = _("DEF"); -const u8 gText_Stats_Speed[] = _("SPE"); -const u8 gText_Stats_SpAttack[] = _("SP.A"); -const u8 gText_Stats_SpDefense[] = _("SP.D"); -const u8 gText_Stats_EV_Plus1[] = _("{UP_ARROW_2}"); -const u8 gText_Stats_EV_Plus2[] = _("{UP_ARROW_2}{UP_ARROW_2}"); -const u8 gText_Stats_EV_Plus3[] = _("{UP_ARROW_2}{UP_ARROW_2}{UP_ARROW_2}"); -const u8 gText_Stats_EvStr1Str2[] = _("{STR_VAR_1}{STR_VAR_2}"); -const u8 gText_Stats_MoveSelectedMax[] = _("{STR_VAR_1} / {STR_VAR_2}"); -const u8 gText_Stats_MoveLevel[] = _("LVL"); -const u8 gText_Stats_Gender_0[] = _("♂"); -const u8 gText_Stats_Gender_12_5[] = _("♀ 1/7 ♂"); //_("♀ 12.5 / 87.5 ♂"); -const u8 gText_Stats_Gender_25[] = _("♀ 1/3 ♂"); //_("♀ 25 / 75 ♂"); -const u8 gText_Stats_Gender_50[] = _("♀ 1/1 ♂"); //_("♀ 50 / 50 ♂"); -const u8 gText_Stats_Gender_75[] = _("♀ 3/1 ♂"); //_("♀ 75 / 25 ♂"); -const u8 gText_Stats_Gender_87_5[] = _("♀ 7/1 ♂"); -const u8 gText_Stats_Gender_100[] = _("♀"); -const u8 gText_Stats_CatchRate[] = _("CATCH{0x5B}: "); -const u8 gText_Stats_CatchRate_Legend[] = _("LEGENDARY"); -const u8 gText_Stats_CatchRate_VeryHard[] = _("VERY HARD"); -const u8 gText_Stats_CatchRate_Difficult[] = _("DIFFICULT"); -const u8 gText_Stats_CatchRate_Medium[] = _("MEDIUM"); -const u8 gText_Stats_CatchRate_Relaxed[] = _("RELAXED"); -const u8 gText_Stats_CatchRate_Easy[] = _("EASY"); -const u8 gText_Stats_ExpYield[] = _("EXP YIELD: "); -const u8 gText_Stats_EggCycles[] = _("HATCH STEPS:"); -const u8 gText_Stats_EggCycles_VeryFast[] = _("{EMOJI_BOLT}{EMOJI_DIZZYEGG}"); -const u8 gText_Stats_EggCycles_Fast[] = _("{EMOJI_DIZZYEGG}"); -const u8 gText_Stats_EggCycles_Normal[] = _("{EMOJI_DIZZYEGG}{EMOJI_DIZZYEGG}"); -const u8 gText_Stats_EggCycles_Slow[] = _("{EMOJI_DIZZYEGG}{EMOJI_DIZZYEGG}{EMOJI_DIZZYEGG}"); -const u8 gText_Stats_Growthrate[] = _("GROW: "); -const u8 gText_Stats_Friendship[] = _("FRIENDSHIP:"); -const u8 gText_Stats_Friendship_BigAnger[] = _("{EMOJI_BIGANGER}"); -const u8 gText_Stats_Friendship_Neutral[] = _("{EMOJI_NEUTRAL}"); -const u8 gText_Stats_Friendship_Happy[] = _("{EMOJI_HAPPY}"); -const u8 gText_Stats_Friendship_BigSmile[] = _("{EMOJI_BIGSMILE}"); -const u8 gText_Stats_MEDIUM_FAST[] = _("MED. FAST"); -const u8 gText_Stats_ERRATIC[] = _("ERRATIC"); -const u8 gText_Stats_FLUCTUATING[] = _("FLUCTUATING"); -const u8 gText_Stats_MEDIUM_SLOW[] = _("MED. SLOW"); -const u8 gText_Stats_FAST[] = _("FAST"); -const u8 gText_Stats_SLOW[] = _("SLOW"); -const u8 gText_Stats_ContestHeart[] = _("H"); -const u8 gText_Stats_Minus[] = _("-"); -const u8 gText_Stats_eggGroup[] = _("EGG G1:"); -const u8 gText_Stats_eggGroup_Groups[] = _("{STR_VAR_1}/{STR_VAR_2}"); -const u8 gText_Stats_eggGroup_MONSTER[] = _("MONSTER"); -const u8 gText_Stats_eggGroup_WATER_1[] = _("WATER {CIRCLE_1}"); -const u8 gText_Stats_eggGroup_BUG[] = _("BUG"); -const u8 gText_Stats_eggGroup_FLYING[] = _("FLYING"); -const u8 gText_Stats_eggGroup_FIELD[] = _("FIELD"); -const u8 gText_Stats_eggGroup_FAIRY[] = _("FAIRY"); -const u8 gText_Stats_eggGroup_GRASS[] = _("GRASS"); -const u8 gText_Stats_eggGroup_HUMAN_LIKE[] = _("HUMANE"); -const u8 gText_Stats_eggGroup_WATER_3[] = _("WATER {CIRCLE_3}"); -const u8 gText_Stats_eggGroup_MINERAL[] = _("MINERAL"); -const u8 gText_Stats_eggGroup_AMORPHOUS[] = _("AMORPHOUS"); -const u8 gText_Stats_eggGroup_WATER_2[] = _("WATER {CIRCLE_2}"); -const u8 gText_Stats_eggGroup_DITTO[] = _("DITTO"); -const u8 gText_Stats_eggGroup_DRAGON[] = _("DRAGON"); -const u8 gText_Stats_eggGroup_UNDISCOVERED[] = _("---"); -const u8 gText_Dex_SEEN[] = _("SEEN"); -const u8 gText_Dex_OWN[] = _("OWN"); - -const u8 gText_EVO_Buttons[] = _("{DPAD_UPDOWN}EVOs {A_BUTTON}CHECK"); -const u8 gText_EVO_Buttons_Decapped[] = _("{DPAD_UPDOWN}Evos {A_BUTTON}Check"); -const u8 gText_EVO_Buttons_PE[] = _("{DPAD_UPDOWN}EVOs {A_BUTTON}CHECK {START_BUTTON}FORMs"); -const u8 gText_EVO_Buttons_Decapped_PE[] = _("{DPAD_UPDOWN}Evos {A_BUTTON}Check {START_BUTTON}Froms"); -const u8 gText_EVO_Name[] = _("{STR_VAR_3}:"); -const u8 gText_EVO_PreEvo[] = _("{STR_VAR_1} evolves from {STR_VAR_2}"); -const u8 gText_EVO_PreEvo_PE_Mega[] = _("{STR_VAR_1} Mega Evolves with {STR_VAR_2}"); -const u8 gText_EVO_FRIENDSHIP[] = _("{LV}{UP_ARROW}, high friendship"); -const u8 gText_EVO_FRIENDSHIP_DAY[] = _("{LV}{UP_ARROW}, high friendship, day"); -const u8 gText_EVO_FRIENDSHIP_NIGHT[] = _("{LV}{UP_ARROW}, high friendship, night"); -const u8 gText_EVO_FRIENDSHIP_MOVE_TYPE[] = _("{LV}{UP_ARROW}, high friendship, {STR_VAR_2} move"); -const u8 gText_EVO_LEVEL[] = _("{LV}{UP_ARROW} to {STR_VAR_2}"); -const u8 gText_EVO_TRADE[] = _("Trading"); -const u8 gText_EVO_TRADE_ITEM[] = _("Trading, holding {STR_VAR_2}"); -const u8 gText_EVO_ITEM[] = _("{STR_VAR_2} is used"); -const u8 gText_EVO_LEVEL_ATK_GT_DEF[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Atk > Def"); -const u8 gText_EVO_LEVEL_ATK_EQ_DEF[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Atk = Def"); -const u8 gText_EVO_LEVEL_ATK_LT_DEF[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Atk < Def"); -const u8 gText_EVO_LEVEL_SILCOON[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Silcoon persona"); -const u8 gText_EVO_LEVEL_CASCOON[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Cascoon persona"); -const u8 gText_EVO_LEVEL_NINJASK[] = _("{LV}{UP_ARROW} to {STR_VAR_2}"); -const u8 gText_EVO_LEVEL_SHEDINJA[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, party<6, 1x POKéBALL"); -const u8 gText_EVO_BEAUTY[] = _("{LV}{UP_ARROW}, high beauty"); -const u8 gText_EVO_LEVEL_FEMALE[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, is female"); -const u8 gText_EVO_LEVEL_MALE[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, is male"); -const u8 gText_EVO_LEVEL_NIGHT[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, night"); -const u8 gText_EVO_LEVEL_DAY[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, day"); -const u8 gText_EVO_LEVEL_DUSK[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, dusk (5-6PM)"); -const u8 gText_EVO_ITEM_HOLD_DAY[] = _("{LV}{UP_ARROW}, holds {STR_VAR_2}, day"); -const u8 gText_EVO_ITEM_HOLD_NIGHT[] = _("{LV}{UP_ARROW}, holds {STR_VAR_2}, night"); -const u8 gText_EVO_MOVE[] = _("{LV}{UP_ARROW}, knows {STR_VAR_2}"); -const u8 gText_EVO_MAPSEC[] = _("{LV}{UP_ARROW} on {STR_VAR_2}"); -const u8 gText_EVO_ITEM_MALE[] = _("{STR_VAR_2} used on male"); -const u8 gText_EVO_ITEM_FEMALE[] = _("{STR_VAR_2} used on female"); -const u8 gText_EVO_LEVEL_RAIN[] = _("{LV}{UP_ARROW} to {STR_VAR_2} while raining"); -const u8 gText_EVO_SPECIFIC_MON_IN_PARTY[] = _("{LV}{UP_ARROW} with {STR_VAR_2} in party"); -const u8 gText_EVO_LEVEL_DARK_TYPE_MON_IN_PARTY[] = _("{LV}{UP_ARROW} with dark type in party"); -const u8 gText_EVO_TRADE_SPECIFIC_MON[] = _("Traded for {STR_VAR_2}"); -const u8 gText_EVO_SPECIFIC_MAP[] = _("{LV}{UP_ARROW} on {STR_VAR_2}"); -const u8 gText_EVO_LEVEL_NATURE_AMPED[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Amped natures"); -const u8 gText_EVO_LEVEL_NATURE_LOW_KEY[] = _("{LV}{UP_ARROW} to {STR_VAR_2}, Low Key natures"); -const u8 gText_EVO_CRITICAL_HITS[] = _("Land {STR_VAR_2} critical hits in\nsingle battle"); -const u8 gText_EVO_SCRIPT_TRIGGER_DMG[] = _("Takes at least {STR_VAR_2} HP in damage"); -const u8 gText_EVO_DARK_SCROLL[] = _("ScrllOfDrknss is used"); -const u8 gText_EVO_WATER_SCROLL[] = _("ScrollOfWatrs is used"); -const u8 gText_EVO_ITEM_NIGHT[] = _("{STR_VAR_2} is used, night"); -const u8 gText_EVO_ITEM_DAY[] = _("{STR_VAR_2} is used, day"); -const u8 gText_EVO_ITEM_HOLD[] = _("{LV}{UP_ARROW}, holds {STR_VAR_2}"); -const u8 gText_EVO_UNKNOWN[] = _("Method unknown"); -const u8 gText_EVO_NONE[] = _("{STR_VAR_1} has no evolution."); - -const u8 gText_FORMS_Buttons_PE[] = _("{A_BUTTON}FORM MODE {START_BUTTON}EVOs"); -const u8 gText_FORMS_Buttons_Decapped_PE[] = _("{START_BUTTON}Evos"); -const u8 gText_FORMS_Buttons_Submenu_PE[] = _("{DPAD_NONE}FORMs {A_BUTTON}CHECK {START_BUTTON}EVOs"); -const u8 gText_FORMS_Buttons_Submenu_Decapped_PE[] = _("{START_BUTTON}Evos"); -const u8 gText_FORMS_NONE[] = _("{STR_VAR_1} has no alternate forms."); -#endif From e34f32fdc151b397d8d6d106d69d6c231514537a Mon Sep 17 00:00:00 2001 From: sbird Date: Sun, 22 Oct 2023 03:34:38 +0200 Subject: [PATCH 2/4] fix normal hoeen dex colors --- graphics/pokedex/bg_hoenn.pal | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/graphics/pokedex/bg_hoenn.pal b/graphics/pokedex/bg_hoenn.pal index 5889ede7ac0f..569c7821a9db 100644 --- a/graphics/pokedex/bg_hoenn.pal +++ b/graphics/pokedex/bg_hoenn.pal @@ -1,21 +1,21 @@ JASC-PAL 0100 48 -193 33 177 -249 249 249 -225 225 225 -201 201 201 -169 169 169 -129 129 129 -249 153 161 -233 49 49 -193 33 41 -145 17 33 -249 153 161 -193 33 41 -141 251 184 -52 66 162 -194 181 66 +123 131 0 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +49 213 74 +24 131 32 +189 156 90 0 0 0 123 131 0 255 255 255 From 8992a2f0de4b7f8520625059fde22e8855816f90 Mon Sep 17 00:00:00 2001 From: sbird Date: Sun, 22 Oct 2023 03:53:31 +0200 Subject: [PATCH 3/4] fixup! fix normal hoeen dex colors --- graphics/pokedex/caught_screen.pal | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/graphics/pokedex/caught_screen.pal b/graphics/pokedex/caught_screen.pal index 7b855bfc66ab..26da98a84c9d 100644 --- a/graphics/pokedex/caught_screen.pal +++ b/graphics/pokedex/caught_screen.pal @@ -1,21 +1,21 @@ JASC-PAL 0100 48 -193 33 177 -249 249 249 -225 225 225 -201 201 201 -169 169 169 -129 129 129 -249 153 161 -233 49 49 -193 33 41 -145 17 33 -249 153 161 -193 33 41 -141 251 184 -52 66 162 -194 181 66 +123 131 0 +255 255 255 +255 238 0 +255 189 0 +255 115 0 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +49 213 74 +24 131 32 +189 156 90 0 0 0 123 131 0 255 255 255 From e08aae2a3282bffc465661517537d3a4926d57f2 Mon Sep 17 00:00:00 2001 From: sbird Date: Sun, 22 Oct 2023 03:55:35 +0200 Subject: [PATCH 4/4] apply changes from #3436 --- src/pokedex_plus_hgss.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index d96a5636656a..65df81826380 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -4910,12 +4910,20 @@ static void ResetStatsWindows(void) static void SaveMonDataInStruct(void) { u16 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum); - u8 evs[6] = {gSpeciesInfo[species].evYield_HP, gSpeciesInfo[species].evYield_Speed, gSpeciesInfo[species].evYield_Attack, gSpeciesInfo[species].evYield_SpAttack, gSpeciesInfo[species].evYield_Defense, gSpeciesInfo[species].evYield_SpDefense}; + u8 evs[NUM_STATS] = + { + [STAT_HP] = gSpeciesInfo[species].evYield_HP, + [STAT_ATK] = gSpeciesInfo[species].evYield_Speed, + [STAT_DEF] = gSpeciesInfo[species].evYield_Attack, + [STAT_SPEED] = gSpeciesInfo[species].evYield_SpAttack, + [STAT_SPATK] = gSpeciesInfo[species].evYield_Defense, + [STAT_SPDEF] = gSpeciesInfo[species].evYield_SpDefense + }; u8 differentEVs = 0; u8 i; //Count how many different EVs - for (i = 0; i<6; i++) + for (i = 0; i < NUM_STATS; i++) { if (evs[i] > 0) //HP//Speed//Attack//Special Attack//Defense//Special Defense differentEVs++; @@ -4930,12 +4938,12 @@ static void SaveMonDataInStruct(void) sPokedexView->sPokemonStats.baseDefense = gSpeciesInfo[species].baseDefense; sPokedexView->sPokemonStats.baseSpDefense = gSpeciesInfo[species].baseSpDefense; sPokedexView->sPokemonStats.differentEVs = differentEVs; - sPokedexView->sPokemonStats.evYield_HP = evs[0]; - sPokedexView->sPokemonStats.evYield_Speed = evs[1]; - sPokedexView->sPokemonStats.evYield_Attack = evs[2]; - sPokedexView->sPokemonStats.evYield_SpAttack = evs[3]; - sPokedexView->sPokemonStats.evYield_Defense = evs[4]; - sPokedexView->sPokemonStats.evYield_SpDefense = evs[5]; + sPokedexView->sPokemonStats.evYield_HP = evs[STAT_HP]; + sPokedexView->sPokemonStats.evYield_Speed = evs[STAT_ATK]; + sPokedexView->sPokemonStats.evYield_Attack = evs[STAT_DEF]; + sPokedexView->sPokemonStats.evYield_SpAttack = evs[STAT_SPEED]; + sPokedexView->sPokemonStats.evYield_Defense = evs[STAT_SPATK]; + sPokedexView->sPokemonStats.evYield_SpDefense = evs[STAT_SPDEF]; sPokedexView->sPokemonStats.catchRate = gSpeciesInfo[species].catchRate; sPokedexView->sPokemonStats.growthRate = gSpeciesInfo[species].growthRate; sPokedexView->sPokemonStats.eggGroup1 = gSpeciesInfo[species].eggGroups[0];