diff --git a/charmap.txt b/charmap.txt index 872e9f76e4..4c9f2e0497 100644 --- a/charmap.txt +++ b/charmap.txt @@ -61,13 +61,6 @@ UP_ARROW = 79 DOWN_ARROW = 7A LEFT_ARROW = 7B RIGHT_ARROW = 7C -@ Case-fixing/unfixing chars -@ These are 1-2 pixel spaces in vanilla. -@ 7D collides with 'ヲ' in JP, -@ but that kana is practically unused in JP text. -FIXED_CASE = 7D -UNFIX_CASE = 7E - SUPER_E = 84 '<' = 85 '>' = 86 @@ -354,10 +347,6 @@ ARCHIE = FD 0A MAXIE = FD 0B KYOGRE = FD 0C GROUDON = FD 0D -@ Like STR_VAR_X, but prepends CHAR_FIXED_CASE -STR_VAR_1_FIXED = FD 82 -STR_VAR_2_FIXED = FD 83 -STR_VAR_3_FIXED = FD 84 @ battle string placeholders diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 23697e38ad..e162989ac3 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1879,8 +1879,8 @@ Move_LAST_RESORT: waitforvisualfinish createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, ANIM_ATTACKER, 0 createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, ANIM_TARGET, 0 - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 0, 4, 0, 12, 1 - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 createsprite gSimplePaletteBlendSpriteTemplate, 2, 5, 1, 2, 16, 0, RGB_WHITE waitforvisualfinish createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, ANIM_ATTACKER, 1 @@ -2363,7 +2363,7 @@ Move_AQUA_TAIL: createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 1, -12, 10, 0, 3 createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 0, 5 delay 3 - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 0, 3, 6, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 0, 3, 6, 1 delay 5 createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 1, 0, 6 delay 10 @@ -2680,7 +2680,7 @@ Move_BRAVE_BIRD: Move_EARTH_POWER: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_FIRE_PLUME - createvisualtask AnimTask_HorizontalShake, 3, ANIM_PLAYER_RIGHT, 10, 50 + createvisualtask AnimTask_HorizontalShake, 3, ANIM_DEF_PARTNER, 10, 50 createvisualtask AnimTask_HorizontalShake, 3, ANIM_TARGET, 10, 50 playsewithpan SE_M_EARTHQUAKE, SOUND_PAN_TARGET delay 40 @@ -2768,7 +2768,7 @@ GigaImpactContinuity: delay 1 createsprite gSlideMonToOffsetSpriteTemplate 2, 5, 1, -16, 0, 0, 4 waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 waitforvisualfinish delay 2 createsprite gSlideMonToOriginalPosSpriteTemplate 2, 3, 0, 0, 5 @@ -3201,7 +3201,7 @@ Move_ZEN_HEADBUTT: delay 2 createsprite gBowMonSpriteTemplate, 2, 1, 1 waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 0, 2, 0, 4, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gBowMonSpriteTemplate, 2, 1, 2 createsprite gAquaTailHitSpriteTemplate, 131, 4, 0, 0, 1, 1 @@ -3310,7 +3310,7 @@ Move_ROCK_CLIMB: createsprite gBasicHitSplatSpriteTemplate, 131, 4, 5, -52, 1, 1 createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 1, -25, 16, 1, 4 delay 4 - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 0, 3, 6, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 0, 3, 6, 1 delay 30 createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 0, 6 delay 4 @@ -3939,8 +3939,8 @@ Move_STONE_EDGE: delay 2 createsprite gBasicHitSplatSpriteTemplate, 131, 4, -32, -16, 1, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 3, 0, 12, 1 - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 3, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_DEF_PARTNER, 3, 0, 12, 1 delay 4 createsprite gRandomPosHitSplatSpriteTemplate, 131, 2, 1, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET @@ -4322,8 +4322,8 @@ Move_ATTACK_ORDER: waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate 131, 4, -32, -16, 1, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 3, 0, 12, 1 - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 delay 4 createsprite gRandomPosHitSplatSpriteTemplate 131, 2, 1, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET @@ -13070,7 +13070,7 @@ Move_SUNSTEEL_STRIKE:: setalpha 12, 8 playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_TARGET createsprite gSunsteelStrikeBlackFlyBallTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0xd, 0x150 - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 1, 26 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_ATK_PARTNER, 1, 20 delay 0x18 createsprite gSunsteelStrikeRocksTemplate, ANIM_ATTACKER, 2, 0x0, 0x0 @The rock particles mess up the fly animation createsprite gSunsteelStrikeRocksTemplate, ANIM_ATTACKER, 2, 0x0, 0x1 @@ -16176,7 +16176,7 @@ Move_CHLOROBLAST:: delay 0x10 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 74, 1 createsoundtask SoundTask_LoopSEAdjustPanning, 0xf0, 0xFF00 | SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x1, 0x17, 0x0, 0x5 - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 1, 67 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_ATTACKER, 1, 67 call ChloroblastShot call ChloroblastShot call ChloroblastShot diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 7887a0da85..ddbd8ec62b 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7055,6 +7055,13 @@ BattleScript_CudChewActivates:: setbyte sBERRY_OVERRIDE, 0 end3 +BattleScript_ApplyDisguiseFormChangeHPLoss:: +.if B_DISGUISE_HP_LOSS >= GEN_8 + healthbarupdate BS_SCRIPTING + datahpupdate BS_SCRIPTING +.endif + return + BattleScript_TargetFormChangeNoPopup: flushtextbox handleformchange BS_SCRIPTING, 0 @@ -7062,10 +7069,7 @@ BattleScript_TargetFormChangeNoPopup: playanimation BS_TARGET, B_ANIM_FORM_CHANGE waitanimation handleformchange BS_SCRIPTING, 2 -.if B_DISGUISE_HP_LOSS >= GEN_8 - healthbarupdate BS_SCRIPTING - datahpupdate BS_SCRIPTING -.endif + jumpifability BS_TARGET, ABILITY_DISGUISE, BattleScript_ApplyDisguiseFormChangeHPLoss return BattleScript_TargetFormChange:: diff --git a/data/text/pc_transfer.inc b/data/text/pc_transfer.inc index 01fe80a426..3fa255340b 100644 --- a/data/text/pc_transfer.inc +++ b/data/text/pc_transfer.inc @@ -1,11 +1,11 @@ gText_PkmnTransferredSomeonesPC:: - .string "{STR_VAR_2_FIXED} was transferred to\n" + .string "{STR_VAR_2} was transferred to\n" .string "SOMEONE'S PC.\p" .string "It was placed in \n" .string "BOX “{STR_VAR_1}.”$" gText_PkmnTransferredLanettesPC:: - .string "{STR_VAR_2_FIXED} was transferred to\n" + .string "{STR_VAR_2} was transferred to\n" .string "LANETTE'S PC.\p" .string "It was placed in \n" .string "BOX “{STR_VAR_1}.”$" @@ -13,13 +13,13 @@ gText_PkmnTransferredLanettesPC:: gText_PkmnTransferredSomeonesPCBoxFull:: .string "BOX “{STR_VAR_3}” on\n" .string "SOMEONE'S PC was full.\p" - .string "{STR_VAR_2_FIXED} was transferred to\n" + .string "{STR_VAR_2} was transferred to\n" .string "BOX “{STR_VAR_1}.”$" gText_PkmnTransferredLanettesPCBoxFull:: .string "BOX “{STR_VAR_3}” on\n" .string "LANETTE'S PC was full.\p" - .string "{STR_VAR_2_FIXED} was transferred to\n" + .string "{STR_VAR_2} was transferred to\n" .string "BOX “{STR_VAR_1}.”$" gText_NoMoreRoomForPokemon:: diff --git a/data/text/save.inc b/data/text/save.inc index 4c16fd2fe6..4d17327c9b 100644 --- a/data/text/save.inc +++ b/data/text/save.inc @@ -7,14 +7,14 @@ gText_AlreadySavedFile:: .string "Is it okay to overwrite it?$" gText_SavingDontTurnOff:: - .fixstr "SAVING…\n" + .string "SAVING…\n" .string "DON'T TURN OFF THE POWER.$" gText_PlayerSavedGame:: .string "{PLAYER} saved the game.$" gText_DifferentSaveFile:: - .string "{FIXED_CASE}WARNING!{UNFIX_CASE}\p" + .string "WARNING!\p" .string "There is a different game file that\n" .string "is already saved.\p" .string "If you save now, the other file's\n" @@ -29,5 +29,5 @@ gText_SaveError:: .string "backup memory.$" gText_SavingDontTurnOffPower:: - .fixstr "SAVING…\n" + .string "SAVING…\n" .string "DON'T TURN OFF THE POWER.$" diff --git a/gflib/characters.h b/gflib/characters.h index 3b00fa1eea..8ed440e63a 100644 --- a/gflib/characters.h +++ b/gflib/characters.h @@ -77,9 +77,6 @@ #define CHAR_DOWN_ARROW 0x7A #define CHAR_LEFT_ARROW 0x7B #define CHAR_RIGHT_ARROW 0x7C -// Case-fixing characters -#define CHAR_FIXED_CASE 0x7D -#define CHAR_UNFIX_CASE 0x7E // #define CHAR_SUPER_E 0x84 #define CHAR_LESS_THAN 0x85 @@ -265,10 +262,6 @@ #define PLACEHOLDER_ID_MAXIE 0xB #define PLACEHOLDER_ID_KYOGRE 0xC #define PLACEHOLDER_ID_GROUDON 0xD -// Fixed-case placeholders -// These behave the same as their (id & 0x7F), -// but prepend CHAR_FIXED_CASE -#define PLACEHOLDER_FIXED_MASK 0x80 // battle placeholders are located in battle_message.h diff --git a/gflib/string_util.c b/gflib/string_util.c index 6720299a82..0fde2cb861 100644 --- a/gflib/string_util.c +++ b/gflib/string_util.c @@ -26,29 +26,11 @@ static const s32 sPowersOfTen[] = 1000000000, }; -// Tries to determine whether `str` is safe to prepend a ctrl char to -// gStringVarX are always safe, as well as stack allocated IWRAM -// (if `length mod 4` is 1 or 2) -bool32 IsStringAddrSafe(u8 *str, u32 length) -{ - if (((u32)str) >> 24 == 3) - return (str >= gStackBase && (length & 3) && (length & 3) <= 2); - return (str >= gStringVar1 && str < sUnknownStringVar); -} - u8 *StringCopy_Nickname(u8 *dest, const u8 *src) { - u32 i; + u8 i; u32 limit = POKEMON_NAME_LENGTH; - if (DECAP_ENABLED && !DECAP_NICKNAMES) - { - if (IsStringAddrSafe(dest, limit) && *src != CHAR_FIXED_CASE) - *dest++ = CHAR_FIXED_CASE; - else if (*src == CHAR_FIXED_CASE) - *dest++ = *src++; - } - for (i = 0; i < limit; i++) { dest[i] = src[i]; @@ -66,9 +48,6 @@ u8 *StringGet_Nickname(u8 *str) u32 i; u32 limit = POKEMON_NAME_LENGTH; - if (DECAP_ENABLED && !DECAP_NICKNAMES && *str == CHAR_FIXED_CASE) - str++; - for (i = 0; i < limit; i++) if (str[i] == EOS) return &str[i]; @@ -82,9 +61,6 @@ u8 *StringCopy_PlayerName(u8 *dest, const u8 *src) s32 i; s32 limit = PLAYER_NAME_LENGTH; - if (DECAP_ENABLED && !DECAP_NICKNAMES && IsStringAddrSafe(dest, limit) && *src != CHAR_FIXED_CASE) - *dest++ = CHAR_FIXED_CASE; - for (i = 0; i < limit; i++) { dest[i] = src[i]; @@ -99,10 +75,6 @@ u8 *StringCopy_PlayerName(u8 *dest, const u8 *src) u8 *StringCopy(u8 *dest, const u8 *src) { - // If `src` is mirrored, prepend fixed-case char - if (DECAP_ENABLED && DECAP_MIRRORING && IsMirrorPtr(src) && *src != CHAR_FIXED_CASE) - *dest++ = CHAR_FIXED_CASE; - while (*src != EOS) { *dest = *src; @@ -152,14 +124,6 @@ u16 StringLength(const u8 *str) s32 StringCompare(const u8 *str1, const u8 *str2) { - // Ignore leading fixed-case char - if (DECAP_ENABLED) - { - if (*str1 == CHAR_FIXED_CASE) - str1++; - if (*str2 == CHAR_FIXED_CASE) - str2++; - } while (*str1 == *str2) { if (*str1 == EOS) @@ -173,14 +137,6 @@ s32 StringCompare(const u8 *str1, const u8 *str2) s32 StringCompareN(const u8 *str1, const u8 *str2, u32 n) { - // Ignore leading fixed-case char - if (DECAP_ENABLED) - { - if (*str1 == CHAR_FIXED_CASE) - str1++; - if (*str2 == CHAR_FIXED_CASE) - str2++; - } while (*str1 == *str2) { if (*str1 == EOS) @@ -379,7 +335,6 @@ u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 u8 *StringExpandPlaceholders(u8 *dest, const u8 *src) { - bool32 fixedCase = FALSE; for (;;) { u8 c = *src++; @@ -390,20 +345,7 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src) { case PLACEHOLDER_BEGIN: placeholderId = *src++; - if (DECAP_ENABLED) - { - // Handle fixed-case versions of placeholders - if (!fixedCase && (placeholderId & PLACEHOLDER_FIXED_MASK || placeholderId == PLACEHOLDER_ID_PLAYER)) - { - *dest++ = CHAR_FIXED_CASE; - expandedString = GetExpandedPlaceholder(placeholderId & ~PLACEHOLDER_FIXED_MASK); - dest = StringExpandPlaceholders(dest, expandedString); - *dest++ = CHAR_UNFIX_CASE; - *dest = EOS; - break; - } - } - expandedString = GetExpandedPlaceholder(placeholderId & ~PLACEHOLDER_FIXED_MASK); + expandedString = GetExpandedPlaceholder(placeholderId); dest = StringExpandPlaceholders(dest, expandedString); break; case EXT_CTRL_CODE_BEGIN: @@ -430,19 +372,8 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src) } break; case EOS: - if (DECAP_ENABLED && fixedCase) - *dest++ = CHAR_UNFIX_CASE; *dest = EOS; return dest; - #if DECAP_ENABLED - case CHAR_UNFIX_CASE: - fixedCase = FALSE; - *dest++ = c; - break; - case CHAR_FIXED_CASE: - fixedCase = TRUE; - // fallthrough - #endif case CHAR_PROMPT_SCROLL: case CHAR_PROMPT_CLEAR: case CHAR_NEWLINE: @@ -769,9 +700,6 @@ static const u8 *SkipExtCtrlCode(const u8 *s) s += GetExtCtrlCodeLength(*s); } - while (DECAP_ENABLED && (*s == CHAR_FIXED_CASE || *s == CHAR_UNFIX_CASE)) - s++; - return s; } diff --git a/gflib/string_util.h b/gflib/string_util.h index 75d2ada0a3..9e5dfffd57 100644 --- a/gflib/string_util.h +++ b/gflib/string_util.h @@ -13,7 +13,6 @@ enum StringConvertMode STR_CONV_MODE_LEADING_ZEROS }; -bool32 IsStringAddrSafe(u8 *ptr, u32 length); u8 *StringCopy_Nickname(u8 *dest, const u8 *src); u8 *StringGet_Nickname(u8 *str); u8 *StringCopy_PlayerName(u8 *dest, const u8 *src); diff --git a/gflib/text.c b/gflib/text.c index c4ed5f4dbe..b763429e3e 100644 --- a/gflib/text.c +++ b/gflib/text.c @@ -286,35 +286,6 @@ static void SetFontsPointer(const struct FontInfo *fonts) gFonts = fonts; } -// Any ROM address must have bit 27 set (0x8000000) -// so this is used to check if a pointer points to ROM -#define IS_ROM_PTR(ptr) (((u32)ptr) >> 27) - -void * MirrorPtr(const void *ptr) -{ - if (IS_ROM_PTR(ptr)) // ROM - return ROM_MIRROR_PTR(ptr); - else // RAM - return RAM_MIRROR_PTR(ptr); -} - -void * UnmirrorPtr(const void *ptr) -{ - u32 value = (u32) ptr; - if (IS_ROM_PTR(ptr)) // ROM - return (void*)(value & ~ROM_MIRROR_MASK); - else // RAM - return (void*)(value & ~RAM_MIRROR_MASK); -} - -bool32 IsMirrorPtr(const void *ptr) -{ - if (IS_ROM_PTR(ptr)) - return ((u32)ptr) & ROM_MIRROR_MASK; - else - return ((u32)ptr) & RAM_MIRROR_MASK; -} - void DeactivateAllTextPrinters(void) { int printer; @@ -342,11 +313,6 @@ u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 return AddTextPrinter(&printerTemplate, speed, callback); } -u16 AddTextPrinterFixedCaseParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)) -{ - return AddTextPrinterParameterized(windowId, fontId, MirrorPtr(str), x, y, speed, callback); -} - bool32 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)) { int i; @@ -360,16 +326,6 @@ bool32 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, voi sTempTextPrinter.textSpeed = speed; sTempTextPrinter.delayCounter = 0; sTempTextPrinter.scrollDistance = 0; - if (DECAP_ENABLED) - { - // string address is mirrored; treat it as a fixed-case string - // Technically, unmirroring isn't necessary; - // but older emulators may not support mirroring - // printerTemplate->currentChar = UnmirrorPtr(printerTemplate->currentChar); - if (DECAP_MIRRORING && IsMirrorPtr(printerTemplate->currentChar)) - sTempTextPrinter.lastChar = CHAR_FIXED_CASE; - sTempTextPrinter.lastChar = 0; - } for (i = 0; i < (int)ARRAY_COUNT(sTempTextPrinter.subStructFields); i++) sTempTextPrinter.subStructFields[i] = 0; @@ -1056,30 +1012,10 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool32 drawArrow, u8 * } } -// if table[char] & 0xFF == 0, character is not uppercase -const u16 gLowercaseDiffTable[] = { - // English - [CHAR_SPACE] = 0, - [CHAR_SPACER] = 0, - [CHAR_A ... CHAR_Z] = CHAR_a - CHAR_A, - // é treated as uppercase so POKéDEX, POKéMON, etc. decapped - [CHAR_e_ACUTE] = 0 | MARK_UPPER_FLAG, - [CHAR_SGL_QUOTE_RIGHT] = 0 | MARK_UPPER_FLAG, - // International - [CHAR_A_GRAVE ... CHAR_A_ACUTE] = CHAR_a_GRAVE - CHAR_A_GRAVE, - [CHAR_A_CIRCUMFLEX] = CHAR_a_CIRCUMFLEX, - [CHAR_C_CEDILLA ... CHAR_I_GRAVE] = CHAR_c_CEDILLA - CHAR_C_CEDILLA, - [CHAR_I_ACUTE] = CHAR_i_ACUTE, - [CHAR_I_CIRCUMFLEX ... CHAR_N_TILDE] = CHAR_i_CIRCUMFLEX - CHAR_I_CIRCUMFLEX, - [CHAR_A_DIAERESIS ... CHAR_U_DIAERESIS] = CHAR_a_DIAERESIS - CHAR_A_DIAERESIS, - [EOS] = 0, -}; - static u16 RenderText(struct TextPrinter *textPrinter) { struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields); - u32 currChar; - u32 lastChar; + u16 currChar; s32 width; s32 widthHelper; @@ -1107,12 +1043,6 @@ static u16 RenderText(struct TextPrinter *textPrinter) currChar = *textPrinter->printerTemplate.currentChar; textPrinter->printerTemplate.currentChar++; - if (DECAP_ENABLED) - { - lastChar = textPrinter->lastChar; - if (lastChar != CHAR_FIXED_CASE) - textPrinter->lastChar = currChar; - } switch (currChar) { @@ -1268,47 +1198,7 @@ static u16 RenderText(struct TextPrinter *textPrinter) textPrinter->printerTemplate.currentX += gCurGlyph.width + textPrinter->printerTemplate.letterSpacing; return RENDER_PRINT; case EOS: - if (DECAP_ENABLED) - // Clear fixed case - textPrinter->lastChar = currChar; return RENDER_FINISH; - #if DECAP_ENABLED - // Disable/enable decapitalization - // In vanilla these are 1-2 pixel spaces - case CHAR_FIXED_CASE: - case CHAR_UNFIX_CASE: - textPrinter->lastChar = currChar; - if (!textPrinter->japanese) - return RENDER_REPEAT; - break; - // common decap exceptions - case CHAR_V: - if (lastChar == CHAR_T) // TV - lastChar = 0; - break; - case CHAR_M: - if (lastChar == CHAR_T) { // TM - lastChar = 0; - break; - } - case CHAR_P: - if (lastChar == CHAR_H) { // HP, HM - lastChar = 0; - break; - } - case CHAR_C: - if (lastChar == CHAR_P) // PC, PP, PM - lastChar = 0; - break; - #endif - } - - // If not Japanese or fixed case, try to decap - if (DECAP_ENABLED && !textPrinter->japanese && lastChar != CHAR_FIXED_CASE) - { - // Two consecutive uppercase chars; lowercase this one - if (IS_UPPER(currChar) && IS_UPPER(lastChar)) - currChar = TO_LOWER(currChar); } switch (subStruct->fontId) diff --git a/gflib/text.h b/gflib/text.h index 0b12edc363..fc457e5a00 100644 --- a/gflib/text.h +++ b/gflib/text.h @@ -7,14 +7,6 @@ // loaded at once but not copied to vram yet. #define TEXT_SKIP_DRAW 0xFF -// See include/config/decap.h for decap configuration -#if DECAP_MIRRORING -#define ROM_MIRROR_MASK (0x02000000) -#define RAM_MIRROR_MASK (0x00800000) -#define ROM_MIRROR_PTR(x) ((void*)(((u32)(x)) | ROM_MIRROR_MASK)) -#define RAM_MIRROR_PTR(x) ((void*)(((u32)(x)) | RAM_MIRROR_MASK)) -#endif - enum { FONT_SMALL, FONT_NORMAL, @@ -103,7 +95,6 @@ struct TextPrinter u8 scrollDistance; u8 minLetterSpacing; // 0x20 u8 japanese; - u8 lastChar; // used to determine whether to decap strings }; struct FontInfo @@ -147,19 +138,6 @@ extern TextFlags gTextFlags; extern u8 gDisableTextPrinters; extern struct TextGlyph gCurGlyph; -extern const u16 gLowercaseDiffTable[]; -// in gLowercaseDiffTable, 0x100 represents a character treated as uppercase, -// but that maps to itself; only the lower 8 bits are used for mapping -#define MARK_UPPER_FLAG 0x100 -#define LOWERCASE_DIFF_MASK 0xFF -#define IS_UPPER(x) (gLowercaseDiffTable[(x) & LOWERCASE_DIFF_MASK]) -#define TO_LOWER(x) (((x) + gLowercaseDiffTable[(x)]) & LOWERCASE_DIFF_MASK) - -void * UnmirrorPtr(const void * ptr); -void * MirrorPtr(const void * ptr); -bool32 IsMirrorPtr(const void *ptr); -u16 AddTextPrinterFixedCaseParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); - void DeactivateAllTextPrinters(void); u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); bool32 AddTextPrinter(struct TextPrinterTemplate *template, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); diff --git a/graphics/pokemon/arctibax/back.png b/graphics/pokemon/arctibax/back.png index ff061dece4..2e4bdd3fa3 100644 Binary files a/graphics/pokemon/arctibax/back.png and b/graphics/pokemon/arctibax/back.png differ diff --git a/graphics/pokemon/arctibax/front.png b/graphics/pokemon/arctibax/front.png index 6b1350e892..0446c45e6b 100644 Binary files a/graphics/pokemon/arctibax/front.png and b/graphics/pokemon/arctibax/front.png differ diff --git a/graphics/pokemon/arctibax/normal.pal b/graphics/pokemon/arctibax/normal.pal index 0a9a427117..bc4e1a44d4 100644 --- a/graphics/pokemon/arctibax/normal.pal +++ b/graphics/pokemon/arctibax/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -92 131 133 -65 69 90 -188 239 248 -91 111 138 -125 166 166 -102 149 227 -15 15 15 +153 211 165 +92 58 23 +46 53 87 +55 59 92 +40 70 110 +90 96 124 +222 160 46 +242 218 64 +82 100 140 +87 137 173 +120 152 199 +16 16 16 +174 202 230 +166 232 247 +235 253 255 0 0 0 -255 209 74 -218 145 35 -75 122 154 -58 99 126 -100 54 32 -244 125 47 -168 96 47 diff --git a/graphics/pokemon/arctibax/shiny.pal b/graphics/pokemon/arctibax/shiny.pal index 0c46ae6982..aba7fa11e6 100644 --- a/graphics/pokemon/arctibax/shiny.pal +++ b/graphics/pokemon/arctibax/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -74 168 123 -65 69 90 -227 255 253 -78 133 139 -140 221 192 -134 249 249 -15 15 15 +153 211 165 +100 46 105 +29 66 79 +30 52 61 +40 70 110 +63 97 102 +210 129 206 +242 218 64 +65 127 140 +87 137 173 +93 188 201 +16 16 16 +147 237 231 +166 232 247 +235 253 255 0 0 0 -255 209 74 -218 145 35 -67 194 175 -63 152 138 -137 39 73 -252 142 179 -201 100 144 diff --git a/graphics/pokemon/arctovish/icon.png b/graphics/pokemon/arctovish/icon.png index 2160612295..6fd2679954 100644 Binary files a/graphics/pokemon/arctovish/icon.png and b/graphics/pokemon/arctovish/icon.png differ diff --git a/graphics/pokemon/arctozolt/icon.png b/graphics/pokemon/arctozolt/icon.png index 73dbd1e67e..c726338559 100644 Binary files a/graphics/pokemon/arctozolt/icon.png and b/graphics/pokemon/arctozolt/icon.png differ diff --git a/graphics/pokemon/arrokuda/icon.png b/graphics/pokemon/arrokuda/icon.png index f724cc3579..c3014982a8 100644 Binary files a/graphics/pokemon/arrokuda/icon.png and b/graphics/pokemon/arrokuda/icon.png differ diff --git a/graphics/pokemon/barraskewda/icon.png b/graphics/pokemon/barraskewda/icon.png index c0aed5b3dc..0e4e88736c 100644 Binary files a/graphics/pokemon/barraskewda/icon.png and b/graphics/pokemon/barraskewda/icon.png differ diff --git a/graphics/pokemon/calyrex/ice_rider/icon.png b/graphics/pokemon/calyrex/ice_rider/icon.png index 33a9879200..f4471aedbc 100644 Binary files a/graphics/pokemon/calyrex/ice_rider/icon.png and b/graphics/pokemon/calyrex/ice_rider/icon.png differ diff --git a/graphics/pokemon/calyrex/icon.png b/graphics/pokemon/calyrex/icon.png index d0a835fe09..b90ca68e36 100644 Binary files a/graphics/pokemon/calyrex/icon.png and b/graphics/pokemon/calyrex/icon.png differ diff --git a/graphics/pokemon/calyrex/shadow_rider/icon.png b/graphics/pokemon/calyrex/shadow_rider/icon.png index e1747ccc62..593b7192e2 100644 Binary files a/graphics/pokemon/calyrex/shadow_rider/icon.png and b/graphics/pokemon/calyrex/shadow_rider/icon.png differ diff --git a/graphics/pokemon/darmanitan/zen_mode/galarian/icon.png b/graphics/pokemon/darmanitan/zen_mode/galarian/icon.png index f09b978ea3..accf72697a 100644 Binary files a/graphics/pokemon/darmanitan/zen_mode/galarian/icon.png and b/graphics/pokemon/darmanitan/zen_mode/galarian/icon.png differ diff --git a/graphics/pokemon/decidueye/hisuian/back.png b/graphics/pokemon/decidueye/hisuian/back.png index e977f88e25..615ced4d1f 100755 Binary files a/graphics/pokemon/decidueye/hisuian/back.png and b/graphics/pokemon/decidueye/hisuian/back.png differ diff --git a/graphics/pokemon/decidueye/hisuian/front.png b/graphics/pokemon/decidueye/hisuian/front.png index f3c4d93af1..712ba3bb58 100755 Binary files a/graphics/pokemon/decidueye/hisuian/front.png and b/graphics/pokemon/decidueye/hisuian/front.png differ diff --git a/graphics/pokemon/decidueye/hisuian/normal.pal b/graphics/pokemon/decidueye/hisuian/normal.pal index a5a61bafe0..760678cb59 100755 --- a/graphics/pokemon/decidueye/hisuian/normal.pal +++ b/graphics/pokemon/decidueye/hisuian/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 213 164 -115 106 106 +153 211 165 +52 34 22 +45 46 51 +105 31 40 +90 60 39 +75 77 90 +113 111 108 +149 34 43 +206 55 47 +154 105 56 +189 105 43 +238 154 62 +197 158 85 +190 190 185 16 16 16 -238 238 238 -189 189 189 -238 156 57 -65 41 32 -106 24 41 -189 106 41 -205 49 41 -148 32 41 -41 41 49 -213 148 98 -74 74 90 -172 106 74 -115 65 57 +236 236 234 diff --git a/graphics/pokemon/decidueye/hisuian/shiny.pal b/graphics/pokemon/decidueye/hisuian/shiny.pal index 5dd5e9e8f6..06c0cae629 100755 --- a/graphics/pokemon/decidueye/hisuian/shiny.pal +++ b/graphics/pokemon/decidueye/hisuian/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 213 164 -115 106 106 +153 211 165 +35 31 24 +45 46 51 +30 55 41 +66 58 47 +75 77 90 +113 111 108 +48 90 68 +69 129 97 +97 86 69 +176 51 15 +251 92 50 +125 111 90 +190 190 185 16 16 16 -238 238 238 -189 189 189 -238 82 57 -65 41 32 -16 57 41 -172 41 41 -32 131 98 -24 90 65 -41 41 49 -172 139 106 -74 74 90 -131 106 90 -90 65 57 +236 236 234 diff --git a/graphics/pokemon/dialga/origin/back.png b/graphics/pokemon/dialga/origin/back.png index a9867f0bd8..a0b4e0839f 100644 Binary files a/graphics/pokemon/dialga/origin/back.png and b/graphics/pokemon/dialga/origin/back.png differ diff --git a/graphics/pokemon/dialga/origin/front.png b/graphics/pokemon/dialga/origin/front.png index 7e7c7aabb7..a41eca7749 100644 Binary files a/graphics/pokemon/dialga/origin/front.png and b/graphics/pokemon/dialga/origin/front.png differ diff --git a/graphics/pokemon/dialga/origin/normal.pal b/graphics/pokemon/dialga/origin/normal.pal index e7f93264bb..94d3f8387e 100644 --- a/graphics/pokemon/dialga/origin/normal.pal +++ b/graphics/pokemon/dialga/origin/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -96 160 192 -24 64 104 -152 208 240 -8 8 8 -24 88 144 -56 120 176 -64 72 80 -112 136 160 -88 128 168 -240 80 64 -64 128 248 -56 88 120 -64 112 152 -96 112 128 -0 0 0 +153 211 165 +24 66 107 +60 95 123 +68 74 87 +246 82 65 +24 90 148 +57 123 181 +70 117 155 +102 112 130 +91 129 174 +113 143 164 +99 165 198 +66 132 255 +16 16 16 +156 214 247 +0 46 84 diff --git a/graphics/pokemon/dialga/origin/shiny.pal b/graphics/pokemon/dialga/origin/shiny.pal index 274c103f5a..4aa63ce006 100644 --- a/graphics/pokemon/dialga/origin/shiny.pal +++ b/graphics/pokemon/dialga/origin/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -112 184 152 -8 104 120 -152 240 144 -8 8 8 -8 144 152 -24 200 200 -112 112 72 -184 200 168 -128 200 176 -240 80 64 -64 128 248 -80 136 112 -96 176 160 -152 168 112 -0 0 0 +153 211 165 +8 106 123 +82 139 119 +115 115 74 +246 82 65 +8 148 156 +24 205 205 +99 177 164 +156 172 115 +134 205 176 +189 205 172 +115 189 156 +66 132 255 +16 16 16 +156 246 148 +0 68 80 diff --git a/graphics/pokemon/dracovish/icon.png b/graphics/pokemon/dracovish/icon.png index f998dea501..4415600910 100644 Binary files a/graphics/pokemon/dracovish/icon.png and b/graphics/pokemon/dracovish/icon.png differ diff --git a/graphics/pokemon/dracozolt/icon.png b/graphics/pokemon/dracozolt/icon.png index 68c3fe7800..41db6baa5c 100644 Binary files a/graphics/pokemon/dracozolt/icon.png and b/graphics/pokemon/dracozolt/icon.png differ diff --git a/graphics/pokemon/gholdengo/back.png b/graphics/pokemon/gholdengo/back.png index 7968235e2e..b898e6855f 100644 Binary files a/graphics/pokemon/gholdengo/back.png and b/graphics/pokemon/gholdengo/back.png differ diff --git a/graphics/pokemon/gholdengo/front.png b/graphics/pokemon/gholdengo/front.png index 410d23e6d0..28ff4cbb85 100644 Binary files a/graphics/pokemon/gholdengo/front.png and b/graphics/pokemon/gholdengo/front.png differ diff --git a/graphics/pokemon/gholdengo/normal.pal b/graphics/pokemon/gholdengo/normal.pal index cb9c6fdf7c..ba568f55af 100644 --- a/graphics/pokemon/gholdengo/normal.pal +++ b/graphics/pokemon/gholdengo/normal.pal @@ -1,15 +1,19 @@ JASC-PAL 0100 -12 -153 210 164 -112 92 40 -252 210 82 +16 +153 211 165 +89 31 20 +120 59 37 +102 38 53 +59 61 74 +143 55 33 +138 75 43 +190 92 46 +178 117 58 +245 135 61 +219 175 66 +255 227 74 +126 142 158 +16 16 16 +191 201 207 255 255 255 -207 129 60 -197 154 66 -0 0 0 -134 120 80 -37 37 45 -189 166 99 -66 73 74 -181 194 222 diff --git a/graphics/pokemon/gholdengo/shiny.pal b/graphics/pokemon/gholdengo/shiny.pal index 4823e4a57d..96d66e80ec 100644 --- a/graphics/pokemon/gholdengo/shiny.pal +++ b/graphics/pokemon/gholdengo/shiny.pal @@ -1,15 +1,19 @@ JASC-PAL 0100 -12 -153 210 164 -112 92 40 -252 210 82 +16 +153 211 165 +89 31 20 +120 59 37 +102 38 53 +59 61 74 +89 95 130 +138 75 43 +115 121 148 +178 117 58 +175 182 201 +219 175 66 +255 227 74 +126 142 158 +16 16 16 +191 201 207 255 255 255 -127 147 167 -197 154 66 -0 0 0 -134 120 80 -37 37 45 -189 166 99 -66 73 74 -181 194 222 diff --git a/graphics/pokemon/gimmighoul/back.png b/graphics/pokemon/gimmighoul/back.png index c6a6342407..1b996d71e4 100644 Binary files a/graphics/pokemon/gimmighoul/back.png and b/graphics/pokemon/gimmighoul/back.png differ diff --git a/graphics/pokemon/gimmighoul/front.png b/graphics/pokemon/gimmighoul/front.png index 19b1f7b252..75fc787e3e 100644 Binary files a/graphics/pokemon/gimmighoul/front.png and b/graphics/pokemon/gimmighoul/front.png differ diff --git a/graphics/pokemon/gimmighoul/normal.pal b/graphics/pokemon/gimmighoul/normal.pal index f3317456b1..66396330fa 100644 --- a/graphics/pokemon/gimmighoul/normal.pal +++ b/graphics/pokemon/gimmighoul/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -50 52 55 -138 98 57 -90 71 41 -84 91 107 -255 218 89 -221 193 38 -120 58 82 -15 15 15 -172 68 84 -173 147 56 -133 139 162 -194 198 202 -165 146 39 -133 139 163 -194 198 203 +153 211 165 +66 23 36 +71 53 35 +102 38 53 +117 93 56 +59 61 74 +86 107 125 +163 60 72 +173 144 73 +227 204 65 +100 113 128 +149 173 189 +16 16 16 +217 202 132 +156 176 194 +204 222 232 diff --git a/graphics/pokemon/gimmighoul/roaming/back.png b/graphics/pokemon/gimmighoul/roaming/back.png index ad90dc8a10..5c9ed8b58e 100644 Binary files a/graphics/pokemon/gimmighoul/roaming/back.png and b/graphics/pokemon/gimmighoul/roaming/back.png differ diff --git a/graphics/pokemon/gimmighoul/roaming/front.png b/graphics/pokemon/gimmighoul/roaming/front.png index c8f6f3a935..81ebb4897d 100644 Binary files a/graphics/pokemon/gimmighoul/roaming/front.png and b/graphics/pokemon/gimmighoul/roaming/front.png differ diff --git a/graphics/pokemon/gimmighoul/roaming/normal.pal b/graphics/pokemon/gimmighoul/roaming/normal.pal index 8c71fadd94..3cf9855118 100644 --- a/graphics/pokemon/gimmighoul/roaming/normal.pal +++ b/graphics/pokemon/gimmighoul/roaming/normal.pal @@ -1,16 +1,19 @@ JASC-PAL 0100 -13 -114 214 163 -0 214 160 -0 212 159 +16 +153 211 165 +71 53 35 +117 93 56 +59 61 74 +173 144 73 +227 204 65 +100 113 128 +16 16 16 +156 176 194 +204 222 232 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 0 0 0 -31 44 56 -132 153 195 -65 108 140 -199 229 248 -161 200 224 -255 197 0 -221 124 0 -255 160 0 -128 57 0 diff --git a/graphics/pokemon/gimmighoul/roaming/shiny.pal b/graphics/pokemon/gimmighoul/roaming/shiny.pal index 7ece225d51..8768489e9b 100644 --- a/graphics/pokemon/gimmighoul/roaming/shiny.pal +++ b/graphics/pokemon/gimmighoul/roaming/shiny.pal @@ -1,16 +1,19 @@ JASC-PAL 0100 -13 -114 214 163 -0 214 160 -0 212 159 +16 +153 211 165 +71 53 35 +117 93 56 +59 61 74 +173 144 73 +227 204 65 +138 149 166 +16 16 16 +209 219 227 +240 250 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 0 0 0 -31 44 56 -170 163 126 -135 131 102 -199 229 248 -228 209 183 -255 197 0 -221 124 0 -255 160 0 -128 57 0 diff --git a/graphics/pokemon/gimmighoul/shiny.pal b/graphics/pokemon/gimmighoul/shiny.pal index ac31efc409..8cd737941d 100644 --- a/graphics/pokemon/gimmighoul/shiny.pal +++ b/graphics/pokemon/gimmighoul/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -50 52 55 -138 98 57 -90 71 41 -84 91 107 -255 218 89 -221 193 38 -120 58 82 -15 15 15 -172 68 84 -173 147 56 -160 159 129 -210 205 183 -165 146 39 -133 139 163 -194 198 203 +153 211 165 +66 23 36 +71 53 35 +102 38 53 +117 93 56 +59 61 74 +86 107 125 +163 60 72 +173 144 73 +227 204 65 +138 149 166 +149 173 189 +16 16 16 +217 202 132 +209 219 227 +240 250 255 diff --git a/graphics/pokemon/glastrier/icon.png b/graphics/pokemon/glastrier/icon.png index 98bfdc8b45..fd32ad0db7 100644 Binary files a/graphics/pokemon/glastrier/icon.png and b/graphics/pokemon/glastrier/icon.png differ diff --git a/graphics/pokemon/greavard/back.png b/graphics/pokemon/greavard/back.png index 3fef905434..7bf30768bc 100755 Binary files a/graphics/pokemon/greavard/back.png and b/graphics/pokemon/greavard/back.png differ diff --git a/graphics/pokemon/greavard/front.png b/graphics/pokemon/greavard/front.png index 1fde607510..b7420d8cb5 100755 Binary files a/graphics/pokemon/greavard/front.png and b/graphics/pokemon/greavard/front.png differ diff --git a/graphics/pokemon/greavard/normal.pal b/graphics/pokemon/greavard/normal.pal index 566bd27604..d0c9da6ea5 100755 --- a/graphics/pokemon/greavard/normal.pal +++ b/graphics/pokemon/greavard/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -128 60 184 -176 104 232 -208 144 160 -248 212 40 +153 211 165 +90 46 53 +70 80 87 +102 113 127 +189 90 82 +255 213 45 +131 63 186 +183 106 234 +135 147 163 +158 165 179 +209 145 165 16 16 16 -96 112 120 -64 80 80 -248 252 248 -184 188 192 -144 132 152 -128 144 160 -176 196 208 -152 164 176 -88 44 48 -184 88 80 +190 188 197 +181 197 212 +252 252 252 +0 0 0 diff --git a/graphics/pokemon/greavard/shiny.pal b/graphics/pokemon/greavard/shiny.pal index 12044feff3..5770c51bff 100755 --- a/graphics/pokemon/greavard/shiny.pal +++ b/graphics/pokemon/greavard/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -128 60 184 -176 104 232 -208 144 160 -248 212 40 -16 16 16 -145 129 66 +153 211 165 +90 46 53 100 90 50 -209 213 211 -164 155 139 -144 132 152 +145 129 66 +189 90 82 +255 213 45 +131 63 186 +183 106 234 189 169 92 +164 155 139 +209 145 165 +16 16 16 +190 188 197 233 206 102 -152 164 176 -88 44 48 -184 88 80 +252 252 252 +0 0 0 diff --git a/graphics/pokemon/greedent/icon.png b/graphics/pokemon/greedent/icon.png index 8e37b04677..4500e6a84d 100644 Binary files a/graphics/pokemon/greedent/icon.png and b/graphics/pokemon/greedent/icon.png differ diff --git a/graphics/pokemon/houndstone/back.png b/graphics/pokemon/houndstone/back.png index c2ed542d6a..de5bc36939 100644 Binary files a/graphics/pokemon/houndstone/back.png and b/graphics/pokemon/houndstone/back.png differ diff --git a/graphics/pokemon/houndstone/front.png b/graphics/pokemon/houndstone/front.png index 5b4271eb9e..0bef8ba3f9 100644 Binary files a/graphics/pokemon/houndstone/front.png and b/graphics/pokemon/houndstone/front.png differ diff --git a/graphics/pokemon/houndstone/normal.pal b/graphics/pokemon/houndstone/normal.pal index a41e9b3fba..0199cab111 100644 --- a/graphics/pokemon/houndstone/normal.pal +++ b/graphics/pokemon/houndstone/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -65 72 74 -98 85 106 -139 149 164 -131 113 139 -123 121 123 -90 93 90 -156 157 156 -189 190 197 +153 211 165 +84 89 95 +106 100 143 +122 124 135 +148 149 150 +139 131 190 +16 16 16 +185 189 196 +182 179 223 +203 203 203 +204 199 231 +234 234 234 +237 239 241 +0 0 0 +0 0 0 0 0 0 -172 174 189 -246 246 246 -8 12 8 -197 198 205 -255 250 255 -197 198 197 diff --git a/graphics/pokemon/houndstone/shiny.pal b/graphics/pokemon/houndstone/shiny.pal index f925949f21..872ab725d7 100644 --- a/graphics/pokemon/houndstone/shiny.pal +++ b/graphics/pokemon/houndstone/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -65 72 74 -111 84 55 -169 118 61 -173 107 75 -123 121 123 -90 93 90 -156 157 156 -207 162 120 +153 211 165 +84 89 95 +95 67 47 +132 120 83 +148 149 150 +136 106 86 +16 16 16 +186 165 133 +161 138 111 +203 203 203 +183 164 137 +234 234 234 +220 211 175 +0 0 0 +0 0 0 0 0 0 -207 162 120 -246 246 246 -8 12 8 -222 201 114 -242 233 168 -197 198 197 diff --git a/graphics/pokemon/iron_bundle/back.png b/graphics/pokemon/iron_bundle/back.png index 2b75da09fd..087a67be16 100644 Binary files a/graphics/pokemon/iron_bundle/back.png and b/graphics/pokemon/iron_bundle/back.png differ diff --git a/graphics/pokemon/iron_bundle/front.png b/graphics/pokemon/iron_bundle/front.png index a4fe68b4fd..baee5cbbec 100644 Binary files a/graphics/pokemon/iron_bundle/front.png and b/graphics/pokemon/iron_bundle/front.png differ diff --git a/graphics/pokemon/iron_bundle/normal.pal b/graphics/pokemon/iron_bundle/normal.pal index 4c712297b7..9621a6065e 100644 --- a/graphics/pokemon/iron_bundle/normal.pal +++ b/graphics/pokemon/iron_bundle/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -154 212 167 +153 211 165 +51 51 51 +102 35 20 110 110 110 -210 210 210 -161 161 161 -8 8 8 +140 41 28 +193 57 38 +216 95 86 +164 128 74 +255 224 114 +50 109 163 +90 193 255 +160 160 160 +16 16 16 +176 227 255 +209 209 209 245 245 245 -141 36 22 -194 54 33 -217 95 85 -46 109 165 -90 194 255 -166 129 73 -255 225 115 -178 228 255 -102 30 12 -48 48 48 diff --git a/graphics/pokemon/iron_bundle/shiny.pal b/graphics/pokemon/iron_bundle/shiny.pal index 818d73de92..4c2127b8f1 100644 --- a/graphics/pokemon/iron_bundle/shiny.pal +++ b/graphics/pokemon/iron_bundle/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -154 212 167 -80 89 98 -166 174 182 -116 130 141 -8 8 8 -218 221 224 -116 130 141 -166 174 182 -218 221 224 -46 109 165 -90 194 255 -109 116 132 -181 183 192 -178 228 255 -80 89 98 -48 48 48 +153 211 165 +51 51 51 +81 89 98 +81 89 98 +115 129 140 +164 172 181 +217 220 223 +109 115 131 +179 182 191 +50 109 163 +90 193 255 +115 129 140 +16 16 16 +176 227 255 +164 172 181 +217 220 223 diff --git a/graphics/pokemon/iron_hands/back.png b/graphics/pokemon/iron_hands/back.png index c7024a786a..81572fb4c7 100644 Binary files a/graphics/pokemon/iron_hands/back.png and b/graphics/pokemon/iron_hands/back.png differ diff --git a/graphics/pokemon/iron_hands/front.png b/graphics/pokemon/iron_hands/front.png index 1971bb88da..f9fcfea713 100644 Binary files a/graphics/pokemon/iron_hands/front.png and b/graphics/pokemon/iron_hands/front.png differ diff --git a/graphics/pokemon/iron_hands/normal.pal b/graphics/pokemon/iron_hands/normal.pal index 265b3a66f6..b191fc604e 100644 --- a/graphics/pokemon/iron_hands/normal.pal +++ b/graphics/pokemon/iron_hands/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -82 81 80 -49 55 88 +153 211 165 +54 52 51 +49 57 90 +82 77 74 +66 80 115 +108 93 104 +170 117 18 +206 158 16 +252 210 22 +105 114 144 +154 142 145 16 16 16 203 201 197 -123 134 165 -66 78 115 -154 142 145 -147 118 17 -252 210 22 -118 105 108 -60 51 49 -206 158 16 -255 255 255 -41 38 41 +237 233 234 +253 253 253 0 0 0 diff --git a/graphics/pokemon/iron_hands/shiny.pal b/graphics/pokemon/iron_hands/shiny.pal index ebe29a2267..9ea24dd824 100644 --- a/graphics/pokemon/iron_hands/shiny.pal +++ b/graphics/pokemon/iron_hands/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -82 81 80 -100 103 113 -16 16 16 -168 170 176 -213 213 213 -168 170 176 -100 103 113 -147 118 17 -252 210 22 -118 105 108 -60 51 49 +153 211 165 +54 52 51 +150 139 141 +82 77 74 +198 197 189 +108 93 104 +170 117 18 206 158 16 -255 255 255 -60 51 49 +252 210 22 +233 227 227 +154 142 145 +16 16 16 +203 201 197 +237 233 234 +253 253 253 0 0 0 diff --git a/graphics/pokemon/iron_jugulis/back.png b/graphics/pokemon/iron_jugulis/back.png index cb6e05f26e..8102d2575a 100644 Binary files a/graphics/pokemon/iron_jugulis/back.png and b/graphics/pokemon/iron_jugulis/back.png differ diff --git a/graphics/pokemon/iron_jugulis/front.png b/graphics/pokemon/iron_jugulis/front.png index c2c4095654..c929a8bcbf 100644 Binary files a/graphics/pokemon/iron_jugulis/front.png and b/graphics/pokemon/iron_jugulis/front.png differ diff --git a/graphics/pokemon/iron_jugulis/normal.pal b/graphics/pokemon/iron_jugulis/normal.pal index e0a017d346..452a6383ac 100644 --- a/graphics/pokemon/iron_jugulis/normal.pal +++ b/graphics/pokemon/iron_jugulis/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -180 255 139 -255 76 205 -238 234 238 -148 40 123 -123 121 123 -32 68 156 -16 44 82 -255 255 255 -115 157 238 -65 52 65 -131 170 246 -8 12 8 -57 117 230 -41 40 41 -106 129 213 -74 64 74 +153 211 165 +40 30 39 +44 44 44 +55 45 50 +28 55 108 +116 24 94 +68 68 68 +71 69 74 +58 94 142 +33 71 194 +71 124 255 +162 27 135 +220 43 186 +255 102 224 +16 16 16 +128 171 255 diff --git a/graphics/pokemon/iron_jugulis/shiny.pal b/graphics/pokemon/iron_jugulis/shiny.pal index e0a017d346..1c3216bedd 100644 --- a/graphics/pokemon/iron_jugulis/shiny.pal +++ b/graphics/pokemon/iron_jugulis/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -180 255 139 -255 76 205 -238 234 238 -148 40 123 -123 121 123 -32 68 156 -16 44 82 -255 255 255 -115 157 238 -65 52 65 -131 170 246 -8 12 8 -57 117 230 -41 40 41 -106 129 213 -74 64 74 +153 211 165 +96 91 91 +44 44 44 +150 150 150 +28 55 108 +116 24 94 +68 68 68 +193 193 193 +143 131 131 +33 71 194 +71 124 255 +162 27 135 +220 43 186 +255 102 224 +16 16 16 +194 192 192 diff --git a/graphics/pokemon/iron_leaves/back.png b/graphics/pokemon/iron_leaves/back.png index a169e8f223..936b60f56b 100644 Binary files a/graphics/pokemon/iron_leaves/back.png and b/graphics/pokemon/iron_leaves/back.png differ diff --git a/graphics/pokemon/iron_leaves/front.png b/graphics/pokemon/iron_leaves/front.png index d636ded791..74b7efae98 100644 Binary files a/graphics/pokemon/iron_leaves/front.png and b/graphics/pokemon/iron_leaves/front.png differ diff --git a/graphics/pokemon/iron_leaves/normal.pal b/graphics/pokemon/iron_leaves/normal.pal index 946223c719..70e7fdc450 100644 --- a/graphics/pokemon/iron_leaves/normal.pal +++ b/graphics/pokemon/iron_leaves/normal.pal @@ -1,18 +1,19 @@ JASC-PAL 0100 -15 -153 210 164 -68 112 63 +16 +153 211 165 33 66 28 -148 215 148 -85 174 88 -86 141 80 +74 107 51 +68 112 63 +70 75 86 +106 115 123 179 28 91 255 69 115 -255 230 240 -16 16 16 +86 141 80 +85 174 88 165 146 156 +148 215 148 +16 16 16 206 202 197 -106 115 123 -77 77 87 -38 38 45 +255 202 223 +0 0 0 diff --git a/graphics/pokemon/iron_leaves/shiny.pal b/graphics/pokemon/iron_leaves/shiny.pal index 5702b5b448..743c1ec7ae 100644 --- a/graphics/pokemon/iron_leaves/shiny.pal +++ b/graphics/pokemon/iron_leaves/shiny.pal @@ -1,18 +1,19 @@ JASC-PAL 0100 -15 -153 210 164 -128 128 120 -72 72 72 -216 216 216 -208 200 208 -176 168 168 +16 +153 211 165 +69 71 80 +116 119 133 +116 119 133 +70 75 86 +106 115 123 179 28 91 255 69 115 -255 230 240 -16 16 16 +143 146 158 +193 194 200 165 146 156 +234 235 242 +16 16 16 206 202 197 -106 115 123 -77 77 87 -38 38 45 +255 202 223 +0 0 0 diff --git a/graphics/pokemon/iron_moth/back.png b/graphics/pokemon/iron_moth/back.png index b5b4050c36..c044e10ebc 100644 Binary files a/graphics/pokemon/iron_moth/back.png and b/graphics/pokemon/iron_moth/back.png differ diff --git a/graphics/pokemon/iron_moth/front.png b/graphics/pokemon/iron_moth/front.png index fc40325097..89eddce0df 100644 Binary files a/graphics/pokemon/iron_moth/front.png and b/graphics/pokemon/iron_moth/front.png differ diff --git a/graphics/pokemon/iron_moth/normal.pal b/graphics/pokemon/iron_moth/normal.pal index cacbbf8276..02dd3b1f43 100644 --- a/graphics/pokemon/iron_moth/normal.pal +++ b/graphics/pokemon/iron_moth/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -197 121 41 -74 68 65 -213 44 65 -255 157 41 -131 133 131 -32 32 24 -197 230 238 -148 174 172 -139 28 41 -139 72 32 -255 255 255 -92 93 90 -0 0 0 -189 190 189 -90 16 24 +153 211 165 +31 31 31 +44 44 44 +68 68 68 +90 92 103 +150 63 5 +134 37 32 +216 112 7 +211 77 69 +243 148 3 +254 201 90 +95 128 165 +177 180 188 +16 16 16 +163 199 218 +249 249 250 diff --git a/graphics/pokemon/iron_moth/shiny.pal b/graphics/pokemon/iron_moth/shiny.pal index 57377eda4e..f82c26e376 100644 --- a/graphics/pokemon/iron_moth/shiny.pal +++ b/graphics/pokemon/iron_moth/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -197 121 41 -74 68 65 -168 170 176 -255 157 41 -131 133 131 -32 32 24 -168 170 176 -100 103 113 -100 103 113 -139 72 32 -255 255 255 -92 93 90 -0 0 0 -189 190 189 -51 51 51 +153 211 165 +31 31 31 +44 44 44 +68 68 68 +90 92 103 +150 63 5 +125 123 149 +216 112 7 +187 186 201 +243 148 3 +254 201 90 +137 139 163 +177 180 188 +16 16 16 +199 201 207 +249 249 250 diff --git a/graphics/pokemon/iron_thorns/back.png b/graphics/pokemon/iron_thorns/back.png index 3c33307446..2868c610ad 100644 Binary files a/graphics/pokemon/iron_thorns/back.png and b/graphics/pokemon/iron_thorns/back.png differ diff --git a/graphics/pokemon/iron_thorns/front.png b/graphics/pokemon/iron_thorns/front.png index 98aade73de..3e2718e145 100644 Binary files a/graphics/pokemon/iron_thorns/front.png and b/graphics/pokemon/iron_thorns/front.png differ diff --git a/graphics/pokemon/iron_thorns/normal.pal b/graphics/pokemon/iron_thorns/normal.pal index b149804f85..d16244eeea 100644 --- a/graphics/pokemon/iron_thorns/normal.pal +++ b/graphics/pokemon/iron_thorns/normal.pal @@ -1,17 +1,19 @@ JASC-PAL 0100 -14 -153 210 164 -112 168 48 -152 208 72 +16 +153 211 165 +31 31 31 +44 44 44 +70 97 31 +67 67 67 +68 68 68 +80 80 80 +104 104 104 +113 154 50 +2 166 103 +172 212 89 +225 254 126 +4 243 150 +16 16 16 +155 255 215 0 0 0 -208 248 128 -56 96 32 -64 56 56 -0 136 95 -72 224 138 -211 255 255 -48 40 40 -88 80 80 -55 189 122 -192 192 192 diff --git a/graphics/pokemon/iron_thorns/shiny.pal b/graphics/pokemon/iron_thorns/shiny.pal index 6d5a3826d3..af1b74fa64 100644 --- a/graphics/pokemon/iron_thorns/shiny.pal +++ b/graphics/pokemon/iron_thorns/shiny.pal @@ -1,17 +1,19 @@ JASC-PAL 0100 -14 -153 210 164 -144 144 144 -200 200 200 -0 0 0 -248 248 248 +16 +153 211 165 +31 31 31 +44 44 44 +90 92 103 +67 67 67 +68 68 68 80 80 80 -64 56 56 -0 136 95 -72 224 178 -211 255 255 -48 40 40 -88 80 80 -55 189 148 -192 192 192 +104 104 104 +143 146 158 +2 166 103 +193 194 200 +234 235 242 +4 243 150 +16 16 16 +155 255 215 +0 0 0 diff --git a/graphics/pokemon/iron_treads/back.png b/graphics/pokemon/iron_treads/back.png index 93c44eff7d..22562ba43f 100644 Binary files a/graphics/pokemon/iron_treads/back.png and b/graphics/pokemon/iron_treads/back.png differ diff --git a/graphics/pokemon/iron_treads/front.png b/graphics/pokemon/iron_treads/front.png index 0c3b7025eb..38ea2ada00 100644 Binary files a/graphics/pokemon/iron_treads/front.png and b/graphics/pokemon/iron_treads/front.png differ diff --git a/graphics/pokemon/iron_treads/normal.pal b/graphics/pokemon/iron_treads/normal.pal index f65e903d76..94406c95b8 100644 --- a/graphics/pokemon/iron_treads/normal.pal +++ b/graphics/pokemon/iron_treads/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -106 62 71 -88 31 42 -255 56 57 -255 180 183 -33 4 15 -133 105 122 -171 133 147 -255 0 0 -241 12 17 -0 0 0 -148 119 127 -142 169 173 -28 38 44 -205 205 207 +153 211 165 +33 26 31 +32 26 34 +51 42 49 +122 8 4 +69 62 67 +87 80 85 +83 91 104 +198 5 0 +255 62 59 +255 114 111 +123 133 149 +16 16 16 +171 182 192 +209 215 220 0 0 0 diff --git a/graphics/pokemon/iron_treads/shiny.pal b/graphics/pokemon/iron_treads/shiny.pal index 3c2388187f..601c10ad25 100644 --- a/graphics/pokemon/iron_treads/shiny.pal +++ b/graphics/pokemon/iron_treads/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -142 152 163 -68 82 94 -255 56 57 -255 180 183 -33 4 15 -217 217 217 -239 239 239 -255 0 0 -241 12 17 -0 0 0 -148 119 127 -142 169 173 -28 38 44 -205 205 207 +153 211 165 +90 92 97 +32 26 34 +131 135 141 +122 8 4 +176 182 187 +211 215 218 +83 91 104 +198 5 0 +255 62 59 +255 114 111 +123 133 149 +16 16 16 +171 182 192 +209 215 220 0 0 0 diff --git a/graphics/pokemon/iron_valiant/back.png b/graphics/pokemon/iron_valiant/back.png index 9251f2c7e4..08a9363123 100644 Binary files a/graphics/pokemon/iron_valiant/back.png and b/graphics/pokemon/iron_valiant/back.png differ diff --git a/graphics/pokemon/iron_valiant/front.png b/graphics/pokemon/iron_valiant/front.png index fe60695d18..06e82bab3b 100644 Binary files a/graphics/pokemon/iron_valiant/front.png and b/graphics/pokemon/iron_valiant/front.png differ diff --git a/graphics/pokemon/iron_valiant/normal.pal b/graphics/pokemon/iron_valiant/normal.pal index f454ada84e..899525b582 100644 --- a/graphics/pokemon/iron_valiant/normal.pal +++ b/graphics/pokemon/iron_valiant/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 163 -45 56 74 -75 131 131 -109 176 180 -15 15 15 -38 77 36 -90 180 106 +153 211 165 +29 31 35 +57 82 82 +66 65 66 +179 32 83 65 131 90 -252 252 252 -175 171 206 -89 95 106 -174 32 96 -128 136 155 -255 81 151 -238 176 220 -112 146 190 +115 186 99 +138 208 121 +255 62 137 +115 131 172 +115 148 164 +123 197 180 +252 129 177 +16 16 16 +164 180 205 +245 245 245 diff --git a/graphics/pokemon/iron_valiant/shiny.pal b/graphics/pokemon/iron_valiant/shiny.pal index 5d2e2d28db..cb101bd0b4 100644 --- a/graphics/pokemon/iron_valiant/shiny.pal +++ b/graphics/pokemon/iron_valiant/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 163 -45 57 75 -101 103 113 -129 137 155 -15 15 15 -51 53 57 -129 137 155 -101 103 113 -252 252 252 -213 213 213 -101 103 113 -174 32 96 -129 137 155 -255 81 151 -238 176 220 -129 137 155 +153 211 165 +29 31 35 +101 97 118 +66 65 66 +179 32 83 +131 137 160 +176 181 196 +222 226 235 +255 62 137 +97 104 129 +145 154 155 +190 201 201 +252 129 177 +16 16 16 +152 158 177 +210 215 227 diff --git a/graphics/pokemon/kubfu/icon.png b/graphics/pokemon/kubfu/icon.png index ea6d8c10ed..601ba6d7f0 100644 Binary files a/graphics/pokemon/kubfu/icon.png and b/graphics/pokemon/kubfu/icon.png differ diff --git a/graphics/pokemon/overqwil/back.png b/graphics/pokemon/overqwil/back.png index 79670b0601..8ad685a5ef 100644 Binary files a/graphics/pokemon/overqwil/back.png and b/graphics/pokemon/overqwil/back.png differ diff --git a/graphics/pokemon/overqwil/front.png b/graphics/pokemon/overqwil/front.png index fa6f3121ab..5e5fc17abd 100644 Binary files a/graphics/pokemon/overqwil/front.png and b/graphics/pokemon/overqwil/front.png differ diff --git a/graphics/pokemon/overqwil/normal.pal b/graphics/pokemon/overqwil/normal.pal index edf871d9a7..f0a9ca4dec 100644 --- a/graphics/pokemon/overqwil/normal.pal +++ b/graphics/pokemon/overqwil/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -120 192 168 -120 32 96 -240 72 208 +153 211 165 +19 22 37 +36 39 56 +124 87 50 +57 62 83 +123 34 97 +170 145 106 +105 53 164 +179 64 156 +193 79 170 +135 73 201 +193 89 207 +200 180 138 16 16 16 -160 72 200 -96 96 104 -184 56 152 -40 40 48 -64 64 72 -128 128 128 -88 80 56 -208 200 176 -176 168 120 -136 120 88 -248 248 248 -0 0 0 +223 213 171 +249 249 249 diff --git a/graphics/pokemon/overqwil/shiny.pal b/graphics/pokemon/overqwil/shiny.pal index d791dac4eb..92aaa084e1 100644 --- a/graphics/pokemon/overqwil/shiny.pal +++ b/graphics/pokemon/overqwil/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -120 192 168 -40 48 128 -80 96 224 +153 211 165 +89 91 106 +132 132 154 +124 102 50 +174 174 188 +61 48 146 +170 159 106 +132 104 198 +101 84 199 +128 94 242 +151 132 208 +149 135 245 +200 193 138 16 16 16 -96 136 216 -168 184 208 -64 64 200 -80 80 96 -136 136 152 -208 224 240 -64 64 48 -200 192 184 -168 160 136 -112 112 96 -248 248 248 -0 0 0 +223 223 170 +249 249 249 diff --git a/graphics/pokemon/pincurchin/icon.png b/graphics/pokemon/pincurchin/icon.png index 354d7d37d8..6b33be6714 100644 Binary files a/graphics/pokemon/pincurchin/icon.png and b/graphics/pokemon/pincurchin/icon.png differ diff --git a/graphics/pokemon/regidrago/icon.png b/graphics/pokemon/regidrago/icon.png index 3b994684b4..74804d4308 100644 Binary files a/graphics/pokemon/regidrago/icon.png and b/graphics/pokemon/regidrago/icon.png differ diff --git a/graphics/pokemon/regieleki/icon.png b/graphics/pokemon/regieleki/icon.png index bf3b3f3a89..8a1af409e1 100644 Binary files a/graphics/pokemon/regieleki/icon.png and b/graphics/pokemon/regieleki/icon.png differ diff --git a/graphics/pokemon/roaring_moon/back.png b/graphics/pokemon/roaring_moon/back.png index 01813ff4f9..79f5909813 100644 Binary files a/graphics/pokemon/roaring_moon/back.png and b/graphics/pokemon/roaring_moon/back.png differ diff --git a/graphics/pokemon/roaring_moon/front.png b/graphics/pokemon/roaring_moon/front.png index c1a8a05f06..3f279cf8c4 100644 Binary files a/graphics/pokemon/roaring_moon/front.png and b/graphics/pokemon/roaring_moon/front.png differ diff --git a/graphics/pokemon/roaring_moon/normal.pal b/graphics/pokemon/roaring_moon/normal.pal index 2deb541050..073c9b74f4 100644 --- a/graphics/pokemon/roaring_moon/normal.pal +++ b/graphics/pokemon/roaring_moon/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -39 88 94 -96 231 236 -60 137 171 -0 0 0 -185 107 230 -105 17 39 -214 38 82 -162 27 60 -129 100 179 -105 105 105 -171 171 171 -247 247 247 -247 165 42 -251 236 49 -52 49 49 +153 211 165 +55 51 50 +108 37 53 +22 94 114 +90 90 90 +159 50 71 +202 71 94 +237 214 46 +187 104 223 +80 162 175 +73 163 188 +159 142 142 +16 16 16 +135 201 219 +128 227 222 +232 232 224 diff --git a/graphics/pokemon/roaring_moon/shiny.pal b/graphics/pokemon/roaring_moon/shiny.pal index 42fb2538d7..cff9724413 100644 --- a/graphics/pokemon/roaring_moon/shiny.pal +++ b/graphics/pokemon/roaring_moon/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -62 125 78 -151 235 188 -86 180 117 -0 0 0 -223 213 113 -105 17 39 -245 62 68 -181 36 39 -174 162 85 -105 105 105 -171 171 171 -247 247 247 -247 165 42 -251 236 49 -52 49 49 +153 211 165 +55 51 50 +97 20 32 +49 89 89 +90 90 90 +167 35 55 +242 30 67 +237 214 46 +247 130 23 +207 187 71 +61 173 137 +159 142 142 +16 16 16 +107 226 170 +240 248 148 +232 232 224 diff --git a/graphics/pokemon/skwovet/icon.png b/graphics/pokemon/skwovet/icon.png index e7fc809164..82fdd9977a 100644 Binary files a/graphics/pokemon/skwovet/icon.png and b/graphics/pokemon/skwovet/icon.png differ diff --git a/graphics/pokemon/slowbro/galarian/icon.png b/graphics/pokemon/slowbro/galarian/icon.png index 285681b2ab..cc1ed78dd0 100644 Binary files a/graphics/pokemon/slowbro/galarian/icon.png and b/graphics/pokemon/slowbro/galarian/icon.png differ diff --git a/graphics/pokemon/slowking/galarian/icon.png b/graphics/pokemon/slowking/galarian/icon.png index 4a69676fe3..90c2c1b6c2 100644 Binary files a/graphics/pokemon/slowking/galarian/icon.png and b/graphics/pokemon/slowking/galarian/icon.png differ diff --git a/graphics/pokemon/slowpoke/galarian/icon.png b/graphics/pokemon/slowpoke/galarian/icon.png index 0445174299..9b7d638895 100644 Binary files a/graphics/pokemon/slowpoke/galarian/icon.png and b/graphics/pokemon/slowpoke/galarian/icon.png differ diff --git a/graphics/pokemon/sneasler/back.png b/graphics/pokemon/sneasler/back.png index b39320894c..add4b24c08 100755 Binary files a/graphics/pokemon/sneasler/back.png and b/graphics/pokemon/sneasler/back.png differ diff --git a/graphics/pokemon/sneasler/front.png b/graphics/pokemon/sneasler/front.png index 67159da6bc..ab85744076 100755 Binary files a/graphics/pokemon/sneasler/front.png and b/graphics/pokemon/sneasler/front.png differ diff --git a/graphics/pokemon/sneasler/normal.pal b/graphics/pokemon/sneasler/normal.pal index 5cc13df592..95b54726b8 100755 --- a/graphics/pokemon/sneasler/normal.pal +++ b/graphics/pokemon/sneasler/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 213 164 -49 41 49 -74 74 98 -74 57 82 -123 139 180 +153 211 165 +54 33 62 +54 50 109 +83 54 98 +176 117 40 +142 36 88 +222 47 65 +235 53 124 +236 182 41 +65 91 129 +106 86 179 +113 143 190 +155 152 169 16 16 16 -164 189 222 -164 123 57 -123 98 189 -238 197 49 -255 255 255 -255 32 65 -90 65 131 -255 41 41 -189 41 41 -139 24 24 +158 186 222 +240 240 248 diff --git a/graphics/pokemon/sneasler/shiny.pal b/graphics/pokemon/sneasler/shiny.pal index b3bc5103e3..8c1df6a506 100755 --- a/graphics/pokemon/sneasler/shiny.pal +++ b/graphics/pokemon/sneasler/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 213 164 -49 41 49 -106 90 41 -74 57 82 -156 148 82 +153 211 165 +28 30 57 +69 37 60 +53 54 84 +69 95 178 +186 130 25 +222 47 65 +246 204 70 +117 136 224 +121 95 49 +101 67 91 +168 145 62 +155 152 169 16 16 16 -238 213 131 -74 148 156 -106 74 98 -123 213 230 -255 255 255 -90 172 32 -74 49 74 -246 189 8 -213 148 24 -213 148 24 +206 192 103 +240 240 248 diff --git a/graphics/pokemon/spectrier/icon.png b/graphics/pokemon/spectrier/icon.png index 3cf118e295..41f73dc315 100644 Binary files a/graphics/pokemon/spectrier/icon.png and b/graphics/pokemon/spectrier/icon.png differ diff --git a/graphics/pokemon/ting_lu/back.png b/graphics/pokemon/ting_lu/back.png index e0af1a11c6..01e746871b 100644 Binary files a/graphics/pokemon/ting_lu/back.png and b/graphics/pokemon/ting_lu/back.png differ diff --git a/graphics/pokemon/ting_lu/front.png b/graphics/pokemon/ting_lu/front.png index a94820cbf6..1bab02d038 100644 Binary files a/graphics/pokemon/ting_lu/front.png and b/graphics/pokemon/ting_lu/front.png differ diff --git a/graphics/pokemon/ting_lu/normal.pal b/graphics/pokemon/ting_lu/normal.pal index 008d4a094c..27f96c2ed8 100644 --- a/graphics/pokemon/ting_lu/normal.pal +++ b/graphics/pokemon/ting_lu/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 163 -40 51 49 -166 180 167 -74 74 74 -72 104 99 -115 149 139 -15 15 15 -94 70 34 -92 49 39 -140 97 64 -56 30 29 -126 71 66 -149 117 96 -175 149 134 -255 31 26 -255 222 36 +153 211 165 +48 29 24 +22 48 54 +89 29 29 +76 51 40 +23 79 79 +125 84 65 +143 49 39 +240 72 60 +130 90 66 +143 112 96 +78 138 126 +230 179 48 +189 134 94 +222 188 159 +16 16 16 diff --git a/graphics/pokemon/ting_lu/shiny.pal b/graphics/pokemon/ting_lu/shiny.pal index 5476b7d4e9..ab48521f5f 100644 --- a/graphics/pokemon/ting_lu/shiny.pal +++ b/graphics/pokemon/ting_lu/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 163 -40 51 49 -166 180 167 -74 74 74 -72 104 99 -115 149 139 -15 15 15 -96 88 80 -16 120 120 -209 214 214 -16 64 72 -105 115 143 -136 144 168 -176 184 184 -255 31 26 -255 222 36 +153 211 165 +33 38 26 +22 48 54 +40 68 74 +64 71 49 +23 79 79 +101 148 135 +64 109 109 +240 72 60 +107 112 85 +48 107 86 +78 138 126 +230 179 48 +166 201 187 +104 153 128 +16 16 16 diff --git a/graphics/pokemon/toxel/icon.png b/graphics/pokemon/toxel/icon.png index b1989e50c8..3a91b6de88 100644 Binary files a/graphics/pokemon/toxel/icon.png and b/graphics/pokemon/toxel/icon.png differ diff --git a/graphics/pokemon/ursaluna/back.png b/graphics/pokemon/ursaluna/back.png index e221d873ef..78eea26fa2 100644 Binary files a/graphics/pokemon/ursaluna/back.png and b/graphics/pokemon/ursaluna/back.png differ diff --git a/graphics/pokemon/ursaluna/bloodmoon/back.png b/graphics/pokemon/ursaluna/bloodmoon/back.png index 251eab99cf..fc423e8651 100644 Binary files a/graphics/pokemon/ursaluna/bloodmoon/back.png and b/graphics/pokemon/ursaluna/bloodmoon/back.png differ diff --git a/graphics/pokemon/ursaluna/bloodmoon/front.png b/graphics/pokemon/ursaluna/bloodmoon/front.png index 27b44fb3ff..85534983d1 100644 Binary files a/graphics/pokemon/ursaluna/bloodmoon/front.png and b/graphics/pokemon/ursaluna/bloodmoon/front.png differ diff --git a/graphics/pokemon/ursaluna/bloodmoon/normal.pal b/graphics/pokemon/ursaluna/bloodmoon/normal.pal index 8eab07de45..bf8e1e5074 100644 --- a/graphics/pokemon/ursaluna/bloodmoon/normal.pal +++ b/graphics/pokemon/ursaluna/bloodmoon/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -0 194 8 -238 80 106 -246 125 148 -255 214 123 -49 40 32 -115 85 74 -164 40 65 -255 255 255 -78 78 97 -74 56 49 -148 117 106 -164 161 164 +153 211 165 +63 43 31 +46 32 32 +63 63 63 +109 73 54 +117 98 60 +102 108 106 +213 57 97 +177 126 99 +62 219 108 +186 159 87 +255 119 142 +146 147 142 16 16 16 -222 222 222 -123 121 139 +201 224 216 +255 255 255 diff --git a/graphics/pokemon/ursaluna/bloodmoon/shiny.pal b/graphics/pokemon/ursaluna/bloodmoon/shiny.pal index d8a8e8ce56..2e5ac586b5 100644 --- a/graphics/pokemon/ursaluna/bloodmoon/shiny.pal +++ b/graphics/pokemon/ursaluna/bloodmoon/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -0 194 8 -238 80 106 -246 125 148 -255 214 123 -49 40 32 -195 99 59 -164 40 65 -255 255 255 -78 78 97 -128 74 52 -230 131 90 -164 161 164 +153 211 165 +97 31 29 +46 32 32 +96 79 68 +159 50 47 +125 104 77 +153 130 117 +213 57 97 +218 91 69 +0 191 232 +184 163 124 +255 119 142 +181 169 164 16 16 16 -222 222 222 -123 121 139 +201 224 216 +255 255 255 diff --git a/graphics/pokemon/ursaluna/front.png b/graphics/pokemon/ursaluna/front.png index 954e6b8020..f82224dd51 100644 Binary files a/graphics/pokemon/ursaluna/front.png and b/graphics/pokemon/ursaluna/front.png differ diff --git a/graphics/pokemon/ursaluna/normal.pal b/graphics/pokemon/ursaluna/normal.pal index 91b0d2bb09..868c512b11 100644 --- a/graphics/pokemon/ursaluna/normal.pal +++ b/graphics/pokemon/ursaluna/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -120 192 168 -56 32 32 -32 24 24 -96 64 56 -80 40 40 -72 64 48 -112 96 88 -152 136 128 -88 88 80 -176 176 176 -8 8 8 -184 144 40 -248 192 64 -248 248 248 -144 144 136 -0 0 0 +153 211 165 +46 32 32 +63 63 63 +67 47 44 +92 68 62 +109 93 79 +102 108 106 +36 174 105 +186 159 87 +242 211 109 +146 147 142 +16 16 16 +210 207 218 +201 224 216 +244 243 245 +255 255 255 diff --git a/graphics/pokemon/ursaluna/shiny.pal b/graphics/pokemon/ursaluna/shiny.pal index e22b15d0e9..050bfd86b2 100644 --- a/graphics/pokemon/ursaluna/shiny.pal +++ b/graphics/pokemon/ursaluna/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -120 192 168 -88 16 16 -48 8 0 -152 64 56 -120 32 32 -104 80 72 -160 128 112 -192 176 168 -56 48 48 -112 104 96 -8 8 8 -192 152 88 -248 248 200 -248 248 248 -80 72 72 -0 0 0 +153 211 165 +77 23 24 +96 79 68 +108 30 34 +141 44 41 +177 84 81 +153 130 117 +32 179 204 +173 149 106 +235 204 137 +181 169 164 +16 16 16 +63 63 63 +201 224 216 +102 108 106 +255 255 255 diff --git a/graphics/pokemon/urshifu/icon.png b/graphics/pokemon/urshifu/icon.png index 28f64a50ff..a894c160b8 100644 Binary files a/graphics/pokemon/urshifu/icon.png and b/graphics/pokemon/urshifu/icon.png differ diff --git a/graphics/pokemon/walking_wake/back.png b/graphics/pokemon/walking_wake/back.png index 7fb2083cb9..5db0247c68 100644 Binary files a/graphics/pokemon/walking_wake/back.png and b/graphics/pokemon/walking_wake/back.png differ diff --git a/graphics/pokemon/walking_wake/front.png b/graphics/pokemon/walking_wake/front.png index 2ef9632710..97da8c3c49 100644 Binary files a/graphics/pokemon/walking_wake/front.png and b/graphics/pokemon/walking_wake/front.png differ diff --git a/graphics/pokemon/walking_wake/normal.pal b/graphics/pokemon/walking_wake/normal.pal index a0cd9eaff9..4357c6b2ea 100644 --- a/graphics/pokemon/walking_wake/normal.pal +++ b/graphics/pokemon/walking_wake/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -46 149 167 -115 234 222 -27 86 92 -39 124 124 -82 82 82 -247 162 82 -53 194 219 +153 211 165 +72 45 96 +52 70 96 +90 105 112 +241 58 82 +251 155 60 +245 249 125 +118 86 140 +162 110 175 +107 130 165 +97 177 183 +175 187 191 +198 143 191 16 16 16 -239 93 107 -165 103 167 -129 73 126 -89 52 105 -254 214 54 -252 252 252 -189 189 189 +147 216 216 +255 255 255 diff --git a/graphics/pokemon/walking_wake/shiny.pal b/graphics/pokemon/walking_wake/shiny.pal index f75d05d689..263290ced8 100644 --- a/graphics/pokemon/walking_wake/shiny.pal +++ b/graphics/pokemon/walking_wake/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -96 168 152 -115 234 222 -27 86 92 -39 124 124 -82 82 82 -247 162 82 -96 216 184 +153 211 165 +22 23 84 +57 74 148 +90 105 112 +241 58 82 +251 155 60 +245 249 125 +41 45 152 +37 75 231 +123 148 213 +156 197 255 +175 187 191 +62 163 244 16 16 16 -239 93 107 -64 96 232 -40 64 152 -8 24 128 -254 214 54 -252 252 252 -189 189 189 +189 244 243 +255 255 255 diff --git a/graphics/pokemon/wo_chien/back.png b/graphics/pokemon/wo_chien/back.png index 4525e24fec..0ea73f831d 100644 Binary files a/graphics/pokemon/wo_chien/back.png and b/graphics/pokemon/wo_chien/back.png differ diff --git a/graphics/pokemon/wo_chien/front.png b/graphics/pokemon/wo_chien/front.png index b81f12809f..316d65b3dd 100644 Binary files a/graphics/pokemon/wo_chien/front.png and b/graphics/pokemon/wo_chien/front.png differ diff --git a/graphics/pokemon/wo_chien/normal.pal b/graphics/pokemon/wo_chien/normal.pal index df9cd0fd2e..4192e4fb24 100644 --- a/graphics/pokemon/wo_chien/normal.pal +++ b/graphics/pokemon/wo_chien/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -255 255 255 -255 125 0 -180 190 189 -65 68 41 -82 129 57 -74 182 82 -139 153 156 -24 24 24 -82 72 49 -197 157 90 -123 113 82 -172 141 115 -41 48 41 -74 85 82 -139 97 90 +153 211 165 +17 43 18 +61 42 41 +47 59 51 +66 49 39 +51 87 44 +99 74 68 +90 105 93 +128 100 72 +100 148 72 +125 138 110 +245 138 44 +161 128 112 +201 160 104 +16 16 16 +217 227 194 diff --git a/graphics/pokemon/wo_chien/shiny.pal b/graphics/pokemon/wo_chien/shiny.pal index f2dddbf0ae..4db6959f2e 100644 --- a/graphics/pokemon/wo_chien/shiny.pal +++ b/graphics/pokemon/wo_chien/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -156 210 164 -255 255 255 -255 125 0 -180 190 189 -65 68 41 -164 151 99 -216 201 142 -139 153 156 -24 24 24 -82 72 49 -255 79 97 -213 61 84 -172 141 115 -41 48 41 -74 85 82 -139 97 90 +153 211 165 +64 55 28 +61 42 41 +47 59 51 +97 30 38 +115 105 69 +99 74 68 +90 105 93 +156 49 51 +163 158 100 +125 138 110 +245 138 44 +161 128 112 +219 79 63 +16 16 16 +217 227 194 diff --git a/graphics/pokemon/zarude/dada/icon.png b/graphics/pokemon/zarude/dada/icon.png index e3a39e36d4..0c3fc4c42b 100644 Binary files a/graphics/pokemon/zarude/dada/icon.png and b/graphics/pokemon/zarude/dada/icon.png differ diff --git a/graphics/pokemon/zarude/icon.png b/graphics/pokemon/zarude/icon.png index 58dfa077b4..cd17fa5f09 100644 Binary files a/graphics/pokemon/zarude/icon.png and b/graphics/pokemon/zarude/icon.png differ diff --git a/graphics/pokemon/zoroark/hisuian/back.png b/graphics/pokemon/zoroark/hisuian/back.png index 8a252b3056..794a554c31 100644 Binary files a/graphics/pokemon/zoroark/hisuian/back.png and b/graphics/pokemon/zoroark/hisuian/back.png differ diff --git a/graphics/pokemon/zoroark/hisuian/front.png b/graphics/pokemon/zoroark/hisuian/front.png index bf4e40c15f..5a27fa4f55 100644 Binary files a/graphics/pokemon/zoroark/hisuian/front.png and b/graphics/pokemon/zoroark/hisuian/front.png differ diff --git a/graphics/pokemon/zoroark/hisuian/normal.pal b/graphics/pokemon/zoroark/hisuian/normal.pal index 16e1aed003..a95fbe674a 100644 --- a/graphics/pokemon/zoroark/hisuian/normal.pal +++ b/graphics/pokemon/zoroark/hisuian/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -144 24 32 -96 88 96 -216 88 80 -248 248 248 -224 144 144 +153 211 165 +95 0 2 +74 77 83 +95 71 92 +148 36 41 +213 58 62 +179 77 84 +240 115 118 +246 238 108 +146 141 150 +179 179 187 +247 172 174 16 16 16 -192 56 80 -144 136 144 -192 176 184 -56 56 56 -208 208 208 -88 64 88 -176 112 112 -184 192 184 -240 232 32 +212 214 214 +252 252 252 +0 0 0 diff --git a/graphics/pokemon/zoroark/hisuian/shiny.pal b/graphics/pokemon/zoroark/hisuian/shiny.pal index 5b3e2797a5..e6eaecfce8 100644 --- a/graphics/pokemon/zoroark/hisuian/shiny.pal +++ b/graphics/pokemon/zoroark/hisuian/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -96 48 120 -96 88 96 -176 112 208 -248 248 248 -208 144 224 +153 211 165 +60 35 73 +60 35 73 +95 71 92 +97 58 120 +137 90 190 +155 111 185 +186 155 206 +246 238 108 +101 89 102 +179 179 187 +207 185 221 16 16 16 -144 80 168 -144 136 144 -192 176 184 -56 48 56 -208 208 208 -88 64 88 -176 104 184 -136 128 136 -240 232 32 +134 128 134 +252 252 252 +0 0 0 diff --git a/include/config/decap.h b/include/config/decap.h deleted file mode 100644 index 60168d0a27..0000000000 --- a/include/config/decap.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef GUARD_CONFIG_DECAP_H -#define GUARD_CONFIG_DECAP_H - -/* -Enable automatic decapitalization of *all* text -Exceptions: -- Several bigrams: TV, TM, HP, HM, PC, PP, PM -- Player names, nicknames, box names -- Strings beginning with {FIXED_CASE} -- C strings that use `_C` or `__C` -- ASM strings that use `.fixstr` -- If mirroring enabled, string addresses passed through MirrorPtr -*/ -#define DECAP_ENABLED FALSE -// Enables signaling that a string's case should be preserved -// by *mirroring* its address: i.e 08xxxxxx to 0Axxxxxx -// Unless you are targeting a different platform than the GBA, -// there aren't many reasons to disable this -#define DECAP_MIRRORING TRUE - -// If TRUE, *all* Pokemon nicknames and player names will be decapitalized. -// Otherwise, their case will be preserved. Default FALSE -#define DECAP_NICKNAMES FALSE - -#define DECAP_MAIN_MENU TRUE // Main menu text. -#define DECAP_OPTION_MENU TRUE // Option menu text. -#define DECAP_START_MENU TRUE // Start menu options & Save menu text. -#define DECAP_PARTY_MENU TRUE // Party menu text. -#define DECAP_MAP_NAMES TRUE // Map and location names. -#define DECAP_EASY_CHAT TRUE // Easy Chat words and interface. -#define DECAP_FIELD_MSG TRUE // Field messages (including scripts!). -#define DECAP_SUMMARY TRUE // Summary interface text. -#define DECAP_ITEM_NAMES TRUE // Item names (obtained via ItemId_GetName). - -#endif // GUARD_CONFIG_DECAP_H diff --git a/include/constants/global.h b/include/constants/global.h index 8b91af77fa..cd0f1b4715 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -7,7 +7,6 @@ #include "config/level_caps.h" #include "config/pokemon.h" #include "config/overworld.h" -#include "config/decap.h" // Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. // In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. diff --git a/include/global.h b/include/global.h index cbafe29596..027e97d6d5 100644 --- a/include/global.h +++ b/include/global.h @@ -32,9 +32,6 @@ // We define these when using certain IDEs to fool preproc #define _(x) {x} #define __(x) {x} -// Like the above, but prepends a fixed-case character -#define _C(x) {x} -#define __C(x) {x} #define INCBIN(...) {0} #define INCBIN_U8 INCBIN #define INCBIN_U16 INCBIN @@ -1094,6 +1091,4 @@ struct MapPosition s8 elevation; }; -extern u8 gStackBase[]; // Start of stack-allocated IWRAM - #endif // GUARD_GLOBAL_H diff --git a/ld_script.ld b/ld_script.ld index f54272499c..e9cbae8957 100644 --- a/ld_script.ld +++ b/ld_script.ld @@ -56,7 +56,6 @@ SECTIONS { /* COMMON starts at 0x30022A8 */ INCLUDE "sym_common.ld" *libc.a:sbrkr.o(COMMON); - gStackBase = .; } > IWRAM /* BEGIN ROM DATA */ diff --git a/ld_script_modern.ld b/ld_script_modern.ld index d5724ebf84..fd35a1ca31 100644 --- a/ld_script_modern.ld +++ b/ld_script_modern.ld @@ -52,7 +52,6 @@ SECTIONS { gflib/*.o(COMMON); *libc.a:*.o(COMMON); *libnosys.a:*.o(COMMON); - gStackBase = .; } > IWRAM /* BEGIN ROM DATA */ diff --git a/ld_script_test.ld b/ld_script_test.ld index e05971dfde..ec99609a7e 100644 --- a/ld_script_test.ld +++ b/ld_script_test.ld @@ -55,7 +55,6 @@ SECTIONS { data/*.o(COMMON); test/*.o(COMMON); *libc.a:sbrkr.o(COMMON); - gStackBase = .; /* .persistent starts at 0x3007F00 */ /* WARNING: This is the end of the IRQ stack, if there's too diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 273fb2c998..6e1cf45d64 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1279,6 +1279,9 @@ static u32 GetSwitchinHazardsDamage(u32 battler, struct BattlePokemon *battleMon // Stealth Rock if ((hazardFlags & SIDE_STATUS_STEALTH_ROCK) && heldItemEffect != HOLD_EFFECT_HEAVY_DUTY_BOOTS) hazardDamage += GetStealthHazardDamageByTypesAndHP(gMovesInfo[MOVE_STEALTH_ROCK].type, defType1, defType2, battleMon->maxHP); + // G-Max Steelsurge + if ((hazardFlags & SIDE_STATUS_STEELSURGE) && heldItemEffect != HOLD_EFFECT_HEAVY_DUTY_BOOTS) + hazardDamage += GetStealthHazardDamageByTypesAndHP(gMovesInfo[MOVE_G_MAX_STEELSURGE].type, defType1, defType2, battleMon->maxHP); // Spikes if ((hazardFlags & SIDE_STATUS_SPIKES) && IsMonGrounded(heldItemEffect, ability, defType1, defType2)) { @@ -1323,40 +1326,46 @@ static u32 GetSwitchinHazardsDamage(u32 battler, struct BattlePokemon *battleMon // Gets damage / healing from weather static s32 GetSwitchinWeatherImpact(void) { - s32 weatherImpact = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability; - u16 item = AI_DATA->switchinCandidate.battleMon.item; + s32 weatherDamage = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability; + u32 holdEffect = gItemsInfo[AI_DATA->switchinCandidate.battleMon.item].holdEffect; if (WEATHER_HAS_EFFECT) { + s32 weatherImpact = 0; // Damage - if (item != ITEM_SAFETY_GOGGLES) + if (holdEffect != HOLD_EFFECT_SAFETY_GOGGLES && ability != ABILITY_MAGIC_GUARD && ability != ABILITY_OVERCOAT) { - if ((gBattleWeather & B_WEATHER_HAIL) && (AI_DATA->switchinCandidate.battleMon.type1 != TYPE_ICE || AI_DATA->switchinCandidate.battleMon.type2 != TYPE_ICE) - && ability != ABILITY_OVERCOAT && ability != ABILITY_SNOW_CLOAK && ability != ABILITY_ICE_BODY) + if ((gBattleWeather & B_WEATHER_HAIL) + && (AI_DATA->switchinCandidate.battleMon.type1 != TYPE_ICE || AI_DATA->switchinCandidate.battleMon.type2 != TYPE_ICE) + && ability != ABILITY_SNOW_CLOAK && ability != ABILITY_ICE_BODY) { weatherImpact = maxHP / 16; if (weatherImpact == 0) weatherImpact = 1; } - else if ((gBattleWeather & B_WEATHER_SANDSTORM) && (AI_DATA->switchinCandidate.battleMon.type1 != TYPE_GROUND && AI_DATA->switchinCandidate.battleMon.type2 != TYPE_GROUND + else if ((gBattleWeather & B_WEATHER_SANDSTORM) + && (AI_DATA->switchinCandidate.battleMon.type1 != TYPE_GROUND && AI_DATA->switchinCandidate.battleMon.type2 != TYPE_GROUND && AI_DATA->switchinCandidate.battleMon.type1 != TYPE_ROCK && AI_DATA->switchinCandidate.battleMon.type2 != TYPE_ROCK && AI_DATA->switchinCandidate.battleMon.type1 != TYPE_STEEL && AI_DATA->switchinCandidate.battleMon.type2 != TYPE_STEEL - && ability != ABILITY_OVERCOAT && ability != ABILITY_SAND_VEIL && ability != ABILITY_SAND_RUSH && ability != ABILITY_SAND_FORCE)) + && ability != ABILITY_SAND_VEIL && ability != ABILITY_SAND_RUSH && ability != ABILITY_SAND_FORCE)) { weatherImpact = maxHP / 16; if (weatherImpact == 0) weatherImpact = 1; } } - if ((gBattleWeather & B_WEATHER_SUN) && (ability == ABILITY_SOLAR_POWER || ability == ABILITY_DRY_SKIN)) + if ((gBattleWeather & B_WEATHER_SUN) && holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA + && (ability == ABILITY_SOLAR_POWER || ability == ABILITY_DRY_SKIN)) { weatherImpact = maxHP / 8; if (weatherImpact == 0) weatherImpact = 1; } + weatherDamage += weatherImpact; + // Healing - if (gBattleWeather & B_WEATHER_RAIN) + if (gBattleWeather & B_WEATHER_RAIN && holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) { if (ability == ABILITY_DRY_SKIN) { @@ -1375,28 +1384,30 @@ static s32 GetSwitchinWeatherImpact(void) { weatherImpact = maxHP / 16; if (weatherImpact == 0) - weatherImpact =1; + weatherImpact = 1; } + + weatherDamage -= weatherImpact; } - return weatherImpact; + return weatherDamage; } // Gets one turn of recurring healing static u32 GetSwitchinRecurringHealing(void) { u32 recurringHealing = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability; - u16 item = AI_DATA->switchinCandidate.battleMon.item; + u32 holdEffect = gItemsInfo[AI_DATA->switchinCandidate.battleMon.item].holdEffect; // Items if (ability != ABILITY_KLUTZ) { - if (item == ITEM_BLACK_SLUDGE && (AI_DATA->switchinCandidate.battleMon.type1 == TYPE_POISON || AI_DATA->switchinCandidate.battleMon.type2 == TYPE_POISON)) + if (holdEffect == HOLD_EFFECT_BLACK_SLUDGE && (AI_DATA->switchinCandidate.battleMon.type1 == TYPE_POISON || AI_DATA->switchinCandidate.battleMon.type2 == TYPE_POISON)) { recurringHealing = maxHP / 16; if (recurringHealing == 0) recurringHealing = 1; } - else if (item == ITEM_LEFTOVERS) + else if (holdEffect == HOLD_EFFECT_LEFTOVERS) { recurringHealing = maxHP / 16; if (recurringHealing == 0) @@ -1407,9 +1418,10 @@ static u32 GetSwitchinRecurringHealing(void) // Abilities if (ability == ABILITY_POISON_HEAL && (AI_DATA->switchinCandidate.battleMon.status1 & STATUS1_POISON)) { - recurringHealing = maxHP / 8; - if (recurringHealing == 0) - recurringHealing = 1; + u32 healing = maxHP / 8; + if (healing == 0) + healing = 1; + recurringHealing += healing; } return recurringHealing; } @@ -1418,24 +1430,24 @@ static u32 GetSwitchinRecurringHealing(void) static u32 GetSwitchinRecurringDamage(void) { u32 passiveDamage = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability; - u16 item = AI_DATA->switchinCandidate.battleMon.item; + u32 holdEffect = gItemsInfo[AI_DATA->switchinCandidate.battleMon.item].holdEffect; // Items if (ability != ABILITY_MAGIC_GUARD && ability != ABILITY_KLUTZ) { - if (item == ITEM_BLACK_SLUDGE && AI_DATA->switchinCandidate.battleMon.type1 != TYPE_POISON && AI_DATA->switchinCandidate.battleMon.type2 != TYPE_POISON) + if (holdEffect == HOLD_EFFECT_BLACK_SLUDGE && AI_DATA->switchinCandidate.battleMon.type1 != TYPE_POISON && AI_DATA->switchinCandidate.battleMon.type2 != TYPE_POISON) { passiveDamage = maxHP / 8; if (passiveDamage == 0) passiveDamage = 1; } - else if (item == ITEM_LIFE_ORB && ability != ABILITY_SHEER_FORCE) + else if (holdEffect == HOLD_EFFECT_LIFE_ORB && ability != ABILITY_SHEER_FORCE) { passiveDamage = maxHP / 10; if (passiveDamage == 0) passiveDamage = 1; } - else if (item == ITEM_STICKY_BARB) + else if (holdEffect == HOLD_EFFECT_STICKY_BARB) { passiveDamage = maxHP / 8; if(passiveDamage == 0) @@ -1527,8 +1539,8 @@ static u32 GetSwitchinHitsToKO(s32 damageTaken, u32 battler) u32 recurringHealing = GetSwitchinRecurringHealing(); u32 statusDamage = GetSwitchinStatusDamage(battler); u32 hitsToKO = 0, singleUseItemHeal = 0; - u16 maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, item = AI_DATA->switchinCandidate.battleMon.item, heldItemEffect = gItemsInfo[AI_DATA->switchinCandidate.battleMon.item].holdEffect; - u8 weatherDuration = gWishFutureKnock.weatherDuration, holdEffectParam = gItemsInfo[AI_DATA->switchinCandidate.battleMon.item].holdEffectParam; + u16 maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, item = AI_DATA->switchinCandidate.battleMon.item, heldItemEffect = gItemsInfo[item].holdEffect; + u8 weatherDuration = gWishFutureKnock.weatherDuration, holdEffectParam = gItemsInfo[item].holdEffectParam; u32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); u32 opposingAbility = gBattleMons[opposingBattler].ability; bool32 usedSingleUseHealingItem = FALSE; @@ -1557,29 +1569,35 @@ static u32 GetSwitchinHitsToKO(s32 damageTaken, u32 battler) currentHP = currentHP + weatherImpact; // Check if we're at a single use healing item threshold - if (AI_DATA->switchinCandidate.battleMon.ability != ABILITY_KLUTZ && usedSingleUseHealingItem == FALSE) + if (AI_DATA->switchinCandidate.battleMon.ability != ABILITY_KLUTZ && usedSingleUseHealingItem == FALSE + && !(opposingAbility == ABILITY_UNNERVE && GetPocketByItemId(item) == POCKET_BERRIES)) { - if (currentHP < maxHP / 2) + switch (heldItemEffect) { - if (item == ITEM_BERRY_JUICE) - { + case HOLD_EFFECT_RESTORE_HP: + if (currentHP < maxHP / 2) singleUseItemHeal = holdEffectParam; - } - else if (opposingAbility != ABILITY_UNNERVE && heldItemEffect == HOLD_EFFECT_RESTORE_HP) + break; + case HOLD_EFFECT_RESTORE_PCT_HP: + if (currentHP < maxHP / 2) { - // By default, this should only encompass Oran Berry and Sitrus Berry. - singleUseItemHeal = holdEffectParam; + singleUseItemHeal = maxHP / holdEffectParam; if (singleUseItemHeal == 0) singleUseItemHeal = 1; } - } - else if (currentHP < maxHP / CONFUSE_BERRY_HP_FRACTION - && opposingAbility != ABILITY_UNNERVE - && (item == ITEM_AGUAV_BERRY || item == ITEM_FIGY_BERRY || item == ITEM_IAPAPA_BERRY || item == ITEM_MAGO_BERRY || item == ITEM_WIKI_BERRY)) - { - singleUseItemHeal = maxHP / CONFUSE_BERRY_HEAL_FRACTION; - if (singleUseItemHeal == 0) - singleUseItemHeal = 1; + break; + case HOLD_EFFECT_CONFUSE_SPICY: + case HOLD_EFFECT_CONFUSE_DRY: + case HOLD_EFFECT_CONFUSE_SWEET: + case HOLD_EFFECT_CONFUSE_BITTER: + case HOLD_EFFECT_CONFUSE_SOUR: + if (currentHP < maxHP / CONFUSE_BERRY_HP_FRACTION) + { + singleUseItemHeal = maxHP / holdEffectParam; + if (singleUseItemHeal == 0) + singleUseItemHeal = 1; + } + break; } // If we used one, apply it without overcapping our maxHP diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index bd4638224f..c4ad988a0b 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -167,10 +167,7 @@ void SoundTask_PlayCryHighPitch(u8 taskId) return; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - else - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + species = (GetIllusionMonSpecies(battlerId) != SPECIES_NONE) ? GetIllusionMonSpecies(battlerId) : gAnimBattlerSpecies[battlerId]; } if (species != SPECIES_NONE) @@ -215,10 +212,7 @@ void SoundTask_PlayDoubleCry(u8 taskId) return; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - else - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + species = (GetIllusionMonSpecies(battlerId) != SPECIES_NONE) ? GetIllusionMonSpecies(battlerId) : gAnimBattlerSpecies[battlerId]; } gTasks[taskId].data[0] = gBattleAnimArgs[1]; @@ -285,7 +279,8 @@ void SoundTask_WaitForCry(u8 taskId) void SoundTask_PlayNormalCry(u8 taskId) { - PlayCry_ByMode(gBattleMons[gBattleAnimAttacker].species, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER), CRY_MODE_NORMAL); + u16 species = (GetIllusionMonSpecies(gBattleAnimAttacker) != SPECIES_NONE) ? GetIllusionMonSpecies(gBattleAnimAttacker) : gAnimBattlerSpecies[gBattleAnimAttacker]; + PlayCry_ByMode(species, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER), CRY_MODE_NORMAL); gTasks[taskId].func = SoundTask_WaitForCry; } @@ -305,7 +300,7 @@ void SoundTask_PlayCryWithEcho(u8 taskId) if (IsContest()) species = gContestResources->moveAnim->species; else - species = gAnimBattlerSpecies[gBattleAnimAttacker]; + species = (GetIllusionMonSpecies(gBattleAnimAttacker) != SPECIES_NONE) ? GetIllusionMonSpecies(gBattleAnimAttacker) : gAnimBattlerSpecies[gBattleAnimAttacker]; gTasks[taskId].tSpecies = species; gTasks[taskId].tPan = pan; diff --git a/src/battle_message.c b/src/battle_message.c index 7b9faea10f..0e71bc7ca3 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -3206,13 +3206,6 @@ static const u8 *BattleStringGetPlayerName(u8 *text, u8 battler) break; } - if (DECAP_ENABLED && !DECAP_NICKNAMES && toCpy != text && *toCpy != CHAR_FIXED_CASE) - { - *text = CHAR_FIXED_CASE; - StringCopyN(text+1, toCpy, PLAYER_NAME_LENGTH + 1); - toCpy = text; - } - return toCpy; } @@ -3269,7 +3262,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) if (*src == PLACEHOLDER_BEGIN) { src++; - switch (*src & ~PLACEHOLDER_FIXED_MASK) + switch (*src) { case B_TXT_BUFF1: if (gBattleTextBuff1[0] == B_BUFF_PLACEHOLDER_BEGIN) @@ -3644,28 +3637,11 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) if (toCpy != NULL) { - if (DECAP_ENABLED) + while (*toCpy != EOS) { - bool32 fixedCase = *src & PLACEHOLDER_FIXED_MASK; - - if (fixedCase) - dst[dstID++] = CHAR_FIXED_CASE; - - while (*toCpy != EOS) - { - if (*toCpy == CHAR_FIXED_CASE) - fixedCase = TRUE; - else if (*toCpy == CHAR_UNFIX_CASE) - fixedCase = FALSE; - dst[dstID++] = *toCpy++; - } - if (fixedCase) - dst[dstID++] = CHAR_UNFIX_CASE; - } - else - { - while (*toCpy != EOS) - dst[dstID++] = *toCpy++; + dst[dstID] = *toCpy; + dstID++; + toCpy++; } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5b6d72fb51..85e18efb93 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -15821,7 +15821,8 @@ bool32 IsMoveAffectedByParentalBond(u32 move, u32 battler) if (move != MOVE_NONE && move != MOVE_UNAVAILABLE && move != MOVE_STRUGGLE && !gMovesInfo[move].parentalBondBanned && gMovesInfo[move].category != DAMAGE_CATEGORY_STATUS - && gMovesInfo[move].strikeCount < 2) + && gMovesInfo[move].strikeCount < 2 + && gMovesInfo[move].effect != EFFECT_MULTI_HIT) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { diff --git a/src/data/pokemon/form_change_tables.h b/src/data/pokemon/form_change_tables.h index a91f95a935..0c5d9d420c 100644 --- a/src/data/pokemon/form_change_tables.h +++ b/src/data/pokemon/form_change_tables.h @@ -627,7 +627,7 @@ static const struct FormChange sShayminFormChangeTable[] = { {FORM_CHANGE_ITEM_USE, SPECIES_SHAYMIN_SKY, ITEM_GRACIDEA, DAY}, {FORM_CHANGE_WITHDRAW, SPECIES_SHAYMIN_LAND}, {FORM_CHANGE_TIME_OF_DAY, SPECIES_SHAYMIN_LAND, NIGHT}, - {FORM_CHANGE_STATUS, SPECIES_SHAYMIN_LAND, (STATUS1_FREEZE | STATUS1_FROSTBITE)}, + {FORM_CHANGE_STATUS, SPECIES_SHAYMIN_LAND, STATUS1_FREEZE | STATUS1_FROSTBITE}, {FORM_CHANGE_TERMINATOR}, }; #endif //P_FAMILY_SHAYMIN diff --git a/src/data/pokemon/species_info/gen_1_families.h b/src/data/pokemon/species_info/gen_1_families.h index e633c1a5a8..4e8e2547ee 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -8071,7 +8071,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .palette = gMonPalette_SlowpokeGalarian, .shinyPalette = gMonShinyPalette_SlowpokeGalarian, .iconSprite = gMonIcon_SlowpokeGalarian, - .iconPalIndex = 1, + .iconPalIndex = 0, FOOTPRINT(Slowpoke) .isGalarianForm = TRUE, .levelUpLearnset = sSlowpokeGalarianLevelUpLearnset, @@ -8183,7 +8183,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .palette = gMonPalette_SlowkingGalarian, .shinyPalette = gMonShinyPalette_SlowkingGalarian, .iconSprite = gMonIcon_SlowkingGalarian, - .iconPalIndex = 2, + .iconPalIndex = 0, FOOTPRINT(Slowking) .isGalarianForm = TRUE, .levelUpLearnset = sSlowkingGalarianLevelUpLearnset, diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index 16f6a43f7d..3ec9804a85 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -3886,12 +3886,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 8, .frontPic = gMonFrontPic_Overqwil, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = 0, .frontAnimFrames = sAnims_Overqwil, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Overqwil, - .backPicSize = MON_COORDS_SIZE(64, 56), - .backPicYOffset = 7, + .backPicSize = MON_COORDS_SIZE(64, 64), + .backPicYOffset = 11, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_Overqwil, .shinyPalette = gMonShinyPalette_Overqwil, @@ -4299,12 +4299,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Sneasler, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = 0, .frontAnimFrames = sAnims_Sneasler, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Sneasler, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicYOffset = 6, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_Sneasler, .shinyPalette = gMonShinyPalette_Sneasler, @@ -4465,13 +4465,13 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerScale = 369, .trainerOffset = 7, .frontPic = gMonFrontPic_Ursaluna, - .frontPicSize = MON_COORDS_SIZE(56, 56), - .frontPicYOffset = 2, + .frontPicSize = MON_COORDS_SIZE(64, 64), + .frontPicYOffset = 3, .frontAnimFrames = sAnims_Ursaluna, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Ursaluna, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 14, + .backPicSize = MON_COORDS_SIZE(64, 64), + .backPicYOffset = 9, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_Ursaluna, .shinyPalette = gMonShinyPalette_Ursaluna, @@ -4519,12 +4519,12 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .trainerOffset = 7, .frontPic = gMonFrontPic_UrsalunaBloodmoon, .frontPicSize = MON_COORDS_SIZE(64, 64), - //.frontPicYOffset = 0, + .frontPicYOffset = 0, .frontAnimFrames = sAnims_UrsalunaBloodmoon, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_UrsalunaBloodmoon, - .backPicSize = MON_COORDS_SIZE(64, 40), - .backPicYOffset = 3, + .backPicSize = MON_COORDS_SIZE(64, 64), + .backPicYOffset = 9, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_UrsalunaBloodmoon, .shinyPalette = gMonShinyPalette_UrsalunaBloodmoon, diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index 99197cfa0d..e91b823881 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -5190,7 +5190,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .trainerOffset = 1, .frontPic = gMonFrontPic_ZoroarkHisuian, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = 1, .frontAnimFrames = sAnims_ZoroarkHisuian, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_ZoroarkHisuian, diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index d36066bf58..8c48aaf6b3 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -4350,7 +4350,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .palette = gMonPalette_Pincurchin, .shinyPalette = gMonShinyPalette_Pincurchin, .iconSprite = gMonIcon_Pincurchin, - .iconPalIndex = 0, + .iconPalIndex = 2, FOOTPRINT(Pincurchin) .levelUpLearnset = sPincurchinLevelUpLearnset, .teachableLearnset = sPincurchinTeachableLearnset, @@ -5116,7 +5116,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .palette = gMonPalette_Arctozolt, .shinyPalette = gMonShinyPalette_Arctozolt, .iconSprite = gMonIcon_Arctozolt, - .iconPalIndex = 2, + .iconPalIndex = 0, FOOTPRINT(Arctozolt) .levelUpLearnset = sArctozoltLevelUpLearnset, .teachableLearnset = sArctozoltTeachableLearnset, diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index eb35606516..43b969fb70 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -3841,7 +3841,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Greavard, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 6, + .frontPicYOffset = 11, .frontAnimFrames = sAnims_Greavard, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Greavard, @@ -3894,12 +3894,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Houndstone, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = 5, .frontAnimFrames = sAnims_Houndstone, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Houndstone, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 4, + .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_Houndstone, .shinyPalette = gMonShinyPalette_Houndstone, @@ -4710,12 +4710,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_IronTreads, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 1, + .frontPicYOffset = 9, .frontAnimFrames = sAnims_IronTreads, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronTreads, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 4, + .backPicYOffset = 9, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_IronTreads, .shinyPalette = gMonShinyPalette_IronTreads, @@ -4825,7 +4825,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronHands, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 10, + .backPicYOffset = 4, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_IronHands, .shinyPalette = gMonShinyPalette_IronHands, @@ -4875,13 +4875,13 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_IronJugulis, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = 3, .frontAnimFrames = sAnims_IronJugulis, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 7, .backPic = gMonBackPic_IronJugulis, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicYOffset = 11, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_IronJugulis, .shinyPalette = gMonShinyPalette_IronJugulis, @@ -4931,13 +4931,13 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_IronMoth, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 7, + .frontPicYOffset = 5, .frontAnimFrames = sAnims_IronMoth, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .enemyMonElevation = 8, .backPic = gMonBackPic_IronMoth, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 4, + .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_IronMoth, .shinyPalette = gMonShinyPalette_IronMoth, @@ -4992,7 +4992,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronThorns, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicYOffset = 1, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_IronThorns, .shinyPalette = gMonShinyPalette_IronThorns, @@ -5095,12 +5095,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Arctibax, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 5, + .frontPicYOffset = 6, .frontAnimFrames = sAnims_Arctibax, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Arctibax, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 8, + .backPicYOffset = 10, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_Arctibax, .shinyPalette = gMonShinyPalette_Arctibax, @@ -5202,12 +5202,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_GimmighoulChest, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = 4, .frontAnimFrames = sAnims_Gimmighoul, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GimmighoulChest, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 0, + .backPicYOffset = 15, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_GimmighoulChest, .shinyPalette = gMonShinyPalette_GimmighoulChest, @@ -5256,12 +5256,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_GimmighoulRoaming, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 11, + .frontPicYOffset = 17, .frontAnimFrames = sAnims_Gimmighoul, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GimmighoulRoaming, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicYOffset = 12, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_GimmighoulRoaming, .shinyPalette = gMonShinyPalette_GimmighoulRoaming, @@ -5310,12 +5310,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Gholdengo, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = 1, .frontAnimFrames = sAnims_Gholdengo, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Gholdengo, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 6, + .backPicYOffset = 1, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_Gholdengo, .shinyPalette = gMonShinyPalette_Gholdengo, @@ -5364,12 +5364,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_WoChien, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = 1, .frontAnimFrames = sAnims_WoChien, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_WoChien, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 10, + .backPicYOffset = 3, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_WoChien, .shinyPalette = gMonShinyPalette_WoChien, @@ -5474,12 +5474,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_TingLu, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 2, + .frontPicYOffset = 0, .frontAnimFrames = sAnims_TingLu, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_TingLu, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 5, + .backPicYOffset = 14, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_TingLu, .shinyPalette = gMonShinyPalette_TingLu, @@ -5588,10 +5588,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPicYOffset = 0, .frontAnimFrames = sAnims_RoaringMoon, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, - .enemyMonElevation = 6, + .enemyMonElevation = 0, .backPic = gMonBackPic_RoaringMoon, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 7, + .backPicYOffset = 10, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_RoaringMoon, .shinyPalette = gMonShinyPalette_RoaringMoon, @@ -5811,7 +5811,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_WalkingWake, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 3, + .backPicYOffset = 0, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_WalkingWake, .shinyPalette = gMonShinyPalette_WalkingWake, @@ -5860,12 +5860,12 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_IronLeaves, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 0, + .frontPicYOffset = 2, .frontAnimFrames = sAnims_IronLeaves, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_IronLeaves, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 8, + .backPicYOffset = 7, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_IronLeaves, .shinyPalette = gMonShinyPalette_IronLeaves, diff --git a/src/debug.c b/src/debug.c index 92972c289e..c8bf04eff9 100644 --- a/src/debug.c +++ b/src/debug.c @@ -3410,7 +3410,7 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) if (JOY_NEW(A_BUTTON)) { - u8 abilityId; + u16 abilityId; sDebugMonData->nature = gTasks[taskId].tInput; gTasks[taskId].tInput = 0; gTasks[taskId].tDigit = 0; diff --git a/src/easy_chat.c b/src/easy_chat.c index dbdd80be63..ce3b4fe907 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -3954,8 +3954,6 @@ static void PrintTitle(void) static void PrintEasyChatText(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)) { - if (DECAP_ENABLED && DECAP_MIRRORING && !DECAP_EASY_CHAT) - str = MirrorPtr(str); AddTextPrinterParameterized(windowId, fontId, str, x, y, speed, callback); } @@ -5242,9 +5240,6 @@ u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows u16 i, j; u16 numColumns = columns - 1; - if (DECAP_ENABLED && !DECAP_EASY_CHAT) - *dest++ = CHAR_FIXED_CASE; - for (i = 0; i < rows; i++) { for (j = 0; j < numColumns; j++) diff --git a/src/field_message_box.c b/src/field_message_box.c index 46f0f2898d..b797e1d353 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -117,15 +117,7 @@ bool8 ShowFieldMessageFromBuffer(void) static void ExpandStringAndStartDrawFieldMessage(const u8 *str, bool32 allowSkippingDelayWithButtonPress) { - if (DECAP_ENABLED && DECAP_MIRRORING && !DECAP_FIELD_MSG) - { - gStringVar4[0] = CHAR_FIXED_CASE; - StringExpandPlaceholders(gStringVar4+1, str); - } - else - { - StringExpandPlaceholders(gStringVar4, str); - } + StringExpandPlaceholders(gStringVar4, str); AddTextPrinterForMessage(allowSkippingDelayWithButtonPress); CreateTask_DrawFieldMessage(); } diff --git a/src/fonts.c b/src/fonts.c index 92600fcf7e..6bd2d35e83 100644 --- a/src/fonts.c +++ b/src/fonts.c @@ -9,7 +9,7 @@ ALIGNED(4) const u8 gFontSmallNarrowLatinGlyphWidths[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 3, 8, 8, 8, 8, 8, 8, 8, 4, 5, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 4, - 3, 3, 3, 3, 3, 3, 3, 5, 3, 8, 8, 8, 8, 0, 0, 3, + 3, 3, 3, 3, 3, 3, 3, 5, 3, 8, 8, 8, 8, 1, 2, 3, 4, 5, 6, 7, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 3, 5, 5, @@ -45,7 +45,7 @@ ALIGNED(4) const u8 gFontSmallLatinGlyphWidths[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 4, 7, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 4, - 3, 3, 3, 3, 3, 3, 3, 5, 3, 8, 8, 8, 8, 0, 0, 3, + 3, 3, 3, 3, 3, 3, 3, 5, 3, 8, 8, 8, 8, 1, 2, 3, 4, 5, 6, 7, 5, 7, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, @@ -81,7 +81,7 @@ ALIGNED(4) const u8 gFontNarrowLatinGlyphWidths[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 4, 8, 8, 8, 7, 8, 8, 4, 4, 6, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 4, - 3, 3, 3, 3, 3, 3, 3, 5, 3, 7, 7, 7, 7, 0, 0, 3, + 3, 3, 3, 3, 3, 3, 3, 5, 3, 7, 7, 7, 7, 1, 2, 3, 4, 5, 6, 7, 5, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 3, 5, 3, @@ -117,7 +117,7 @@ ALIGNED(4) const u8 gFontShortLatinGlyphWidths[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 6, 8, 8, 8, 8, 8, 8, 4, 6, 8, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6, - 3, 3, 3, 3, 3, 3, 3, 6, 3, 12, 12, 12, 12, 0, 0, 3, + 3, 3, 3, 3, 3, 3, 3, 6, 3, 12, 12, 12, 12, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 5, @@ -153,7 +153,7 @@ ALIGNED(4) const u8 gFontNormalLatinGlyphWidths[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 4, 8, 8, 8, 7, 8, 8, 4, 6, 6, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6, - 3, 3, 3, 3, 3, 3, 3, 6, 3, 7, 7, 7, 7, 0, 0, 3, + 3, 3, 3, 3, 3, 3, 3, 6, 3, 7, 7, 7, 7, 1, 2, 3, 4, 5, 6, 7, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 6, 3, 6, 3, diff --git a/src/item.c b/src/item.c index 4e903b4883..0823f92059 100644 --- a/src/item.c +++ b/src/item.c @@ -852,10 +852,7 @@ static u16 SanitizeItemId(u16 itemId) const u8 *ItemId_GetName(u16 itemId) { - if (DECAP_ENABLED && DECAP_MIRRORING && !DECAP_ITEM_NAMES) - return ROM_MIRROR_PTR(gItemsInfo[SanitizeItemId(itemId)].name); - else - return gItemsInfo[SanitizeItemId(itemId)].name; + return gItemsInfo[SanitizeItemId(itemId)].name; } u32 ItemId_GetPrice(u16 itemId) diff --git a/src/main.c b/src/main.c index 0d508104ed..b0bba2f3f3 100644 --- a/src/main.c +++ b/src/main.c @@ -93,14 +93,7 @@ void AgbMain() { *(vu16 *)BG_PLTT = RGB_WHITE; // Set the backdrop to white on startup InitGpuRegManager(); - // Setup waitstates for all ROM mirrors - if (DECAP_ENABLED && DECAP_MIRRORING) - REG_WAITCNT = WAITCNT_PREFETCH_ENABLE - | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3 - | WAITCNT_WS1_S_1 | WAITCNT_WS1_N_3 - | WAITCNT_WS2_S_1 | WAITCNT_WS2_N_3; - else - REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3; + REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3; InitKeys(); InitIntrHandlers(); m4aSoundInit(); diff --git a/src/main_menu.c b/src/main_menu.c index 6a225bf97d..c1f092b2ca 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -163,11 +163,6 @@ * - Destroys itself when done. */ -#if (DECAP_ENABLED) && (DECAP_MIRRORING) && !(DECAP_MAIN_MENU) -#define AddTextPrinterParameterized3(a, b, c, d, e, f, str) AddTextPrinterParameterized3(a, b, c, d, e, f, MirrorPtr(str)) -#endif - - #define OPTION_MENU_FLAG (1 << 15) // Static type declarations diff --git a/src/naming_screen.c b/src/naming_screen.c index d21130284e..e32995050a 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1857,18 +1857,7 @@ static void SaveInputText(void) { if (sNamingScreen->textBuffer[i] != CHAR_SPACE && sNamingScreen->textBuffer[i] != EOS) { - // If there is space, prepend fixed-case character - if (DECAP_ENABLED && !DECAP_NICKNAMES - && (sNamingScreen->templateNum == NAMING_SCREEN_PLAYER - || sNamingScreen->templateNum == NAMING_SCREEN_NICKNAME - || sNamingScreen->templateNum == NAMING_SCREEN_CAUGHT_MON) - && sNamingScreen->textBuffer[GetTextEntryPosition()] == EOS) - { - *sNamingScreen->destBuffer = CHAR_FIXED_CASE; - StringCopyN(sNamingScreen->destBuffer + 1, sNamingScreen->textBuffer, sNamingScreen->template->maxChars + 0); - } - else - StringCopyN(sNamingScreen->destBuffer, sNamingScreen->textBuffer, sNamingScreen->template->maxChars + 1); + StringCopyN(sNamingScreen->destBuffer, sNamingScreen->textBuffer, sNamingScreen->template->maxChars + 1); break; } } @@ -2596,3 +2585,5 @@ static const struct SpritePalette sSpritePalettes[] = {gNamingScreenMenu_Pal[4], PALTAG_OK_BUTTON}, {} }; + + diff --git a/src/option_menu.c b/src/option_menu.c index 273353c22b..fda3a24c47 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -24,11 +24,6 @@ #define tButtonMode data[5] #define tWindowFrameType data[6] -#if (DECAP_ENABLED) && (DECAP_MIRRORING) && !(DECAP_OPTION_MENU) -#define AddTextPrinterParameterized3(a, b, c, d, e, f, str) AddTextPrinterParameterized3(a, b, c, d, e, f, MirrorPtr(str)) -#define AddTextPrinterParameterized4(a, b, c, d, e, f, g, h, str) AddTextPrinterParameterized4(a, b, c, d, e, f, g, h, MirrorPtr(str)) -#endif - enum { MENUITEM_TEXTSPEED, diff --git a/src/party_menu.c b/src/party_menu.c index f5782a1346..b8f1b8eef7 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -75,12 +75,6 @@ #include "constants/rgb.h" #include "constants/songs.h" -#if (DECAP_ENABLED) && (DECAP_MIRRORING) && !(DECAP_PARTY_MENU) -#define gStringVar4 (MirrorPtr(gStringVar4)) -#define AddTextPrinterParameterized4(a, b, c, d, e, f, g, h, str) (AddTextPrinterParameterized4(a, b, c, d, e, f, g, h, MirrorPtr(str))) -#define AddTextPrinterParameterized3(a, b, c, d, e, f, str) AddTextPrinterParameterized3(a, b, c, d, e, f, MirrorPtr(str)) -#endif - enum { MENU_SUMMARY, MENU_SWITCH, @@ -2757,10 +2751,7 @@ static void PrintMessage(const u8 *text) { DrawStdFrameWithCustomTileAndPalette(WIN_MSG, FALSE, 0x4F, 13); gTextFlags.canABSpeedUpPrint = TRUE; - if (DECAP_ENABLED && DECAP_MIRRORING && !DECAP_PARTY_MENU) - AddTextPrinterParameterized2(WIN_MSG, FONT_NORMAL, MirrorPtr(text), GetPlayerTextSpeedDelay(), 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - else - AddTextPrinterParameterized2(WIN_MSG, FONT_NORMAL, text, GetPlayerTextSpeedDelay(), 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); + AddTextPrinterParameterized2(WIN_MSG, FONT_NORMAL, text, GetPlayerTextSpeedDelay(), 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); } static void PartyMenuDisplayYesNoMenu(void) diff --git a/src/pokemon.c b/src/pokemon.c index 9663b2c317..7f4e5879ea 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2199,8 +2199,6 @@ u32 GetBoxMonData3(struct BoxPokemon *boxMon, s32 field, u8 *data) } else { - if (DECAP_ENABLED && !DECAP_NICKNAMES && IsStringAddrSafe(data, POKEMON_NAME_LENGTH)) - *data++ = CHAR_FIXED_CASE; retVal = 0; while (retVal < min(sizeof(boxMon->nickname), POKEMON_NAME_LENGTH)) { @@ -2569,8 +2567,6 @@ u32 GetBoxMonData3(struct BoxPokemon *boxMon, s32 field, u8 *data) break; case MON_DATA_OT_NAME: { - if (DECAP_ENABLED && !DECAP_NICKNAMES && IsStringAddrSafe(data, PLAYER_NAME_LENGTH)) - *data++ = CHAR_FIXED_CASE; retVal = 0; while (retVal < PLAYER_NAME_LENGTH) @@ -6255,9 +6251,12 @@ u16 GetFormChangeTargetSpeciesBoxMon(struct BoxPokemon *boxMon, u16 method, u32 break; case FORM_CHANGE_WITHDRAW: case FORM_CHANGE_FAINT: - case FORM_CHANGE_STATUS: targetSpecies = formChanges[i].targetSpecies; break; + case FORM_CHANGE_STATUS: + if (GetBoxMonData(boxMon, MON_DATA_STATUS, NULL) & formChanges[i].param1) + targetSpecies = formChanges[i].targetSpecies; + break; case FORM_CHANGE_TIME_OF_DAY: switch (formChanges[i].param1) { diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 111d153d2f..b481db14eb 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -5558,10 +5558,7 @@ static void InitBoxTitle(u8 boxId) sStorage->wallpaperPalBits |= (1 << 16) << tagIndex; StringCopyPadded(sStorage->boxTitleText, GetBoxNamePtr(boxId), 0, BOX_NAME_LENGTH); - if (DECAP_ENABLED && DECAP_MIRRORING) - DrawTextWindowAndBufferTiles(MirrorPtr(sStorage->boxTitleText), sStorage->boxTitleTiles, 0, 0, 2); - else - DrawTextWindowAndBufferTiles(sStorage->boxTitleText, sStorage->boxTitleTiles, 0, 0, 2); + DrawTextWindowAndBufferTiles(sStorage->boxTitleText, sStorage->boxTitleTiles, 0, 0, 2); LoadSpriteSheet(&spriteSheet); x = GetBoxTitleBaseX(GetBoxNamePtr(boxId)); @@ -9619,10 +9616,7 @@ struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 boxPosition) u8 *GetBoxNamePtr(u8 boxId) { if (boxId < TOTAL_BOXES_COUNT) - if (DECAP_ENABLED && DECAP_MIRRORING) - return MirrorPtr(gPokemonStoragePtr->boxNames[boxId]); - else - return gPokemonStoragePtr->boxNames[boxId]; + return gPokemonStoragePtr->boxNames[boxId]; else return NULL; } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index f13e57ed8e..e18606122a 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -2802,10 +2802,7 @@ static void ResetWindows(void) static void PrintTextOnWindowWithFont(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId, u32 fontId) { - if (DECAP_ENABLED && DECAP_MIRRORING && !DECAP_SUMMARY) - AddTextPrinterParameterized4(windowId, fontId, x, y, 0, lineSpacing, sTextColors[colorId], 0, MirrorPtr(string)); - else - AddTextPrinterParameterized4(windowId, fontId, x, y, 0, lineSpacing, sTextColors[colorId], 0, string); + AddTextPrinterParameterized4(windowId, fontId, x, y, 0, lineSpacing, sTextColors[colorId], 0, string); } static void PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId) diff --git a/src/region_map.c b/src/region_map.c index 36c6ae8fc6..8936e668ac 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1570,9 +1570,6 @@ u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength) u8 *str; u16 i; - if (DECAP_ENABLED && !DECAP_MAP_NAMES) - *dest++ = CHAR_FIXED_CASE; - if (regionMapId == MAPSEC_SECRET_BASE) { str = GetSecretBaseMapName(dest); diff --git a/src/start_menu.c b/src/start_menu.c index 857eed168d..0525ccf70d 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -48,10 +48,6 @@ #include "constants/rgb.h" #include "constants/songs.h" -#if (DECAP_ENABLED) && (DECAP_MIRRORING) && !(DECAP_START_MENU) -#define AddTextPrinterParameterized (AddTextPrinterFixedCaseParameterized) -#endif - // Menu actions enum { diff --git a/src/strings.c b/src/strings.c index 84c8112681..c9be317a09 100644 --- a/src/strings.c +++ b/src/strings.c @@ -2,7 +2,6 @@ #include "strings.h" #include "battle_pyramid_bag.h" #include "item_menu.h" -#include "text.h" ALIGNED(4) const u8 gText_ExpandedPlaceholder_Empty[] = _(""); @@ -176,7 +175,7 @@ const u8 gText_Number[] = _("No. "); const u8 gText_Level[] = _("Lv. "); const u8 gText_IdNumberSlash[] = _("IDNo. /"); // Unused const u8 gText_Name[] = _("NAME"); -const u8 gText_IDNumber[] = _C("IDNo."); +const u8 gText_IDNumber[] = _("IDNo."); const u8 gText_BirchInTrouble[] = _("PROF. BIRCH is in trouble!\nRelease a POKéMON and rescue him!"); const u8 gText_ConfirmStarterChoice[] = _("Do you choose this POKéMON?"); const u8 gText_Pokemon4[] = _("POKéMON"); // Unused @@ -504,7 +503,7 @@ const u8 gText_SpDef4[] = _("SP. DEF"); const u8 gText_Speed2[] = _("SPEED"); const u8 gText_HP4[] = _("HP"); const u8 gText_EmptyString8[] = _(""); // Unused -const u8 gText_OTSlash[] = _C("OT/"); +const u8 gText_OTSlash[] = _("OT/"); const u8 gText_RentalPkmn[] = _("RENTAL POKéMON"); const u8 gText_TypeSlash[] = _("TYPE/"); const u8 gText_Power[] = _("POWER"); @@ -1107,15 +1106,9 @@ const u8 gText_GamePlayCannotBeContinued[] = _("{COLOR RED}“Game play cannot b const u8 gText_CheckCompleted[] = _("Check completed.\nAttempting to save again.\nPlease wait."); const u8 gText_SaveCompleteGameCannotContinue[] = _("Save completed.\n{COLOR RED}“Game play cannot be continued.\nReturning to the title screen.”"); const u8 gText_SaveCompletePressA[] = _("Save completed.\n{COLOR RED}“Please press the A Button.”"); -#if (DECAP_ENABLED) && !(DECAP_MAP_NAMES) -const u8 gText_Ferry[] = _C("FERRY"); -const u8 gText_SecretBase[] = _C("SECRET BASE"); -const u8 gText_Hideout[] = _C("HIDEOUT"); -#else const u8 gText_Ferry[] = _("FERRY"); const u8 gText_SecretBase[] = _("SECRET BASE"); const u8 gText_Hideout[] = _("HIDEOUT"); -#endif const u8 gText_ResetRTCConfirmCancel[] = _("Reset RTC?\nA: Confirm, B: Cancel"); const u8 gText_PresentTime[] = _("Present time in game"); const u8 gText_PreviousTime[] = _("Previous time in game"); @@ -1213,7 +1206,7 @@ const u8 gText_PkmnFainted_FldPsn[] = _("{STR_VAR_1} survived the poisoning.\nTh #endif const u8 gText_Marco[] = _("MARCO"); const u8 gText_TrainerCardName[] = _("NAME: "); -const u8 gText_TrainerCardIDNo[] = _C("IDNo."); +const u8 gText_TrainerCardIDNo[] = _("IDNo."); const u8 gText_TrainerCardMoney[] = _("MONEY"); const u8 gText_PokeDollar[] = _("¥"); // Unused const u8 gText_TrainerCardPokedex[] = _("POKéDEX"); diff --git a/test/battle/ability/parental_bond.c b/test/battle/ability/parental_bond.c index 5ff56bcef2..46e71096de 100644 --- a/test/battle/ability/parental_bond.c +++ b/test/battle/ability/parental_bond.c @@ -131,6 +131,114 @@ SINGLE_BATTLE_TEST("Parental Bond-converted moves only hit once on Lightning Rod } } +SINGLE_BATTLE_TEST("Parental Bond has no affect on multi hit moves and they still hit twice 35% of the time") +{ + PASSES_RANDOMLY(35, 100, RNG_HITS); + + GIVEN { + ASSUME(B_MULTI_HIT_CHANCE >= GEN_5); + ASSUME(gMovesInfo[MOVE_COMET_PUNCH].category != DAMAGE_CATEGORY_STATUS); + ASSUME(gMovesInfo[MOVE_COMET_PUNCH].effect == EFFECT_MULTI_HIT); + PLAYER(SPECIES_KANGASKHAN) { Item(ITEM_KANGASKHANITE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_COMET_PUNCH, megaEvolve: TRUE); } + } SCENE { + MESSAGE("Kangaskhan's Kangaskhanite is reacting to 1's Mega Ring!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, player); + MESSAGE("Kangaskhan has Mega Evolved into Mega Kangaskhan!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + MESSAGE("Hit 2 time(s)!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); + } + THEN { + EXPECT_EQ(player->species, SPECIES_KANGASKHAN_MEGA); + } +} + +SINGLE_BATTLE_TEST("Parental Bond has no affect on multi hit moves and they still hit thrice 35% of the time") +{ + PASSES_RANDOMLY(35, 100, RNG_HITS); + + GIVEN { + ASSUME(B_MULTI_HIT_CHANCE >= GEN_5); + ASSUME(gMovesInfo[MOVE_COMET_PUNCH].category != DAMAGE_CATEGORY_STATUS); + ASSUME(gMovesInfo[MOVE_COMET_PUNCH].effect == EFFECT_MULTI_HIT); + PLAYER(SPECIES_KANGASKHAN) { Item(ITEM_KANGASKHANITE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_COMET_PUNCH, megaEvolve: TRUE); } + } SCENE { + MESSAGE("Kangaskhan's Kangaskhanite is reacting to 1's Mega Ring!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, player); + MESSAGE("Kangaskhan has Mega Evolved into Mega Kangaskhan!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + MESSAGE("Hit 3 time(s)!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); + } + THEN { + EXPECT_EQ(player->species, SPECIES_KANGASKHAN_MEGA); + } +} + +SINGLE_BATTLE_TEST("Parental Bond has no affect on multi hit moves and they still hit four times 15% of the time") +{ + PASSES_RANDOMLY(15, 100, RNG_HITS); + + GIVEN { + ASSUME(B_MULTI_HIT_CHANCE >= GEN_5); + ASSUME(gMovesInfo[MOVE_COMET_PUNCH].category != DAMAGE_CATEGORY_STATUS); + ASSUME(gMovesInfo[MOVE_COMET_PUNCH].effect == EFFECT_MULTI_HIT); + PLAYER(SPECIES_KANGASKHAN) { Item(ITEM_KANGASKHANITE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_COMET_PUNCH, megaEvolve: TRUE); } + } SCENE { + MESSAGE("Kangaskhan's Kangaskhanite is reacting to 1's Mega Ring!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, player); + MESSAGE("Kangaskhan has Mega Evolved into Mega Kangaskhan!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + MESSAGE("Hit 4 time(s)!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); + } + THEN { + EXPECT_EQ(player->species, SPECIES_KANGASKHAN_MEGA); + } +} + +SINGLE_BATTLE_TEST("Parental Bond has no affect on multi hit moves and they still hit five times 15% of the time") +{ + PASSES_RANDOMLY(15, 100, RNG_HITS); + + GIVEN { + ASSUME(B_MULTI_HIT_CHANCE >= GEN_5); + ASSUME(gMovesInfo[MOVE_COMET_PUNCH].category != DAMAGE_CATEGORY_STATUS); + ASSUME(gMovesInfo[MOVE_COMET_PUNCH].effect == EFFECT_MULTI_HIT); + PLAYER(SPECIES_KANGASKHAN) { Item(ITEM_KANGASKHANITE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_COMET_PUNCH, megaEvolve: TRUE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_COMET_PUNCH, player); + MESSAGE("Hit 5 time(s)!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); + } + THEN { + EXPECT_EQ(player->species, SPECIES_KANGASKHAN_MEGA); + } +} + TO_DO_BATTLE_TEST("Parental Bond tests"); // Temporary TODO: Convert Bulbapedia description into tests. diff --git a/test/battle/form_change/status.c b/test/battle/form_change/status.c index b264ba3dd5..f0d5a9f3f0 100644 --- a/test/battle/form_change/status.c +++ b/test/battle/form_change/status.c @@ -3,13 +3,38 @@ SINGLE_BATTLE_TEST("Shaymin-Sky reverts to Shaymin-Land when frozen or frostbitten") { + u32 move; + + PARAMETRIZE { move = MOVE_POWDER_SNOW; } + PARAMETRIZE { move = MOVE_EMBER; } + PARAMETRIZE { move = MOVE_THUNDERSHOCK; } + PARAMETRIZE { move = MOVE_POISON_STING; } + PARAMETRIZE { move = MOVE_POISON_FANG; } + ASSUME(MoveHasAdditionalEffect(MOVE_POWDER_SNOW, MOVE_EFFECT_FREEZE_OR_FROSTBITE)); + ASSUME(MoveHasAdditionalEffect(MOVE_EMBER, MOVE_EFFECT_BURN)); + ASSUME(MoveHasAdditionalEffect(MOVE_THUNDERSHOCK, MOVE_EFFECT_PARALYSIS)); + ASSUME(MoveHasAdditionalEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON)); + ASSUME(MoveHasAdditionalEffect(MOVE_POISON_FANG, MOVE_EFFECT_TOXIC)); GIVEN { PLAYER(SPECIES_SHAYMIN_SKY); OPPONENT(SPECIES_WOBBUFFET); } WHEN { - TURN { MOVE(opponent, MOVE_POWDER_SNOW); } + TURN { MOVE(opponent, move); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, move, opponent); + if (move == MOVE_POWDER_SNOW) { + STATUS_ICON(player, freeze: TRUE); + NOT HP_BAR(player); // Regression caused by Mimikyu form change + MESSAGE("Shaymin transformed!"); + } else { + NOT MESSAGE("Shaymin transformed!"); + } } THEN { - EXPECT_EQ(player->species, SPECIES_SHAYMIN_LAND); + if (move == MOVE_POWDER_SNOW) + EXPECT_EQ(player->species, SPECIES_SHAYMIN_LAND); + else + EXPECT_EQ(player->species, SPECIES_SHAYMIN_SKY); + } } diff --git a/test/test_runner_battle.c b/test/test_runner_battle.c index aaeba97479..afc996a326 100644 --- a/test/test_runner_battle.c +++ b/test/test_runner_battle.c @@ -12,7 +12,6 @@ #include "random.h" #include "test/battle.h" #include "window.h" -#include "text.h" #include "constants/trainers.h" #if defined(__INTELLISENSE__) @@ -1186,13 +1185,6 @@ static s32 TryMessage(s32 i, s32 n, const u8 *string) if (string[j] == CHAR_PROMPT_CLEAR) j++; } - if (DECAP_ENABLED && (string[j] == CHAR_FIXED_CASE || string[j] == CHAR_UNFIX_CASE)) - { - // Ignores case-fixing characters in string - // k will be incremented in 'continue' - k--; - continue; - } if (string[j] != event->pattern[k]) { break; diff --git a/tools/preproc/asm_file.cpp b/tools/preproc/asm_file.cpp index 95655f6ac9..04a7410e00 100644 --- a/tools/preproc/asm_file.cpp +++ b/tools/preproc/asm_file.cpp @@ -170,8 +170,6 @@ Directive AsmFile::GetDirective() if (CheckForDirective(".include")) return Directive::Include; - else if (CheckForDirective(".fixstr")) - return Directive::FixedString; else if (CheckForDirective(".string")) return Directive::String; else if (CheckForDirective(".braille")) diff --git a/tools/preproc/asm_file.h b/tools/preproc/asm_file.h index 9659c7264f..29435f76a4 100644 --- a/tools/preproc/asm_file.h +++ b/tools/preproc/asm_file.h @@ -31,7 +31,6 @@ enum class Directive Include, String, Braille, - FixedString, Unknown }; diff --git a/tools/preproc/c_file.cpp b/tools/preproc/c_file.cpp index d400a75d04..508c628731 100644 --- a/tools/preproc/c_file.cpp +++ b/tools/preproc/c_file.cpp @@ -195,7 +195,6 @@ void CFile::TryConvertString() long oldPos = m_pos; long oldLineNum = m_lineNum; bool noTerminator = false; - bool fixedCase = false; if (m_buffer[m_pos] != '_' || (m_pos > 0 && IsIdentifierChar(m_buffer[m_pos - 1]))) return; @@ -208,13 +207,6 @@ void CFile::TryConvertString() m_pos++; } - // Fixed-case string - if (m_buffer[m_pos] == 'C') - { - fixedCase = true; - m_pos++; - } - SkipWhitespace(); if (m_buffer[m_pos] != '(') @@ -242,13 +234,7 @@ void CFile::TryConvertString() try { - if (fixedCase) { - s[0] = '\x7d'; // FIXED_CASE - m_pos += stringParser.ParseString(m_pos, s+1, length); - length++; - } else { - m_pos += stringParser.ParseString(m_pos, s, length); - } + m_pos += stringParser.ParseString(m_pos, s, length); } catch (std::runtime_error& e) { diff --git a/tools/preproc/preproc.cpp b/tools/preproc/preproc.cpp index 554482dfb1..eb2d4c8a23 100644 --- a/tools/preproc/preproc.cpp +++ b/tools/preproc/preproc.cpp @@ -76,16 +76,6 @@ void PreprocAsmFile(std::string filename) PrintAsmBytes(s, length); break; } - // Like String, but prepends FIXED_CASE char - case Directive::FixedString: - { - unsigned char s[kMaxStringLength]; - int length = 0; - s[length++] = '\x7d'; // FIXED_CASE - length += stack.top().ReadString(s+length); - PrintAsmBytes(s, length); - break; - } case Directive::Braille: { unsigned char s[kMaxStringLength];