Expanded species names
This commit is contained in:
parent
2ec35549a5
commit
06d817bd1b
@ -104,7 +104,7 @@
|
||||
// string lengths
|
||||
#define ITEM_NAME_LENGTH ((I_EXPANDED_ITEM_NAMES == TRUE) ? 20 : 14)
|
||||
#define ITEM_NAME_PLURAL_LENGTH ITEM_NAME_LENGTH + 2 // 2 is used for the instance where a word's suffix becomes y->ies
|
||||
#define POKEMON_NAME_LENGTH 10
|
||||
#define POKEMON_NAME_LENGTH 12
|
||||
#define VANILLA_POKEMON_NAME_LENGTH 10
|
||||
#define POKEMON_NAME_BUFFER_SIZE max(20, POKEMON_NAME_LENGTH + 1) // Frequently used buffer size. Larger than necessary
|
||||
#define PLAYER_NAME_LENGTH 7
|
||||
|
||||
@ -172,6 +172,7 @@ enum
|
||||
|
||||
static const u8 *GetHealthboxElementGfxPtr(u8);
|
||||
static u8 *AddTextPrinterAndCreateWindowOnHealthbox(const u8 *, u32, u32, u32, u32 *);
|
||||
static u8 *AddTextPrinterAndCreateWindowOnHealthboxToFit(const u8 *, u32, u32, u32, u32 *, u32);
|
||||
|
||||
static void RemoveWindowOnHealthbox(u32 windowId);
|
||||
static void UpdateHpTextInHealthboxInDoubles(u32 healthboxSpriteId, u32 maxOrCurrent, s16 currHp, s16 maxHp);
|
||||
@ -2296,24 +2297,21 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
if ((species == SPECIES_NIDORAN_F || species == SPECIES_NIDORAN_M) && StringCompare(nickname, GetSpeciesName(species)) == 0)
|
||||
gender = 100;
|
||||
|
||||
// AddTextPrinterAndCreateWindowOnHealthbox's arguments are the same in all 3 cases.
|
||||
// It's possible they may have been different in early development phases.
|
||||
switch (gender)
|
||||
{
|
||||
default:
|
||||
StringCopy(ptr, gText_HealthboxGender_None);
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gDisplayedStringBattle, 0, 3, 2, &windowId);
|
||||
break;
|
||||
case MON_MALE:
|
||||
StringCopy(ptr, gText_HealthboxGender_Male);
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gDisplayedStringBattle, 0, 3, 2, &windowId);
|
||||
break;
|
||||
case MON_FEMALE:
|
||||
StringCopy(ptr, gText_HealthboxGender_Female);
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gDisplayedStringBattle, 0, 3, 2, &windowId);
|
||||
break;
|
||||
}
|
||||
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthboxToFit(gDisplayedStringBattle, 0, 3, 2, &windowId, 54);
|
||||
|
||||
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
|
||||
|
||||
if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER)
|
||||
@ -2906,7 +2904,7 @@ u8 GetHPBarLevel(s16 hp, s16 maxhp)
|
||||
return result;
|
||||
}
|
||||
|
||||
static u8 *AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId)
|
||||
static u8 *AddTextPrinterAndCreateWindowOnHealthboxWithFont(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId, u32 fontId)
|
||||
{
|
||||
u16 winId;
|
||||
u8 color[3];
|
||||
@ -2919,12 +2917,23 @@ static u8 *AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y,
|
||||
color[1] = 1;
|
||||
color[2] = 3;
|
||||
|
||||
AddTextPrinterParameterized4(winId, FONT_SMALL, x, y, 0, 0, color, TEXT_SKIP_DRAW, str);
|
||||
AddTextPrinterParameterized4(winId, fontId, x, y, 0, 0, color, TEXT_SKIP_DRAW, str);
|
||||
|
||||
*windowId = winId;
|
||||
return (u8 *)(GetWindowAttribute(winId, WINDOW_TILE_DATA));
|
||||
}
|
||||
|
||||
static u8 *AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId)
|
||||
{
|
||||
return AddTextPrinterAndCreateWindowOnHealthboxWithFont(str, x, y, bgColor, windowId, FONT_SMALL);
|
||||
}
|
||||
|
||||
static u8 *AddTextPrinterAndCreateWindowOnHealthboxToFit(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId, u32 width)
|
||||
{
|
||||
u32 fontId = GetFontIdToFit(str, FONT_SMALL, 0, width);
|
||||
return AddTextPrinterAndCreateWindowOnHealthboxWithFont(str, x, y, bgColor, windowId, fontId);
|
||||
}
|
||||
|
||||
static void RemoveWindowOnHealthbox(u32 windowId)
|
||||
{
|
||||
RemoveWindow(windowId);
|
||||
|
||||
@ -3139,7 +3139,7 @@ static void PrintContestantMonName(u8 contestant)
|
||||
static void PrintContestantMonNameWithColor(u8 contestant, u8 color)
|
||||
{
|
||||
Contest_CopyStringWithColor(gContestMons[contestant].nickname, color);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, 5, 1, FONT_NARROW);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, 5, 1, GetFontIdToFit(gContestMons[contestant].nickname, FONT_NARROW, 0, 50));
|
||||
}
|
||||
|
||||
static u16 CalculateContestantRound1Points(u8 who, u8 contestCategory)
|
||||
|
||||
@ -21,6 +21,12 @@
|
||||
#define FLIP 0
|
||||
#define NO_FLIP 1
|
||||
|
||||
#if POKEMON_NAME_LENGTH >= 12
|
||||
#define HANDLE_EXPANDED_SPECIES_NAME(_name, ...) _(DEFAULT(_name, __VA_ARGS__))
|
||||
#else
|
||||
#define HANDLE_EXPANDED_SPECIES_NAME(_name, ...) _(_name)
|
||||
#endif
|
||||
|
||||
const struct SpeciesInfo gSpeciesInfo[] =
|
||||
{
|
||||
[SPECIES_NONE] =
|
||||
|
||||
@ -3407,7 +3407,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
|
||||
.abilities = { ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY, ABILITY_RATTLED },
|
||||
.bodyColor = BODY_COLOR_YELLOW,
|
||||
.speciesName = _("Dudunsprce"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Dudunsprce", "Dudunsparce"),
|
||||
.cryId = CRY_DUDUNSPARCE,
|
||||
.natDexNum = NATIONAL_DEX_DUDUNSPARCE,
|
||||
.categoryName = _("Land Snake"),
|
||||
@ -3460,7 +3460,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD),
|
||||
.abilities = { ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY, ABILITY_RATTLED },
|
||||
.bodyColor = BODY_COLOR_YELLOW,
|
||||
.speciesName = _("Dudunsprce"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Dudunsprce", "Dudunsparce"),
|
||||
.cryId = CRY_DUDUNSPARCE,
|
||||
.natDexNum = NATIONAL_DEX_DUDUNSPARCE,
|
||||
.categoryName = _("Land Snake"),
|
||||
@ -6460,4 +6460,4 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
|
||||
|
||||
#ifdef __INTELLISENSE__
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -3462,7 +3462,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2),
|
||||
.abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER },
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.speciesName = _("Bsculegion"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Bsculegion", "Basculegion"),
|
||||
.cryId = CRY_BASCULEGION,
|
||||
.natDexNum = NATIONAL_DEX_BASCULEGION,
|
||||
.categoryName = _("Big Fish"),
|
||||
@ -3516,7 +3516,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2),
|
||||
.abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER },
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.speciesName = _("Bsculegion"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Bsculegion", "Basculegion"),
|
||||
.cryId = CRY_BASCULEGION,
|
||||
.natDexNum = NATIONAL_DEX_BASCULEGION,
|
||||
.categoryName = _("Big Fish"),
|
||||
@ -10404,4 +10404,4 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
||||
|
||||
#ifdef __INTELLISENSE__
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -767,7 +767,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
|
||||
.abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_GALE_WINGS },
|
||||
.bodyColor = BODY_COLOR_RED,
|
||||
.speciesName = _("Flechinder"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Flechinder", "Fletchinder"),
|
||||
.cryId = CRY_FLETCHINDER,
|
||||
.natDexNum = NATIONAL_DEX_FLETCHINDER,
|
||||
.categoryName = _("Ember"),
|
||||
@ -5343,4 +5343,4 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
||||
|
||||
#ifdef __INTELLISENSE__
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -1150,7 +1150,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3),
|
||||
.abilities = { ABILITY_HYPER_CUTTER, ABILITY_IRON_FIST, ABILITY_ANGER_POINT },
|
||||
.bodyColor = BODY_COLOR_WHITE,
|
||||
.speciesName = _("Crabminabl"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Crabminabl", "Crabominable"),
|
||||
.cryId = CRY_CRABOMINABLE,
|
||||
.natDexNum = NATIONAL_DEX_CRABOMINABLE,
|
||||
.categoryName = _("Woolly Crab"),
|
||||
@ -5904,7 +5904,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
||||
.abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_WHITE,
|
||||
.noFlip = TRUE,
|
||||
.speciesName = _("Blacephaln"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Blacephaln", "Blacephalon"),
|
||||
.cryId = CRY_BLACEPHALON,
|
||||
.natDexNum = NATIONAL_DEX_BLACEPHALON,
|
||||
.categoryName = _("Fireworks"),
|
||||
@ -6160,4 +6160,4 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
||||
|
||||
#ifdef __INTELLISENSE__
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -837,7 +837,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
|
||||
.abilities = { ABILITY_KEEN_EYE, ABILITY_UNNERVE, ABILITY_BIG_PECKS },
|
||||
.bodyColor = BODY_COLOR_BLUE,
|
||||
.speciesName = _("Corvisquir"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Corvisquir", "Corvisquire"),
|
||||
.cryId = CRY_CORVISQUIRE,
|
||||
.natDexNum = NATIONAL_DEX_CORVISQUIRE,
|
||||
.categoryName = _("Raven"),
|
||||
@ -891,7 +891,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
|
||||
.abilities = { ABILITY_PRESSURE, ABILITY_UNNERVE, ABILITY_MIRROR_ARMOR },
|
||||
.bodyColor = BODY_COLOR_PURPLE,
|
||||
.speciesName = _("Corviknigh"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Corviknigh", "Corviknight"),
|
||||
.cryId = CRY_CORVIKNIGHT,
|
||||
.natDexNum = NATIONAL_DEX_CORVIKNIGHT,
|
||||
.categoryName = _("Raven"),
|
||||
@ -2803,7 +2803,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2),
|
||||
.abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_PROPELLER_TAIL },
|
||||
.bodyColor = BODY_COLOR_BROWN,
|
||||
.speciesName = _("Barraskewd"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Barraskewd", "Barraskewda"),
|
||||
.cryId = CRY_BARRASKEWDA,
|
||||
.natDexNum = NATIONAL_DEX_BARRASKEWDA,
|
||||
.categoryName = _("Skewer"),
|
||||
@ -3178,7 +3178,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG),
|
||||
.abilities = { ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE, ABILITY_FLAME_BODY },
|
||||
.bodyColor = BODY_COLOR_RED,
|
||||
.speciesName = _("Centiskorc"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Centiskorc", "Centiskorch"),
|
||||
.cryId = CRY_CENTISKORCH,
|
||||
.natDexNum = NATIONAL_DEX_CENTISKORCH,
|
||||
.categoryName = _("Radiator"),
|
||||
@ -3506,7 +3506,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS),
|
||||
.abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY },
|
||||
.bodyColor = BODY_COLOR_PURPLE,
|
||||
.speciesName = _("Polteageis"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Polteageis", "Polteageist"),
|
||||
.cryId = CRY_POLTEAGEIST,
|
||||
.natDexNum = NATIONAL_DEX_POLTEAGEIST,
|
||||
.categoryName = _("Black Tea"),
|
||||
@ -3559,7 +3559,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS),
|
||||
.abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY },
|
||||
.bodyColor = BODY_COLOR_PURPLE,
|
||||
.speciesName = _("Polteageis"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Polteageis", "Polteageist"),
|
||||
.cryId = CRY_POLTEAGEIST,
|
||||
.natDexNum = NATIONAL_DEX_POLTEAGEIST,
|
||||
.categoryName = _("Black Tea"),
|
||||
@ -4486,7 +4486,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL),
|
||||
.abilities = { ABILITY_POWER_SPOT, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_GRAY,
|
||||
.speciesName = _("Stonjourne"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Stonjourne", "Stonjourner"),
|
||||
.cryId = CRY_STONJOURNER,
|
||||
.natDexNum = NATIONAL_DEX_STONJOURNER,
|
||||
.categoryName = _("Big Rock"),
|
||||
@ -6789,4 +6789,4 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
||||
|
||||
#ifdef __INTELLISENSE__
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -129,7 +129,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS),
|
||||
.abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_PROTEAN },
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.speciesName = _("Meowscarad"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Meowscarad", "Meowscarada"),
|
||||
.cryId = CRY_MEOWSCARADA,
|
||||
.natDexNum = NATIONAL_DEX_MEOWSCARADA,
|
||||
.categoryName = _("Magician"),
|
||||
@ -1466,7 +1466,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
|
||||
.abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS },
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.speciesName = _("Sqawkabily"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"),
|
||||
.cryId = CRY_SQUAWKABILLY,
|
||||
.natDexNum = NATIONAL_DEX_SQUAWKABILLY,
|
||||
.categoryName = _("Parrot"),
|
||||
@ -1519,7 +1519,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
|
||||
.abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS },
|
||||
.bodyColor = BODY_COLOR_BLUE,
|
||||
.speciesName = _("Sqawkabily"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"),
|
||||
.cryId = CRY_SQUAWKABILLY,
|
||||
.natDexNum = NATIONAL_DEX_SQUAWKABILLY,
|
||||
.categoryName = _("Parrot"),
|
||||
@ -1572,7 +1572,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
|
||||
.abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE },
|
||||
.bodyColor = BODY_COLOR_YELLOW,
|
||||
.speciesName = _("Sqawkabily"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"),
|
||||
.cryId = CRY_SQUAWKABILLY,
|
||||
.natDexNum = NATIONAL_DEX_SQUAWKABILLY,
|
||||
.categoryName = _("Parrot"),
|
||||
@ -1625,7 +1625,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING),
|
||||
.abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE },
|
||||
.bodyColor = BODY_COLOR_WHITE,
|
||||
.speciesName = _("Sqawkabily"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"),
|
||||
.cryId = CRY_SQUAWKABILLY,
|
||||
.natDexNum = NATIONAL_DEX_SQUAWKABILLY,
|
||||
.categoryName = _("Parrot"),
|
||||
@ -2161,7 +2161,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING),
|
||||
.abilities = { ABILITY_WIND_POWER, ABILITY_VOLT_ABSORB, ABILITY_COMPETITIVE },
|
||||
.bodyColor = BODY_COLOR_YELLOW,
|
||||
.speciesName = _("Kilowatrel"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Kilowatrel", "Kilowattrel"),
|
||||
.cryId = CRY_KILOWATTREL,
|
||||
.natDexNum = NATIONAL_DEX_KILOWATTREL,
|
||||
.categoryName = _("Frigatebird"),
|
||||
@ -2482,7 +2482,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS),
|
||||
.abilities = { ABILITY_WIND_RIDER, ABILITY_NONE, ABILITY_INFILTRATOR },
|
||||
.bodyColor = BODY_COLOR_BROWN,
|
||||
.speciesName = _("Brmblghast"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Brmblghast", "Brambleghast"),
|
||||
.cryId = CRY_BRAMBLEGHAST,
|
||||
.natDexNum = NATIONAL_DEX_BRAMBLEGHAST,
|
||||
.categoryName = _("Tumbleweed"),
|
||||
@ -4416,7 +4416,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_PINK,
|
||||
.speciesName = _("ScreamTail"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("ScreamTail", "Scream Tail"),
|
||||
.cryId = CRY_SCREAM_TAIL,
|
||||
.natDexNum = NATIONAL_DEX_SCREAM_TAIL,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -4471,7 +4471,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_WHITE,
|
||||
.speciesName = _("BruteBonet"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("BruteBonet", "Brute Bonnet"),
|
||||
.cryId = CRY_BRUTE_BONNET,
|
||||
.natDexNum = NATIONAL_DEX_BRUTE_BONNET,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -4528,7 +4528,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_GRAY,
|
||||
.speciesName = _("FluttrMane"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("FluttrMane", "Flutter Mane"),
|
||||
.cryId = CRY_FLUTTER_MANE,
|
||||
.natDexNum = NATIONAL_DEX_FLUTTER_MANE,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -4584,7 +4584,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_WHITE,
|
||||
.speciesName = _("SlithrWing"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("SlithrWing", "Slither Wing"),
|
||||
.cryId = CRY_SLITHER_WING,
|
||||
.natDexNum = NATIONAL_DEX_SLITHER_WING,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -4638,7 +4638,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_GRAY,
|
||||
.speciesName = _("SndyShocks"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("SndyShocks", "Sandy Shocks"),
|
||||
.cryId = CRY_SANDY_SHOCKS,
|
||||
.natDexNum = NATIONAL_DEX_SANDY_SHOCKS,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -4693,7 +4693,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_GRAY,
|
||||
.speciesName = _("IronTreads"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronTreads", "Iron Treads"),
|
||||
.cryId = CRY_IRON_TREADS,
|
||||
.natDexNum = NATIONAL_DEX_IRON_TREADS,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -4748,7 +4748,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_RED,
|
||||
.speciesName = _("IronBundle"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronBundle", "Iron Bundle"),
|
||||
.cryId = CRY_IRON_BUNDLE,
|
||||
.natDexNum = NATIONAL_DEX_IRON_BUNDLE,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -4858,7 +4858,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_BLUE,
|
||||
.speciesName = _("IronJuguls"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronJuguls", "Iron Jugulis"),
|
||||
.cryId = CRY_IRON_JUGULIS,
|
||||
.natDexNum = NATIONAL_DEX_IRON_JUGULIS,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -4970,7 +4970,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.speciesName = _("IronThorns"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronThorns", "Iron Thorns"),
|
||||
.cryId = CRY_IRON_THORNS,
|
||||
.natDexNum = NATIONAL_DEX_IRON_THORNS,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -5568,7 +5568,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_BLUE,
|
||||
.speciesName = _("RoarngMoon"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("RoarngMoon", "Roaring Moon"),
|
||||
.cryId = CRY_ROARING_MOON,
|
||||
.natDexNum = NATIONAL_DEX_ROARING_MOON,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -5624,7 +5624,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_WHITE,
|
||||
.speciesName = _("IronVliant"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronVliant", "Iron Valiant"),
|
||||
.cryId = CRY_IRON_VALIANT,
|
||||
.natDexNum = NATIONAL_DEX_IRON_VALIANT,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -5788,7 +5788,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_BLUE,
|
||||
.speciesName = _("WalkngWake"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("WalkngWake", "Walking Wake"),
|
||||
.cryId = CRY_WALKING_WAKE,
|
||||
.natDexNum = NATIONAL_DEX_WALKING_WAKE,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -5842,7 +5842,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.speciesName = _("IronLeaves"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronLeaves", "Iron Leaves"),
|
||||
.cryId = CRY_IRON_LEAVES,
|
||||
.natDexNum = NATIONAL_DEX_IRON_LEAVES,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -5896,7 +5896,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS),
|
||||
.abilities = { ABILITY_HOSPITALITY, ABILITY_NONE, ABILITY_HEATPROOF },
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.speciesName = _("Ptchageist"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Ptchageist", "Poltchageist"),
|
||||
.cryId = CRY_POLTCHAGEIST,
|
||||
.natDexNum = NATIONAL_DEX_POLTCHAGEIST,
|
||||
.categoryName = _("Matcha"),
|
||||
@ -5949,7 +5949,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS),
|
||||
.abilities = { ABILITY_HOSPITALITY, ABILITY_NONE, ABILITY_HEATPROOF },
|
||||
.bodyColor = BODY_COLOR_GREEN,
|
||||
.speciesName = _("Ptchageist"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Ptchageist", "Poltchageist"),
|
||||
.cryId = CRY_POLTCHAGEIST,
|
||||
.natDexNum = NATIONAL_DEX_POLTCHAGEIST,
|
||||
.categoryName = _("Matcha"),
|
||||
@ -6220,7 +6220,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_TOXIC_CHAIN, ABILITY_NONE, ABILITY_TECHNICIAN },
|
||||
.bodyColor = BODY_COLOR_BLACK,
|
||||
.speciesName = _("Fezndipiti"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("Fezndipiti", "Fezandipiti"),
|
||||
.cryId = CRY_FEZANDIPITI,
|
||||
.natDexNum = NATIONAL_DEX_FEZANDIPITI,
|
||||
.categoryName = _("Retainer"),
|
||||
@ -6340,7 +6340,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_BROWN,
|
||||
.speciesName = _("GouginFire"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("GouginFire", "Gouging Fire"),
|
||||
.cryId = CRY_GOUGING_FIRE,
|
||||
.natDexNum = NATIONAL_DEX_GOUGING_FIRE,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -6395,7 +6395,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_YELLOW,
|
||||
.speciesName = _("RagingBolt"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("RagingBolt", "Raging Bolt"),
|
||||
.cryId = CRY_RAGING_BOLT,
|
||||
.natDexNum = NATIONAL_DEX_RAGING_BOLT,
|
||||
.categoryName = _("Paradox"),
|
||||
@ -6450,7 +6450,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
||||
.eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED),
|
||||
.abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE },
|
||||
.bodyColor = BODY_COLOR_GRAY,
|
||||
.speciesName = _("IronBouldr"),
|
||||
.speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronBouldr", "Iron Boulder"),
|
||||
.cryId = CRY_IRON_BOULDER,
|
||||
.natDexNum = NATIONAL_DEX_IRON_BOULDER,
|
||||
.categoryName = _("Paradox"),
|
||||
|
||||
@ -2435,6 +2435,11 @@ static void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, c
|
||||
AddTextPrinterParameterized3(windowId, FONT_SMALL, align[0], align[1], sFontColorTable[color], 0, str);
|
||||
}
|
||||
|
||||
static void DisplayPartyPokemonBarDetailToFit(u8 windowId, const u8 *str, u8 color, const u8 *align, u32 width)
|
||||
{
|
||||
AddTextPrinterParameterized3(windowId, GetFontIdToFit(str, FONT_SMALL, 0, width), align[0], align[1], sFontColorTable[color], 0, str);
|
||||
}
|
||||
|
||||
static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
|
||||
{
|
||||
u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
@ -2444,7 +2449,7 @@ static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct PartyMenuBox
|
||||
if (c == 1)
|
||||
menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->dimensions[0] >> 3, menuBox->infoRects->dimensions[1] >> 3, menuBox->infoRects->dimensions[2] >> 3, menuBox->infoRects->dimensions[3] >> 3, FALSE);
|
||||
GetMonNickname(mon, nickname);
|
||||
DisplayPartyPokemonBarDetail(menuBox->windowId, nickname, 0, menuBox->infoRects->dimensions);
|
||||
DisplayPartyPokemonBarDetailToFit(menuBox->windowId, nickname, 0, menuBox->infoRects->dimensions, 50);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2337,7 +2337,7 @@ static void CreatePokedexList(u8 dexMode, u8 order)
|
||||
}
|
||||
}
|
||||
|
||||
static void PrintMonDexNumAndName(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top)
|
||||
static void PrintMonDexNum(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top)
|
||||
{
|
||||
u8 color[3];
|
||||
|
||||
@ -2347,6 +2347,17 @@ static void PrintMonDexNumAndName(u8 windowId, u8 fontId, const u8 *str, u8 left
|
||||
AddTextPrinterParameterized4(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
|
||||
static void PrintMonName(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top)
|
||||
{
|
||||
u8 color[3];
|
||||
|
||||
color[0] = TEXT_COLOR_TRANSPARENT;
|
||||
color[1] = TEXT_DYNAMIC_COLOR_6;
|
||||
color[2] = TEXT_COLOR_LIGHT_GRAY;
|
||||
fontId = GetFontIdToFit(str, fontId, 0, 50);
|
||||
AddTextPrinterParameterized4(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, TEXT_SKIP_DRAW, str);
|
||||
}
|
||||
|
||||
// u16 ignored is passed but never used
|
||||
static void CreateMonListEntry(u8 position, u16 b, u16 ignored)
|
||||
{
|
||||
@ -2453,7 +2464,7 @@ static void CreateMonDexNum(u16 entryNum, u8 left, u8 top, u16 unused)
|
||||
text[offset++] = CHAR_0 + ((dexNum % 1000) % 100) / 10;
|
||||
text[offset++] = CHAR_0 + ((dexNum % 1000) % 100) % 10;
|
||||
text[offset++] = EOS;
|
||||
PrintMonDexNumAndName(0, FONT_NARROW, text, left, top);
|
||||
PrintMonDexNum(0, FONT_NARROW, text, left, top);
|
||||
}
|
||||
|
||||
static void CreateCaughtBall(bool16 owned, u8 x, u8 y, u16 unused)
|
||||
@ -2473,7 +2484,7 @@ static u8 CreateMonName(u16 num, u8 left, u8 top)
|
||||
str = GetSpeciesName(num);
|
||||
else
|
||||
str = sText_TenDashes;
|
||||
PrintMonDexNumAndName(0, FONT_NARROW, str, left, top);
|
||||
PrintMonName(0, FONT_NARROW, str, left, top);
|
||||
return StringLength(str);
|
||||
}
|
||||
|
||||
|
||||
@ -4028,16 +4028,16 @@ static void PrintDisplayMonInfo(void)
|
||||
FillWindowPixelBuffer(WIN_DISPLAY_INFO, PIXEL_FILL(1));
|
||||
if (sStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
{
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_NORMAL, sStorage->displayMonNameText, 6, 0, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 15, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonNameText, FONT_NORMAL, 0, 9*8 - 6), sStorage->displayMonNameText, 6, 0, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonNameText, FONT_SHORT, 0, 9*8 - 12), sStorage->displayMonSpeciesName, 6, 15, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 29, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonItemName, FONT_SMALL, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 22), sStorage->displayMonItemName, 6, 43, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonItemName, FONT_SMALL, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 22), sStorage->displayMonItemName, 6, 0, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_NORMAL, sStorage->displayMonNameText, 6, 13, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 28, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonNameText, FONT_NORMAL, 0, 9*8 - 6), sStorage->displayMonNameText, 6, 13, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonSpeciesName, FONT_SHORT, 0, 9*8 - 12), sStorage->displayMonSpeciesName, 6, 28, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 42, TEXT_SKIP_DRAW, NULL);
|
||||
}
|
||||
|
||||
|
||||
@ -2813,10 +2813,15 @@ static void PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, u8 y, u8 line
|
||||
PrintTextOnWindowWithFont(windowId, string, x, y, lineSpacing, colorId, FONT_NORMAL);
|
||||
}
|
||||
|
||||
static void PrintTextOnWindowToFitPx(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId, u32 width)
|
||||
{
|
||||
u32 fontId = GetFontIdToFit(string, FONT_NORMAL, 0, width);
|
||||
PrintTextOnWindowWithFont(windowId, string, x, y, lineSpacing, colorId, fontId);
|
||||
}
|
||||
|
||||
static void PrintTextOnWindowToFit(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId)
|
||||
{
|
||||
u32 fontId = GetFontIdToFit(string, FONT_NORMAL, 0, WindowWidthPx(windowId));
|
||||
PrintTextOnWindowWithFont(windowId, string, x, y, lineSpacing, colorId, fontId);
|
||||
PrintTextOnWindowToFitPx(windowId, string, x, y, lineSpacing, colorId, WindowWidthPx(windowId));
|
||||
}
|
||||
|
||||
static void PrintMonInfo(void)
|
||||
@ -2833,7 +2838,6 @@ static void PrintMonInfo(void)
|
||||
|
||||
static void PrintNotEggInfo(void)
|
||||
{
|
||||
u8 strArray[16];
|
||||
struct Pokemon *mon = &sMonSummaryScreen->currentMon;
|
||||
struct PokeSummary *summary = &sMonSummaryScreen->summary;
|
||||
u16 dexNum = SpeciesToPokedexNum(summary->species);
|
||||
@ -2869,10 +2873,9 @@ static void PrintNotEggInfo(void)
|
||||
StringAppend(gStringVar1, gStringVar2);
|
||||
PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, gStringVar1, 24, 17, 0, 1);
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1);
|
||||
strArray[0] = CHAR_SLASH;
|
||||
StringCopy(&strArray[1], &GetSpeciesName(summary->species2)[0]);
|
||||
PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, strArray, 0, 1, 0, 1);
|
||||
PrintTextOnWindowToFitPx(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1, 63);
|
||||
PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, gText_Slash, 0, 1, 0, 1);
|
||||
PrintTextOnWindowToFitPx(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, GetSpeciesName(summary->species2), 6, 1, 0, 1, 63);
|
||||
PrintGenderSymbol(mon, summary->species2);
|
||||
PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME);
|
||||
PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES);
|
||||
|
||||
@ -50,17 +50,17 @@ SINGLE_BATTLE_TEST("Booster Energy will activate Protosynthesis after harsh sunl
|
||||
ABILITY_POPUP(opponent, ABILITY_DROUGHT);
|
||||
NONE_OF {
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player);
|
||||
MESSAGE("RagingBolt used its Booster Energy to activate Protosynthesis!");
|
||||
MESSAGE("RagingBolt's Sp. Atk was heightened!");
|
||||
MESSAGE("Raging Bolt used its Booster Energy to activate Protosynthesis!");
|
||||
MESSAGE("Raging Bolt's Sp. Atk was heightened!");
|
||||
}
|
||||
ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS);
|
||||
MESSAGE("The harsh sunlight activated RagingBolt's Protosynthesis!");
|
||||
MESSAGE("RagingBolt's Sp. Atk was heightened!");
|
||||
MESSAGE("The harsh sunlight activated Raging Bolt's Protosynthesis!");
|
||||
MESSAGE("Raging Bolt's Sp. Atk was heightened!");
|
||||
MESSAGE("The sunlight faded.");
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player);
|
||||
ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS);
|
||||
MESSAGE("RagingBolt used its Booster Energy to activate Protosynthesis!");
|
||||
MESSAGE("RagingBolt's Sp. Atk was heightened!");
|
||||
MESSAGE("Raging Bolt used its Booster Energy to activate Protosynthesis!");
|
||||
MESSAGE("Raging Bolt's Sp. Atk was heightened!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,17 +82,17 @@ SINGLE_BATTLE_TEST("Booster Energy activates Protosynthesis and increases highes
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player);
|
||||
ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS);
|
||||
MESSAGE("RagingBolt used its Booster Energy to activate Protosynthesis!");
|
||||
MESSAGE("Raging Bolt used its Booster Energy to activate Protosynthesis!");
|
||||
if (attack == 110)
|
||||
MESSAGE("RagingBolt's Attack was heightened!");
|
||||
MESSAGE("Raging Bolt's Attack was heightened!");
|
||||
else if (defense == 110)
|
||||
MESSAGE("RagingBolt's Defense was heightened!");
|
||||
MESSAGE("Raging Bolt's Defense was heightened!");
|
||||
else if (speed == 110)
|
||||
MESSAGE("RagingBolt's Speed was heightened!");
|
||||
MESSAGE("Raging Bolt's Speed was heightened!");
|
||||
else if (spAttack == 110)
|
||||
MESSAGE("RagingBolt's Sp. Atk was heightened!");
|
||||
MESSAGE("Raging Bolt's Sp. Atk was heightened!");
|
||||
else if (spDefense == 110)
|
||||
MESSAGE("RagingBolt's Sp. Def was heightened!");
|
||||
MESSAGE("Raging Bolt's Sp. Def was heightened!");
|
||||
} THEN {
|
||||
EXPECT(player->item == ITEM_NONE);
|
||||
}
|
||||
|
||||
@ -18,12 +18,12 @@ DOUBLE_BATTLE_TEST("Hospitality user restores 25% of ally's health")
|
||||
} SCENE {
|
||||
if (health == 75) {
|
||||
ABILITY_POPUP(playerLeft, ABILITY_HOSPITALITY);
|
||||
MESSAGE("Wobbuffet drank down all the matcha that Ptchageist made!");
|
||||
MESSAGE("Wobbuffet drank down all the matcha that Poltchageist made!");
|
||||
HP_BAR(playerRight, damage: -25);
|
||||
} else {
|
||||
NONE_OF {
|
||||
ABILITY_POPUP(playerLeft, ABILITY_HOSPITALITY);
|
||||
MESSAGE("Wobbuffet drank down all the matcha that Ptchageist made!");
|
||||
MESSAGE("Wobbuffet drank down all the matcha that Poltchageist made!");
|
||||
HP_BAR(playerRight, damage: -25);
|
||||
}
|
||||
}
|
||||
@ -42,9 +42,9 @@ DOUBLE_BATTLE_TEST("Hospitality user restores 25% of ally's health on switch-in"
|
||||
TURN { SWITCH(playerLeft, 2); }
|
||||
} SCENE {
|
||||
MESSAGE("Wobbuffet, that's enough! Come back!");
|
||||
MESSAGE("Go! Ptchageist!");
|
||||
MESSAGE("Go! Poltchageist!");
|
||||
ABILITY_POPUP(playerLeft, ABILITY_HOSPITALITY);
|
||||
MESSAGE("Wobbuffet drank down all the matcha that Ptchageist made!");
|
||||
MESSAGE("Wobbuffet drank down all the matcha that Poltchageist made!");
|
||||
HP_BAR(playerRight, damage: -25);
|
||||
}
|
||||
}
|
||||
@ -63,8 +63,8 @@ DOUBLE_BATTLE_TEST("Hospitality ignores Substitute")
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SUBSTITUTE, playerRight);
|
||||
MESSAGE("Wobbuffet, that's enough! Come back!");
|
||||
MESSAGE("Go! Ptchageist!");
|
||||
MESSAGE("Go! Poltchageist!");
|
||||
ABILITY_POPUP(playerLeft, ABILITY_HOSPITALITY);
|
||||
MESSAGE("Wobbuffet drank down all the matcha that Ptchageist made!");
|
||||
MESSAGE("Wobbuffet drank down all the matcha that Poltchageist made!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,11 +55,11 @@ SINGLE_BATTLE_TEST("Mirror Armor triggers even if the attacking Pokemon also has
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_LEER); }
|
||||
} SCENE {
|
||||
MESSAGE("Foe Corviknigh used Leer!");
|
||||
MESSAGE("Foe Corviknight used Leer!");
|
||||
ABILITY_POPUP(player, ABILITY_MIRROR_ARMOR);
|
||||
NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent);
|
||||
MESSAGE("Foe Corviknigh's Defense fell!");
|
||||
MESSAGE("Foe Corviknight's Defense fell!");
|
||||
} THEN {
|
||||
EXPECT_EQ(player->statStages[STAT_DEF], DEFAULT_STAT_STAGE);
|
||||
EXPECT_EQ(opponent->statStages[STAT_DEF], DEFAULT_STAT_STAGE - 1);
|
||||
@ -153,9 +153,9 @@ SINGLE_BATTLE_TEST("Mirror Armor doesn't lower the stat of the attacking Pokemon
|
||||
TURN { MOVE(player, MOVE_SCREECH); }
|
||||
TURN { MOVE(opponent, MOVE_LEER); }
|
||||
} SCENE {
|
||||
MESSAGE("Corviknigh used Screech!");
|
||||
MESSAGE("Corviknigh used Screech!");
|
||||
MESSAGE("Corviknigh used Screech!");
|
||||
MESSAGE("Corviknight used Screech!");
|
||||
MESSAGE("Corviknight used Screech!");
|
||||
MESSAGE("Corviknight used Screech!");
|
||||
MESSAGE("Foe Wynaut used Leer!");
|
||||
ABILITY_POPUP(player, ABILITY_MIRROR_ARMOR);
|
||||
NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent);
|
||||
@ -188,8 +188,8 @@ DOUBLE_BATTLE_TEST("Mirror Armor lowers Speed of the partner Pokemon after Court
|
||||
MESSAGE("Wobbuffet used Sticky Web!");
|
||||
MESSAGE("Foe Wynaut used Court Change!");
|
||||
MESSAGE("Foe Wynaut swapped the battle effects affecting each side!");
|
||||
MESSAGE("Go! Corviknigh!");
|
||||
MESSAGE("Corviknigh was caught in a Sticky Web!");
|
||||
MESSAGE("Go! Corviknight!");
|
||||
MESSAGE("Corviknight was caught in a Sticky Web!");
|
||||
ABILITY_POPUP(playerRight, ABILITY_MIRROR_ARMOR);
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft);
|
||||
MESSAGE("Wobbuffet's Speed fell!");
|
||||
|
||||
@ -17,8 +17,8 @@ SINGLE_BATTLE_TEST("Protosynthesis boosts the highest stat")
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SUNNY_DAY, player);
|
||||
ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS);
|
||||
MESSAGE("The harsh sunlight activated WalkngWake's Protosynthesis!");
|
||||
MESSAGE("WalkngWake's Sp. Atk was heightened!");
|
||||
MESSAGE("The harsh sunlight activated Walking Wake's Protosynthesis!");
|
||||
MESSAGE("Walking Wake's Sp. Atk was heightened!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -68,19 +68,19 @@ SINGLE_BATTLE_TEST("Protosynthesis ability pop up activates only once during the
|
||||
} SCENE {
|
||||
ABILITY_POPUP(opponent, ABILITY_DROUGHT);
|
||||
ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS);
|
||||
MESSAGE("The harsh sunlight activated WalkngWake's Protosynthesis!");
|
||||
MESSAGE("WalkngWake's Sp. Atk was heightened!");
|
||||
MESSAGE("The harsh sunlight activated Walking Wake's Protosynthesis!");
|
||||
MESSAGE("Walking Wake's Sp. Atk was heightened!");
|
||||
NONE_OF {
|
||||
for (turns = 0; turns < 4; turns++) {
|
||||
ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS);
|
||||
MESSAGE("The harsh sunlight activated WalkngWake's Protosynthesis!");
|
||||
MESSAGE("WalkngWake's Sp. Atk was heightened!");
|
||||
MESSAGE("The harsh sunlight activated Walking Wake's Protosynthesis!");
|
||||
MESSAGE("Walking Wake's Sp. Atk was heightened!");
|
||||
}
|
||||
}
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SUNNY_DAY, opponent);
|
||||
ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS);
|
||||
MESSAGE("The harsh sunlight activated WalkngWake's Protosynthesis!");
|
||||
MESSAGE("WalkngWake's Sp. Atk was heightened!");
|
||||
MESSAGE("The harsh sunlight activated Walking Wake's Protosynthesis!");
|
||||
MESSAGE("Walking Wake's Sp. Atk was heightened!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -95,7 +95,7 @@ SINGLE_BATTLE_TEST("Protosynthesis activates on switch-in")
|
||||
} SCENE {
|
||||
ABILITY_POPUP(opponent, ABILITY_DROUGHT);
|
||||
ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS);
|
||||
MESSAGE("The harsh sunlight activated RoarngMoon's Protosynthesis!");
|
||||
MESSAGE("RoarngMoon's Attack was heightened!");
|
||||
MESSAGE("The harsh sunlight activated Roaring Moon's Protosynthesis!");
|
||||
MESSAGE("Roaring Moon's Attack was heightened!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1347,7 +1347,7 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Centiferno traps both opponents in Fire Spin
|
||||
TURN { SWITCH(playerLeft, 2); }
|
||||
} SCENE {
|
||||
// turn 1
|
||||
MESSAGE("Centiskorc used G-Max Centiferno!");
|
||||
MESSAGE("Centiskorch used G-Max Centiferno!");
|
||||
MESSAGE("Foe Wobbuffet is hurt by Fire Spin!");
|
||||
HP_BAR(opponentLeft);
|
||||
MESSAGE("Foe Wynaut is hurt by Fire Spin!");
|
||||
|
||||
@ -123,8 +123,8 @@ DOUBLE_BATTLE_TEST("Sticky Web has correct interactions with Mirror Armor - the
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, BATTLER_PLAYER);
|
||||
MESSAGE("A sticky web spreads out on the ground around the opposing team!");
|
||||
|
||||
MESSAGE("Go! Corviknigh!");
|
||||
MESSAGE("Corviknigh was caught in a Sticky Web!");
|
||||
MESSAGE("Go! Corviknight!");
|
||||
MESSAGE("Corviknight was caught in a Sticky Web!");
|
||||
ABILITY_POPUP(playerRight, ABILITY_MIRROR_ARMOR);
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, BATTLER_OPPONENT);
|
||||
if (opponentSetUpper == 0) {
|
||||
@ -170,8 +170,8 @@ DOUBLE_BATTLE_TEST("Sticky Web has correct interactions with Mirror Armor - no o
|
||||
MESSAGE("A sticky web spreads out on the ground around the opposing team!");
|
||||
}
|
||||
|
||||
MESSAGE("Go! Corviknigh!");
|
||||
MESSAGE("Corviknigh was caught in a Sticky Web!");
|
||||
MESSAGE("Go! Corviknight!");
|
||||
MESSAGE("Corviknight was caught in a Sticky Web!");
|
||||
ABILITY_POPUP(playerRight, ABILITY_MIRROR_ARMOR);
|
||||
NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft);
|
||||
} THEN {
|
||||
@ -219,8 +219,8 @@ DOUBLE_BATTLE_TEST("Sticky Web has correct interactions with Mirror Armor - no o
|
||||
MESSAGE("2 sent out Pidgey!");
|
||||
}
|
||||
|
||||
MESSAGE("Go! Corviknigh!");
|
||||
MESSAGE("Corviknigh was caught in a Sticky Web!");
|
||||
MESSAGE("Go! Corviknight!");
|
||||
MESSAGE("Corviknight was caught in a Sticky Web!");
|
||||
ABILITY_POPUP(playerRight, ABILITY_MIRROR_ARMOR);
|
||||
NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft);
|
||||
} THEN {
|
||||
|
||||
94
test/text.c
94
test/text.c
@ -269,3 +269,97 @@ TEST("Item names fit on Shop Screen")
|
||||
}
|
||||
EXPECT_LE(GetStringWidth(fontId, gItemsInfo[item].name, 0), widthPx);
|
||||
}
|
||||
|
||||
TEST("Species names fit on Battle Screen HP box")
|
||||
{
|
||||
u32 i, genderWidthPx;
|
||||
const u32 fontId = FONT_SMALL_NARROWER, widthPx = 54;
|
||||
u32 species = SPECIES_NONE;
|
||||
genderWidthPx = GetStringWidth(fontId, COMPOUND_STRING("♂"), 0);
|
||||
for (i = 1; i < NUM_SPECIES; i++)
|
||||
{
|
||||
if (IsSpeciesEnabled(i))
|
||||
{
|
||||
PARAMETRIZE_LABEL("%S", gSpeciesInfo[i].speciesName) { species = i; }
|
||||
}
|
||||
}
|
||||
if (gSpeciesInfo[i].genderRatio != MON_GENDERLESS)
|
||||
EXPECT_LE(GetStringWidth(fontId, gSpeciesInfo[species].speciesName, 0) - genderWidthPx, widthPx);
|
||||
else
|
||||
EXPECT_LE(GetStringWidth(fontId, gSpeciesInfo[species].speciesName, 0), widthPx);
|
||||
}
|
||||
|
||||
TEST("Species names fit on Party Screen")
|
||||
{
|
||||
u32 i;
|
||||
const u32 fontId = FONT_SMALL_NARROWER, widthPx = 50;
|
||||
u32 species = SPECIES_NONE;
|
||||
for (i = 1; i < NUM_SPECIES; i++)
|
||||
{
|
||||
if (IsSpeciesEnabled(i))
|
||||
{
|
||||
PARAMETRIZE_LABEL("%S", gSpeciesInfo[i].speciesName) { species = i; }
|
||||
}
|
||||
}
|
||||
EXPECT_LE(GetStringWidth(fontId, gSpeciesInfo[species].speciesName, 0), widthPx);
|
||||
}
|
||||
|
||||
TEST("Species names fit on Pokemon Summary Screen")
|
||||
{
|
||||
u32 i;
|
||||
const u32 fontId = FONT_NARROWER, widthPx = 63;
|
||||
u32 species = SPECIES_NONE;
|
||||
for (i = 1; i < NUM_SPECIES; i++)
|
||||
{
|
||||
if (IsSpeciesEnabled(i))
|
||||
{
|
||||
PARAMETRIZE_LABEL("%S", gSpeciesInfo[i].speciesName) { species = i; }
|
||||
}
|
||||
}
|
||||
EXPECT_LE(GetStringWidth(fontId, gSpeciesInfo[species].speciesName, 0), widthPx);
|
||||
}
|
||||
|
||||
TEST("Species names fit on Pokedex Screen")
|
||||
{
|
||||
u32 i;
|
||||
const u32 fontId = FONT_NARROWER, widthPx = 50;
|
||||
u32 species = SPECIES_NONE;
|
||||
for (i = 1; i < NUM_SPECIES; i++)
|
||||
{
|
||||
if (IsSpeciesEnabled(i))
|
||||
{
|
||||
PARAMETRIZE_LABEL("%S", gSpeciesInfo[i].speciesName) { species = i; }
|
||||
}
|
||||
}
|
||||
EXPECT_LE(GetStringWidth(fontId, gSpeciesInfo[species].speciesName, 0), widthPx);
|
||||
}
|
||||
|
||||
TEST("Species names fit on Pokemon Storage System")
|
||||
{
|
||||
u32 i;
|
||||
u32 species = SPECIES_NONE;
|
||||
for (i = 1; i < NUM_SPECIES; i++)
|
||||
{
|
||||
if (IsSpeciesEnabled(i))
|
||||
{
|
||||
PARAMETRIZE_LABEL("%S", gSpeciesInfo[i].speciesName) { species = i; }
|
||||
}
|
||||
}
|
||||
EXPECT_LE(GetStringWidth(FONT_NARROWER, gSpeciesInfo[species].speciesName, 0), 66);
|
||||
EXPECT_LE(GetStringWidth(FONT_SHORT_NARROW, gSpeciesInfo[species].speciesName, 0), 60);
|
||||
}
|
||||
|
||||
TEST("Species names fit on Contest Screen")
|
||||
{
|
||||
u32 i;
|
||||
const u32 fontId = FONT_NARROWER, widthPx = 50;
|
||||
u32 species = SPECIES_NONE;
|
||||
for (i = 1; i < NUM_SPECIES; i++)
|
||||
{
|
||||
if (IsSpeciesEnabled(i))
|
||||
{
|
||||
PARAMETRIZE_LABEL("%S", gSpeciesInfo[i].speciesName) { species = i; }
|
||||
}
|
||||
}
|
||||
EXPECT_LE(GetStringWidth(fontId, gSpeciesInfo[species].speciesName, 0), widthPx);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user