From f317b542e22c734bff9d1f32001fcc16bef21c68 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Thu, 9 Dec 2021 20:11:35 -0300 Subject: [PATCH 001/147] Updated Teleport --- asm/macros/battle_script.inc | 8 +++++ data/battle_scripts_1.s | 30 ++++++++++++++++ include/constants/battle_config.h | 1 + include/constants/battle_script_commands.h | 2 ++ src/battle_script_commands.c | 40 ++++++++++++++++++++++ 5 files changed, 81 insertions(+) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 6ba63f916..c81a3f3b3 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1925,6 +1925,14 @@ various BS_ATTACKER, VARIOUS_SHELL_SIDE_ARM_CHECK .endm + .macro canteleport battler:req + various \battler, VARIOUS_CAN_TELEPORT + .endm + + .macro getbattlerside battler:req + various \battler, VARIOUS_GET_BATTLER_SIDE + .endm + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER \stat | \stages << 3 | \down << 7 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index e9d019e43..8fe620460 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -4822,7 +4822,14 @@ BattleScript_EffectTeleport: attackcanceler attackstring ppreduce +.if B_TELEPORT_BEHAVIOR >= GEN_7 + canteleport BS_ATTACKER + jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_EffectTeleportNew + goto BattleScript_ButItFailed +.else jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed +.endif +BattleScript_EffectTeleportTryToRunAway: getifcantrunfrombattle BS_ATTACKER jumpifbyte CMP_EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed jumpifbyte CMP_EQUAL, gBattleCommunication, 2, BattleScript_PrintAbilityMadeIneffective @@ -4833,6 +4840,29 @@ BattleScript_EffectTeleport: setoutcomeonteleport BS_ATTACKER goto BattleScript_MoveEnd +BattleScript_EffectTeleportNew: + getbattlerside BS_ATTACKER + jumpifbyte CMP_EQUAL, gBattleCommunication, B_SIDE_OPPONENT, BattleScript_EffectTeleportTryToRunAway + attackanimation + waitanimation + openpartyscreen BS_ATTACKER, BattleScript_EffectTeleportNewEnd + switchoutabilities BS_ATTACKER + waitstate + switchhandleorder BS_ATTACKER, 2 + returntoball BS_ATTACKER + getswitchedmondata BS_ATTACKER + switchindataupdate BS_ATTACKER + hpthresholds BS_ATTACKER + trytoclearprimalweather + printstring STRINGID_EMPTYSTRING3 + waitmessage 1 + printstring STRINGID_SWITCHINMON + switchinanim BS_ATTACKER, TRUE + waitstate + switchineffects BS_ATTACKER +BattleScript_EffectTeleportNewEnd: + goto BattleScript_MoveEnd + BattleScript_EffectBeatUp:: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index 8f8d30b56..5b04ecef0 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -161,6 +161,7 @@ #define B_BRICK_BREAK GEN_7 // In Gen4+, you can destroy your own side's screens. In Gen 5+, screens are not removed if the target is immune. #define B_WISH_HP_SOURCE GEN_7 // In Gen5+, Wish heals half of the user's max HP instead of the target's. #define B_RAMPAGE_CANCELLING GEN_7 // In Gen5+, a failed Thrash, etc, will cancel except on its last turn. +#define B_TELEPORT_BEHAVIOR GEN_7 // In LGPE+, Teleport lets the user swap out with another party member. // Ability settings #define B_ABILITY_WEATHER GEN_7 // In Gen6+, ability-induced weather lasts 5 turns. Before, it lasted until the battle ended or until it was changed by a move or a different weather-affecting ability. diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index bd16f741b..dc9258096 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -208,6 +208,8 @@ #define VARIOUS_SET_OCTOLOCK 135 #define VARIOUS_CUT_1_3_HP_RAISE_STATS 136 #define VARIOUS_TRY_END_NEUTRALIZING_GAS 137 +#define VARIOUS_CAN_TELEPORT 138 +#define VARIOUS_GET_BATTLER_SIDE 139 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index fcac02894..3e80a124b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7505,6 +7505,37 @@ static bool32 IsRototillerAffected(u32 battlerId) return TRUE; } +static bool32 CanTeleport(u8 battlerId) +{ + struct Pokemon* party = NULL; + u32 species, count, i; + + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + party = gPlayerParty; + else + party = gEnemyParty; + for (i = 0; i < PARTY_SIZE; i++) + { + species = GetMonData(&party[i], MON_DATA_SPECIES2); + if (species != SPECIES_NONE && species != SPECIES_EGG && GetMonData(&party[i], MON_DATA_HP) != 0) + count++; + } + + switch (GetBattlerSide(battlerId)) + { + case B_SIDE_OPPONENT: + if (WILD_DOUBLE_BATTLE || gBattleTypeFlags & BATTLE_TYPE_TRAINER) + return FALSE; + case B_SIDE_PLAYER: + if (((gBattleTypeFlags & BATTLE_TYPE_DOUBLE && count >= 3) || (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && count >= 2))) + return TRUE; + default: + break; + } + + return FALSE; +} + static void Cmd_various(void) { struct Pokemon *mon; @@ -9281,6 +9312,15 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 7; return; } + case VARIOUS_CAN_TELEPORT: + gBattleCommunication[0] = CanTeleport(gActiveBattler); + break; + case VARIOUS_GET_BATTLER_SIDE: + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + gBattleCommunication[0] = B_SIDE_PLAYER; + else + gBattleCommunication[0] = B_SIDE_OPPONENT; + break; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; From 0cb6529ae217bfb510fb105842578ba3eba9b992 Mon Sep 17 00:00:00 2001 From: AgustinGDLV Date: Fri, 6 May 2022 14:53:16 -0700 Subject: [PATCH 002/147] functional but not perfect implementation --- data/battle_scripts_1.s | 6 ++++ include/battle_scripts.h | 1 + src/battle_message.c | 2 +- src/battle_script_commands.c | 53 ++++++++++++++++++++++++++++++++++-- 4 files changed, 59 insertions(+), 3 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 6574e26ab..13a96c89a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -9560,3 +9560,9 @@ BattleScript_MagicianActivates:: call BattleScript_AbilityPopUp call BattleScript_ItemSteal return + +BattleScript_SymbiosisActivates:: + call BattleScript_AbilityPopUp + printstring STRINGID_SYMBIOSISITEMPASS + waitmessage B_WAIT_TIME_LONG + return diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 740d27148..f77431e99 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -419,5 +419,6 @@ extern const u8 BattleScript_MagicianActivates[]; extern const u8 BattleScript_BeakBlastSetUp[]; extern const u8 BattleScript_BeakBlastBurn[]; extern const u8 BattleScript_DefDownSpeedUp[]; +extern const u8 BattleScript_SymbiosisActivates[]; #endif // GUARD_BATTLE_SCRIPTS_H diff --git a/src/battle_message.c b/src/battle_message.c index 3e2d9abd9..d2b02e341 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -601,7 +601,7 @@ static const u8 sText_HarvestBerry[] = _("{B_ATK_NAME_WITH_PREFIX} harvested\nit static const u8 sText_LastAbilityRaisedBuff1[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}\nraised its {B_BUFF1}!"); static const u8 sText_MagicBounceActivates[] = _("The {B_DEF_NAME_WITH_PREFIX} bounced the\n{B_ATK_NAME_WITH_PREFIX} back!"); static const u8 sText_ProteanTypeChange[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} transformed\nit into the {B_BUFF1} type!"); -static const u8 sText_SymbiosisItemPass[] = _("{B_ATK_NAME_WITH_PREFIX} passed its {B_LAST_ITEM}\nto {B_SCR_ACTIVE_NAME_WITH_PREFIX} through {B_ATK_ABILITY}!"); +static const u8 sText_SymbiosisItemPass[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} passed its {B_LAST_ITEM}\nto {B_DEF_NAME_WITH_PREFIX} through {B_LAST_ABILITY}!"); static const u8 sText_StealthRockDmg[] = _("Pointed stones dug into\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}!"); static const u8 sText_ToxicSpikesAbsorbed[] = _("The poison spikes disappeared\nfrom around the opposing team's feet!"); static const u8 sText_ToxicSpikesPoisoned[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} was poisoned!"); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index d6edb0ab2..6657aa9c0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7030,6 +7030,53 @@ static bool32 TryCheekPouch(u32 battlerId, u32 itemId) return FALSE; } +// Notes: +// Symbiosis applies before a move and after a gem is used in Gen 6. +// Symbiosis applies if an ally consumes a berry through Bug Bite / Pluck and doesn't have an item. +// Symbiosis does not apply if an ally has an item stolen, knocked off, or destroyed by Incinerate. +// Symbiosis does not apply after Eject Button (except in Gen 6, where it is bugged). +// Symbiosis does not apply if an ally tricks away their item and does not receive one in return. + +//itemId is used to check Eject Button or Eject Pack +static bool32 TrySymbiosis(u32 battler, u32 itemId) +{ + u32 ally = battler ^ BIT_FLANK; + + if (!gBattleStruct->itemStolen[gBattlerPartyIndexes[battler]].stolen + && gBattleStruct->changedItems[battler] == ITEM_NONE + && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_BUTTON + && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_PACK + && GetBattlerAbility(ally) == ABILITY_SYMBIOSIS + && gBattleMons[battler].item == ITEM_NONE + && gBattleMons[ally].item != ITEM_NONE + && CanBattlerGetOrLoseItem(battler, gBattleMons[ally].item) + && CanBattlerGetOrLoseItem(ally, gBattleMons[ally].item) + && gBattleMons[battler].hp != 0 + && gBattleMons[ally].hp != 0) + { + gLastUsedItem = gBattleMons[ally].item; + + gActiveBattler = ally; + gBattleMons[ally].item = ITEM_NONE; + BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battler].item), &gBattleMons[battler].item); + MarkBattlerForControllerExec(ally); + + gActiveBattler = battler; + gBattleMons[battler].item = gLastUsedItem; + BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battler].item), &gBattleMons[battler].item); + MarkBattlerForControllerExec(battler); + gBattleResources->flags->flags[battler] &= ~RESOURCE_FLAG_UNBURDEN; + + gLastUsedAbility = gBattleMons[ally].ability; + gBattleScripting.battler = gBattlerAbility = ally; + gBattlerTarget = battler; + BattleScriptPush(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; + return TRUE; + } + return FALSE; +} + static void Cmd_removeitem(void) { u16 itemId = 0; @@ -7048,7 +7095,7 @@ static void Cmd_removeitem(void) MarkBattlerForControllerExec(gActiveBattler); ClearBattlerItemEffectHistory(gActiveBattler); - if (!TryCheekPouch(gActiveBattler, itemId)) + if (!TryCheekPouch(gActiveBattler, itemId) && !TrySymbiosis(gActiveBattler, itemId)) gBattlescriptCurrInstr += 2; } @@ -8830,7 +8877,8 @@ static void Cmd_various(void) MarkBattlerForControllerExec(gActiveBattler); gBattleResources->flags->flags[gBattlerTarget] &= ~RESOURCE_FLAG_UNBURDEN; - gBattlescriptCurrInstr += 7; + if (!TrySymbiosis(gBattlerAttacker, gLastUsedItem)) + gBattlescriptCurrInstr += 7; } return; case VARIOUS_ARGUMENT_TO_MOVE_EFFECT: @@ -12623,6 +12671,7 @@ static void Cmd_tryswapitems(void) // trick else { CheckSetUnburden(gBattlerAttacker); + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ITEM_SWAP_GIVEN; // attacker's item -> <- nothing } } From 542a0f07b438f2c36c16bf0631db5d1ca332bb26 Mon Sep 17 00:00:00 2001 From: AgustinGDLV Date: Fri, 6 May 2022 22:07:25 -0700 Subject: [PATCH 003/147] fixed bug bite / bestow --- asm/macros/battle_script.inc | 5 ++ data/battle_scripts_1.s | 2 + include/constants/battle_script_commands.h | 1 + src/battle_script_commands.c | 86 +++++++++++----------- 4 files changed, 51 insertions(+), 43 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index b43433205..5136f7021 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -2128,3 +2128,8 @@ .macro skydropyawn various 0, VARIOUS_SKY_DROP_YAWN .endm + + @ Used by effects that may proc Symbiosis but do not call removeitem. + .macro trysymbiosis + various BS_ATTACKER, VARIOUS_TRY_SYMBIOSIS + .endm diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 13a96c89a..b8345a917 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1307,6 +1307,7 @@ BattleScript_MoveEffectBugBite:: consumeberry BS_ATTACKER, TRUE @ consume the berry, then restore the item from changedItems bicword gHitMarker, HITMARKER_NO_ANIMATIONS setbyte sBERRY_OVERRIDE, FALSE + trysymbiosis return BattleScript_EffectCoreEnforcer: @@ -1678,6 +1679,7 @@ BattleScript_EffectBestow: waitanimation printstring STRINGID_BESTOWITEMGIVING waitmessage B_WAIT_TIME_LONG + trysymbiosis goto BattleScript_MoveEnd BattleScript_EffectAfterYou: diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index da44714e2..e89875f66 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -241,6 +241,7 @@ #define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 150 #define VARIOUS_SET_BEAK_BLAST 151 #define VARIOUS_SWAP_SIDE_STATUSES 152 +#define VARIOUS_TRY_SYMBIOSIS 153 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6657aa9c0..1b53b0c4e 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7030,14 +7030,34 @@ static bool32 TryCheekPouch(u32 battlerId, u32 itemId) return FALSE; } -// Notes: -// Symbiosis applies before a move and after a gem is used in Gen 6. -// Symbiosis applies if an ally consumes a berry through Bug Bite / Pluck and doesn't have an item. -// Symbiosis does not apply if an ally has an item stolen, knocked off, or destroyed by Incinerate. -// Symbiosis does not apply after Eject Button (except in Gen 6, where it is bugged). -// Symbiosis does not apply if an ally tricks away their item and does not receive one in return. +#define SYMBIOSIS_CHECK(battler, ally) \ + GetBattlerAbility(ally) == ABILITY_SYMBIOSIS \ + && gBattleMons[battler].item == ITEM_NONE \ + && gBattleMons[ally].item != ITEM_NONE \ + && CanBattlerGetOrLoseItem(battler, gBattleMons[ally].item) \ + && CanBattlerGetOrLoseItem(ally, gBattleMons[ally].item) \ + && gBattleMons[battler].hp != 0 \ + && gBattleMons[ally].hp != 0 -//itemId is used to check Eject Button or Eject Pack +// Used by Bestow and Symbiosis to take an item from one battler and give to another. +static void BestowItem(u32 battlerAtk, u32 battlerDef) +{ + gLastUsedItem = gBattleMons[battlerAtk].item; + + gActiveBattler = battlerAtk; + gBattleMons[battlerAtk].item = ITEM_NONE; + BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerAtk].item), &gBattleMons[battlerAtk].item); + MarkBattlerForControllerExec(battlerAtk); + CheckSetUnburden(battlerAtk); + + gActiveBattler = battlerDef; + gBattleMons[battlerDef].item = gLastUsedItem; + BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerDef].item), &gBattleMons[battlerDef].item); + MarkBattlerForControllerExec(battlerDef); + gBattleResources->flags->flags[battlerDef] &= ~RESOURCE_FLAG_UNBURDEN; +} + +// Called by Cmd_removeitem. itemId represents the item that was removed, not being given. static bool32 TrySymbiosis(u32 battler, u32 itemId) { u32 ally = battler ^ BIT_FLANK; @@ -7046,27 +7066,9 @@ static bool32 TrySymbiosis(u32 battler, u32 itemId) && gBattleStruct->changedItems[battler] == ITEM_NONE && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_BUTTON && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_PACK - && GetBattlerAbility(ally) == ABILITY_SYMBIOSIS - && gBattleMons[battler].item == ITEM_NONE - && gBattleMons[ally].item != ITEM_NONE - && CanBattlerGetOrLoseItem(battler, gBattleMons[ally].item) - && CanBattlerGetOrLoseItem(ally, gBattleMons[ally].item) - && gBattleMons[battler].hp != 0 - && gBattleMons[ally].hp != 0) + && SYMBIOSIS_CHECK(battler, ally)) { - gLastUsedItem = gBattleMons[ally].item; - - gActiveBattler = ally; - gBattleMons[ally].item = ITEM_NONE; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battler].item), &gBattleMons[battler].item); - MarkBattlerForControllerExec(ally); - - gActiveBattler = battler; - gBattleMons[battler].item = gLastUsedItem; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battler].item), &gBattleMons[battler].item); - MarkBattlerForControllerExec(battler); - gBattleResources->flags->flags[battler] &= ~RESOURCE_FLAG_UNBURDEN; - + BestowItem(ally, battler); gLastUsedAbility = gBattleMons[ally].ability; gBattleScripting.battler = gBattlerAbility = ally; gBattlerTarget = battler; @@ -8863,22 +8865,8 @@ static void Cmd_various(void) } else { - gLastUsedItem = gBattleMons[gBattlerAttacker].item; - - gActiveBattler = gBattlerAttacker; - gBattleMons[gActiveBattler].item = ITEM_NONE; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); - MarkBattlerForControllerExec(gActiveBattler); - CheckSetUnburden(gBattlerAttacker); - - gActiveBattler = gBattlerTarget; - gBattleMons[gActiveBattler].item = gLastUsedItem; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); - MarkBattlerForControllerExec(gActiveBattler); - gBattleResources->flags->flags[gBattlerTarget] &= ~RESOURCE_FLAG_UNBURDEN; - - if (!TrySymbiosis(gBattlerAttacker, gLastUsedItem)) - gBattlescriptCurrInstr += 7; + BestowItem(gBattlerAttacker, gBattlerTarget); + gBattlescriptCurrInstr += 7; } return; case VARIOUS_ARGUMENT_TO_MOVE_EFFECT: @@ -9619,6 +9607,18 @@ static void Cmd_various(void) case VARIOUS_SWAP_SIDE_STATUSES: CourtChangeSwapSideStatuses(); break; + case VARIOUS_TRY_SYMBIOSIS: //called by Bestow and Bug Bite, which have cases that don't call Cmd_removeitem. + if (SYMBIOSIS_CHECK(gActiveBattler, gActiveBattler ^ BIT_FLANK)) + { + BestowItem(gActiveBattler ^ BIT_FLANK, gActiveBattler); + gLastUsedAbility = gBattleMons[gActiveBattler ^ BIT_FLANK].ability; + gBattleScripting.battler = gBattlerAbility = gActiveBattler ^ BIT_FLANK; + gBattlerTarget = gActiveBattler; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; + return; + } + break; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; From 2ffff788b441177752195fd3f2a4f4a56c2f95dc Mon Sep 17 00:00:00 2001 From: AgustinGDLV Date: Fri, 6 May 2022 22:29:40 -0700 Subject: [PATCH 004/147] fixed Fling --- data/battle_scripts_1.s | 1 + src/battle_script_commands.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index b8345a917..16ad64b5c 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -622,6 +622,7 @@ BattleScript_EffectFlingConsumeBerry: restorebattleritem BS_TARGET BattleScript_FlingEnd: tryfaintmon BS_TARGET + trysymbiosis goto BattleScript_MoveEnd BattleScript_FlingFlameOrb: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 1b53b0c4e..6d1055cb0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7066,6 +7066,7 @@ static bool32 TrySymbiosis(u32 battler, u32 itemId) && gBattleStruct->changedItems[battler] == ITEM_NONE && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_BUTTON && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_PACK + && gCurrentMove != MOVE_FLING && SYMBIOSIS_CHECK(battler, ally)) { BestowItem(ally, battler); @@ -9607,7 +9608,7 @@ static void Cmd_various(void) case VARIOUS_SWAP_SIDE_STATUSES: CourtChangeSwapSideStatuses(); break; - case VARIOUS_TRY_SYMBIOSIS: //called by Bestow and Bug Bite, which have cases that don't call Cmd_removeitem. + case VARIOUS_TRY_SYMBIOSIS: //called by Bestow, Fling, and Bug Bite, which don't work with Cmd_removeitem. if (SYMBIOSIS_CHECK(gActiveBattler, gActiveBattler ^ BIT_FLANK)) { BestowItem(gActiveBattler ^ BIT_FLANK, gActiveBattler); From 195a290a98aba2bc287208b9de943e65b55c0822 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Fri, 6 May 2022 02:34:11 -0300 Subject: [PATCH 005/147] Small corrections --- src/battle_script_commands.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 2ea63b7bf..57dd58648 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7720,6 +7720,7 @@ static bool32 CanTeleport(u8 battlerId) party = gPlayerParty; else party = gEnemyParty; + for (i = 0; i < PARTY_SIZE; i++) { species = GetMonData(&party[i], MON_DATA_SPECIES2); @@ -7730,16 +7731,16 @@ static bool32 CanTeleport(u8 battlerId) switch (GetBattlerSide(battlerId)) { case B_SIDE_OPPONENT: - if (WILD_DOUBLE_BATTLE || gBattleTypeFlags & BATTLE_TYPE_TRAINER) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) return FALSE; case B_SIDE_PLAYER: - if (((gBattleTypeFlags & BATTLE_TYPE_DOUBLE && count >= 3) || (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && count >= 2))) - return TRUE; + if (count <= 2 && gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + return FALSE; default: break; } - return FALSE; + return TRUE; } static void Cmd_various(void) From 9d222d3ab42a22ba2433481613933a3053716443 Mon Sep 17 00:00:00 2001 From: AgustinGDLV Date: Sat, 7 May 2022 13:12:21 -0700 Subject: [PATCH 006/147] fixed gems and damage-reducing berries --- include/constants/battle_config.h | 1 + include/constants/battle_script_commands.h | 5 +-- src/battle_script_commands.c | 42 ++++++++++++++++------ 3 files changed, 36 insertions(+), 12 deletions(-) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index a3ef7cc94..5f3cf512e 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -182,6 +182,7 @@ #define B_SYNCHRONIZE_NATURE GEN_8 // In Gen8, if a Pokémon with Synchronize is leading the party, it's 100% guaranteed that wild Pokémon will have the same ability, as opposed to 50% previously. #define B_SYNCHRONIZE_TOXIC GEN_8 // In Gen5+, if a Pokémon with Synchronize is badly poisoned, the opponent will also become badly poisoned. Previously, the opponent would become regular poisoned. #define B_UPDATED_INTIMIDATE GEN_8 // In Gen8, Intimidate doesn't work on opponents with the Inner Focus, Scrappy, Own Tempo or Oblivious abilities. +#define B_SYMBIOSIS_GEMS GEN_7 // In Gen 6, Symbiosis passes an item before the gem-boosted attack hits and the item effect applies. In Gen 7+, items are passed after a gem-boosted attack. // Item settings #define B_HP_BERRIES GEN_7 // In Gen4+, berries which restore hp activate immediately after HP drops to half. In Gen3, the effect occurs at the end of the turn. diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index e89875f66..eab06a4a0 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -311,8 +311,9 @@ #define MOVEEND_PICKPOCKET 27 #define MOVEEND_DANCER 28 #define MOVEEND_EMERGENCY_EXIT 29 -#define MOVEEND_CLEAR_BITS 30 -#define MOVEEND_COUNT 31 +#define MOVEEND_SYMBIOSIS 30 +#define MOVEEND_CLEAR_BITS 31 +#define MOVEEND_COUNT 32 // switch cases #define B_SWITCH_NORMAL 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6d1055cb0..a6420bbc7 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -306,6 +306,7 @@ static void PutMonIconOnLvlUpBanner(void); static void DrawLevelUpBannerText(void); static void SpriteCB_MonIconOnLvlUpBanner(struct Sprite* sprite); static bool32 CriticalCapture(u32 odds); +static void BestowItem(u32 battlerAtk, u32 battlerDef); static void Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -4967,6 +4968,15 @@ static bool32 TryKnockOffBattleScript(u32 battlerDef) return FALSE; } +#define SYMBIOSIS_CHECK(battler, ally) \ + GetBattlerAbility(ally) == ABILITY_SYMBIOSIS \ + && gBattleMons[battler].item == ITEM_NONE \ + && gBattleMons[ally].item != ITEM_NONE \ + && CanBattlerGetOrLoseItem(battler, gBattleMons[ally].item) \ + && CanBattlerGetOrLoseItem(ally, gBattleMons[ally].item) \ + && gBattleMons[battler].hp != 0 \ + && gBattleMons[ally].hp != 0 + static void Cmd_moveend(void) { s32 i; @@ -5592,6 +5602,23 @@ static void Cmd_moveend(void) } gBattleScripting.moveendState++; break; + case MOVEEND_SYMBIOSIS: + for (i = 0; i < gBattlersCount; i++) + { + if (((B_SYMBIOSIS_GEMS >= GEN_7 && gSpecialStatuses[i].gemBoost) || gSpecialStatuses[i].berryReduced) + && SYMBIOSIS_CHECK(i, i ^ BIT_FLANK)) + { + BestowItem(i ^ BIT_FLANK, i); + gLastUsedAbility = gBattleMons[i ^ BIT_FLANK].ability; + gBattleScripting.battler = gBattlerAbility = i ^ BIT_FLANK; + gBattlerAttacker = i; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; + effect = TRUE; + } + } + gBattleScripting.moveendState++; + break; case MOVEEND_CLEAR_BITS: // Clear/Set bits for things like using a move for all targets and all hits. if (gSpecialStatuses[gBattlerAttacker].instructedChosenTarget) *(gBattleStruct->moveTarget + gBattlerAttacker) = gSpecialStatuses[gBattlerAttacker].instructedChosenTarget & 0x3; @@ -7030,15 +7057,6 @@ static bool32 TryCheekPouch(u32 battlerId, u32 itemId) return FALSE; } -#define SYMBIOSIS_CHECK(battler, ally) \ - GetBattlerAbility(ally) == ABILITY_SYMBIOSIS \ - && gBattleMons[battler].item == ITEM_NONE \ - && gBattleMons[ally].item != ITEM_NONE \ - && CanBattlerGetOrLoseItem(battler, gBattleMons[ally].item) \ - && CanBattlerGetOrLoseItem(ally, gBattleMons[ally].item) \ - && gBattleMons[battler].hp != 0 \ - && gBattleMons[ally].hp != 0 - // Used by Bestow and Symbiosis to take an item from one battler and give to another. static void BestowItem(u32 battlerAtk, u32 battlerDef) { @@ -7066,7 +7084,11 @@ static bool32 TrySymbiosis(u32 battler, u32 itemId) && gBattleStruct->changedItems[battler] == ITEM_NONE && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_BUTTON && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_PACK - && gCurrentMove != MOVE_FLING + && gBattleStruct->debugHoldEffects[battler] != HOLD_EFFECT_EJECT_BUTTON + && gBattleStruct->debugHoldEffects[battler] != HOLD_EFFECT_EJECT_BUTTON + && !(B_SYMBIOSIS_GEMS >= GEN_7 && gSpecialStatuses[battler].gemBoost) + && gCurrentMove != MOVE_FLING //Fling and damage-reducing berries are handled separately. + && !gSpecialStatuses[battler].berryReduced && SYMBIOSIS_CHECK(battler, ally)) { BestowItem(ally, battler); From fa334b21f7772f32ab5e012bc0e491b764ba05ab Mon Sep 17 00:00:00 2001 From: AgustinGDLV Date: Sat, 7 May 2022 13:18:25 -0700 Subject: [PATCH 007/147] minor tweaks --- src/battle_message.c | 2 +- src/battle_script_commands.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/battle_message.c b/src/battle_message.c index d2b02e341..d5c6844bc 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -601,7 +601,7 @@ static const u8 sText_HarvestBerry[] = _("{B_ATK_NAME_WITH_PREFIX} harvested\nit static const u8 sText_LastAbilityRaisedBuff1[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}\nraised its {B_BUFF1}!"); static const u8 sText_MagicBounceActivates[] = _("The {B_DEF_NAME_WITH_PREFIX} bounced the\n{B_ATK_NAME_WITH_PREFIX} back!"); static const u8 sText_ProteanTypeChange[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} transformed\nit into the {B_BUFF1} type!"); -static const u8 sText_SymbiosisItemPass[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} passed its {B_LAST_ITEM}\nto {B_DEF_NAME_WITH_PREFIX} through {B_LAST_ABILITY}!"); +static const u8 sText_SymbiosisItemPass[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} passed its {B_LAST_ITEM}\nto {B_ATK_NAME_WITH_PREFIX} through {B_LAST_ABILITY}!"); static const u8 sText_StealthRockDmg[] = _("Pointed stones dug into\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}!"); static const u8 sText_ToxicSpikesAbsorbed[] = _("The poison spikes disappeared\nfrom around the opposing team's feet!"); static const u8 sText_ToxicSpikesPoisoned[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} was poisoned!"); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a6420bbc7..aa8b66879 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7094,7 +7094,7 @@ static bool32 TrySymbiosis(u32 battler, u32 itemId) BestowItem(ally, battler); gLastUsedAbility = gBattleMons[ally].ability; gBattleScripting.battler = gBattlerAbility = ally; - gBattlerTarget = battler; + gBattlerAttacker = battler; BattleScriptPush(gBattlescriptCurrInstr + 2); gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; return TRUE; @@ -9636,7 +9636,7 @@ static void Cmd_various(void) BestowItem(gActiveBattler ^ BIT_FLANK, gActiveBattler); gLastUsedAbility = gBattleMons[gActiveBattler ^ BIT_FLANK].ability; gBattleScripting.battler = gBattlerAbility = gActiveBattler ^ BIT_FLANK; - gBattlerTarget = gActiveBattler; + gBattlerAttacker = gActiveBattler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; return; @@ -12694,7 +12694,6 @@ static void Cmd_tryswapitems(void) // trick else { CheckSetUnburden(gBattlerAttacker); - gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ITEM_SWAP_GIVEN; // attacker's item -> <- nothing } } From c7bee35161af457cd9391b50c59db2878f09f28e Mon Sep 17 00:00:00 2001 From: AgustinGDLV Date: Sat, 7 May 2022 13:23:41 -0700 Subject: [PATCH 008/147] fixed conflict with new PR --- include/constants/battle_config.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index 5f3cf512e..8942a45d6 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -182,6 +182,7 @@ #define B_SYNCHRONIZE_NATURE GEN_8 // In Gen8, if a Pokémon with Synchronize is leading the party, it's 100% guaranteed that wild Pokémon will have the same ability, as opposed to 50% previously. #define B_SYNCHRONIZE_TOXIC GEN_8 // In Gen5+, if a Pokémon with Synchronize is badly poisoned, the opponent will also become badly poisoned. Previously, the opponent would become regular poisoned. #define B_UPDATED_INTIMIDATE GEN_8 // In Gen8, Intimidate doesn't work on opponents with the Inner Focus, Scrappy, Own Tempo or Oblivious abilities. +#define B_OBLIVIOUS_TAUNT GEN_7 // In Gen6+, Pokémon with Oblivious can't be taunted. #define B_SYMBIOSIS_GEMS GEN_7 // In Gen 6, Symbiosis passes an item before the gem-boosted attack hits and the item effect applies. In Gen 7+, items are passed after a gem-boosted attack. // Item settings From 0330656868d9795bb260b047f2ee78d5295cf907 Mon Sep 17 00:00:00 2001 From: sneed Date: Sat, 14 May 2022 17:09:42 +0300 Subject: [PATCH 009/147] Change triple kick power calculation --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index d0ff7c5be..1a096e170 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8052,7 +8052,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) basePower = gBattleStruct->presentBasePower; break; case EFFECT_TRIPLE_KICK: - basePower += gBattleScripting.tripleKickPower; + basePower *= (4 - gMultiHitCounter); break; case EFFECT_SPIT_UP: basePower = 100 * gDisableStructs[battlerAtk].stockpileCounter; From 7cc284cf0b71e7e60d8ef6922475ce5b0f942238 Mon Sep 17 00:00:00 2001 From: AgustinGDLV Date: Sun, 15 May 2022 09:50:12 -0700 Subject: [PATCH 010/147] learning GetBattlerHoldEffect is a thing --- src/battle_script_commands.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index aa8b66879..f145025ce 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7082,10 +7082,8 @@ static bool32 TrySymbiosis(u32 battler, u32 itemId) if (!gBattleStruct->itemStolen[gBattlerPartyIndexes[battler]].stolen && gBattleStruct->changedItems[battler] == ITEM_NONE - && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_BUTTON - && ItemId_GetHoldEffect(itemId) != HOLD_EFFECT_EJECT_PACK - && gBattleStruct->debugHoldEffects[battler] != HOLD_EFFECT_EJECT_BUTTON - && gBattleStruct->debugHoldEffects[battler] != HOLD_EFFECT_EJECT_BUTTON + && GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_EJECT_BUTTON + && GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_EJECT_PACK && !(B_SYMBIOSIS_GEMS >= GEN_7 && gSpecialStatuses[battler].gemBoost) && gCurrentMove != MOVE_FLING //Fling and damage-reducing berries are handled separately. && !gSpecialStatuses[battler].berryReduced From c04f7d5e5bc9bff8a79b0943ba7fef9a5179c523 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 3 Jul 2022 13:50:42 -0300 Subject: [PATCH 011/147] Changed B_TELEPORT_BEHAVIOR's description comment --- include/constants/battle_config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index f3aec0326..798df94f6 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -178,7 +178,7 @@ // Draining abilities will not heal but will prevent damage. In Gen6+, Heal Block prevents the use of most HP-draining moves. #define B_ROOTED_GROUNDING GEN_7 // In Gen4+, Ingrain causes the affected Pokémon to become grounded. #define B_GROWTH_UNDER_SUN GEN_7 // In Gen5+, Growth's effects are doubled when under the effects of the sun. -#define B_TELEPORT_BEHAVIOR GEN_7 // In LGPE+, Teleport lets the user swap out with another party member. +#define B_TELEPORT_BEHAVIOR GEN_7 // In Gen7+, starting with Pokémon Let's Go P/E, Teleport allows the user to swap out with another party member. // Ability settings #define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. From a1f921c33dc7843c3a4285b06ff52661ca4f8c23 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 4 Jul 2022 16:15:25 -0300 Subject: [PATCH 012/147] Fixed CanTeleport Also took the chance to correct the syntax inside its switch case. --- src/battle_script_commands.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 43aba0778..ae3acd987 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7772,10 +7772,10 @@ static bool32 CanTeleport(u8 battlerId) case B_SIDE_OPPONENT: if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) return FALSE; + break; case B_SIDE_PLAYER: - if (count <= 2 && gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (count == 1 || (count <= 2 && gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return FALSE; - default: break; } From b95e450cb6208132596be8e721c4b73a751456d4 Mon Sep 17 00:00:00 2001 From: Ct11217 Date: Thu, 11 Aug 2022 22:48:36 -0600 Subject: [PATCH 013/147] Added corner case logic for AI Switching. 1. Refactor Perish Song 2. Yawn 3. Secondary Damage (Leech Seed, Cursed etc). 4. Added Preliminary logic to help AI be smarter against semi-invulnerable Added AI logic regarding abilities that benefit from switching 1. Natural Cure 2. Regenerator --- include/battle_util.h | 1 + src/battle_ai_switch_items.c | 212 +++++++++++++++++++++++++++-------- 2 files changed, 168 insertions(+), 45 deletions(-) diff --git a/include/battle_util.h b/include/battle_util.h index e45acdb89..25226c997 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -105,6 +105,7 @@ bool8 HasNoMonsToSwitch(u8 battlerId, u8 r1, u8 r2); u8 TryWeatherFormChange(u8 battlerId); bool32 TryChangeBattleWeather(u8 battler, u32 weatherEnumId, bool32 viaAbility); u8 AbilityBattleEffects(u8 caseID, u8 battlerId, u16 ability, u8 special, u16 moveArg); +bool32 IsNeutralizingGasOnField(void); u32 GetBattlerAbility(u8 battlerId); u32 IsAbilityOnSide(u32 battlerId, u32 ability); u32 IsAbilityOnOpposingSide(u32 battlerId, u32 ability); diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 034bb59e8..bc26f78cf 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1,10 +1,13 @@ #include "global.h" #include "battle.h" +#include "constants/battle_ai.h" #include "battle_ai_main.h" #include "battle_ai_util.h" +#include "battle_util.h" #include "battle_anim.h" #include "battle_controllers.h" #include "battle_main.h" +#include "constants/hold_effects.h" #include "battle_setup.h" #include "data.h" #include "pokemon.h" @@ -19,6 +22,7 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng); static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent); static bool8 ShouldUseItem(void); +static bool32 AiExpectsToFaintPlayer(void); static bool32 AI_ShouldHeal(u32 healAmount); static bool32 AI_OpponentCanFaintAiWithMod(u32 healAmount); @@ -56,21 +60,6 @@ static bool8 ShouldSwitchIfAllBadMoves(void) } } -static bool8 ShouldSwitchIfPerishSong(void) -{ - if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG - && gDisableStructs[gActiveBattler].perishSongTimer == 0) - { - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); - return TRUE; - } - else - { - return FALSE; - } -} - static bool8 ShouldSwitchIfWonderGuard(void) { u8 opposingPosition; @@ -228,44 +217,177 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) return FALSE; } -static bool8 ShouldSwitchIfNaturalCure(void) +static bool8 ShouldSwitchIfGameStatePrompt(void) { - if (!(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP)) - return FALSE; - if (AI_GetAbility(gActiveBattler) != ABILITY_NATURAL_CURE) - return FALSE; - if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 2) - return FALSE; + bool8 switchMon = FALSE; + u16 monAbility = AI_GetAbility(gActiveBattler); + u16 holdEffect = AI_GetHoldEffect(gActiveBattler); + u8 opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler)); + u8 opposingBattler = GetBattlerAtPosition(opposingPosition); + s32 moduloChance = 4; //25% Chance Default + s32 chanceReducer = 1; //No Reduce default. Increase to reduce - if ((gLastLandedMoves[gActiveBattler] == MOVE_NONE - || gLastLandedMoves[gActiveBattler] == MOVE_UNAVAILABLE) - && Random() & 1) + + if (AnyStatIsRaised(gActiveBattler)) + chanceReducer = 5; // Reduce switchout probability by factor of 5 if setup + + //Perish Song + if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG + && gDisableStructs[gActiveBattler].perishSongTimer == 0 + && monAbility != ABILITY_SOUNDPROOF) + switchMon = TRUE; + + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_SMART_SWITCHING) + { + //Yawn + if (gStatuses3[gActiveBattler] & STATUS3_YAWN + && AI_CanSleep(gActiveBattler, monAbility) + && gBattleMons[gActiveBattler].hp > gBattleMons[gActiveBattler].maxHP / 3) + { + switchMon = TRUE; + + //ToDo: + //Double Battles + //Add logic checking to see if effected by yawn & ally wants to switch out to a pokemon that will set Misty or Electric Terrain + + //Check if Active Pokemon can KO opponent instead of switching + //Will still fall asleep, but take out opposing Pokemon first + if (AiExpectsToFaintPlayer()) + switchMon = FALSE; + + //Checks to see if active Pokemon can do something against sleep + if (monAbility == (ABILITY_NATURAL_CURE | ABILITY_SHED_SKIN | ABILITY_EARLY_BIRD) + || holdEffect == (HOLD_EFFECT_CURE_SLP | HOLD_EFFECT_CURE_STATUS) + || HasMove(gActiveBattler, MOVE_SLEEP_TALK) + || (HasMoveEffect(gActiveBattler, MOVE_SNORE) && AI_GetTypeEffectiveness(MOVE_SNORE, gActiveBattler, opposingBattler) >= UQ_4_12(1.0)) + || (IsBattlerGrounded(gActiveBattler) + && (HasMove(gActiveBattler, MOVE_MISTY_TERRAIN) || HasMove(gActiveBattler, MOVE_ELECTRIC_TERRAIN))) + ) + switchMon = FALSE; + + //Check if Active Pokemon evasion boosted and might be able to dodge until awake + if (gBattleMons[gActiveBattler].statStages[STAT_EVASION] > (DEFAULT_STAT_STAGE + 3) + && AI_GetAbility(opposingBattler) != ABILITY_UNAWARE + && AI_GetAbility(opposingBattler) != ABILITY_KEEN_EYE + && !(gBattleMons[gActiveBattler].status2 & STATUS2_FORESIGHT) + && !(gStatuses3[gActiveBattler] & STATUS3_MIRACLE_EYED)) + switchMon = FALSE; + + } + + //Secondary Damage + if (monAbility != ABILITY_MAGIC_GUARD + && !AiExpectsToFaintPlayer()) + { + //Toxic + moduloChance = 2; //50% + if (gBattleMons[gActiveBattler].status1 & (STATUS1_TOXIC_COUNTER > 2) + && gBattleMons[gActiveBattler].hp >= (gBattleMons[gActiveBattler].maxHP / 3) + && (Random() % (moduloChance*chanceReducer)) == 0) + switchMon = TRUE; + + //Cursed + moduloChance = 2; //50% + if (gBattleMons[gActiveBattler].status2 & STATUS2_CURSED + && (Random() % (moduloChance*chanceReducer)) == 0) + switchMon = TRUE; + + //Nightmare + moduloChance = 3; //33.3% + if (gBattleMons[gActiveBattler].status1 & (STATUS1_SLEEP > 1) && gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE + && (Random() % (moduloChance*chanceReducer)) == 0) + switchMon = TRUE; + + //Leech Seed + moduloChance = 4; //25% + if (gStatuses3[gActiveBattler] & STATUS3_LEECHSEED + && (Random() % (moduloChance*chanceReducer)) == 0) + switchMon = TRUE; + } + + //Infatuation + if (gBattleMons[gActiveBattler].status2 & STATUS2_INFATUATION + && !AiExpectsToFaintPlayer()) + switchMon = TRUE; + + //Todo + //Pass Wish Heal + + //Semi-Invulnerable + if (gStatuses3[opposingBattler] & STATUS3_SEMI_INVULNERABLE) + if (FindMonThatAbsorbsOpponentsMove()) //If find absorber default to switch + switchMon = TRUE; + if (!AI_OpponentCanFaintAiWithMod(0) + && AnyStatIsRaised(gActiveBattler)) + switchMon = FALSE; + if (AiExpectsToFaintPlayer() + && GetAIChosenMove(gActiveBattler) == AI_IS_SLOWER + && !AI_OpponentCanFaintAiWithMod(0)) + switchMon = FALSE; + } + + + if (switchMon) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); return TRUE; } - else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 - && Random() & 1) - { - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); - return TRUE; + else + return FALSE; +} + +static bool8 ShouldSwitchIfAbilityBenefit(void) +{ + s32 monToSwitchId; + s32 moduloChance = 4; //25% Chance Default + s32 chanceReducer = 1; //No Reduce default. Increase to reduce + u8 battlerId = GetBattlerPosition(gActiveBattler); + + if (AnyStatIsRaised(battlerId)) + chanceReducer = 5; // Reduce switchout probability by factor of 5 if setup + + //Check if ability is blocked + if (gStatuses3[gActiveBattler] & STATUS3_GASTRO_ACID + ||IsNeutralizingGasOnField()) + return FALSE; + + switch(AI_GetAbility(gActiveBattler)) { + case ABILITY_NATURAL_CURE: + moduloChance = 4; //25% + //Attempt to cure bad ailment + if (gBattleMons[gActiveBattler].status1 & (STATUS1_SLEEP | STATUS1_FREEZE | STATUS1_TOXIC_POISON) + && GetMostSuitableMonToSwitchInto() != PARTY_SIZE) + break; + //Attempt to cure lesser ailment + if ((gBattleMons[gActiveBattler].status1 & STATUS1_ANY) + && (gBattleMons[gActiveBattler].hp >= gBattleMons[gActiveBattler].maxHP / 2) + && GetMostSuitableMonToSwitchInto() != PARTY_SIZE + && Random() % (moduloChance*chanceReducer) == 0) + break; + + return FALSE; + + case ABILITY_REGENERATOR: + moduloChance = 2; //50% + //Don't switch if ailment + if (gBattleMons[gActiveBattler].status1 & STATUS1_ANY) + return FALSE; + if ((gBattleMons[gActiveBattler].hp <= ((gBattleMons[gActiveBattler].maxHP * 2) / 3)) + && GetMostSuitableMonToSwitchInto() != PARTY_SIZE + && Random() % (moduloChance*chanceReducer) == 0) + break; + + return FALSE; + + default: + return FALSE; } - if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 1)) - return TRUE; - if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 1)) - return TRUE; + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; + BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); - if (Random() & 1) - { - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); - return TRUE; - } - - return FALSE; + return TRUE; } static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) @@ -489,13 +611,13 @@ bool32 ShouldSwitch(void) return FALSE; if (ShouldSwitchIfAllBadMoves()) return TRUE; - if (ShouldSwitchIfPerishSong()) + if (ShouldSwitchIfGameStatePrompt()) return TRUE; if (ShouldSwitchIfWonderGuard()) return TRUE; if (FindMonThatAbsorbsOpponentsMove()) return TRUE; - if (ShouldSwitchIfNaturalCure()) + if (ShouldSwitchIfAbilityBenefit()) return TRUE; if (HasSuperEffectiveMoveAgainstOpponents(FALSE)) return FALSE; From 7378d1099b3df6e39b25c819197f53f5c4e8fd55 Mon Sep 17 00:00:00 2001 From: Ct11217 Date: Fri, 12 Aug 2022 15:21:25 -0600 Subject: [PATCH 014/147] Removed AI_GetAbility Misc cleanup --- src/battle_ai_switch_items.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index bc26f78cf..5b4b1a30b 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1,6 +1,5 @@ #include "global.h" #include "battle.h" -#include "constants/battle_ai.h" #include "battle_ai_main.h" #include "battle_ai_util.h" #include "battle_util.h" @@ -169,7 +168,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) else return FALSE; - if (AI_GetAbility(gActiveBattler) == absorbingTypeAbility) + if (AI_DATA->abilities[gActiveBattler]) == absorbingTypeAbility) return FALSE; GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); @@ -220,8 +219,8 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) static bool8 ShouldSwitchIfGameStatePrompt(void) { bool8 switchMon = FALSE; - u16 monAbility = AI_GetAbility(gActiveBattler); - u16 holdEffect = AI_GetHoldEffect(gActiveBattler); + u16 monAbility = AI_DATA->abilities[gActiveBattler]; + u16 holdEffect = AI_DATA->holdEffects[gActiveBattler]; u8 opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler)); u8 opposingBattler = GetBattlerAtPosition(opposingPosition); s32 moduloChance = 4; //25% Chance Default @@ -267,8 +266,8 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) //Check if Active Pokemon evasion boosted and might be able to dodge until awake if (gBattleMons[gActiveBattler].statStages[STAT_EVASION] > (DEFAULT_STAT_STAGE + 3) - && AI_GetAbility(opposingBattler) != ABILITY_UNAWARE - && AI_GetAbility(opposingBattler) != ABILITY_KEEN_EYE + && AI_DATA->abilities[opposingBattler] != ABILITY_UNAWARE + && AI_DATA->abilities[opposingBattler] != ABILITY_KEEN_EYE && !(gBattleMons[gActiveBattler].status2 & STATUS2_FORESIGHT) && !(gStatuses3[gActiveBattler] & STATUS3_MIRACLE_EYED)) switchMon = FALSE; @@ -334,7 +333,9 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) return TRUE; } else + { return FALSE; + } } static bool8 ShouldSwitchIfAbilityBenefit(void) @@ -352,7 +353,7 @@ static bool8 ShouldSwitchIfAbilityBenefit(void) ||IsNeutralizingGasOnField()) return FALSE; - switch(AI_GetAbility(gActiveBattler)) { + switch(AI_DATA->abilities[gActiveBattler]) { case ABILITY_NATURAL_CURE: moduloChance = 4; //25% //Attempt to cure bad ailment From bb978764f373bc90c7bbf3d9155393e98cfcf191 Mon Sep 17 00:00:00 2001 From: Ct11217 Date: Sat, 13 Aug 2022 00:39:44 -0600 Subject: [PATCH 015/147] Fixed recommended changes Added additional double battle logic for yawn --- src/battle_ai_switch_items.c | 54 +++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 5b4b1a30b..3b00340d2 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1,5 +1,6 @@ #include "global.h" #include "battle.h" +#include "constants/battle_ai.h" #include "battle_ai_main.h" #include "battle_ai_util.h" #include "battle_util.h" @@ -14,6 +15,7 @@ #include "util.h" #include "constants/abilities.h" #include "constants/item_effects.h" +#include "constants/battle_move_effects.h" #include "constants/items.h" #include "constants/moves.h" @@ -168,7 +170,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) else return FALSE; - if (AI_DATA->abilities[gActiveBattler]) == absorbingTypeAbility) + if (AI_DATA->abilities[gActiveBattler] == absorbingTypeAbility) return FALSE; GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); @@ -225,6 +227,10 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) u8 opposingBattler = GetBattlerAtPosition(opposingPosition); s32 moduloChance = 4; //25% Chance Default s32 chanceReducer = 1; //No Reduce default. Increase to reduce + s32 firstId; + s32 lastId; + s32 i; + struct Pokemon *party; if (AnyStatIsRaised(gActiveBattler)) @@ -245,10 +251,50 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) { switchMon = TRUE; - //ToDo: - //Double Battles - //Add logic checking to see if effected by yawn & ally wants to switch out to a pokemon that will set Misty or Electric Terrain + //Double Battles + //Check if partner can prevent sleep + if (IsDoubleBattle()) + { + if (IsBattlerAlive(BATTLE_PARTNER(gActiveBattler)) + && (GetAIChosenMove(BATTLE_PARTNER(gActiveBattler)) & MOVE_UPROAR) + ) + switchMon = FALSE; + if (IsBattlerAlive(BATTLE_PARTNER(gActiveBattler)) + && (gBattleMoves[AI_DATA->partnerMove].effect == EFFECT_MISTY_TERRAIN + || gBattleMoves[AI_DATA->partnerMove].effect == EFFECT_ELECTRIC_TERRAIN) + && IsBattlerGrounded(gActiveBattler) + ) + switchMon = FALSE; + + if (*(gBattleStruct->AI_monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)) != PARTY_SIZE) //Partner is switching + { + GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); + + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + party = gPlayerParty; + + for (i = firstId; i < lastId; i++) + { + //Look for mon in party that is able to be switched into and has ability that sets terrain + if (GetMonData(&party[i], MON_DATA_HP) != 0 + && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE + && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG + && i != gBattlerPartyIndexes[gActiveBattler] + && i != gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)] + && IsBattlerGrounded(gActiveBattler) + && (GetMonData(&party[i], MON_DATA_ABILITY_NUM) == 226 + || GetMonData(&party[i], MON_DATA_ABILITY_NUM) == 228)) //Ally has Misty or Electric Surge + { + *(gBattleStruct->AI_monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)) = i; + BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + switchMon = FALSE; + break; + } + } + } + } + //Check if Active Pokemon can KO opponent instead of switching //Will still fall asleep, but take out opposing Pokemon first if (AiExpectsToFaintPlayer()) From a4b53126f639439a0901d94fbdedd8c4a9dfd5cd Mon Sep 17 00:00:00 2001 From: Ct11217 Date: Wed, 17 Aug 2022 18:23:12 -0600 Subject: [PATCH 016/147] Added AI_FLAG_ACE_POKEMON When this flag is set, the trainer will have an "Ace" pokemon that will always be sent out last. If this flag is set, the last Pokemon in the party will be considered the "Ace" Pokemon. This is similar to the gym leader functionality found in Sword & Shield. --- include/constants/battle_ai.h | 1 + src/battle_ai_switch_items.c | 24 ++++++++++++++++++++++-- src/battle_controller_opponent.c | 30 ++++++++++++++++++++++++++++-- 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index d48827683..a7a3e5418 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -56,6 +56,7 @@ #define AI_FLAG_STALL (1 << 13) // AI stalls battle and prefers secondary damage/trapping/etc. TODO not finished #define AI_FLAG_SCREENER (1 << 14) // AI prefers screening effects like reflect, mist, etc. TODO unfinished #define AI_FLAG_SMART_SWITCHING (1 << 15) // AI includes a lot more switching checks +#define AI_FLAG_ACE_POKEMON (1 << 16) // AI has Ace Pokemon -- Saves until last // 'other' ai logic flags #define AI_FLAG_ROAMING (1 << 29) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 3b00340d2..329d3ebf3 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -199,6 +199,10 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + && i == (CalculateEnemyPartyCount()-1)) + continue; + species = GetMonData(&party[i], MON_DATA_SPECIES); if (GetMonData(&party[i], MON_DATA_ABILITY_NUM) != 0) @@ -276,6 +280,10 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) for (i = firstId; i < lastId; i++) { + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + && i == (CalculateEnemyPartyCount()-1)) + break; + //Look for mon in party that is able to be switched into and has ability that sets terrain if (GetMonData(&party[i], MON_DATA_HP) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE @@ -562,6 +570,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + && i == (CalculateEnemyPartyCount()-1)) + continue; + species = GetMonData(&party[i], MON_DATA_SPECIES); if (GetMonData(&party[i], MON_DATA_ABILITY_NUM) != 0) @@ -650,6 +662,9 @@ bool32 ShouldSwitch(void) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + && i == (CalculateEnemyPartyCount()-1)) + continue; availableToSwitch++; } @@ -712,7 +727,7 @@ void AI_TrySwitchOrUseItem(void) GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); - for (monToSwitchId = firstId; monToSwitchId < lastId; monToSwitchId++) + for (monToSwitchId = (lastId-1); monToSwitchId >= firstId; monToSwitchId--) { if (GetMonData(&party[monToSwitchId], MON_DATA_HP) == 0) continue; @@ -724,6 +739,9 @@ void AI_TrySwitchOrUseItem(void) continue; if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + && monToSwitchId == (CalculateEnemyPartyCount()-1)) + continue; break; } @@ -921,7 +939,9 @@ u8 GetMostSuitableMonToSwitchInto(void) || gBattlerPartyIndexes[battlerIn2] == i || i == *(gBattleStruct->monToSwitchIntoId + battlerIn1) || i == *(gBattleStruct->monToSwitchIntoId + battlerIn2) - || (GetMonAbility(&party[i]) == ABILITY_TRUANT && IsTruantMonVulnerable(gActiveBattler, opposingBattler))) // While not really invalid per say, not really wise to switch into this mon. + || (GetMonAbility(&party[i]) == ABILITY_TRUANT && IsTruantMonVulnerable(gActiveBattler, opposingBattler)) // While not really invalid per say, not really wise to switch into this mon. + || (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + && i == (CalculateEnemyPartyCount()-1))) //Save Ace Pokemon for last invalidMons |= gBitTable[i]; else aliveCount++; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 501e31704..ddc4c4405 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -2,6 +2,7 @@ #include "battle.h" #include "battle_ai_main.h" #include "battle_ai_util.h" +#include "constants/battle_ai.h" #include "battle_anim.h" #include "battle_arena.h" #include "battle_controllers.h" @@ -94,6 +95,7 @@ static void OpponentHandleResetActionMoveSelection(void); static void OpponentHandleEndLinkBattle(void); static void OpponentHandleDebugMenu(void); static void OpponentCmdEnd(void); +static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore); static void OpponentBufferRunCommand(void); static void OpponentBufferExecCompleted(void); @@ -1670,6 +1672,7 @@ static void OpponentHandleChooseItem(void) static void OpponentHandleChoosePokemon(void) { s32 chosenMonId; + s32 pokemonInBattle = 1; if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == PARTY_SIZE) { @@ -1687,15 +1690,20 @@ static void OpponentHandleChoosePokemon(void) { battler1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); battler2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + pokemonInBattle = 2; + } GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); - for (chosenMonId = firstId; chosenMonId < lastId; chosenMonId++) + for (chosenMonId = (lastId-1); chosenMonId >= firstId; chosenMonId--) { if (GetMonData(&gEnemyParty[chosenMonId], MON_DATA_HP) != 0 && chosenMonId != gBattlerPartyIndexes[battler1] - && chosenMonId != gBattlerPartyIndexes[battler2]) + && chosenMonId != gBattlerPartyIndexes[battler2] + && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + && (!(chosenMonId == (CalculateEnemyPartyCount()-1)) + || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle))) { break; } @@ -1714,6 +1722,24 @@ static void OpponentHandleChoosePokemon(void) OpponentBufferExecCompleted(); } +static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore) +{ + u16 i, count; + + for (i = 0, count = 0; i < PARTY_SIZE; i++) + { + if (i != slotToIgnore + && GetMonData(&gEnemyParty[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) + && GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0) + { + count++; + } + } + + return count; +} + static void OpponentHandleCmd23(void) { OpponentBufferExecCompleted(); From 327782646b7de17a94b39741a55ba467d6d934df Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 23 Aug 2022 01:07:25 +0200 Subject: [PATCH 017/147] Save party mons ai --- Makefile | 2 +- NO$GBA.EXE - Shortcut.lnk | Bin 0 -> 1536 bytes include/battle.h | 24 ++- include/battle_ai_main.h | 2 + src/battle_ai_main.c | 306 +++++++++++++++++++++++--------------- src/battle_ai_util.c | 39 ++--- src/battle_debug.c | 154 ++++++++++++++++--- src/battle_main.c | 27 ++-- src/battle_util2.c | 2 + vbalink.ini | Bin 0 -> 1 bytes 10 files changed, 377 insertions(+), 179 deletions(-) create mode 100644 NO$GBA.EXE - Shortcut.lnk create mode 100644 vbalink.ini diff --git a/Makefile b/Makefile index c36cc8e93..ec3b5c4c6 100644 --- a/Makefile +++ b/Makefile @@ -107,7 +107,7 @@ LIBPATH := -L ../../tools/agbcc/lib LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall else CC1 = $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet -override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast +override CFLAGS += -mthumb -mthumb-interwork -O0 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast ROM := $(MODERN_ROM_NAME) OBJ_DIR := $(MODERN_OBJ_DIR_NAME) LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))" diff --git a/NO$GBA.EXE - Shortcut.lnk b/NO$GBA.EXE - Shortcut.lnk new file mode 100644 index 0000000000000000000000000000000000000000..32af57cf5c29d844b1fcfe676c636e29595572a5 GIT binary patch literal 1536 zcmd5+ZAep57=Gp~v?M2*4DsWVCidZ&W{QgFbh>HgB%2yda=PUQbF*D_K@pM=7%B-x zi5SBy2@;g7ep&XTpdb)`g!)T@APN)dhXxV7@4Zu}1o|iFT%Pxwd*1h)=e!^1lmbvh z1ds%#C5fUz1VNzjN=M^DR$$T^LxebpTUx)Lbl(KHxv#k(RQq zNu{`LRr@ruM&;V&+zzcV8~L~?NuzA zTB34y(%+(MMmNX%hW1XWD6d%3PAwFm+c3H|6FwqdJoK36ZA=_TC?)u(cy}%cNczWt zJ;Dd1Hb!74v@3^SEE}R!4_5+ed+vXG!uow|z)tYZ@podgPJx4@3nd_r#nV;kso}{G z{^!B^JHuN_*Ppj!tq!g9Ip})VQ;D?suDQJE0O{o|eXkY&&lC8tkDBX~a_-EAJ^P4h z)4Y0Sisob4fOj?%{=cH!TFCwZF;~F%r@E|(jzWM literal 0 HcmV?d00001 diff --git a/include/battle.h b/include/battle.h index b56b381e7..a8064e98a 100644 --- a/include/battle.h +++ b/include/battle.h @@ -245,6 +245,26 @@ struct AI_SavedBattleMon u16 species; }; +struct AiPartyMon +{ + u16 species; + u16 item; + u16 heldEffect; + u16 ability; + u16 gender; + u16 level; + u16 moves[MAX_MON_MOVES]; + bool8 isFainted; + u8 switchInCount; // Counts how many times this Pokemon has been sent out or switched into in a battle. + bool8 wasSentInBattle; +}; + +struct AIPartyData // Opposing battlers - party mons. +{ + struct AiPartyMon mons[2][PARTY_SIZE]; // 2 parties(player, opponent). Used to save information on opposing party. + u8 count[2]; +}; + struct AiLogicData { u16 abilities[MAX_BATTLERS_COUNT]; @@ -313,6 +333,7 @@ struct BattleResources struct StatsArray* beforeLvlUp; struct AI_ThinkingStruct *ai; struct AiLogicData *aiData; + struct AIPartyData *aiParty; struct BattleHistory *battleHistory; u8 bufferA[MAX_BATTLERS_COUNT][0x200]; u8 bufferB[MAX_BATTLERS_COUNT][0x200]; @@ -320,6 +341,7 @@ struct BattleResources #define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(gBattleResources->ai)) #define AI_DATA ((struct AiLogicData *)(gBattleResources->aiData)) +#define AI_PARTY ((struct AIPartyData *)(gBattleResources->aiParty)) #define BATTLE_HISTORY ((struct BattleHistory *)(gBattleResources->battleHistory)) struct BattleResults @@ -670,7 +692,7 @@ struct BattleStruct #define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + ((stage) << 3) + (goesDown << 7)) #define SET_STATCHANGER2(dst, statId, stage, goesDown)(dst = (statId) + ((stage) << 3) + (goesDown << 7)) -// NOTE: The members of this struct have hard-coded offsets +// NOTE: The members of this struct have hard-coded offsets // in include/constants/battle_script_commands.h struct BattleScripting { diff --git a/include/battle_ai_main.h b/include/battle_ai_main.h index fcb31a9b2..2756c7f6c 100644 --- a/include/battle_ai_main.h +++ b/include/battle_ai_main.h @@ -24,6 +24,8 @@ void BattleAI_SetupItems(void); void BattleAI_SetupFlags(void); void BattleAI_SetupAIData(u8 defaultScoreMoves); u8 BattleAI_ChooseMoveOrAction(void); +void Ai_InitPartyStruct(void); +void Ai_UpdateSwitchInData(u32 battler); void GetAiLogicData(void); extern u8 sBattler_AI; diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 732dea780..eb8d45abb 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -130,10 +130,10 @@ static u32 GetWildAiFlags(void) { u8 avgLevel = GetMonData(&gEnemyParty[0], MON_DATA_LEVEL); u32 flags; - + if (IsDoubleBattle()) avgLevel = (GetMonData(&gEnemyParty[0], MON_DATA_LEVEL) + GetMonData(&gEnemyParty[1], MON_DATA_LEVEL)) / 2; - + flags |= AI_FLAG_CHECK_BAD_MOVE; if (avgLevel >= 20) flags |= AI_FLAG_CHECK_VIABILITY; @@ -141,10 +141,10 @@ static u32 GetWildAiFlags(void) flags |= AI_FLAG_PREFER_STRONGEST_MOVE; if (avgLevel >= 80) flags |= AI_FLAG_HP_AWARE; - + if (B_VAR_WILD_AI_FLAGS != 0 && VarGet(B_VAR_WILD_AI_FLAGS) != 0) flags |= VarGet(B_VAR_WILD_AI_FLAGS); - + return flags; } @@ -166,7 +166,7 @@ void BattleAI_SetupFlags(void) AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags | gTrainers[gTrainerBattleOpponent_B].aiFlags; else AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags; - + // check smart wild AI if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER)) && IsWildMonSmart()) AI_THINKING_STRUCT->aiFlags |= GetWildAiFlags(); @@ -220,11 +220,11 @@ u8 BattleAI_ChooseMoveOrAction(void) ret = ChooseMoveOrAction_Singles(); else ret = ChooseMoveOrAction_Doubles(); - + // Clear protect structures, some flags may be set during AI calcs // e.g. pranksterElevated from GetMovePriority memset(&gProtectStructs, 0, MAX_BATTLERS_COUNT * sizeof(struct ProtectStruct)); - + gCurrentMove = savedCurrentMove; return ret; } @@ -237,6 +237,66 @@ u8 ComputeBattleAiScores(u8 battler) return BattleAI_ChooseMoveOrAction(); } +static void CopyBattlerDataToAIParty(u32 bPosition, u32 side) +{ + u32 battler = GetBattlerAtPosition(bPosition); + struct AiPartyMon *aiMon = &AI_PARTY->mons[side][gBattlerPartyIndexes[battler]]; + struct BattlePokemon *bMon = &gBattleMons[battler]; + + aiMon->species = bMon->species; + aiMon->level = bMon->level; + aiMon->gender = GetGenderFromSpeciesAndPersonality(bMon->species, bMon->personality); + aiMon->isFainted = FALSE; + aiMon->wasSentInBattle = TRUE; + aiMon->switchInCount++; +} + +void Ai_InitPartyStruct(void) +{ + AI_PARTY->count[B_SIDE_PLAYER] = gPlayerPartyCount; + AI_PARTY->count[B_SIDE_OPPONENT] = gEnemyPartyCount; + + // Save first 2 or 4(in doubles) mons + CopyBattlerDataToAIParty(B_POSITION_PLAYER_LEFT, B_SIDE_PLAYER); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + CopyBattlerDataToAIParty(B_POSITION_PLAYER_RIGHT, B_SIDE_PLAYER); + + // If player's partner is AI, save opponent mons + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) + { + CopyBattlerDataToAIParty(B_POSITION_OPPONENT_LEFT, B_SIDE_OPPONENT); + CopyBattlerDataToAIParty(B_POSITION_OPPONENT_RIGHT, B_SIDE_OPPONENT); + } +} + +void Ai_UpdateSwitchInData(u32 battler) +{ + u32 i; + u32 side = GetBattlerSide(battler); + struct AiPartyMon *aiMon = &AI_PARTY->mons[side][gBattlerPartyIndexes[battler]]; + + // See if the switched-in mon has been already in battle + if (aiMon->wasSentInBattle) + { + if (aiMon->ability) + BATTLE_HISTORY->abilities[battler] = aiMon->ability; + if (aiMon->heldEffect) + BATTLE_HISTORY->itemEffects[battler] = aiMon->heldEffect; + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (aiMon->moves[i]) + BATTLE_HISTORY->usedMoves[battler][i] = aiMon->moves[i]; + } + } + else // If not, copy the newly switched-in mon in battle and clear battle history. + { + ClearBattlerMoveHistory(battler); + ClearBattlerAbilityHistory(battler); + ClearBattlerItemEffectHistory(battler); + CopyBattlerDataToAIParty(GetBattlerPosition(battler), side); + } +} + static void SetBattlerAiData(u8 battlerId) { AI_DATA->abilities[battlerId] = AI_GetAbility(battlerId); @@ -253,13 +313,13 @@ void GetAiLogicData(void) u32 battlerAtk, battlerDef, i, move; u8 effectiveness; s32 dmg; - + memset(AI_DATA, 0, sizeof(struct AiLogicData)); - + if (!(gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER)) && !IsWildMonSmart()) return; - + // get/assume all battler data for (i = 0; i < gBattlersCount; i++) { @@ -267,7 +327,7 @@ void GetAiLogicData(void) SetBattlerAiData(i); } } - + // simulate AI damage for (battlerAtk = 0; battlerAtk < gBattlersCount; battlerAtk++) { @@ -275,26 +335,26 @@ void GetAiLogicData(void) || !IsBattlerAIControlled(battlerAtk)) { continue; } - + for (battlerDef = 0; battlerDef < gBattlersCount; battlerDef++) { if (battlerAtk == battlerDef) continue; - + RecordKnownMove(battlerDef, gLastMoves[battlerDef]); for (i = 0; i < MAX_MON_MOVES; i++) { dmg = 0; effectiveness = AI_EFFECTIVENESS_x0; move = gBattleMons[battlerAtk].moves[i]; - + if (move != 0 && move != 0xFFFF //&& gBattleMoves[move].power != 0 /* we want to get effectiveness of status moves */ && !(AI_DATA->moveLimitations[battlerAtk] & gBitTable[i])) { dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE); } - + AI_DATA->simulatedDmg[battlerAtk][battlerDef][i] = dmg; AI_DATA->effectiveness[battlerAtk][battlerDef][i] = effectiveness; } @@ -334,7 +394,7 @@ static u8 ChooseMoveOrAction_Singles(void) return AI_CHOICE_WATCH; gActiveBattler = sBattler_AI; - + // If can switch. if (CountUsablePartyMons(sBattler_AI) > 0 && !IsAbilityPreventingEscape(sBattler_AI) @@ -375,7 +435,7 @@ static u8 ChooseMoveOrAction_Singles(void) } } } - + numOfBestMoves = 1; currentMoveArray[0] = AI_THINKING_STRUCT->score[0]; consideredMoveArray[0] = 0; @@ -427,7 +487,7 @@ static u8 ChooseMoveOrAction_Doubles(void) BattleAI_SetupAIData(gBattleStruct->palaceFlags >> 4); else BattleAI_SetupAIData(0xF); - + gBattlerTarget = i; if ((i & BIT_SIDE) != (sBattler_AI & BIT_SIDE)) RecordLastUsedMoveByTarget(); @@ -467,7 +527,7 @@ static u8 ChooseMoveOrAction_Doubles(void) { if (!CanTargetBattler(sBattler_AI, i, gBattleMons[sBattler_AI].moves[j])) continue; - + if (mostViableMovesScores[0] == AI_THINKING_STRUCT->score[j]) { mostViableMovesScores[mostViableMovesNo] = AI_THINKING_STRUCT->score[j]; @@ -586,7 +646,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); u32 i; u16 predictedMove = AI_DATA->predictedMoves[battlerDef]; - + SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); @@ -594,7 +654,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) return score; GET_MOVE_TYPE(move, moveType); - + // check non-user target if (!(moveTarget & MOVE_TARGET_USER)) { @@ -604,7 +664,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { RETURN_SCORE_MINUS(20); } - + // check ground immunities if (moveType == TYPE_GROUND && !IsBattlerGrounded(battlerDef) @@ -616,11 +676,11 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { RETURN_SCORE_MINUS(20); } - + // check off screen if (IsSemiInvulnerable(battlerDef, move) && moveEffect != EFFECT_SEMI_INVULNERABLE && AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) RETURN_SCORE_MINUS(20); // if target off screen and we go first, don't use move - + // check if negates type switch (effectiveness) { @@ -632,7 +692,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) RETURN_SCORE_MINUS(10); break; } - + // target ability checks if (!DoesBattlerIgnoreAbilityChecks(AI_DATA->abilities[battlerAtk], move)) { @@ -758,7 +818,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) RETURN_SCORE_MINUS(10); break; } // def ability checks - + // target partner ability checks & not attacking partner if (isDoubleBattle) { @@ -796,35 +856,35 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } } // def partner ability checks } // ignore def ability check - + // gen7+ dark type mons immune to priority->elevated moves from prankster #if B_PRANKSTER_DARK_TYPES >= GEN_7 if (AI_DATA->abilities[battlerAtk] == ABILITY_PRANKSTER && IS_BATTLER_OF_TYPE(battlerDef, TYPE_DARK) && IS_MOVE_STATUS(move) && !(moveTarget & (MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_USER))) RETURN_SCORE_MINUS(10); #endif - + // terrain & effect checks if (AI_IsTerrainAffected(battlerDef, STATUS_FIELD_ELECTRIC_TERRAIN)) { if (moveEffect == EFFECT_SLEEP || moveEffect == EFFECT_YAWN) RETURN_SCORE_MINUS(20); } - + if (AI_IsTerrainAffected(battlerDef, STATUS_FIELD_MISTY_TERRAIN)) { if (IsNonVolatileStatusMoveEffect(moveEffect) || IsConfusionMoveEffect(moveEffect)) RETURN_SCORE_MINUS(20); } - + if (AI_IsTerrainAffected(battlerAtk, STATUS_FIELD_PSYCHIC_TERRAIN) && atkPriority > 0) { RETURN_SCORE_MINUS(20); } } // end check MOVE_TARGET_USER - + // the following checks apply to any target (including user) - + // throat chop check if (gDisableStructs[battlerAtk].throatChopTimer && TestMoveFlags(move, FLAG_SOUND)) return 0; // Can't even select move at all @@ -860,7 +920,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } } } - + // check move effects switch (moveEffect) { @@ -874,7 +934,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_EXPLOSION: if (!(AI_THINKING_STRUCT->aiFlags & AI_FLAG_WILL_SUICIDE)) score -= 2; - + if (effectiveness == AI_EFFECTIVENESS_x0) { score -= 10; @@ -920,7 +980,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL)) score -= 10; break; - case EFFECT_SPECIAL_DEFENSE_UP: + case EFFECT_SPECIAL_DEFENSE_UP: case EFFECT_SPECIAL_DEFENSE_UP_2: if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) score -= 10; @@ -1230,7 +1290,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_LOW_KICK: // AI_CBM_HighRiskForDamage if (AI_DATA->abilities[battlerDef] == ABILITY_WONDER_GUARD && effectiveness < AI_EFFECTIVENESS_x2) - score -= 10; + score -= 10; break; case EFFECT_COUNTER: case EFFECT_MIRROR_COAT: @@ -1240,7 +1300,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) || DoesSubstituteBlockMove(battlerAtk, BATTLE_PARTNER(battlerDef), predictedMove)) score -= 10; break; - + case EFFECT_ROAR: if (CountUsablePartyMons(battlerDef) == 0) score -= 10; @@ -1392,7 +1452,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_SPIKES: if (gSideTimers[GetBattlerSide(battlerDef)].spikesAmount >= 3) score -= 10; - else if (PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) + else if (PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) && gSideTimers[GetBattlerSide(battlerDef)].spikesAmount == 2) score -= 10; // only one mon needs to set up the last layer of Spikes break; @@ -1570,7 +1630,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; break; } - + if (B_MENTAL_HERB >= GEN_5 && AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_MENTAL_HERB) score -= 6; break; @@ -1802,7 +1862,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (gBattleMons[battlerAtk].hp > (gBattleMons[battlerAtk].hp + gBattleMons[battlerDef].hp) / 2) score -= 10; break; - + case EFFECT_CONVERSION_2: //TODO break; @@ -1862,7 +1922,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } break; } // move check - + if (decreased) break; if (IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef])) @@ -1904,7 +1964,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) IncreaseAllyProtectionViability(&viability, 0xFF); }*/ } - break; + break; case EFFECT_MIRACLE_EYE: if (gStatuses3[battlerDef] & STATUS3_MIRACLE_EYED) score -= 10; @@ -1952,7 +2012,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) || ((AI_DATA->abilities[battlerDef] == ABILITY_CONTRARY) && !IsTargetingPartner(battlerAtk, battlerDef))) // don't want to raise target stats unless its your partner score -= 10; break; - + case EFFECT_PSYCH_UP: // haze stats check { for (i = STAT_ATK; i < NUM_BATTLE_STATS; i++) @@ -2116,7 +2176,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) u32 atkNegativeStages = CountNegativeStatStages(battlerAtk); u32 defPositiveStages = CountPositiveStatStages(battlerDef); u32 defNegativeStages = CountNegativeStatStages(battlerDef); - + if (atkPositiveStages >= defPositiveStages && atkNegativeStages <= defNegativeStages) score -= 10; break; @@ -2513,21 +2573,21 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; break;*/ } // move effect checks - + if (score < 0) score = 0; - + return score; } static s16 AI_TryToFaint(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) -{ +{ if (IsTargetingPartner(battlerAtk, battlerDef)) return score; - + if (gBattleMoves[move].power == 0) return score; // can't make anything faint with no power - + if (CanIndexMoveFaintTarget(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex, 0) && gBattleMoves[move].effect != EFFECT_EXPLOSION) { // this move can faint the target @@ -2541,10 +2601,10 @@ static s16 AI_TryToFaint(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) // this move isn't expected to faint the target if (TestMoveFlags(move, FLAG_HIGH_CRIT)) score += 2; // crit makes it more likely to make them faint - + if (GetMoveDamageResult(move) == MOVE_POWER_OTHER) score--; - + switch (AI_DATA->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]) { case AI_EFFECTIVENESS_x8: @@ -2561,7 +2621,7 @@ static s16 AI_TryToFaint(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; } } - + //AI_TryToFaint_CheckIfDanger if (!WillAIStrikeFirst() && CanTargetFaintAi(battlerDef, battlerAtk)) { // AI_TryToFaint_Danger @@ -2570,7 +2630,7 @@ static s16 AI_TryToFaint(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) else score++; } - + return score; } @@ -2626,8 +2686,8 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; } } // check partner move effect - - + + // consider our move effect relative to partner state switch (effect) { @@ -2648,8 +2708,8 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } break; } // our effect relative to partner - - + + // consider global move effects switch (effect) { @@ -2679,8 +2739,8 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } break; } // global move effect check - - + + // check specific target if (IsTargetingPartner(battlerAtk, battlerDef)) { @@ -2787,11 +2847,11 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { RETURN_SCORE_PLUS(1); } - break; + break; } } // ability checks } // move power check - + // attacker move effects specifically targeting partner if (!partnerProtecting) { @@ -2904,12 +2964,12 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; } // attacker move effects } // check partner protecting - + score -= 30; // otherwise, don't target partner } else // checking opponent { - // these checks mostly handled in AI_CheckBadMove and AI_CheckViability + // these checks mostly handled in AI_CheckBadMove and AI_CheckViability switch (effect) { case EFFECT_SKILL_SWAP: @@ -2934,10 +2994,10 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 3; break; } - + // lightning rod, flash fire against enemy handled in AI_CheckBadMove } - + return score; } @@ -2974,11 +3034,11 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) u16 predictedMove = AI_DATA->predictedMoves[battlerDef]; bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); u32 i; - + // Targeting partner, check benefits of doing that instead if (IsTargetingPartner(battlerAtk, battlerDef)) return score; - + // check always hits if (!IS_MOVE_STATUS(move) && gBattleMoves[move].accuracy == 0) { @@ -2987,11 +3047,11 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (AI_RandLessThan(100) && (gBattleMons[battlerDef].statStages[STAT_EVASION] >= 8 || gBattleMons[battlerAtk].statStages[STAT_ACC] <= 4)) score++; } - + // check high crit if (TestMoveFlags(move, FLAG_HIGH_CRIT) && effectiveness >= AI_EFFECTIVENESS_x2 && AI_RandLessThan(128)) score++; - + // check already dead if (!IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef]) && CanTargetFaintAi(battlerAtk, battlerDef) @@ -3002,7 +3062,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) else score--; } - + // check damage if (gBattleMoves[move].power != 0 && GetMoveDamageResult(move) == MOVE_POWER_WEAK) score--; @@ -3010,11 +3070,11 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) // check status move preference if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_PREFER_STATUS_MOVES && IS_MOVE_STATUS(move) && effectiveness != AI_EFFECTIVENESS_x0) score++; - + // check thawing moves if ((gBattleMons[battlerAtk].status1 & STATUS1_FREEZE) && TestMoveFlags(move, FLAG_THAW_USER)) score += (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) ? 20 : 10; - + // check burn if (gBattleMons[battlerAtk].status1 & STATUS1_BURN) { @@ -3033,7 +3093,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; } } - + // attacker ability checks switch (AI_DATA->abilities[battlerAtk]) { @@ -3049,8 +3109,8 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score += 8; // prioritize killing target for stat boost } break; - } // ability checks - + } // ability checks + // move effect checks switch (moveEffect) { @@ -3095,7 +3155,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; } } - + if (!AI_RandLessThan(100)) { score--; @@ -3141,7 +3201,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; } } - + if (!AI_RandLessThan(100)) { score--; @@ -3164,7 +3224,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 2; else if (AI_DATA->hpPercents[battlerAtk] <= 70) score -= 2; - else + else score++; break; case EFFECT_EVASION_UP: @@ -3294,7 +3354,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_ATTACK_SPATK_UP: // work up if (AI_DATA->hpPercents[battlerAtk] <= 40 || AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) break; - + if (HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) IncreaseStatUpScore(battlerAtk, battlerDef, STAT_ATK, &score); else if (HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL)) @@ -3350,7 +3410,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) default: break; } - + if (ShouldRecover(battlerAtk, battlerDef, move, healPercent)) score += 2; } @@ -3578,7 +3638,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (newHp > healthBenchmark && ShouldAbsorb(battlerAtk, battlerDef, move, AI_DATA->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex])) score += 2; } - break; + break; case EFFECT_SLEEP_TALK: case EFFECT_SNORE: if (!IsWakeupTurn(battlerAtk) && gBattleMons[battlerAtk].status1 & STATUS1_SLEEP) @@ -3613,13 +3673,13 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_THIEF: { bool32 canSteal = FALSE; - + #if defined B_TRAINERS_KNOCK_OFF_ITEMS && B_TRAINERS_KNOCK_OFF_ITEMS == TRUE canSteal = TRUE; #endif if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER || GetBattlerSide(battlerAtk) == B_SIDE_PLAYER) canSteal = TRUE; - + if (canSteal && AI_DATA->items[battlerAtk] == ITEM_NONE && AI_DATA->items[battlerDef] != ITEM_NONE && CanBattlerGetOrLoseItem(battlerDef, AI_DATA->items[battlerDef]) @@ -3763,8 +3823,8 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (AI_DATA->abilities[battlerDef] == ABILITY_MAGIC_BOUNCE || CountUsablePartyMons(battlerDef) == 0) break; if (gDisableStructs[battlerAtk].isFirstTurn) - score += 2; - //TODO - track entire opponent party data to determine hazard effectiveness + score += 2; + //TODO - track entire opponent party data to determine hazard effectiveness break; case EFFECT_FORESIGHT: if (AI_DATA->abilities[battlerAtk] == ABILITY_SCRAPPY) @@ -3793,7 +3853,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (HasMoveEffect(battlerDef, EFFECT_MORNING_SUN) || HasMoveEffect(battlerDef, EFFECT_SYNTHESIS) || HasMoveEffect(battlerDef, EFFECT_MOONLIGHT)) - score += 2; + score += 2; } break; case EFFECT_HAIL: @@ -3802,7 +3862,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if ((HasMoveEffect(battlerAtk, EFFECT_AURORA_VEIL) || HasMoveEffect(BATTLE_PARTNER(battlerAtk), EFFECT_AURORA_VEIL)) && ShouldSetScreen(battlerAtk, battlerDef, EFFECT_AURORA_VEIL)) score += 3; - + score++; if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_ICY_ROCK) score++; @@ -3861,7 +3921,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_SPECTRAL_THIEF: // Want to copy positive stat changes for (i = STAT_ATK; i < NUM_BATTLE_STATS; i++) - { + { if (gBattleMons[battlerDef].statStages[i] > gBattleMons[battlerAtk].statStages[i]) { switch (i) @@ -3920,7 +3980,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (HasMoveEffect(battlerAtk, EFFECT_SWALLOW) || HasMoveEffect(battlerAtk, EFFECT_SPIT_UP)) score += 2; - + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_DEF, &score); IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPDEF, &score); break; @@ -3937,20 +3997,20 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) || HasMoveEffect(battlerAtk, EFFECT_PSYCH_UP) || HasMoveEffect(battlerAtk, EFFECT_SPECTRAL_THIEF)) score++; - + if (AI_DATA->abilities[battlerDef] == ABILITY_CONTRARY) score += 2; - + IncreaseConfusionScore(battlerAtk, battlerDef, move, &score); break; case EFFECT_FLATTER: if (HasMoveEffect(battlerAtk, EFFECT_PSYCH_UP) || HasMoveEffect(battlerAtk, EFFECT_SPECTRAL_THIEF)) score += 2; - + if (AI_DATA->abilities[battlerDef] == ABILITY_CONTRARY) score += 2; - + IncreaseConfusionScore(battlerAtk, battlerDef, move, &score); break; case EFFECT_FURY_CUTTER: @@ -3991,7 +4051,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score += 3; break; } - + switch (move) { case MOVE_DEFOG: @@ -4007,7 +4067,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) && AI_WhoStrikesFirst(battlerAtk, BATTLE_PARTNER(battlerAtk), move) == AI_IS_SLOWER) // Partner going first break; // Don't use Defog if partner is going to set up hazards } - + // check defog lowering evasion if (ShouldLowerEvasion(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) { @@ -4179,10 +4239,10 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { u16 item = GetUsedHeldItem(battlerAtk); u16 toHeal = (ItemId_GetHoldEffectParam(item) == 10) ? 10 : gBattleMons[battlerAtk].maxHP / ItemId_GetHoldEffectParam(item); - + if (IsStatBoostingBerry(item) && AI_DATA->hpPercents[battlerAtk] > 60) score++; - else if (ShouldRestoreHpBerry(battlerAtk, item) && !CanAIFaintTarget(battlerAtk, battlerDef, 0) + else if (ShouldRestoreHpBerry(battlerAtk, item) && !CanAIFaintTarget(battlerAtk, battlerDef, 0) && ((GetWhoStrikesFirst(battlerAtk, battlerDef, TRUE) == 0 && CanTargetFaintAiWithMod(battlerDef, battlerAtk, 0, 0)) || !CanTargetFaintAiWithMod(battlerDef, battlerAtk, toHeal, 0))) score++; // Recycle healing berry if we can't otherwise faint the target and the target wont kill us after we activate the berry @@ -4229,7 +4289,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { if (AI_DATA->abilities[battlerDef] != AI_DATA->abilities[battlerAtk] && !(gStatuses3[battlerDef] & STATUS3_GASTRO_ACID)) score += 2; - } + } break; case EFFECT_IMPRISON: if (predictedMove != MOVE_NONE && HasMove(battlerAtk, predictedMove)) @@ -4300,7 +4360,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_SHELL_SMASH: if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_RESTORE_STATS) score += 1; - + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPEED, &score); IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPATK, &score); IncreaseStatUpScore(battlerAtk, battlerDef, STAT_ATK, &score); @@ -4407,7 +4467,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (gStatuses3[battlerAtk] & STATUS3_YAWN && IsBattlerGrounded(battlerAtk)) score += 10; //fallthrough - case EFFECT_GRASSY_TERRAIN: + case EFFECT_GRASSY_TERRAIN: case EFFECT_PSYCHIC_TERRAIN: score += 2; if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_TERRAIN_EXTENDER) @@ -4680,7 +4740,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) //case EFFECT_SKY_DROP //break; } // move effect checks - + return score; } @@ -4690,15 +4750,15 @@ static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (IsTargetingPartner(battlerAtk, battlerDef) || gBattleResults.battleTurnCounter != 0) return score; - - if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_SMART_SWITCHING + + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_SMART_SWITCHING && AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER && CanTargetFaintAi(battlerDef, battlerAtk) && GetMovePriority(battlerAtk, move) == 0) { RETURN_SCORE_MINUS(20); // No point in setting up if you will faint. Should just switch if possible.. } - + // check effects to prioritize first turn switch (gBattleMoves[move].effect) { @@ -4787,7 +4847,7 @@ static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) default: break; } - + return score; } @@ -4796,10 +4856,10 @@ static s16 AI_Risky(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { if (IsTargetingPartner(battlerAtk, battlerDef)) return score; - + if (TestMoveFlags(move, FLAG_HIGH_CRIT)) score += 2; - + switch (gBattleMoves[move].effect) { case EFFECT_SLEEP: @@ -4826,7 +4886,7 @@ static s16 AI_Risky(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) default: break; } - + return score; } @@ -4835,10 +4895,10 @@ static s16 AI_PreferStrongestMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 sc { if (IsTargetingPartner(battlerAtk, battlerDef)) return score; - + if (GetMoveDamageResult(move) == MOVE_POWER_BEST) score += 2; - + return score; } @@ -4846,14 +4906,14 @@ static s16 AI_PreferStrongestMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 sc static s16 AI_PreferBatonPass(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { u32 i; - + if (IsTargetingPartner(battlerAtk, battlerDef) || CountUsablePartyMons(battlerAtk) == 0 || GetMoveDamageResult(move) != MOVE_POWER_OTHER || !HasMoveEffect(battlerAtk, EFFECT_BATON_PASS) || IsBattlerTrapped(battlerAtk, TRUE)) return score; - + if (IsStatRaisingEffect(gBattleMoves[move].effect)) { if (gBattleResults.battleTurnCounter == 0) @@ -4861,9 +4921,9 @@ static s16 AI_PreferBatonPass(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) else if (AI_DATA->hpPercents[battlerAtk] < 60) score -= 10; else - score++; + score++; } - + // other specific checks switch (gBattleMoves[move].effect) { @@ -4889,12 +4949,12 @@ static s16 AI_PreferBatonPass(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (gStatuses3[battlerAtk] & (STATUS3_ROOTED | STATUS3_AQUA_RING)) score += 2; if (gStatuses3[battlerAtk] & STATUS3_LEECHSEED) - score -= 3; + score -= 3; break; default: break; } - + return score; } @@ -4914,11 +4974,11 @@ static s16 AI_HPAware(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { if (gStatuses3[battlerDef] & STATUS3_HEAL_BLOCK) return 0; - + if (CanTargetFaintAi(FOE(battlerAtk), BATTLE_PARTNER(battlerAtk)) || (CanTargetFaintAi(BATTLE_PARTNER(FOE(battlerAtk)), BATTLE_PARTNER(battlerAtk)))) score--; - + if (AI_DATA->hpPercents[battlerDef] <= 50) score++; } @@ -4957,7 +5017,7 @@ static s16 AI_HPAware(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) // med hp if (IsStatRaisingEffect(effect) || IsStatLoweringEffect(effect)) score -= 2; - + switch (effect) { case EFFECT_EXPLOSION: @@ -4980,7 +5040,7 @@ static s16 AI_HPAware(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) // low hp if (IsStatRaisingEffect(effect) || IsStatLoweringEffect(effect)) score -= 2; - + // check other discouraged low hp effects switch (effect) { @@ -5013,7 +5073,7 @@ static s16 AI_HPAware(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } } } - + // consider target HP if (CanIndexMoveFaintTarget(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex, 0)) { @@ -5085,7 +5145,7 @@ static s16 AI_HPAware(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 2; // don't use status moves if target is at low health } } - + return score; } @@ -5104,7 +5164,7 @@ static s16 AI_Roaming(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { if (IsBattlerTrapped(battlerAtk, FALSE)) return score; - + AI_Flee(); return score; } diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index fe715eec6..a34dccdad 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -499,6 +499,7 @@ void RecordKnownMove(u8 battlerId, u32 move) if (BATTLE_HISTORY->usedMoves[battlerId][i] == MOVE_NONE) { BATTLE_HISTORY->usedMoves[battlerId][i] = move; + AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].moves[i] = move; break; } } @@ -507,6 +508,7 @@ void RecordKnownMove(u8 battlerId, u32 move) void RecordAbilityBattle(u8 battlerId, u16 abilityId) { BATTLE_HISTORY->abilities[battlerId] = abilityId; + AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].ability = abilityId; } void ClearBattlerAbilityHistory(u8 battlerId) @@ -517,6 +519,7 @@ void ClearBattlerAbilityHistory(u8 battlerId) void RecordItemEffectBattle(u8 battlerId, u8 itemEffect) { BATTLE_HISTORY->itemEffects[battlerId] = itemEffect; + AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].heldEffect = itemEffect; } void ClearBattlerItemEffectHistory(u8 battlerId) @@ -787,7 +790,7 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, dmg *= 2; else if (move == MOVE_SURGING_STRIKES || (move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH)) dmg *= 3; - + if (dmg == 0) dmg = 1; } @@ -798,7 +801,7 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, RestoreBattlerData(battlerAtk); RestoreBattlerData(battlerDef); - + // convert multiper to AI_EFFECTIVENESS_xX *typeEffectiveness = AI_GetEffectiveness(effectivenessMultiplier); @@ -1153,11 +1156,11 @@ bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability) s32 AI_GetAbility(u32 battlerId) { u32 knownAbility = GetBattlerAbility(battlerId); - + // The AI knows its own ability. if (IsBattlerAIControlled(battlerId)) return knownAbility; - + // Check neutralizing gas, gastro acid if (knownAbility == ABILITY_NONE) return knownAbility; @@ -1177,10 +1180,10 @@ s32 AI_GetAbility(u32 battlerId) { abilityGuess = gBaseStats[gBattleMons[battlerId].species].abilities[Random() % NUM_ABILITY_SLOTS]; } - + return abilityGuess; } - + return ABILITY_NONE; // Unknown. } @@ -2668,7 +2671,7 @@ static bool32 AI_CanPoisonType(u8 battlerAttacker, u8 battlerTarget) static bool32 AI_CanBePoisoned(u8 battlerAtk, u8 battlerDef) { u16 ability = AI_DATA->abilities[battlerDef]; - + if (!(AI_CanPoisonType(battlerAtk, battlerDef)) || gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_SAFEGUARD || gBattleMons[battlerDef].status1 & STATUS1_ANY @@ -3019,7 +3022,7 @@ bool32 IsValidDoubleBattle(u8 battlerAtk) u16 GetAllyChosenMove(u8 battlerId) { u8 partnerBattler = BATTLE_PARTNER(battlerId); - + if (!IsBattlerAlive(partnerBattler) || !IsBattlerAIControlled(partnerBattler)) return MOVE_NONE; else if (partnerBattler > battlerId) // Battler with the lower id chooses the move first. @@ -3425,7 +3428,7 @@ void IncreaseStatUpScore(u8 battlerAtk, u8 battlerDef, u8 statId, s16 *score) if (AI_DATA->hpPercents[battlerAtk] < 80 && AI_RandLessThan(128)) return; - + if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; // Damaging moves would get a score boost from AI_TryToFaint or PreferStrongestMove so we don't consider them here @@ -3544,7 +3547,7 @@ void IncreaseParalyzeScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; - + if (AI_CanParalyze(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) { u8 atkSpeed = GetBattlerTotalSpeedStat(battlerAtk); @@ -3565,7 +3568,7 @@ void IncreaseSleepScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; - + if (AI_CanPutToSleep(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) *score += 2; else @@ -3583,7 +3586,7 @@ void IncreaseConfusionScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; - + if (AI_CanConfuse(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_CURE_CONFUSION && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_CURE_STATUS) @@ -3614,28 +3617,28 @@ bool32 ShouldUseZMove(u8 battlerAtk, u8 battlerDef, u16 chosenMove) return FALSE; //don't use z move on partner if (gBattleStruct->zmove.used[battlerAtk]) return FALSE; //cant use z move twice - + if (IsViableZMove(battlerAtk, chosenMove)) { u8 effectiveness; - + #ifdef POKEMON_EXPANSION if (gBattleMons[battlerDef].ability == ABILITY_DISGUISE && gBattleMons[battlerDef].species == SPECIES_MIMIKYU) return FALSE; // Don't waste a Z-Move busting disguise if (gBattleMons[battlerDef].ability == ABILITY_ICE_FACE && gBattleMons[battlerDef].species == SPECIES_EISCUE && IS_MOVE_PHYSICAL(chosenMove)) return FALSE; // Don't waste a Z-Move busting Ice Face #endif - + if (IS_MOVE_STATUS(chosenMove) && !IS_MOVE_STATUS(gBattleStruct->zmove.chosenZMove)) return FALSE; else if (!IS_MOVE_STATUS(chosenMove) && IS_MOVE_STATUS(gBattleStruct->zmove.chosenZMove)) return FALSE; - + if (!IS_MOVE_STATUS(chosenMove) && AI_CalcDamage(chosenMove, battlerAtk, battlerDef, &effectiveness, FALSE) >= gBattleMons[battlerDef].hp) return FALSE; // don't waste damaging z move if can otherwise faint target - + return TRUE; } - + return FALSE; } diff --git a/src/battle_debug.c b/src/battle_debug.c index 0657ed2ac..256647ddf 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -43,8 +43,8 @@ struct BattleDebugModifyArrows u16 minValue; u16 maxValue; int currValue; - u8 currentDigit; - u8 maxDigits; + u8 currentDigit:4; + u8 maxDigits:4; u8 charDigits[MAX_MODIFY_DIGITS]; void *modifiedValPtr; u8 typeOfVal; @@ -52,7 +52,9 @@ struct BattleDebugModifyArrows struct BattleDebugMenu { - u8 battlerId; + u8 battlerId:2; + u8 aiBattlerId:2; + u8 battlerWindowId; u8 mainListWindowId; @@ -72,11 +74,16 @@ struct BattleDebugMenu const struct BitfieldInfo *bitfield; bool8 battlerWasChanged[MAX_BATTLERS_COUNT]; - u8 aiBattlerId; u8 aiViewState; - u8 aiIconSpriteIds[MAX_BATTLERS_COUNT]; + u8 aiMonSpriteId; u8 aiMovesWindowId; + + union + { + u8 aiIconSpriteIds[MAX_BATTLERS_COUNT]; + u8 aiPartyIcons[PARTY_SIZE]; + } spriteIds; }; struct __attribute__((__packed__)) BitfieldInfo @@ -102,6 +109,7 @@ enum LIST_ITEM_AI, LIST_ITEM_AI_MOVES_PTS, LIST_ITEM_AI_INFO, + LIST_ITEM_AI_PARTY, LIST_ITEM_VARIOUS, LIST_ITEM_COUNT }; @@ -234,6 +242,7 @@ static const u8 sText_Unknown[] = _("Unknown"); static const u8 sText_InLove[] = _("In Love"); static const u8 sText_AIMovePts[] = _("AI Pts/Dmg"); static const u8 sText_AiKnowledge[] = _("AI Info"); +static const u8 sText_AiParty[] = _("AI Party"); static const u8 sText_EffectOverride[] = _("Effect Override"); static const u8 sText_EmptyString[] = _(""); @@ -340,6 +349,7 @@ static const struct ListMenuItem sMainListItems[] = {sText_AI, LIST_ITEM_AI}, {sText_AIMovePts, LIST_ITEM_AI_MOVES_PTS}, {sText_AiKnowledge, LIST_ITEM_AI_INFO}, + {sText_AiParty, LIST_ITEM_AI_PARTY}, {sText_Various, LIST_ITEM_VARIOUS}, }; @@ -610,6 +620,7 @@ static void UpdateMonData(struct BattleDebugMenu *data); static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, bool32 statusTrue); static bool32 TryMoveDigit(struct BattleDebugModifyArrows *modArrows, bool32 moveUp); static void SwitchToDebugView(u8 taskId); +static void SwitchToDebugViewFromAiParty(u8 taskId); // code static struct BattleDebugMenu *GetStructPtr(u8 taskId) @@ -725,9 +736,9 @@ static void PutMovesPointsText(struct BattleDebugMenu *data) AddTextPrinterParameterized(data->aiMovesWindowId, 1, text, 0, i * 15, 0, NULL); for (count = 0, j = 0; j < MAX_BATTLERS_COUNT; j++) { - if (data->aiIconSpriteIds[j] == 0xFF) + if (data->spriteIds.aiIconSpriteIds[j] == 0xFF) continue; - battlerDef = gSprites[data->aiIconSpriteIds[j]].data[0]; + battlerDef = gSprites[data->spriteIds.aiIconSpriteIds[j]].data[0]; ConvertIntToDecimalStringN(text, gBattleStruct->aiFinalScore[data->aiBattlerId][battlerDef][i], STR_CONV_MODE_RIGHT_ALIGN, 3); @@ -772,20 +783,20 @@ static void Task_ShowAiPoints(u8 taskId) if (i != data->aiBattlerId && IsBattlerAlive(i)) { #ifndef POKEMON_EXPANSION - data->aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, + data->spriteIds.aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, SpriteCallbackDummy, 95 + (count * 60), 17, 0, 0, FALSE); #else - data->aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, + data->spriteIds.aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, SpriteCallbackDummy, 95 + (count * 60), 17, 0, 0); #endif - gSprites[data->aiIconSpriteIds[i]].data[0] = i; // battler id + gSprites[data->spriteIds.aiIconSpriteIds[i]].data[0] = i; // battler id count++; } else { - data->aiIconSpriteIds[i] = 0xFF; + data->spriteIds.aiIconSpriteIds[i] = 0xFF; } } #ifndef POKEMON_EXPANSION @@ -831,25 +842,26 @@ static void SwitchToAiPointsView(u8 taskId) GetStructPtr(taskId)->aiViewState = 0; } -static const u8 *const sAiInfoItemNames[] = +static const u8 *const sAiInfoItemNames[] = { sText_Ability, sText_HeldItem, sText_HoldEffect, }; + static void PutAiInfoText(struct BattleDebugMenu *data) { u32 i, j, count; u8 *text = malloc(0x50); FillWindowPixelBuffer(data->aiMovesWindowId, 0x11); - + // item names for (i = 0; i < ARRAY_COUNT(sAiInfoItemNames); i++) { AddTextPrinterParameterized(data->aiMovesWindowId, 1, sAiInfoItemNames[i], 3, i * 15, 0, NULL); } - + // items info for (i = 0; i < gBattlersCount; i++) { @@ -869,6 +881,31 @@ static void PutAiInfoText(struct BattleDebugMenu *data) free(text); } +static void PutAiPartyText(struct BattleDebugMenu *data) +{ + u32 i, j, count, maxWidth; + u8 *text = malloc(0x50), *txtPtr; + struct AiPartyMon *aiMons = AI_PARTY->mons[GET_BATTLER_SIDE(data->aiBattlerId)]; + + FillWindowPixelBuffer(data->aiMovesWindowId, 0x11); + count = AI_PARTY->count[GET_BATTLER_SIDE(data->aiBattlerId)]; + for (i = 0; i < count; i++) + { + txtPtr = StringCopyN(text, gAbilityNames[aiMons[i].ability], 7); // The screen is too small to fit the whole string, so we need to drop the last letters. + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 0, 0, NULL, 0, 0); + for (j = 0; j < MAX_MON_MOVES; j++) + { + txtPtr = StringCopyN(text, gMoveNames[aiMons[i].moves[j]], 8); + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 20 + j * 15, 0, NULL, 0, 0); + } + } + + CopyWindowToVram(data->aiMovesWindowId, 3); + free(text); +} + static void Task_ShowAiKnowledge(u8 taskId) { u32 i, count; @@ -895,20 +932,20 @@ static void Task_ShowAiKnowledge(u8 taskId) if (GET_BATTLER_SIDE(i) == B_SIDE_PLAYER && IsBattlerAlive(i)) { #ifndef POKEMON_EXPANSION - data->aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, + data->spriteIds.aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, SpriteCallbackDummy, 95 + (count * 80), 17, 0, 0, FALSE); #else - data->aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, + data->spriteIds.aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, SpriteCallbackDummy, 95 + (count * 80), 17, 0, 0); #endif - gSprites[data->aiIconSpriteIds[i]].data[0] = i; // battler id + gSprites[data->spriteIds.aiIconSpriteIds[i]].data[0] = i; // battler id count++; } else { - data->aiIconSpriteIds[i] = 0xFF; + data->spriteIds.aiIconSpriteIds[i] = 0xFF; } } #ifndef POKEMON_EXPANSION @@ -947,12 +984,82 @@ static void Task_ShowAiKnowledge(u8 taskId) } } +static void Task_ShowAiParty(u8 taskId) +{ + u32 i; + struct WindowTemplate winTemplate; + struct AiPartyMon *aiMons; + struct BattleDebugMenu *data = GetStructPtr(taskId); + + switch (data->aiViewState) + { + case 0: + HideBg(0); + ShowBg(1); + + LoadMonIconPalettes(); + data->aiBattlerId = data->battlerId; + aiMons = AI_PARTY->mons[GET_BATTLER_SIDE(data->aiBattlerId)]; + for (i = 0; i < AI_PARTY->count[GET_BATTLER_SIDE(data->aiBattlerId)]; i++) + { + u16 species = SPECIES_OLD_UNOWN_B; // Question mark + if (aiMons[i].wasSentInBattle && aiMons[i].species) + species = aiMons[i].species; + data->spriteIds.aiPartyIcons[i] = CreateMonIcon(species, SpriteCallbackDummy, (i * 41) - 5 + 20, 7, 0, 0, FALSE); + } + for (; i < PARTY_SIZE; i++) + data->spriteIds.aiPartyIcons[i] = 0xFF; + data->aiViewState++; + break; + // Put text + case 1: + winTemplate = CreateWindowTemplate(1, 0, 4, 30, 14, 15, 0x200); + data->aiMovesWindowId = AddWindow(&winTemplate); + PutWindowTilemap(data->aiMovesWindowId); + PutAiPartyText(data); + data->aiViewState++; + break; + // Input + case 2: + if (gMain.newKeys & (SELECT_BUTTON | B_BUTTON)) + { + SwitchToDebugViewFromAiParty(taskId); + HideBg(1); + ShowBg(0); + return; + } + break; + } +} + static void SwitchToAiInfoView(u8 taskId) { gTasks[taskId].func = Task_ShowAiKnowledge; GetStructPtr(taskId)->aiViewState = 0; } +static void SwitchToAiPartyView(u8 taskId) +{ + gTasks[taskId].func = Task_ShowAiParty; + GetStructPtr(taskId)->aiViewState = 0; +} + +static void SwitchToDebugViewFromAiParty(u8 taskId) +{ + u32 i; + struct BattleDebugMenu *data = GetStructPtr(taskId); + + FreeMonIconPalettes(); + for (i = 0; i < PARTY_SIZE; i++) + { + if (data->spriteIds.aiPartyIcons[i] != 0xFF) + FreeAndDestroyMonIconSprite(&gSprites[data->spriteIds.aiPartyIcons[i]]); + } + RemoveWindow(data->aiMovesWindowId); + + gTasks[taskId].func = Task_DebugMenuProcessInput; +} + static void SwitchToDebugView(u8 taskId) { u32 i; @@ -961,8 +1068,8 @@ static void SwitchToDebugView(u8 taskId) FreeMonIconPalettes(); for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (data->aiIconSpriteIds[i] != 0xFF) - FreeAndDestroyMonIconSprite(&gSprites[data->aiIconSpriteIds[i]]); + if (data->spriteIds.aiIconSpriteIds[i] != 0xFF) + FreeAndDestroyMonIconSprite(&gSprites[data->spriteIds.aiIconSpriteIds[i]]); } FreeAndDestroyMonPicSprite(data->aiMonSpriteId); RemoveWindow(data->aiMovesWindowId); @@ -1019,6 +1126,11 @@ static void Task_DebugMenuProcessInput(u8 taskId) SwitchToAiInfoView(taskId); return; } + else if (listItemId == LIST_ITEM_AI_PARTY && gMain.newKeys & A_BUTTON) + { + SwitchToAiPartyView(taskId); + return; + } data->currentMainListItemId = listItemId; // Create the secondary menu list. @@ -2040,7 +2152,7 @@ static const u8 sText_HoldEffectRoomService[] = _("Room Service"); static const u8 sText_HoldEffectBlunderPolicy[] = _("Blunder Policy"); static const u8 sText_HoldEffectHeavyDutyBoots[] = _("Heavy Duty Boots"); static const u8 sText_HoldEffectThroatSpray[] = _("Throat Spray"); -static const u8 *const sHoldEffectNames[] = +static const u8 *const sHoldEffectNames[] = { [HOLD_EFFECT_NONE] = sText_HoldEffectNone, [HOLD_EFFECT_RESTORE_HP] = sText_HoldEffectRestoreHp, diff --git a/src/battle_main.c b/src/battle_main.c index 147c6ec41..5b58f0893 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -947,7 +947,7 @@ static void CB2_HandleStartBattle(void) // Recv Pokémon 5-6 ResetBlockReceivedFlags(); memcpy(&gEnemyParty[4], gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - + TryCorrectShedinjaLanguage(&gEnemyParty[0]); TryCorrectShedinjaLanguage(&gEnemyParty[1]); TryCorrectShedinjaLanguage(&gEnemyParty[2]); @@ -2856,7 +2856,7 @@ static void SpriteCB_TrainerThrowObject_Main(struct Sprite *sprite) sprite->callback = SpriteCB_Idle; } -// Sprite callback for a trainer back pic to throw an object +// Sprite callback for a trainer back pic to throw an object // (Wally throwing a ball, throwing Pokéblocks/balls in the Safari Zone) void SpriteCB_TrainerThrowObject(struct Sprite *sprite) { @@ -2991,10 +2991,10 @@ static void BattleStartClearSetData(void) gBattleStruct->arenaLostOpponentMons = 0; gBattleStruct->mega.triggerSpriteId = 0xFF; - + gBattleStruct->stickyWebUser = 0xFF; gBattleStruct->appearedInBattle = 0; - + for (i = 0; i < PARTY_SIZE; i++) { gBattleStruct->usedHeldItems[i][0] = 0; @@ -3094,7 +3094,7 @@ void SwitchInClearSetData(void) gBattleStruct->lastTakenMoveFrom[gActiveBattler][3] = 0; gBattleStruct->lastMoveFailed &= ~(gBitTable[gActiveBattler]); gBattleStruct->palaceFlags &= ~(gBitTable[gActiveBattler]); - + if (gActiveBattler == gBattleStruct->stickyWebUser) gBattleStruct->stickyWebUser = 0xFF; // Switched into sticky web user slot so reset it @@ -3110,14 +3110,12 @@ void SwitchInClearSetData(void) gBattleResources->flags->flags[gActiveBattler] = 0; gCurrentMove = 0; gBattleStruct->arenaTurnCounter = 0xFF; - + // Reset damage to prevent things like red card activating if the switched-in mon is holding it gSpecialStatuses[gActiveBattler].physicalDmg = 0; gSpecialStatuses[gActiveBattler].specialDmg = 0; - ClearBattlerMoveHistory(gActiveBattler); - ClearBattlerAbilityHistory(gActiveBattler); - ClearBattlerItemEffectHistory(gActiveBattler); + Ai_UpdateSwitchInData(gActiveBattler); } void FaintClearSetData(void) @@ -3194,7 +3192,7 @@ void FaintClearSetData(void) gBattleStruct->lastTakenMoveFrom[gActiveBattler][3] = 0; gBattleStruct->palaceFlags &= ~(gBitTable[gActiveBattler]); - + if (gActiveBattler == gBattleStruct->stickyWebUser) gBattleStruct->stickyWebUser = 0xFF; // User of sticky web fainted, so reset the stored battler ID @@ -3572,7 +3570,8 @@ static void DoBattleIntro(void) gBattleStruct->switchInAbilitiesCounter = 0; gBattleStruct->switchInItemsCounter = 0; gBattleStruct->overworldWeatherDone = FALSE; - + GetAiLogicData(); // get assumed abilities, hold effects, etc of all battlers + Ai_InitPartyStruct(); // Save mons party counts, and first 2/4 mons on the battlefield. gBattleMainFunc = TryDoEventsBeforeFirstTurn; } break; @@ -3706,8 +3705,6 @@ static void TryDoEventsBeforeFirstTurn(void) gMoveResultFlags = 0; gRandomTurnNumber = Random(); - - GetAiLogicData(); // get assumed abilities, hold effects, etc of all battlers if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { @@ -3914,7 +3911,7 @@ static void HandleTurnActionSelectionState(void) case STATE_TURN_START_RECORD: // Recorded battle related action on start of every turn. RecordedBattle_CopyBattlerMoves(); gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; - + // Do AI score computations here so we can use them in AI_TrySwitchOrUseItem if ((gBattleTypeFlags & BATTLE_TYPE_HAS_AI || IsWildMonSmart()) && IsBattlerAIControlled(gActiveBattler)) { gBattleStruct->aiMoveOrAction[gActiveBattler] = ComputeBattleAiScores(gActiveBattler); @@ -4574,7 +4571,7 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) // QUICK CLAW / CUSTAP - always first // LAGGING TAIL - always last // STALL - always last - + if (gProtectStructs[battler1].quickDraw && !gProtectStructs[battler2].quickDraw) strikesFirst = 0; else if (!gProtectStructs[battler1].quickDraw && gProtectStructs[battler2].quickDraw) diff --git a/src/battle_util2.c b/src/battle_util2.c index 2ccc38a8a..219db0786 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -27,6 +27,7 @@ void AllocateBattleResources(void) gBattleResources->beforeLvlUp = AllocZeroed(sizeof(*gBattleResources->beforeLvlUp)); gBattleResources->ai = AllocZeroed(sizeof(*gBattleResources->ai)); gBattleResources->aiData = AllocZeroed(sizeof(*gBattleResources->aiData)); + gBattleResources->aiParty = AllocZeroed(sizeof(*gBattleResources->aiParty)); gBattleResources->battleHistory = AllocZeroed(sizeof(*gBattleResources->battleHistory)); gLinkBattleSendBuffer = AllocZeroed(BATTLE_BUFFER_LINK_SIZE); @@ -59,6 +60,7 @@ void FreeBattleResources(void) FREE_AND_SET_NULL(gBattleResources->beforeLvlUp); FREE_AND_SET_NULL(gBattleResources->ai); FREE_AND_SET_NULL(gBattleResources->aiData); + FREE_AND_SET_NULL(gBattleResources->aiParty); FREE_AND_SET_NULL(gBattleResources->battleHistory); FREE_AND_SET_NULL(gBattleResources); diff --git a/vbalink.ini b/vbalink.ini new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 From 05ec8fb182f7014290ab60b55acb4206e94be5b5 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 23 Aug 2022 11:58:17 +0200 Subject: [PATCH 018/147] AI knows Party mons --- NO$GBA.EXE - Shortcut.lnk | Bin 1536 -> 0 bytes include/battle.h | 3 +- include/battle_ai_main.h | 1 + include/party_menu.h | 2 ++ src/battle_ai_main.c | 21 ++++++++++++++ src/battle_debug.c | 57 ++++++++++++++++++++++++++++++++++---- src/battle_main.c | 4 +-- src/data/party_menu.h | 2 +- src/party_menu.c | 7 ++--- vbalink.ini | Bin 1 -> 0 bytes 10 files changed, 82 insertions(+), 15 deletions(-) delete mode 100644 NO$GBA.EXE - Shortcut.lnk delete mode 100644 vbalink.ini diff --git a/NO$GBA.EXE - Shortcut.lnk b/NO$GBA.EXE - Shortcut.lnk deleted file mode 100644 index 32af57cf5c29d844b1fcfe676c636e29595572a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1536 zcmd5+ZAep57=Gp~v?M2*4DsWVCidZ&W{QgFbh>HgB%2yda=PUQbF*D_K@pM=7%B-x zi5SBy2@;g7ep&XTpdb)`g!)T@APN)dhXxV7@4Zu}1o|iFT%Pxwd*1h)=e!^1lmbvh z1ds%#C5fUz1VNzjN=M^DR$$T^LxebpTUx)Lbl(KHxv#k(RQq zNu{`LRr@ruM&;V&+zzcV8~L~?NuzA zTB34y(%+(MMmNX%hW1XWD6d%3PAwFm+c3H|6FwqdJoK36ZA=_TC?)u(cy}%cNczWt zJ;Dd1Hb!74v@3^SEE}R!4_5+ed+vXG!uow|z)tYZ@podgPJx4@3nd_r#nV;kso}{G z{^!B^JHuN_*Ppj!tq!g9Ip})VQ;D?suDQJE0O{o|eXkY&&lC8tkDBX~a_-EAJ^P4h z)4Y0Sisob4fOj?%{=cH!TFCwZF;~F%r@E|(jzWM diff --git a/include/battle.h b/include/battle.h index a8064e98a..e4d280ae9 100644 --- a/include/battle.h +++ b/include/battle.h @@ -254,9 +254,10 @@ struct AiPartyMon u16 gender; u16 level; u16 moves[MAX_MON_MOVES]; + u32 status; bool8 isFainted; - u8 switchInCount; // Counts how many times this Pokemon has been sent out or switched into in a battle. bool8 wasSentInBattle; + u8 switchInCount; // Counts how many times this Pokemon has been sent out or switched into in a battle. }; struct AIPartyData // Opposing battlers - party mons. diff --git a/include/battle_ai_main.h b/include/battle_ai_main.h index 2756c7f6c..1d53a3f39 100644 --- a/include/battle_ai_main.h +++ b/include/battle_ai_main.h @@ -26,6 +26,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves); u8 BattleAI_ChooseMoveOrAction(void); void Ai_InitPartyStruct(void); void Ai_UpdateSwitchInData(u32 battler); +void Ai_UpdateFaintData(u32 battler); void GetAiLogicData(void); extern u8 sBattler_AI; diff --git a/include/party_menu.h b/include/party_menu.h index 7f51d08c9..1186f5c76 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -30,6 +30,7 @@ extern u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2]; extern void (*gItemUseCB)(u8, TaskFunc); extern const u16 gTutorMoves[]; +extern const struct SpriteTemplate gSpriteTemplate_StatusIcons; void AnimatePartySlot(u8 slot, u8 animNum); bool8 IsMultiBattle(void); @@ -47,6 +48,7 @@ bool8 FieldCallback_PrepareFadeInFromMenu(void); void CB2_ReturnToPartyMenuFromFlyMap(void); void LoadHeldItemIcons(void); void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty); +void LoadPartyMenuAilmentGfx(void); void CB2_ShowPartyMenuForItemUse(void); void ItemUseCB_Medicine(u8 taskId, TaskFunc task); void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index eb8d45abb..cc6c222fb 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -245,6 +245,7 @@ static void CopyBattlerDataToAIParty(u32 bPosition, u32 side) aiMon->species = bMon->species; aiMon->level = bMon->level; + aiMon->status = bMon->status1; aiMon->gender = GetGenderFromSpeciesAndPersonality(bMon->species, bMon->personality); aiMon->isFainted = FALSE; aiMon->wasSentInBattle = TRUE; @@ -253,6 +254,8 @@ static void CopyBattlerDataToAIParty(u32 bPosition, u32 side) void Ai_InitPartyStruct(void) { + u32 i; + AI_PARTY->count[B_SIDE_PLAYER] = gPlayerPartyCount; AI_PARTY->count[B_SIDE_OPPONENT] = gEnemyPartyCount; @@ -267,6 +270,13 @@ void Ai_InitPartyStruct(void) CopyBattlerDataToAIParty(B_POSITION_OPPONENT_LEFT, B_SIDE_OPPONENT); CopyBattlerDataToAIParty(B_POSITION_OPPONENT_RIGHT, B_SIDE_OPPONENT); } + + // Find fainted mons + for (i = 0; i < AI_PARTY->count[B_SIDE_PLAYER]; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) + AI_PARTY->mons[B_SIDE_PLAYER][i].isFainted = TRUE; + } } void Ai_UpdateSwitchInData(u32 battler) @@ -287,6 +297,8 @@ void Ai_UpdateSwitchInData(u32 battler) if (aiMon->moves[i]) BATTLE_HISTORY->usedMoves[battler][i] = aiMon->moves[i]; } + aiMon->switchInCount++; + aiMon->status = gBattleMons[battler].status1; // Copy status, because it could've been changed in battle. } else // If not, copy the newly switched-in mon in battle and clear battle history. { @@ -297,6 +309,15 @@ void Ai_UpdateSwitchInData(u32 battler) } } +void Ai_UpdateFaintData(u32 battler) +{ + struct AiPartyMon *aiMon = &AI_PARTY->mons[GET_BATTLER_SIDE(battler)][gBattlerPartyIndexes[battler]]; + ClearBattlerMoveHistory(battler); + ClearBattlerAbilityHistory(battler); + ClearBattlerItemEffectHistory(battler); + aiMon->isFainted = TRUE; +} + static void SetBattlerAiData(u8 battlerId) { AI_DATA->abilities[battlerId] = AI_GetAbility(battlerId); diff --git a/src/battle_debug.c b/src/battle_debug.c index 256647ddf..d9becdbab 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -7,6 +7,7 @@ #include "menu_helpers.h" #include "scanline_effect.h" #include "palette.h" +#include "party_menu.h" #include "pokemon_icon.h" #include "sprite.h" #include "item.h" @@ -30,6 +31,7 @@ #include "reset_rtc_screen.h" #include "reshow_battle_screen.h" #include "constants/abilities.h" +#include "constants/party_menu.h" #include "constants/moves.h" #include "constants/items.h" #include "constants/rgb.h" @@ -883,7 +885,7 @@ static void PutAiInfoText(struct BattleDebugMenu *data) static void PutAiPartyText(struct BattleDebugMenu *data) { - u32 i, j, count, maxWidth; + u32 i, j, count; u8 *text = malloc(0x50), *txtPtr; struct AiPartyMon *aiMons = AI_PARTY->mons[GET_BATTLER_SIDE(data->aiBattlerId)]; @@ -891,15 +893,37 @@ static void PutAiPartyText(struct BattleDebugMenu *data) count = AI_PARTY->count[GET_BATTLER_SIDE(data->aiBattlerId)]; for (i = 0; i < count; i++) { + if (aiMons[i].wasSentInBattle) + { + text[0] = CHAR_LV; + txtPtr = ConvertIntToDecimalStringN(text + 1, aiMons[i].level, STR_CONV_MODE_LEFT_ALIGN, 3); + *txtPtr++ = CHAR_SPACE; + if (aiMons[i].gender == MON_MALE) + *txtPtr++ = CHAR_MALE; + else if (aiMons[i].gender == MON_FEMALE) + *txtPtr++ = CHAR_FEMALE; + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 0, 0, NULL, 0, 0); + } + txtPtr = StringCopyN(text, gAbilityNames[aiMons[i].ability], 7); // The screen is too small to fit the whole string, so we need to drop the last letters. *txtPtr = EOS; - AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 0, 0, NULL, 0, 0); + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 15, 0, NULL, 0, 0); + for (j = 0; j < MAX_MON_MOVES; j++) { txtPtr = StringCopyN(text, gMoveNames[aiMons[i].moves[j]], 8); *txtPtr = EOS; - AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 20 + j * 15, 0, NULL, 0, 0); + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 35 + j * 15, 0, NULL, 0, 0); } + + txtPtr = StringCopyN(text, GetHoldEffectName(aiMons[i].heldEffect), 7); + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 35 + j * 15, 0, NULL, 0, 0); + + txtPtr = ConvertIntToDecimalStringN(text, aiMons[i].switchInCount, STR_CONV_MODE_LEFT_ALIGN, 2); + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 35 + (j + 1) * 15, 0, NULL, 0, 0); } CopyWindowToVram(data->aiMovesWindowId, 3); @@ -984,9 +1008,11 @@ static void Task_ShowAiKnowledge(u8 taskId) } } +#define sConditionSpriteId data[1] + static void Task_ShowAiParty(u8 taskId) { - u32 i; + u32 i, ailment; struct WindowTemplate winTemplate; struct AiPartyMon *aiMons; struct BattleDebugMenu *data = GetStructPtr(taskId); @@ -998,6 +1024,7 @@ static void Task_ShowAiParty(u8 taskId) ShowBg(1); LoadMonIconPalettes(); + LoadPartyMenuAilmentGfx(); data->aiBattlerId = data->battlerId; aiMons = AI_PARTY->mons[GET_BATTLER_SIDE(data->aiBattlerId)]; for (i = 0; i < AI_PARTY->count[GET_BATTLER_SIDE(data->aiBattlerId)]; i++) @@ -1005,7 +1032,18 @@ static void Task_ShowAiParty(u8 taskId) u16 species = SPECIES_OLD_UNOWN_B; // Question mark if (aiMons[i].wasSentInBattle && aiMons[i].species) species = aiMons[i].species; - data->spriteIds.aiPartyIcons[i] = CreateMonIcon(species, SpriteCallbackDummy, (i * 41) - 5 + 20, 7, 0, 0, FALSE); + data->spriteIds.aiPartyIcons[i] = CreateMonIcon(species, SpriteCallbackDummy, (i * 41) + 15, 7, 1, 0, FALSE); + gSprites[data->spriteIds.aiPartyIcons[i]].oam.priority = 0; + + gSprites[data->spriteIds.aiPartyIcons[i]].sConditionSpriteId = CreateSprite(&gSpriteTemplate_StatusIcons, (i * 41) + 15, 7, 0); + gSprites[gSprites[data->spriteIds.aiPartyIcons[i]].sConditionSpriteId].oam.priority = 0; + if (aiMons[i].isFainted) + ailment = AILMENT_FNT; + else if (aiMons[i].status) + ailment = GetAilmentFromStatus(aiMons[i].status); + else + ailment = AILMENT_FNT + 1; // blank + StartSpriteAnim(&gSprites[gSprites[data->spriteIds.aiPartyIcons[i]].sConditionSpriteId], ailment - 1); } for (; i < PARTY_SIZE; i++) data->spriteIds.aiPartyIcons[i] = 0xFF; @@ -1013,7 +1051,7 @@ static void Task_ShowAiParty(u8 taskId) break; // Put text case 1: - winTemplate = CreateWindowTemplate(1, 0, 4, 30, 14, 15, 0x200); + winTemplate = CreateWindowTemplate(1, 0, 3, 29, 16, 15, 0x150); data->aiMovesWindowId = AddWindow(&winTemplate); PutWindowTilemap(data->aiMovesWindowId); PutAiPartyText(data); @@ -1053,13 +1091,19 @@ static void SwitchToDebugViewFromAiParty(u8 taskId) for (i = 0; i < PARTY_SIZE; i++) { if (data->spriteIds.aiPartyIcons[i] != 0xFF) + { + DestroySpriteAndFreeResources(&gSprites[gSprites[data->spriteIds.aiPartyIcons[i]].sConditionSpriteId]); FreeAndDestroyMonIconSprite(&gSprites[data->spriteIds.aiPartyIcons[i]]); + } } + ClearWindowTilemap(data->aiMovesWindowId); RemoveWindow(data->aiMovesWindowId); gTasks[taskId].func = Task_DebugMenuProcessInput; } +#undef sConditionSpriteId + static void SwitchToDebugView(u8 taskId) { u32 i; @@ -1072,6 +1116,7 @@ static void SwitchToDebugView(u8 taskId) FreeAndDestroyMonIconSprite(&gSprites[data->spriteIds.aiIconSpriteIds[i]]); } FreeAndDestroyMonPicSprite(data->aiMonSpriteId); + ClearWindowTilemap(data->aiMovesWindowId); RemoveWindow(data->aiMovesWindowId); gTasks[taskId].func = Task_DebugMenuProcessInput; diff --git a/src/battle_main.c b/src/battle_main.c index 5b58f0893..afa1f5288 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3210,9 +3210,7 @@ void FaintClearSetData(void) gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; - ClearBattlerMoveHistory(gActiveBattler); - ClearBattlerAbilityHistory(gActiveBattler); - ClearBattlerItemEffectHistory(gActiveBattler); + Ai_UpdateFaintData(gActiveBattler); UndoFormChange(gBattlerPartyIndexes[gActiveBattler], GET_BATTLER_SIDE(gActiveBattler), FALSE); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) UndoMegaEvolution(gBattlerPartyIndexes[gActiveBattler]); diff --git a/src/data/party_menu.h b/src/data/party_menu.h index 7735dae58..cc490baeb 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -1143,7 +1143,7 @@ static const struct CompressedSpritePalette sSpritePalette_StatusIcons = gStatusPal_Icons, TAG_STATUS_ICONS }; -static const struct SpriteTemplate sSpriteTemplate_StatusIcons = +const struct SpriteTemplate gSpriteTemplate_StatusIcons = { .tileTag = TAG_STATUS_ICONS, .paletteTag = TAG_STATUS_ICONS, diff --git a/src/party_menu.c b/src/party_menu.c index 4323b4656..1754ef100 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -165,7 +165,6 @@ static bool8 AllocPartyMenuBgGfx(void); static void InitPartyMenuWindows(u8); static void InitPartyMenuBoxes(u8); static void LoadPartyMenuPokeballGfx(void); -static void LoadPartyMenuAilmentGfx(void); static bool8 CreatePartyMonSpritesLoop(void); static bool8 RenderPartyMenuBoxes(void); static void CreateCancelConfirmPokeballSprites(void); @@ -4107,7 +4106,7 @@ static void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { - menuBox->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); + menuBox->statusSpriteId = CreateSprite(&gSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); SetPartyMonAilmentGfx(mon, menuBox); } } @@ -4116,7 +4115,7 @@ static void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, stru { if (species != SPECIES_NONE) { - menuBox->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); + menuBox->statusSpriteId = CreateSprite(&gSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); UpdatePartyMonAilmentGfx(status, menuBox); gSprites[menuBox->statusSpriteId].oam.priority = 0; } @@ -4142,7 +4141,7 @@ static void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox) } } -static void LoadPartyMenuAilmentGfx(void) +void LoadPartyMenuAilmentGfx(void) { LoadCompressedSpriteSheet(&sSpriteSheet_StatusIcons); LoadCompressedSpritePalette(&sSpritePalette_StatusIcons); diff --git a/vbalink.ini b/vbalink.ini deleted file mode 100644 index f76dd238ade08917e6712764a16a22005a50573d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1 IcmZPo000310RR91 From 18203a0402e9e6f8a9af4f84c3a5f1a2554a2381 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 23 Aug 2022 14:50:16 +0200 Subject: [PATCH 019/147] Fix makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ec3b5c4c6..c36cc8e93 100644 --- a/Makefile +++ b/Makefile @@ -107,7 +107,7 @@ LIBPATH := -L ../../tools/agbcc/lib LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall else CC1 = $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet -override CFLAGS += -mthumb -mthumb-interwork -O0 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast +override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast ROM := $(MODERN_ROM_NAME) OBJ_DIR := $(MODERN_OBJ_DIR_NAME) LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))" From 3771abbe087df2a18963fd4a4e0f8a117c1b059a Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 23 Aug 2022 12:39:24 -0400 Subject: [PATCH 020/147] Fix names and constant usage for union room classes --- include/constants/pokemon.h | 3 --- include/constants/union_room.h | 4 ++++ include/pokemon.h | 2 +- include/trainer_card.h | 2 +- src/pokemon.c | 19 +++++++++++-------- src/trainer_card.c | 11 ++++++----- src/union_room_player_avatar.c | 5 +++-- 7 files changed, 26 insertions(+), 20 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 40af999fd..f93df1fca 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -247,9 +247,6 @@ #define EVO_MODE_ITEM_USE 2 #define EVO_MODE_ITEM_CHECK 3 // If an Everstone is being held, still want to show that the stone *could* be used on that Pokémon to evolve -#define NUM_MALE_LINK_FACILITY_CLASSES 8 -#define NUM_FEMALE_LINK_FACILITY_CLASSES 8 - #define MON_PIC_WIDTH 64 #define MON_PIC_HEIGHT 64 #define MON_PIC_SIZE (MON_PIC_WIDTH * MON_PIC_HEIGHT / 2) diff --git a/include/constants/union_room.h b/include/constants/union_room.h index f47a8723f..5c0c57a60 100644 --- a/include/constants/union_room.h +++ b/include/constants/union_room.h @@ -13,6 +13,10 @@ #define UNION_ROOM_MAX_LEVEL 30 +// The number of possible trainer classes for a trainer of a given gender in the Union Room. +// This value is necessarily a power of 2 because of the way it's treated in GetUnionRoomTrainerPic / GetUnionRoomTrainerClass +#define NUM_UNION_ROOM_CLASSES (1 << 3) // 8 + #define ACTIVITY_NONE 0 #define ACTIVITY_BATTLE_SINGLE 1 #define ACTIVITY_BATTLE_DOUBLE 2 diff --git a/include/pokemon.h b/include/pokemon.h index 79b662bf1..63c5c74eb 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -382,7 +382,7 @@ extern const u8 gPPUpGetMask[]; extern const u8 gPPUpClearMask[]; extern const u8 gPPUpAddValues[]; extern const u8 gStatStageRatios[MAX_STAT_STAGE + 1][2]; -extern const u16 gLinkPlayerFacilityClasses[]; +extern const u16 gUnionRoomFacilityClasses[]; extern const struct SpriteTemplate gBattlerSpriteTemplates[]; extern const s8 gNatureStatTable[][5]; diff --git a/include/trainer_card.h b/include/trainer_card.h index f14335ae8..7c37a84a6 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -54,7 +54,7 @@ struct TrainerCard /*0x4C*/ bool8 shouldDrawStickers; // FRLG only /*0x4D*/ u8 unused; /*0x4E*/ u8 monIconTint; // FRLG only - /*0x4F*/ u8 facilityClass; + /*0x4F*/ u8 unionRoomClass; /*0x50*/ u8 stickers[TRAINER_CARD_STICKER_TYPES]; // FRLG only /*0x54*/ u16 monSpecies[PARTY_SIZE]; // FRLG only // Note: Link players use linkHasAllFrontierSymbols, not the field below, diff --git a/src/pokemon.c b/src/pokemon.c index 8786405c8..244717c79 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -46,6 +46,7 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "constants/union_room.h" struct SpeciesItem { @@ -1884,7 +1885,9 @@ static const u16 sDeoxysBaseStats[] = [STAT_SPDEF] = 90, }; -const u16 gLinkPlayerFacilityClasses[NUM_MALE_LINK_FACILITY_CLASSES + NUM_FEMALE_LINK_FACILITY_CLASSES] = +// The classes used by other players in the Union Room. +// These should correspond with the overworld graphics in sUnionRoomObjGfxIds +const u16 gUnionRoomFacilityClasses[NUM_UNION_ROOM_CLASSES * GENDER_COUNT] = { // Male classes FACILITY_CLASS_COOLTRAINER_M, @@ -1895,7 +1898,7 @@ const u16 gLinkPlayerFacilityClasses[NUM_MALE_LINK_FACILITY_CLASSES + NUM_FEMALE FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST, - // Female Classes + // Female classes FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER, @@ -2740,9 +2743,9 @@ u16 GetUnionRoomTrainerPic(void) else linkId = GetMultiplayerId() ^ 1; - arrId = gLinkPlayers[linkId].trainerId & 7; - arrId |= gLinkPlayers[linkId].gender << 3; - return FacilityClassToPicIndex(gLinkPlayerFacilityClasses[arrId]); + arrId = gLinkPlayers[linkId].trainerId % NUM_UNION_ROOM_CLASSES; + arrId |= gLinkPlayers[linkId].gender * NUM_UNION_ROOM_CLASSES; + return FacilityClassToPicIndex(gUnionRoomFacilityClasses[arrId]); } u16 GetUnionRoomTrainerClass(void) @@ -2755,9 +2758,9 @@ u16 GetUnionRoomTrainerClass(void) else linkId = GetMultiplayerId() ^ 1; - arrId = gLinkPlayers[linkId].trainerId & 7; - arrId |= gLinkPlayers[linkId].gender << 3; - return gFacilityClassToTrainerClass[gLinkPlayerFacilityClasses[arrId]]; + arrId = gLinkPlayers[linkId].trainerId % NUM_UNION_ROOM_CLASSES; + arrId |= gLinkPlayers[linkId].gender * NUM_UNION_ROOM_CLASSES; + return gFacilityClassToTrainerClass[gUnionRoomFacilityClasses[arrId]]; } void CreateEventLegalEnemyMon(void) diff --git a/src/trainer_card.c b/src/trainer_card.c index ab7b3c913..04b8f686a 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -31,6 +31,7 @@ #include "constants/battle_frontier.h" #include "constants/rgb.h" #include "constants/trainers.h" +#include "constants/union_room.h" struct TrainerCardData { @@ -761,9 +762,9 @@ static void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard) trainerCard->stars++; if (trainerCard->gender == FEMALE) - trainerCard->facilityClass = gLinkPlayerFacilityClasses[(trainerCard->trainerId % NUM_FEMALE_LINK_FACILITY_CLASSES) + NUM_MALE_LINK_FACILITY_CLASSES]; + trainerCard->unionRoomClass = gUnionRoomFacilityClasses[(trainerCard->trainerId % NUM_UNION_ROOM_CLASSES) + NUM_UNION_ROOM_CLASSES]; else - trainerCard->facilityClass = gLinkPlayerFacilityClasses[trainerCard->trainerId % NUM_MALE_LINK_FACILITY_CLASSES]; + trainerCard->unionRoomClass = gUnionRoomFacilityClasses[trainerCard->trainerId % NUM_UNION_ROOM_CLASSES]; } void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard) @@ -777,9 +778,9 @@ void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard) trainerCard->stars++; if (trainerCard->gender == FEMALE) - trainerCard->facilityClass = gLinkPlayerFacilityClasses[(trainerCard->trainerId % NUM_FEMALE_LINK_FACILITY_CLASSES) + NUM_MALE_LINK_FACILITY_CLASSES]; + trainerCard->unionRoomClass = gUnionRoomFacilityClasses[(trainerCard->trainerId % NUM_UNION_ROOM_CLASSES) + NUM_UNION_ROOM_CLASSES]; else - trainerCard->facilityClass = gLinkPlayerFacilityClasses[trainerCard->trainerId % NUM_MALE_LINK_FACILITY_CLASSES]; + trainerCard->unionRoomClass = gUnionRoomFacilityClasses[trainerCard->trainerId % NUM_UNION_ROOM_CLASSES]; } void CopyTrainerCardData(struct TrainerCard *dst, struct TrainerCard *src, u8 gameVersion) @@ -1876,7 +1877,7 @@ static void CreateTrainerCardTrainerPic(void) { if (InUnionRoom() == TRUE && gReceivedRemoteLinkPlayers == 1) { - CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(sData->trainerCard.facilityClass), + CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(sData->trainerCard.unionRoomClass), TRUE, sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][0], sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][1], diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index b60c263ae..beff4440d 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -24,7 +24,8 @@ static u32 IsUnionRoomPlayerInvisible(u32, u32); static void SetUnionRoomObjectFacingDirection(s32, s32, u8); // + 2 is just to match, those elements are empty and never read -static const u8 sUnionRoomObjGfxIds[GENDER_COUNT][MAX_UNION_ROOM_LEADERS + 2] = { +// Graphics ids should correspond with the classes in gUnionRoomFacilityClasses +static const u8 sUnionRoomObjGfxIds[GENDER_COUNT][NUM_UNION_ROOM_CLASSES + 2] = { [MALE] = { OBJ_EVENT_GFX_MAN_3, OBJ_EVENT_GFX_BLACK_BELT, @@ -132,7 +133,7 @@ static bool32 IsPlayerStandingStill(void) // Gender and trainer id are used to determine which sprite a player appears as static u8 GetUnionRoomPlayerGraphicsId(u32 gender, u32 id) { - return sUnionRoomObjGfxIds[gender][id % MAX_UNION_ROOM_LEADERS]; + return sUnionRoomObjGfxIds[gender][id % NUM_UNION_ROOM_CLASSES]; } static void GetUnionRoomPlayerCoords(u32 leaderId, u32 memberId, s32 * x, s32 * y) From 67f473f38b4af0148273d601c9c6b9d16143e2a7 Mon Sep 17 00:00:00 2001 From: Ct11217 Date: Tue, 23 Aug 2022 19:49:54 -0600 Subject: [PATCH 021/147] Fixed recommended issues. Added additional comments. Reordered switching ladder in ShouldSwitch() function. Functions that can specify a specific party mon to switch into need to come first. --- include/constants/battle_ai.h | 2 +- src/battle_ai_switch_items.c | 32 ++++++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index a7a3e5418..5dbbccf48 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -56,7 +56,7 @@ #define AI_FLAG_STALL (1 << 13) // AI stalls battle and prefers secondary damage/trapping/etc. TODO not finished #define AI_FLAG_SCREENER (1 << 14) // AI prefers screening effects like reflect, mist, etc. TODO unfinished #define AI_FLAG_SMART_SWITCHING (1 << 15) // AI includes a lot more switching checks -#define AI_FLAG_ACE_POKEMON (1 << 16) // AI has Ace Pokemon -- Saves until last +#define AI_FLAG_ACE_POKEMON (1 << 16) // AI has Ace Pokemon. The last Pokemon in the party will not used until last remaining. // 'other' ai logic flags #define AI_FLAG_ROAMING (1 << 29) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 329d3ebf3..04aa8d23b 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -109,6 +109,9 @@ static bool8 ShouldSwitchIfWonderGuard(void) continue; if (i == gBattlerPartyIndexes[gActiveBattler]) continue; + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + && i == (CalculateEnemyPartyCount()-1)) + continue; for (opposingBattler = GetBattlerAtPosition(opposingPosition), j = 0; j < MAX_MON_MOVES; j++) { @@ -260,7 +263,7 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) if (IsDoubleBattle()) { if (IsBattlerAlive(BATTLE_PARTNER(gActiveBattler)) - && (GetAIChosenMove(BATTLE_PARTNER(gActiveBattler)) & MOVE_UPROAR) + && (GetAIChosenMove(BATTLE_PARTNER(gActiveBattler)) == MOVE_UPROAR) ) switchMon = FALSE; @@ -291,8 +294,8 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) && i != gBattlerPartyIndexes[gActiveBattler] && i != gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)] && IsBattlerGrounded(gActiveBattler) - && (GetMonData(&party[i], MON_DATA_ABILITY_NUM) == 226 - || GetMonData(&party[i], MON_DATA_ABILITY_NUM) == 228)) //Ally has Misty or Electric Surge + && (GetMonAbility(&party[i]) == ABILITY_MISTY_SURGE + || GetMonAbility(&party[i]) == ABILITY_ELECTRIC_SURGE)) //Ally has Misty or Electric Surge { *(gBattleStruct->AI_monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)) = i; BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); @@ -347,7 +350,7 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) //Nightmare moduloChance = 3; //33.3% - if (gBattleMons[gActiveBattler].status1 & (STATUS1_SLEEP > 1) && gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE + if (gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE && (Random() % (moduloChance*chanceReducer)) == 0) switchMon = TRUE; @@ -374,7 +377,7 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) && AnyStatIsRaised(gActiveBattler)) switchMon = FALSE; if (AiExpectsToFaintPlayer() - && GetAIChosenMove(gActiveBattler) == AI_IS_SLOWER + && !WillAIStrikeFirst() && !AI_OpponentCanFaintAiWithMod(0)) switchMon = FALSE; } @@ -671,20 +674,33 @@ bool32 ShouldSwitch(void) if (availableToSwitch == 0) return FALSE; - if (ShouldSwitchIfAllBadMoves()) + + //NOTE: The sequence of the below functions matter! Do not change unless you have carefully considered the outcome. + //Since the order is sequencial, and some of these functions prompt switch to specific party members. + + //These Functions can prompt switch to specific party members + if (ShouldSwitchIfWonderGuard()) return TRUE; if (ShouldSwitchIfGameStatePrompt()) return TRUE; - if (ShouldSwitchIfWonderGuard()) - return TRUE; if (FindMonThatAbsorbsOpponentsMove()) return TRUE; + + //These Functions can prompt switch to generic pary members + if (ShouldSwitchIfAllBadMoves()) + return TRUE; if (ShouldSwitchIfAbilityBenefit()) return TRUE; + + //Removing switch capabilites under specific conditions + //These Functions prevent the "FindMonWithFlagsAndSuperEffective" from getting out of hand. if (HasSuperEffectiveMoveAgainstOpponents(FALSE)) return FALSE; if (AreStatsRaised()) return FALSE; + + //Default Function + //Can prompt switch if AI has a pokemon in party that resists current opponent & has super effective move if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 2) || FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 3)) return TRUE; From 2bd06dee1dc4dca78b4f8b3b28405dc91390ca1b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Wed, 24 Aug 2022 01:21:06 -0400 Subject: [PATCH 022/147] Update battle_debug.c --- src/battle_debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_debug.c b/src/battle_debug.c index bc6c47d2c..50f7aa429 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -1001,7 +1001,7 @@ static void Task_ShowAiParty(u8 taskId) aiMons = AI_PARTY->mons[GET_BATTLER_SIDE(data->aiBattlerId)]; for (i = 0; i < AI_PARTY->count[GET_BATTLER_SIDE(data->aiBattlerId)]; i++) { - u16 species = SPECIES_OLD_UNOWN_B; // Question mark + u16 species = SPECIES_NONE; // Question mark if (aiMons[i].wasSentInBattle && aiMons[i].species) species = aiMons[i].species; data->spriteIds.aiPartyIcons[i] = CreateMonIcon(species, SpriteCallbackDummy, (i * 41) + 15, 7, 1, 0, FALSE); From ec4ff0acb7378908232ffea7534749bc726e90e2 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Wed, 24 Aug 2022 01:33:00 -0400 Subject: [PATCH 023/147] Update battle_debug.c --- src/battle_debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_debug.c b/src/battle_debug.c index 50f7aa429..59d00f097 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -1004,7 +1004,7 @@ static void Task_ShowAiParty(u8 taskId) u16 species = SPECIES_NONE; // Question mark if (aiMons[i].wasSentInBattle && aiMons[i].species) species = aiMons[i].species; - data->spriteIds.aiPartyIcons[i] = CreateMonIcon(species, SpriteCallbackDummy, (i * 41) + 15, 7, 1, 0, FALSE); + data->spriteIds.aiPartyIcons[i] = CreateMonIcon(species, SpriteCallbackDummy, (i * 41) + 15, 7, 1, 0); gSprites[data->spriteIds.aiPartyIcons[i]].oam.priority = 0; gSprites[data->spriteIds.aiPartyIcons[i]].sConditionSpriteId = CreateSprite(&gSpriteTemplate_StatusIcons, (i * 41) + 15, 7, 0); From 922bbacd7192a98db2b2422041fcd0d5623b6111 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Fri, 26 Aug 2022 17:47:07 -0300 Subject: [PATCH 024/147] Updated GetMonFriendshipScore -Moved it to src/pokemon.c -Made a battle specific variant called GetBattlerFriendshipScore. -Made that variant return 0 for Mega Evolved 'mons and if called on link battles. --- include/battle.h | 1 + include/battle_util.h | 2 +- include/pokemon.h | 1 + src/battle_script_commands.c | 9 +++++---- src/battle_util.c | 31 +++++++++++++++---------------- src/pokemon.c | 20 ++++++++++++++++++++ 6 files changed, 43 insertions(+), 21 deletions(-) diff --git a/include/battle.h b/include/battle.h index 36ffdb6da..82993b73e 100644 --- a/include/battle.h +++ b/include/battle.h @@ -456,6 +456,7 @@ struct MegaEvolutionData bool8 playerSelect; u8 triggerSpriteId; bool8 isWishMegaEvo; + bool32 didMegaEvo[PARTY_SIZE][2]; // For each party member and side. }; struct Illusion diff --git a/include/battle_util.h b/include/battle_util.h index 5dbefd7e7..9b8109c39 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -201,6 +201,6 @@ bool32 CanBeParalyzed(u8 battlerId); bool32 CanBeFrozen(u8 battlerId); bool32 CanBeConfused(u8 battlerId); bool32 IsBattlerTerrainAffected(u8 battlerId, u32 terrainFlag); -u32 GetMonFriendshipScore(struct Pokemon *pokemon); +u32 GetBattlerFriendshipScore(u8 battlerId); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/pokemon.h b/include/pokemon.h index c05628a59..7a3850827 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -559,5 +559,6 @@ u16 GetFormChangeTargetSpecies(struct Pokemon *mon, u16 method, u32 arg); u16 GetFormChangeTargetSpeciesBoxMon(struct BoxPokemon *mon, u16 method, u32 arg); u16 MonTryLearningNewMoveEvolution(struct Pokemon *mon, bool8 firstMove); bool32 ShouldShowFemaleDifferences(u16 species, u32 personality); +u32 GetMonFriendshipScore(struct Pokemon *pokemon); #endif // GUARD_POKEMON_H diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a5a822546..361abe241 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1734,7 +1734,7 @@ u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u #if B_AFFECTION_MECHANICS == TRUE // With high affection/friendship there's a chance to evade a move by substracting 10% of its accuracy. // I can't find exact information about that chance, so I'm just gonna write it as a 20% chance for now. - if (GetMonFriendshipScore(&gPlayerParty[gBattlerPartyIndexes[battlerDef]]) >= FRIENDSHIP_150_TO_199 && (Random() % 100) <= 20) + if (GetMonFriendshipScore(battlerDef) >= FRIENDSHIP_150_TO_199 && (Random() % 100) <= 20) calc = (calc * 90) / 100; #endif @@ -1907,7 +1907,7 @@ s32 CalcCritChanceStage(u8 battlerAtk, u8 battlerDef, u32 move, bool32 recordAbi + 2 * (holdEffectAtk == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + 2 * BENEFITS_FROM_LEEK(battlerAtk, holdEffectAtk) #if B_AFFECTION_MECHANICS == TRUE - + 2 * (GetMonFriendshipScore(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]) >= FRIENDSHIP_200_TO_254) + + 2 * (GetMonFriendshipScore(gBattlerAttacker) >= FRIENDSHIP_200_TO_254) #endif + (abilityAtk == ABILITY_SUPER_LUCK); @@ -1977,7 +1977,7 @@ static void Cmd_adjustdamage(void) { u8 holdEffect, param; u32 moveType; - u32 friendshipScore = GetMonFriendshipScore(&gPlayerParty[gBattlerPartyIndexes[gBattlerTarget]]); + u32 friendshipScore = GetBattlerFriendshipScore(gBattlerTarget); u32 rand = Random() % 100; GET_MOVE_TYPE(gCurrentMove, moveType); @@ -4063,7 +4063,7 @@ static void Cmd_getexp(void) } #endif #if B_AFFECTION_MECHANICS == TRUE - if (GetMonFriendshipScore(&gPlayerParty[gBattleStruct->expGetterMonId]) >= FRIENDSHIP_50_TO_99) + if (GetMonFriendshipScore(gBattleStruct->expGetterMonId) >= FRIENDSHIP_50_TO_99) gBattleMoveDamage = (gBattleMoveDamage * 120) / 100; #endif @@ -8652,6 +8652,7 @@ static void Cmd_various(void) gBattleMons[gActiveBattler].species = megaSpecies; PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gActiveBattler].species); + gBattleStruct->mega.didMegaEvo[gActiveBattler][GetBattlerSide(gActiveBattler)] = TRUE; BtlController_EmitSetMonData(BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]], sizeof(gBattleMons[gActiveBattler].species), &gBattleMons[gActiveBattler].species); MarkBattlerForControllerExec(gActiveBattler); diff --git a/src/battle_util.c b/src/battle_util.c index f38d80a69..5cb2badb0 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2104,24 +2104,23 @@ void TryToRevertMimicry(void) } } -u32 GetMonFriendshipScore(struct Pokemon *pokemon) +u32 GetBattlerFriendshipScore(u8 battlerId) { - u32 friendshipScore = GetMonData(pokemon, MON_DATA_FRIENDSHIP); + struct MegaEvolutionData *mega = &(((struct ChooseMoveStruct *)(&gBattleResources->bufferA[battlerId][4]))->mega); + u8 side = GetBattlerSide(battlerId); + struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; - if (friendshipScore == MAX_FRIENDSHIP) - return FRIENDSHIP_MAX; - if (friendshipScore >= 200) - return FRIENDSHIP_200_TO_254; - if (friendshipScore >= 150) - return FRIENDSHIP_150_TO_199; - if (friendshipScore >= 100) - return FRIENDSHIP_100_TO_149; - if (friendshipScore >= 50) - return FRIENDSHIP_50_TO_99; - if (friendshipScore >= 1) - return FRIENDSHIP_1_TO_49; + if (side != B_SIDE_PLAYER) + return FRIENDSHIP_NONE; + else if (gBattleStruct->mega.didMegaEvo[battlerId][side] + || (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_LINK + | BATTLE_TYPE_RECORDED_LINK + | BATTLE_TYPE_SECRET_BASE))) + return FRIENDSHIP_NONE; - return FRIENDSHIP_NONE; + return GetMonFriendshipScore(&party[gBattlerPartyIndexes[battlerId]]); } enum @@ -2605,7 +2604,7 @@ u8 DoFieldEndTurnEffects(void) { #if B_AFFECTION_MECHANICS == TRUE if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER - && GetMonFriendshipScore(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]) >= FRIENDSHIP_150_TO_199 + && GetBattlerFriendshipScore(gBattlerAttacker) >= FRIENDSHIP_150_TO_199 && (Random() % 100 < 20)) { gBattleCommunication[MULTISTRING_CHOOSER] = 1; diff --git a/src/pokemon.c b/src/pokemon.c index 92bd923f0..61c72c363 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -8384,3 +8384,23 @@ bool32 ShouldShowFemaleDifferences(u16 species, u32 personality) { return (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; } + +u32 GetMonFriendshipScore(struct Pokemon *pokemon) +{ + u32 friendshipScore = GetMonData(pokemon, MON_DATA_FRIENDSHIP, NULL); + + if (friendshipScore == MAX_FRIENDSHIP) + return FRIENDSHIP_MAX; + if (friendshipScore >= 200) + return FRIENDSHIP_200_TO_254; + if (friendshipScore >= 150) + return FRIENDSHIP_150_TO_199; + if (friendshipScore >= 100) + return FRIENDSHIP_100_TO_149; + if (friendshipScore >= 50) + return FRIENDSHIP_50_TO_99; + if (friendshipScore >= 1) + return FRIENDSHIP_1_TO_49; + + return FRIENDSHIP_NONE; +} From df4c065ea660112928d8cecec1b80a88a2587cfc Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 30 Aug 2022 08:17:06 -0400 Subject: [PATCH 025/147] Separated P_NEW_POKEMON into sections by generation. Sizes: - GEN_3 15.690.076 bytes - GEN_4 17.480.816 bytes - GEN_5 19.544.944 bytes - GEN_6 20.907.332 bytes - GEN_7 22.233.288 bytes - GEN_8 23.605.744 bytes --- include/constants/pokedex.h | 26 +- include/constants/pokemon_config.h | 2 +- include/constants/species.h | 47 - include/graphics.h | 202 +- sound/cry_tables.inc | 1619 ++++++- sound/direct_sound_data.inc | 35 +- src/data/graphics/pokemon.h | 198 +- src/data/pokemon/base_stats.h | 91 +- src/data/pokemon/egg_moves.h | 14 +- src/data/pokemon/evolution.h | 72 +- src/data/pokemon/evolution_old.h | 188 - src/data/pokemon/form_change_table_pointers.h | 14 +- src/data/pokemon/form_change_tables.h | 30 +- .../pokemon/form_species_table_pointers.h | 44 +- src/data/pokemon/form_species_tables.h | 32 +- src/data/pokemon/level_up_learnset_pointers.h | 39 +- src/data/pokemon/level_up_learnsets.h | 27 +- src/data/pokemon/pokedex_entries.h | 10 +- src/data/pokemon/pokedex_text.h | 10 +- .../pokemon/teachable_learnset_pointers.h | 39 +- src/data/pokemon/teachable_learnsets.h | 30 +- .../pokemon_graphics/back_pic_coordinates.h | 287 +- src/data/pokemon_graphics/back_pic_table.h | 48 +- .../pokemon_graphics/enemy_mon_elevation.h | 4 - src/data/pokemon_graphics/footprint_table.h | 10 +- src/data/pokemon_graphics/front_pic_anims.h | 3959 +++++++++++------ .../pokemon_graphics/front_pic_coordinates.h | 46 +- src/data/pokemon_graphics/front_pic_table.h | 49 +- src/data/pokemon_graphics/palette_table.h | 49 +- .../pokemon_graphics/shiny_palette_table.h | 50 +- src/data/text/species_names.h | 36 +- src/pokemon.c | 76 +- src/pokemon_icon.c | 68 +- 33 files changed, 5354 insertions(+), 2097 deletions(-) delete mode 100644 src/data/pokemon/evolution_old.h diff --git a/include/constants/pokedex.h b/include/constants/pokedex.h index 6b6582af0..93306a7c3 100644 --- a/include/constants/pokedex.h +++ b/include/constants/pokedex.h @@ -2,7 +2,7 @@ #define GUARD_CONSTANTS_POKEDEX_H #include "constants/pokemon_config.h" -// National Pokedex order. Gen 4+ mons and forms are not disabled by P_NEW_POKEMON to keep pokedex_orders.h clean. +// National Pokedex order. Gen 4+ mon are not disabled by P_NEW_POKEMON to keep pokedex_orders.h clean. enum { NATIONAL_DEX_NONE, // Kanto @@ -923,8 +923,16 @@ enum { #define KANTO_DEX_COUNT NATIONAL_DEX_MEW #define JOHTO_DEX_COUNT NATIONAL_DEX_CELEBI -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_8 #define NATIONAL_DEX_COUNT NATIONAL_DEX_ENAMORUS +#elif P_NEW_POKEMON >= GEN_7 +#define NATIONAL_DEX_COUNT NATIONAL_DEX_MELMETAL +#elif P_NEW_POKEMON >= GEN_6 +#define NATIONAL_DEX_COUNT NATIONAL_DEX_VOLCANION +#elif P_NEW_POKEMON >= GEN_5 +#define NATIONAL_DEX_COUNT NATIONAL_DEX_GENESECT +#elif P_NEW_POKEMON >= GEN_4 +#define NATIONAL_DEX_COUNT NATIONAL_DEX_ARCEUS #else #define NATIONAL_DEX_COUNT NATIONAL_DEX_DEOXYS #endif @@ -964,7 +972,7 @@ enum { HOENN_DEX_RALTS, HOENN_DEX_KIRLIA, HOENN_DEX_GARDEVOIR, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_DEX_GALLADE, #endif HOENN_DEX_SURSKIT, @@ -996,7 +1004,7 @@ enum { HOENN_DEX_GRAVELER, HOENN_DEX_GOLEM, HOENN_DEX_NOSEPASS, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_DEX_PROBOPASS, #endif HOENN_DEX_SKITTY, @@ -1022,7 +1030,7 @@ enum { HOENN_DEX_MINUN, HOENN_DEX_MAGNEMITE, HOENN_DEX_MAGNETON, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_DEX_MAGNEZONE, #endif HOENN_DEX_VOLTORB, @@ -1035,7 +1043,7 @@ enum { HOENN_DEX_BELLOSSOM, HOENN_DEX_DODUO, HOENN_DEX_DODRIO, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_DEX_BUDEW, HOENN_DEX_ROSELIA, HOENN_DEX_ROSERADE, @@ -1097,7 +1105,7 @@ enum { HOENN_DEX_BANETTE, HOENN_DEX_DUSKULL, HOENN_DEX_DUSCLOPS, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_DEX_DUSKNOIR, HOENN_DEX_TROPIUS, HOENN_DEX_CHINGLING, @@ -1124,12 +1132,12 @@ enum { HOENN_DEX_HERACROSS, HOENN_DEX_RHYHORN, HOENN_DEX_RHYDON, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_DEX_RHYPERIOR, #endif HOENN_DEX_SNORUNT, HOENN_DEX_GLALIE, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_DEX_FROSLASS, #endif HOENN_DEX_SPHEAL, diff --git a/include/constants/pokemon_config.h b/include/constants/pokemon_config.h index 879b75564..830975500 100644 --- a/include/constants/pokemon_config.h +++ b/include/constants/pokemon_config.h @@ -19,7 +19,7 @@ #define P_KADABRA_EVERSTONE GEN_8 // Since Gen 4, Kadabra can evolve even when holding an Everstone. #define P_NIDORAN_M_DITTO_BREED GEN_8 // Since Gen 5, when Nidoran♂ breeds with Ditto it can produce Nidoran♀ offspring. Before, it would only yield male offspring. This change also applies to Volbeat. -#define P_NEW_POKEMON TRUE // Turning this to FALSE will remove all newly added Pokémon and Forms. Only Unown, Castform and Deoxys forms will remain. +#define P_NEW_POKEMON GEN_8 // Changing this will disable Pokémon added past the Generation set here. Eg: Setting it to GEN_4 will ignore all Gen5+ mon. All forms of a mon are kept. Eg: GEN_3 will have all Pikachu Forms. #define P_ENABLE_DEBUG TRUE // Enables a debug menu for pokemon sprites and icons, accessed by pressing SELECT in the summary screen. diff --git a/include/constants/species.h b/include/constants/species.h index 976b30302..18e3138ce 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -1046,7 +1046,6 @@ // Pichu #define SPECIES_PICHU_SPIKY_EARED FORMS_START + 118 -#if P_NEW_POKEMON == TRUE // Unown #define SPECIES_UNOWN_B FORMS_START + 119 #define SPECIES_UNOWN_C FORMS_START + 120 @@ -1086,47 +1085,6 @@ #define SPECIES_DEOXYS_DEFENSE FORMS_START + 150 #define SPECIES_DEOXYS_SPEED FORMS_START + 151 -#else -// Unown -#define SPECIES_UNOWN_B FORMS_START + 1 -#define SPECIES_UNOWN_C FORMS_START + 2 -#define SPECIES_UNOWN_D FORMS_START + 3 -#define SPECIES_UNOWN_E FORMS_START + 4 -#define SPECIES_UNOWN_F FORMS_START + 5 -#define SPECIES_UNOWN_G FORMS_START + 6 -#define SPECIES_UNOWN_H FORMS_START + 7 -#define SPECIES_UNOWN_I FORMS_START + 8 -#define SPECIES_UNOWN_J FORMS_START + 9 -#define SPECIES_UNOWN_K FORMS_START + 10 -#define SPECIES_UNOWN_L FORMS_START + 11 -#define SPECIES_UNOWN_M FORMS_START + 12 -#define SPECIES_UNOWN_N FORMS_START + 13 -#define SPECIES_UNOWN_O FORMS_START + 14 -#define SPECIES_UNOWN_P FORMS_START + 15 -#define SPECIES_UNOWN_Q FORMS_START + 16 -#define SPECIES_UNOWN_R FORMS_START + 17 -#define SPECIES_UNOWN_S FORMS_START + 18 -#define SPECIES_UNOWN_T FORMS_START + 19 -#define SPECIES_UNOWN_U FORMS_START + 20 -#define SPECIES_UNOWN_V FORMS_START + 21 -#define SPECIES_UNOWN_W FORMS_START + 22 -#define SPECIES_UNOWN_X FORMS_START + 23 -#define SPECIES_UNOWN_Y FORMS_START + 24 -#define SPECIES_UNOWN_Z FORMS_START + 25 -#define SPECIES_UNOWN_EMARK FORMS_START + 26 -#define SPECIES_UNOWN_QMARK FORMS_START + 27 - -// Castform -#define SPECIES_CASTFORM_SUNNY FORMS_START + 28 -#define SPECIES_CASTFORM_RAINY FORMS_START + 29 -#define SPECIES_CASTFORM_SNOWY FORMS_START + 30 - -// Deoxys -#define SPECIES_DEOXYS_ATTACK FORMS_START + 31 -#define SPECIES_DEOXYS_DEFENSE FORMS_START + 32 -#define SPECIES_DEOXYS_SPEED FORMS_START + 33 -#endif - // Burmy #define SPECIES_BURMY_SANDY_CLOAK FORMS_START + 152 #define SPECIES_BURMY_TRASH_CLOAK FORMS_START + 153 @@ -1412,13 +1370,8 @@ #define SPECIES_CALYREX_ICE_RIDER FORMS_START + 327 #define SPECIES_CALYREX_SHADOW_RIDER FORMS_START + 328 -#if P_NEW_POKEMON == TRUE #define FORMS_START SPECIES_ENAMORUS #define SPECIES_EGG SPECIES_CALYREX_SHADOW_RIDER + 1 -#else -#define FORMS_START SPECIES_DEOXYS -#define SPECIES_EGG SPECIES_DEOXYS_SPEED + 1 -#endif #define NUM_SPECIES SPECIES_EGG diff --git a/include/graphics.h b/include/graphics.h index 65857e5e3..d41318c06 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -454,7 +454,7 @@ extern const u32 gMonFrontPic_Groudon[]; extern const u32 gMonFrontPic_Rayquaza[]; extern const u32 gMonFrontPic_Jirachi[]; extern const u32 gMonFrontPic_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonFrontPic_Turtwig[]; extern const u32 gMonFrontPic_Grotle[]; extern const u32 gMonFrontPic_Torterra[]; @@ -571,6 +571,8 @@ extern const u32 gMonFrontPic_Manaphy[]; extern const u32 gMonFrontPic_Darkrai[]; extern const u32 gMonFrontPic_Shaymin[]; extern const u32 gMonFrontPic_Arceus[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonFrontPic_Victini[]; extern const u32 gMonFrontPic_Snivy[]; extern const u32 gMonFrontPic_Servine[]; @@ -730,6 +732,8 @@ extern const u32 gMonFrontPic_Kyurem[]; extern const u32 gMonFrontPic_Keldeo[]; extern const u32 gMonFrontPic_Meloetta[]; extern const u32 gMonFrontPic_Genesect[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonFrontPic_Chespin[]; extern const u32 gMonFrontPic_Quilladin[]; extern const u32 gMonFrontPic_Chesnaught[]; @@ -803,6 +807,8 @@ extern const u32 gMonFrontPic_Zygarde[]; extern const u32 gMonFrontPic_Diancie[]; extern const u32 gMonFrontPic_Hoopa[]; extern const u32 gMonFrontPic_Volcanion[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u32 gMonFrontPic_Rowlet[]; extern const u32 gMonFrontPic_Dartrix[]; extern const u32 gMonFrontPic_Decidueye[]; @@ -891,6 +897,8 @@ extern const u32 gMonFrontPic_Blacephalon[]; extern const u32 gMonFrontPic_Zeraora[]; extern const u32 gMonFrontPic_Meltan[]; extern const u32 gMonFrontPic_Melmetal[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u32 gMonFrontPic_Grookey[]; extern const u32 gMonFrontPic_Thwackey[]; extern const u32 gMonFrontPic_Rillaboom[]; @@ -988,6 +996,7 @@ extern const u32 gMonFrontPic_Ursaluna[]; //extern const u32 gMonFrontPic_Sneasler[]; extern const u32 gMonFrontPic_Overqwil[]; //extern const u32 gMonFrontPic_Enamorus[]; +#endif extern const u32 gMonFrontPic_VenusaurMega[]; extern const u32 gMonFrontPic_CharizardMegaX[]; extern const u32 gMonFrontPic_CharizardMegaY[]; @@ -1028,13 +1037,19 @@ extern const u32 gMonFrontPic_SalamenceMega[]; extern const u32 gMonFrontPic_MetagrossMega[]; extern const u32 gMonFrontPic_LatiasMega[]; extern const u32 gMonFrontPic_LatiosMega[]; +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonFrontPic_LopunnyMega[]; extern const u32 gMonFrontPic_GarchompMega[]; extern const u32 gMonFrontPic_LucarioMega[]; extern const u32 gMonFrontPic_AbomasnowMega[]; extern const u32 gMonFrontPic_GalladeMega[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonFrontPic_AudinoMega[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonFrontPic_DiancieMega[]; +#endif extern const u32 gMonFrontPic_RayquazaMega[]; extern const u32 gMonFrontPic_KyogrePrimal[]; extern const u32 gMonFrontPic_GroudonPrimal[]; @@ -1071,10 +1086,12 @@ extern const u32 gMonFrontPic_SlowkingGalarian[]; extern const u32 gMonFrontPic_CorsolaGalarian[]; extern const u32 gMonFrontPic_ZigzagoonGalarian[]; extern const u32 gMonFrontPic_LinooneGalarian[]; +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonFrontPic_DarumakaGalarian[]; extern const u32 gMonFrontPic_DarmanitanGalarian[]; extern const u32 gMonFrontPic_YamaskGalarian[]; extern const u32 gMonFrontPic_StunfiskGalarian[]; +#endif extern const u32 gMonFrontPic_GrowlitheHisuian[]; extern const u32 gMonFrontPic_ArcanineHisuian[]; extern const u32 gMonFrontPic_VoltorbHisuian[]; @@ -1082,15 +1099,21 @@ extern const u32 gMonFrontPic_ElectrodeHisuian[]; extern const u32 gMonFrontPic_TyphlosionHisuian[]; extern const u32 gMonFrontPic_QwilfishHisuian[]; extern const u32 gMonFrontPic_SneaselHisuian[]; +#if P_NEW_POKEMON >= GEN_5 //extern const u32 gMonFrontPic_SamurottHisuian[]; extern const u32 gMonFrontPic_LilligantHisuian[]; extern const u32 gMonFrontPic_ZoruaHisuian[]; extern const u32 gMonFrontPic_ZoroarkHisuian[]; extern const u32 gMonFrontPic_BraviaryHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonFrontPic_SliggooHisuian[]; extern const u32 gMonFrontPic_GoodraHisuian[]; extern const u32 gMonFrontPic_AvaluggHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_7 //extern const u32 gMonFrontPic_DecidueyeHisuian[]; +#endif extern const u32 gMonFrontPic_PikachuCosplay[]; extern const u32 gMonFrontPic_PikachuRockStar[]; extern const u32 gMonFrontPic_PikachuBelle[]; @@ -1106,7 +1129,6 @@ extern const u32 gMonFrontPic_PikachuAlolaCap[]; extern const u32 gMonFrontPic_PikachuPartnerCap[]; extern const u32 gMonFrontPic_PikachuWorldCap[]; extern const u32 gMonFrontPic_PichuSpikyEared[]; -#endif extern const u32 gMonFrontPic_UnownB[]; extern const u32 gMonFrontPic_UnownC[]; extern const u32 gMonFrontPic_UnownD[]; @@ -1140,7 +1162,7 @@ extern const u32 gMonFrontPic_CastformSnowy[]; extern const u32 gMonFrontPic_DeoxysAttack[]; extern const u32 gMonFrontPic_DeoxysDefense[]; extern const u32 gMonFrontPic_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonFrontPic_BurmySandyCloak[]; extern const u32 gMonFrontPic_BurmyTrashCloak[]; extern const u32 gMonFrontPic_WormadamSandyCloak[]; @@ -1157,6 +1179,8 @@ extern const u32 gMonFrontPic_DialgaOrigin[]; extern const u32 gMonFrontPic_PalkiaOrigin[]; extern const u32 gMonFrontPic_GiratinaOrigin[]; extern const u32 gMonFrontPic_ShayminSky[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonFrontPic_BasculinBlueStriped[]; extern const u32 gMonFrontPic_BasculinWhiteStriped[]; extern const u32 gMonFrontPic_DarmanitanZenMode[]; @@ -1167,11 +1191,14 @@ extern const u32 gMonFrontPic_SawsbuckWinter[]; extern const u32 gMonFrontPic_TornadusTherian[]; extern const u32 gMonFrontPic_ThundurusTherian[]; extern const u32 gMonFrontPic_LandorusTherian[]; -//extern const u32 gMonFrontPic_EnamorusTherian[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonFrontPic_KyuremWhite[]; extern const u32 gMonFrontPic_KyuremBlack[]; extern const u32 gMonFrontPic_KeldeoResolute[]; extern const u32 gMonFrontPic_MeloettaPirouette[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonFrontPic_GreninjaAsh[]; extern const u32 gMonFrontPic_VivillonPolar[]; extern const u32 gMonFrontPic_VivillonTundra[]; @@ -1214,6 +1241,8 @@ extern const u32 gMonFrontPic_XerneasActive[]; extern const u32 gMonFrontPic_Zygarde10[]; extern const u32 gMonFrontPic_ZygardeComplete[]; extern const u32 gMonFrontPic_HoopaUnbound[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u32 gMonFrontPic_OricorioPomPom[]; extern const u32 gMonFrontPic_OricorioPau[]; extern const u32 gMonFrontPic_OricorioSensu[]; @@ -1226,6 +1255,8 @@ extern const u32 gMonFrontPic_NecrozmaDuskMane[]; extern const u32 gMonFrontPic_NecrozmaDawnWings[]; extern const u32 gMonFrontPic_NecrozmaUltra[]; extern const u32 gMonFrontPic_MagearnaOriginalColor[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u32 gMonFrontPic_CramorantGulping[]; extern const u32 gMonFrontPic_CramorantGorging[]; extern const u32 gMonFrontPic_ToxtricityLowKey[]; @@ -1247,6 +1278,7 @@ extern const u32 gMonFrontPic_UrshifuRapidStrikeStyle[]; extern const u32 gMonFrontPic_ZarudeDada[]; extern const u32 gMonFrontPic_CalyrexIceRider[]; extern const u32 gMonFrontPic_CalyrexShadowRider[]; +//extern const u32 gMonFrontPic_EnamorusTherian[]; #endif extern const u32 gMonFrontPic_Egg[]; @@ -1639,7 +1671,7 @@ extern const u32 gMonBackPic_Groudon[]; extern const u32 gMonBackPic_Rayquaza[]; extern const u32 gMonBackPic_Jirachi[]; extern const u32 gMonBackPic_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonBackPic_Turtwig[]; extern const u32 gMonBackPic_Grotle[]; extern const u32 gMonBackPic_Torterra[]; @@ -1755,6 +1787,8 @@ extern const u32 gMonBackPic_Manaphy[]; extern const u32 gMonBackPic_Darkrai[]; extern const u32 gMonBackPic_Shaymin[]; extern const u32 gMonBackPic_Arceus[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonBackPic_Victini[]; extern const u32 gMonBackPic_Snivy[]; extern const u32 gMonBackPic_Servine[]; @@ -1914,6 +1948,8 @@ extern const u32 gMonBackPic_Kyurem[]; extern const u32 gMonBackPic_Keldeo[]; extern const u32 gMonBackPic_Meloetta[]; extern const u32 gMonBackPic_Genesect[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonBackPic_Chespin[]; extern const u32 gMonBackPic_Quilladin[]; extern const u32 gMonBackPic_Chesnaught[]; @@ -1987,6 +2023,8 @@ extern const u32 gMonBackPic_Zygarde[]; extern const u32 gMonBackPic_Diancie[]; extern const u32 gMonBackPic_Hoopa[]; extern const u32 gMonBackPic_Volcanion[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u32 gMonBackPic_Rowlet[]; extern const u32 gMonBackPic_Dartrix[]; extern const u32 gMonBackPic_Decidueye[]; @@ -2075,6 +2113,8 @@ extern const u32 gMonBackPic_Blacephalon[]; extern const u32 gMonBackPic_Zeraora[]; extern const u32 gMonBackPic_Meltan[]; extern const u32 gMonBackPic_Melmetal[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u32 gMonBackPic_Grookey[]; extern const u32 gMonBackPic_Thwackey[]; extern const u32 gMonBackPic_Rillaboom[]; @@ -2172,6 +2212,7 @@ extern const u32 gMonBackPic_Ursaluna[]; //extern const u32 gMonBackPic_Sneasler[]; extern const u32 gMonBackPic_Overqwil[]; //extern const u32 gMonBackPic_Enamorus[]; +#endif extern const u32 gMonBackPic_VenusaurMega[]; extern const u32 gMonBackPic_CharizardMegaX[]; extern const u32 gMonBackPic_CharizardMegaY[]; @@ -2212,13 +2253,19 @@ extern const u32 gMonBackPic_SalamenceMega[]; extern const u32 gMonBackPic_MetagrossMega[]; extern const u32 gMonBackPic_LatiasMega[]; extern const u32 gMonBackPic_LatiosMega[]; +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonBackPic_LopunnyMega[]; extern const u32 gMonBackPic_GarchompMega[]; extern const u32 gMonBackPic_LucarioMega[]; extern const u32 gMonBackPic_AbomasnowMega[]; extern const u32 gMonBackPic_GalladeMega[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonBackPic_AudinoMega[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonBackPic_DiancieMega[]; +#endif extern const u32 gMonBackPic_RayquazaMega[]; extern const u32 gMonBackPic_KyogrePrimal[]; extern const u32 gMonBackPic_GroudonPrimal[]; @@ -2255,10 +2302,12 @@ extern const u32 gMonBackPic_SlowkingGalarian[]; extern const u32 gMonBackPic_CorsolaGalarian[]; extern const u32 gMonBackPic_ZigzagoonGalarian[]; extern const u32 gMonBackPic_LinooneGalarian[]; +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonBackPic_DarumakaGalarian[]; extern const u32 gMonBackPic_DarmanitanGalarian[]; extern const u32 gMonBackPic_YamaskGalarian[]; extern const u32 gMonBackPic_StunfiskGalarian[]; +#endif extern const u32 gMonBackPic_GrowlitheHisuian[]; extern const u32 gMonBackPic_ArcanineHisuian[]; extern const u32 gMonBackPic_VoltorbHisuian[]; @@ -2266,15 +2315,21 @@ extern const u32 gMonBackPic_ElectrodeHisuian[]; extern const u32 gMonBackPic_TyphlosionHisuian[]; extern const u32 gMonBackPic_QwilfishHisuian[]; extern const u32 gMonBackPic_SneaselHisuian[]; +#if P_NEW_POKEMON >= GEN_5 //extern const u32 gMonBackPic_SamurottHisuian[]; extern const u32 gMonBackPic_LilligantHisuian[]; extern const u32 gMonBackPic_ZoruaHisuian[]; extern const u32 gMonBackPic_ZoroarkHisuian[]; extern const u32 gMonBackPic_BraviaryHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonBackPic_SliggooHisuian[]; extern const u32 gMonBackPic_GoodraHisuian[]; extern const u32 gMonBackPic_AvaluggHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_7 //extern const u32 gMonBackPic_DecidueyeHisuian[]; +#endif extern const u32 gMonBackPic_PikachuCosplay[]; extern const u32 gMonBackPic_PikachuRockStar[]; extern const u32 gMonBackPic_PikachuBelle[]; @@ -2290,7 +2345,6 @@ extern const u32 gMonBackPic_PikachuAlolaCap[]; extern const u32 gMonBackPic_PikachuPartnerCap[]; extern const u32 gMonBackPic_PikachuWorldCap[]; extern const u32 gMonBackPic_PichuSpikyEared[]; -#endif extern const u32 gMonBackPic_UnownB[]; extern const u32 gMonBackPic_UnownC[]; extern const u32 gMonBackPic_UnownD[]; @@ -2324,7 +2378,7 @@ extern const u32 gMonBackPic_CastformSnowy[]; extern const u32 gMonBackPic_DeoxysAttack[]; extern const u32 gMonBackPic_DeoxysDefense[]; extern const u32 gMonBackPic_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonBackPic_BurmySandyCloak[]; extern const u32 gMonBackPic_BurmyTrashCloak[]; extern const u32 gMonBackPic_WormadamSandyCloak[]; @@ -2341,6 +2395,8 @@ extern const u32 gMonBackPic_DialgaOrigin[]; extern const u32 gMonBackPic_PalkiaOrigin[]; extern const u32 gMonBackPic_GiratinaOrigin[]; extern const u32 gMonBackPic_ShayminSky[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonBackPic_BasculinBlueStriped[]; extern const u32 gMonBackPic_BasculinWhiteStriped[]; extern const u32 gMonBackPic_DarmanitanZenMode[]; @@ -2351,11 +2407,12 @@ extern const u32 gMonBackPic_SawsbuckWinter[]; extern const u32 gMonBackPic_TornadusTherian[]; extern const u32 gMonBackPic_ThundurusTherian[]; extern const u32 gMonBackPic_LandorusTherian[]; -//extern const u32 gMonBackPic_EnamorusTherian[]; extern const u32 gMonBackPic_KyuremWhite[]; extern const u32 gMonBackPic_KyuremBlack[]; extern const u32 gMonBackPic_KeldeoResolute[]; extern const u32 gMonBackPic_MeloettaPirouette[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonBackPic_GreninjaAsh[]; extern const u32 gMonBackPic_VivillonPolar[]; extern const u32 gMonBackPic_VivillonTundra[]; @@ -2398,6 +2455,8 @@ extern const u32 gMonBackPic_XerneasActive[]; extern const u32 gMonBackPic_Zygarde10[]; extern const u32 gMonBackPic_ZygardeComplete[]; extern const u32 gMonBackPic_HoopaUnbound[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u32 gMonBackPic_OricorioPomPom[]; extern const u32 gMonBackPic_OricorioPau[]; extern const u32 gMonBackPic_OricorioSensu[]; @@ -2410,6 +2469,8 @@ extern const u32 gMonBackPic_NecrozmaDuskMane[]; extern const u32 gMonBackPic_NecrozmaDawnWings[]; extern const u32 gMonBackPic_NecrozmaUltra[]; extern const u32 gMonBackPic_MagearnaOriginalColor[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u32 gMonBackPic_CramorantGulping[]; extern const u32 gMonBackPic_CramorantGorging[]; extern const u32 gMonBackPic_ToxtricityLowKey[]; @@ -2431,6 +2492,7 @@ extern const u32 gMonBackPic_UrshifuRapidStrikeStyle[]; extern const u32 gMonBackPic_ZarudeDada[]; extern const u32 gMonBackPic_CalyrexIceRider[]; extern const u32 gMonBackPic_CalyrexShadowRider[]; +//extern const u32 gMonBackPic_EnamorusTherian[]; #endif extern const u32 gMonPalette_CircledQuestionMark[]; @@ -2821,7 +2883,7 @@ extern const u32 gMonPalette_Groudon[]; extern const u32 gMonPalette_Rayquaza[]; extern const u32 gMonPalette_Jirachi[]; extern const u32 gMonPalette_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonPalette_Turtwig[]; extern const u32 gMonPalette_Grotle[]; extern const u32 gMonPalette_Torterra[]; @@ -2931,6 +2993,8 @@ extern const u32 gMonPalette_Manaphy[]; extern const u32 gMonPalette_Darkrai[]; extern const u32 gMonPalette_Shaymin[]; extern const u32 gMonPalette_Arceus[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonPalette_Victini[]; extern const u32 gMonPalette_Snivy[]; extern const u32 gMonPalette_Servine[]; @@ -3090,6 +3154,8 @@ extern const u32 gMonPalette_Kyurem[]; extern const u32 gMonPalette_Keldeo[]; extern const u32 gMonPalette_Meloetta[]; extern const u32 gMonPalette_Genesect[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonPalette_Chespin[]; extern const u32 gMonPalette_Quilladin[]; extern const u32 gMonPalette_Chesnaught[]; @@ -3163,6 +3229,8 @@ extern const u32 gMonPalette_Zygarde[]; extern const u32 gMonPalette_Diancie[]; extern const u32 gMonPalette_Hoopa[]; extern const u32 gMonPalette_Volcanion[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u32 gMonPalette_Rowlet[]; extern const u32 gMonPalette_Dartrix[]; extern const u32 gMonPalette_Decidueye[]; @@ -3251,6 +3319,8 @@ extern const u32 gMonPalette_Blacephalon[]; extern const u32 gMonPalette_Zeraora[]; extern const u32 gMonPalette_Meltan[]; extern const u32 gMonPalette_Melmetal[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u32 gMonPalette_Grookey[]; extern const u32 gMonPalette_Thwackey[]; extern const u32 gMonPalette_Rillaboom[]; @@ -3348,6 +3418,7 @@ extern const u32 gMonPalette_Ursaluna[]; //extern const u32 gMonPalette_Sneasler[]; extern const u32 gMonPalette_Overqwil[]; //extern const u32 gMonPalette_Enamorus[]; +#endif extern const u32 gMonPalette_VenusaurMega[]; extern const u32 gMonPalette_CharizardMegaX[]; extern const u32 gMonPalette_CharizardMegaY[]; @@ -3388,13 +3459,19 @@ extern const u32 gMonPalette_SalamenceMega[]; extern const u32 gMonPalette_MetagrossMega[]; extern const u32 gMonPalette_LatiasMega[]; extern const u32 gMonPalette_LatiosMega[]; +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonPalette_LopunnyMega[]; extern const u32 gMonPalette_GarchompMega[]; extern const u32 gMonPalette_LucarioMega[]; extern const u32 gMonPalette_AbomasnowMega[]; extern const u32 gMonPalette_GalladeMega[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonPalette_AudinoMega[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonPalette_DiancieMega[]; +#endif extern const u32 gMonPalette_RayquazaMega[]; extern const u32 gMonPalette_KyogrePrimal[]; extern const u32 gMonPalette_GroudonPrimal[]; @@ -3431,10 +3508,12 @@ extern const u32 gMonPalette_SlowkingGalarian[]; extern const u32 gMonPalette_CorsolaGalarian[]; extern const u32 gMonPalette_ZigzagoonGalarian[]; extern const u32 gMonPalette_LinooneGalarian[]; +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonPalette_DarumakaGalarian[]; extern const u32 gMonPalette_DarmanitanGalarian[]; extern const u32 gMonPalette_YamaskGalarian[]; extern const u32 gMonPalette_StunfiskGalarian[]; +#endif extern const u32 gMonPalette_GrowlitheHisuian[]; extern const u32 gMonPalette_ArcanineHisuian[]; extern const u32 gMonPalette_VoltorbHisuian[]; @@ -3442,15 +3521,21 @@ extern const u32 gMonPalette_ElectrodeHisuian[]; extern const u32 gMonPalette_TyphlosionHisuian[]; extern const u32 gMonPalette_QwilfishHisuian[]; extern const u32 gMonPalette_SneaselHisuian[]; +#if P_NEW_POKEMON >= GEN_5 //extern const u32 gMonPalette_SamurottHisuian[]; extern const u32 gMonPalette_LilligantHisuian[]; extern const u32 gMonPalette_ZoruaHisuian[]; extern const u32 gMonPalette_ZoroarkHisuian[]; extern const u32 gMonPalette_BraviaryHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonPalette_SliggooHisuian[]; extern const u32 gMonPalette_GoodraHisuian[]; extern const u32 gMonPalette_AvaluggHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_7 //extern const u32 gMonPalette_DecidueyeHisuian[]; +#endif extern const u32 gMonPalette_PikachuCosplay[]; extern const u32 gMonPalette_PikachuRockStar[]; extern const u32 gMonPalette_PikachuBelle[]; @@ -3466,14 +3551,13 @@ extern const u32 gMonPalette_PikachuAlolaCap[]; extern const u32 gMonPalette_PikachuPartnerCap[]; extern const u32 gMonPalette_PikachuWorldCap[]; extern const u32 gMonPalette_PichuSpikyEared[]; -#endif extern const u32 gMonPalette_CastformSunny[]; extern const u32 gMonPalette_CastformRainy[]; extern const u32 gMonPalette_CastformSnowy[]; extern const u32 gMonPalette_DeoxysAttack[]; extern const u32 gMonPalette_DeoxysDefense[]; extern const u32 gMonPalette_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonPalette_BurmySandyCloak[]; extern const u32 gMonPalette_BurmyTrashCloak[]; extern const u32 gMonPalette_WormadamSandyCloak[]; @@ -3507,6 +3591,8 @@ extern const u32 gMonPalette_ArceusIce[]; extern const u32 gMonPalette_ArceusDragon[]; extern const u32 gMonPalette_ArceusDark[]; extern const u32 gMonPalette_ArceusFairy[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonPalette_BasculinBlueStriped[]; extern const u32 gMonPalette_BasculinWhiteStriped[]; extern const u32 gMonPalette_DarmanitanZenMode[]; @@ -3520,7 +3606,6 @@ extern const u32 gMonPalette_SawsbuckWinter[]; extern const u32 gMonPalette_TornadusTherian[]; extern const u32 gMonPalette_ThundurusTherian[]; extern const u32 gMonPalette_LandorusTherian[]; -//extern const u32 gMonPalette_EnamorusTherian[]; extern const u32 gMonPalette_KyuremWhite[]; extern const u32 gMonPalette_KyuremBlack[]; extern const u32 gMonPalette_KeldeoResolute[]; @@ -3529,6 +3614,8 @@ extern const u32 gMonPalette_GenesectDouseDrive[]; extern const u32 gMonPalette_GenesectShockDrive[]; extern const u32 gMonPalette_GenesectBurnDrive[]; extern const u32 gMonPalette_GenesectChillDrive[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonPalette_GreninjaAsh[]; extern const u32 gMonPalette_VivillonPolar[]; extern const u32 gMonPalette_VivillonTundra[]; @@ -3577,6 +3664,8 @@ extern const u32 gMonPalette_XerneasActive[]; extern const u32 gMonPalette_Zygarde10[]; extern const u32 gMonPalette_ZygardeComplete[]; extern const u32 gMonPalette_HoopaUnbound[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u32 gMonPalette_OricorioPomPom[]; extern const u32 gMonPalette_OricorioPau[]; extern const u32 gMonPalette_OricorioSensu[]; @@ -3612,6 +3701,8 @@ extern const u32 gMonPalette_NecrozmaDuskMane[]; extern const u32 gMonPalette_NecrozmaDawnWings[]; extern const u32 gMonPalette_NecrozmaUltra[]; extern const u32 gMonPalette_MagearnaOriginalColor[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u32 gMonPalette_CramorantGulping[]; extern const u32 gMonPalette_CramorantGorging[]; extern const u32 gMonPalette_ToxtricityLowKey[]; @@ -3633,6 +3724,7 @@ extern const u32 gMonPalette_UrshifuRapidStrikeStyle[]; extern const u32 gMonPalette_ZarudeDada[]; extern const u32 gMonPalette_CalyrexIceRider[]; extern const u32 gMonPalette_CalyrexShadowRider[]; +//extern const u32 gMonPalette_EnamorusTherian[]; #endif extern const u32 gMonPalette_Egg[]; @@ -4024,7 +4116,7 @@ extern const u32 gMonShinyPalette_Groudon[]; extern const u32 gMonShinyPalette_Rayquaza[]; extern const u32 gMonShinyPalette_Jirachi[]; extern const u32 gMonShinyPalette_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonShinyPalette_Turtwig[]; extern const u32 gMonShinyPalette_Grotle[]; extern const u32 gMonShinyPalette_Torterra[]; @@ -4135,6 +4227,8 @@ extern const u32 gMonShinyPalette_Manaphy[]; extern const u32 gMonShinyPalette_Darkrai[]; extern const u32 gMonShinyPalette_Shaymin[]; extern const u32 gMonShinyPalette_Arceus[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonShinyPalette_Victini[]; extern const u32 gMonShinyPalette_Snivy[]; extern const u32 gMonShinyPalette_Servine[]; @@ -4294,6 +4388,8 @@ extern const u32 gMonShinyPalette_Kyurem[]; extern const u32 gMonShinyPalette_Keldeo[]; extern const u32 gMonShinyPalette_Meloetta[]; extern const u32 gMonShinyPalette_Genesect[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonShinyPalette_Chespin[]; extern const u32 gMonShinyPalette_Quilladin[]; extern const u32 gMonShinyPalette_Chesnaught[]; @@ -4367,6 +4463,8 @@ extern const u32 gMonShinyPalette_Zygarde[]; extern const u32 gMonShinyPalette_Diancie[]; extern const u32 gMonShinyPalette_Hoopa[]; extern const u32 gMonShinyPalette_Volcanion[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u32 gMonShinyPalette_Rowlet[]; extern const u32 gMonShinyPalette_Dartrix[]; extern const u32 gMonShinyPalette_Decidueye[]; @@ -4455,6 +4553,8 @@ extern const u32 gMonShinyPalette_Blacephalon[]; extern const u32 gMonShinyPalette_Zeraora[]; extern const u32 gMonShinyPalette_Meltan[]; extern const u32 gMonShinyPalette_Melmetal[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u32 gMonShinyPalette_Grookey[]; extern const u32 gMonShinyPalette_Thwackey[]; extern const u32 gMonShinyPalette_Rillaboom[]; @@ -4552,6 +4652,7 @@ extern const u32 gMonShinyPalette_Ursaluna[]; //extern const u32 gMonShinyPalette_Sneasler[]; extern const u32 gMonShinyPalette_Overqwil[]; //extern const u32 gMonShinyPalette_Enamorus[]; +#endif extern const u32 gMonShinyPalette_VenusaurMega[]; extern const u32 gMonShinyPalette_CharizardMegaX[]; extern const u32 gMonShinyPalette_CharizardMegaY[]; @@ -4592,13 +4693,19 @@ extern const u32 gMonShinyPalette_SalamenceMega[]; extern const u32 gMonShinyPalette_MetagrossMega[]; extern const u32 gMonShinyPalette_LatiasMega[]; extern const u32 gMonShinyPalette_LatiosMega[]; +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonShinyPalette_LopunnyMega[]; extern const u32 gMonShinyPalette_GarchompMega[]; extern const u32 gMonShinyPalette_LucarioMega[]; extern const u32 gMonShinyPalette_AbomasnowMega[]; extern const u32 gMonShinyPalette_GalladeMega[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonShinyPalette_AudinoMega[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonShinyPalette_DiancieMega[]; +#endif extern const u32 gMonShinyPalette_RayquazaMega[]; extern const u32 gMonShinyPalette_KyogrePrimal[]; extern const u32 gMonShinyPalette_GroudonPrimal[]; @@ -4635,10 +4742,12 @@ extern const u32 gMonShinyPalette_SlowkingGalarian[]; extern const u32 gMonShinyPalette_CorsolaGalarian[]; extern const u32 gMonShinyPalette_ZigzagoonGalarian[]; extern const u32 gMonShinyPalette_LinooneGalarian[]; +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonShinyPalette_DarumakaGalarian[]; extern const u32 gMonShinyPalette_DarmanitanGalarian[]; extern const u32 gMonShinyPalette_YamaskGalarian[]; extern const u32 gMonShinyPalette_StunfiskGalarian[]; +#endif extern const u32 gMonShinyPalette_GrowlitheHisuian[]; extern const u32 gMonShinyPalette_ArcanineHisuian[]; extern const u32 gMonShinyPalette_VoltorbHisuian[]; @@ -4646,15 +4755,21 @@ extern const u32 gMonShinyPalette_ElectrodeHisuian[]; extern const u32 gMonShinyPalette_TyphlosionHisuian[]; extern const u32 gMonShinyPalette_QwilfishHisuian[]; extern const u32 gMonShinyPalette_SneaselHisuian[]; +#if P_NEW_POKEMON >= GEN_5 //extern const u32 gMonShinyPalette_SamurottHisuian[]; extern const u32 gMonShinyPalette_LilligantHisuian[]; extern const u32 gMonShinyPalette_ZoruaHisuian[]; extern const u32 gMonShinyPalette_ZoroarkHisuian[]; extern const u32 gMonShinyPalette_BraviaryHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonShinyPalette_SliggooHisuian[]; extern const u32 gMonShinyPalette_GoodraHisuian[]; extern const u32 gMonShinyPalette_AvaluggHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_7 //extern const u32 gMonShinyPalette_DecidueyeHisuian[]; +#endif extern const u32 gMonShinyPalette_PikachuCosplay[]; extern const u32 gMonShinyPalette_PikachuRockStar[]; extern const u32 gMonShinyPalette_PikachuBelle[]; @@ -4670,14 +4785,13 @@ extern const u32 gMonShinyPalette_PikachuAlolaCap[]; extern const u32 gMonShinyPalette_PikachuPartnerCap[]; extern const u32 gMonShinyPalette_PikachuWorldCap[]; extern const u32 gMonShinyPalette_PichuSpikyEared[]; -#endif extern const u32 gMonShinyPalette_CastformSunny[]; extern const u32 gMonShinyPalette_CastformRainy[]; extern const u32 gMonShinyPalette_CastformSnowy[]; extern const u32 gMonShinyPalette_DeoxysAttack[]; extern const u32 gMonShinyPalette_DeoxysDefense[]; extern const u32 gMonShinyPalette_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u32 gMonShinyPalette_BurmySandyCloak[]; extern const u32 gMonShinyPalette_BurmyTrashCloak[]; extern const u32 gMonShinyPalette_WormadamSandyCloak[]; @@ -4711,6 +4825,8 @@ extern const u32 gMonShinyPalette_ArceusIce[]; extern const u32 gMonShinyPalette_ArceusDragon[]; extern const u32 gMonShinyPalette_ArceusDark[]; extern const u32 gMonShinyPalette_ArceusFairy[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u32 gMonShinyPalette_BasculinBlueStriped[]; extern const u32 gMonShinyPalette_BasculinWhiteStriped[]; extern const u32 gMonShinyPalette_DarmanitanZenMode[]; @@ -4724,7 +4840,6 @@ extern const u32 gMonShinyPalette_SawsbuckWinter[]; extern const u32 gMonShinyPalette_TornadusTherian[]; extern const u32 gMonShinyPalette_ThundurusTherian[]; extern const u32 gMonShinyPalette_LandorusTherian[]; -//extern const u32 gMonShinyPalette_EnamorusTherian[]; extern const u32 gMonShinyPalette_KyuremWhite[]; extern const u32 gMonShinyPalette_KyuremBlack[]; extern const u32 gMonShinyPalette_KeldeoResolute[]; @@ -4733,6 +4848,8 @@ extern const u32 gMonShinyPalette_GenesectDouseDrive[]; extern const u32 gMonShinyPalette_GenesectShockDrive[]; extern const u32 gMonShinyPalette_GenesectBurnDrive[]; extern const u32 gMonShinyPalette_GenesectChillDrive[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u32 gMonShinyPalette_GreninjaAsh[]; extern const u32 gMonShinyPalette_VivillonPolar[]; extern const u32 gMonShinyPalette_VivillonTundra[]; @@ -4781,6 +4898,8 @@ extern const u32 gMonShinyPalette_XerneasActive[]; extern const u32 gMonShinyPalette_Zygarde10[]; extern const u32 gMonShinyPalette_ZygardeComplete[]; extern const u32 gMonShinyPalette_HoopaUnbound[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u32 gMonShinyPalette_OricorioPomPom[]; extern const u32 gMonShinyPalette_OricorioPau[]; extern const u32 gMonShinyPalette_OricorioSensu[]; @@ -4810,6 +4929,8 @@ extern const u32 gMonShinyPalette_NecrozmaDuskMane[]; extern const u32 gMonShinyPalette_NecrozmaDawnWings[]; extern const u32 gMonShinyPalette_NecrozmaUltra[]; extern const u32 gMonShinyPalette_MagearnaOriginalColor[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u32 gMonShinyPalette_CramorantGulping[]; extern const u32 gMonShinyPalette_CramorantGorging[]; extern const u32 gMonShinyPalette_ToxtricityLowKey[]; @@ -4831,6 +4952,7 @@ extern const u32 gMonShinyPalette_UrshifuRapidStrikeStyle[]; extern const u32 gMonShinyPalette_ZarudeDada[]; extern const u32 gMonShinyPalette_CalyrexIceRider[]; extern const u32 gMonShinyPalette_CalyrexShadowRider[]; +//extern const u32 gMonShinyPalette_EnamorusTherian[]; #endif extern const u8 gMonIcon_QuestionMark[]; @@ -5220,7 +5342,7 @@ extern const u8 gMonIcon_Groudon[]; extern const u8 gMonIcon_Rayquaza[]; extern const u8 gMonIcon_Jirachi[]; extern const u8 gMonIcon_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u8 gMonIcon_Turtwig[]; extern const u8 gMonIcon_Grotle[]; extern const u8 gMonIcon_Torterra[]; @@ -5328,6 +5450,8 @@ extern const u8 gMonIcon_Manaphy[]; extern const u8 gMonIcon_Darkrai[]; extern const u8 gMonIcon_Shaymin[]; extern const u8 gMonIcon_Arceus[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u8 gMonIcon_Victini[]; extern const u8 gMonIcon_Snivy[]; extern const u8 gMonIcon_Servine[]; @@ -5487,6 +5611,8 @@ extern const u8 gMonIcon_Kyurem[]; extern const u8 gMonIcon_Keldeo[]; extern const u8 gMonIcon_Meloetta[]; extern const u8 gMonIcon_Genesect[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u8 gMonIcon_Chespin[]; extern const u8 gMonIcon_Quilladin[]; extern const u8 gMonIcon_Chesnaught[]; @@ -5560,6 +5686,8 @@ extern const u8 gMonIcon_Zygarde[]; extern const u8 gMonIcon_Diancie[]; extern const u8 gMonIcon_Hoopa[]; extern const u8 gMonIcon_Volcanion[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u8 gMonIcon_Rowlet[]; extern const u8 gMonIcon_Dartrix[]; extern const u8 gMonIcon_Decidueye[]; @@ -5648,6 +5776,8 @@ extern const u8 gMonIcon_Blacephalon[]; extern const u8 gMonIcon_Zeraora[]; extern const u8 gMonIcon_Meltan[]; extern const u8 gMonIcon_Melmetal[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u8 gMonIcon_Grookey[]; extern const u8 gMonIcon_Thwackey[]; extern const u8 gMonIcon_Rillaboom[]; @@ -5745,6 +5875,7 @@ extern const u8 gMonIcon_BasculegionF[]; extern const u8 gMonIcon_Sneasler[]; extern const u8 gMonIcon_Overqwil[]; extern const u8 gMonIcon_Enamorus[]; +#endif extern const u8 gMonIcon_VenusaurMega[]; extern const u8 gMonIcon_CharizardMegaX[]; extern const u8 gMonIcon_CharizardMegaY[]; @@ -5785,13 +5916,19 @@ extern const u8 gMonIcon_SalamenceMega[]; extern const u8 gMonIcon_MetagrossMega[]; extern const u8 gMonIcon_LatiasMega[]; extern const u8 gMonIcon_LatiosMega[]; +#if P_NEW_POKEMON >= GEN_4 extern const u8 gMonIcon_LopunnyMega[]; extern const u8 gMonIcon_GarchompMega[]; extern const u8 gMonIcon_LucarioMega[]; extern const u8 gMonIcon_AbomasnowMega[]; extern const u8 gMonIcon_GalladeMega[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u8 gMonIcon_AudinoMega[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u8 gMonIcon_DiancieMega[]; +#endif extern const u8 gMonIcon_RayquazaMega[]; extern const u8 gMonIcon_KyogrePrimal[]; extern const u8 gMonIcon_GroudonPrimal[]; @@ -5828,10 +5965,12 @@ extern const u8 gMonIcon_SlowkingGalarian[]; extern const u8 gMonIcon_CorsolaGalarian[]; extern const u8 gMonIcon_ZigzagoonGalarian[]; extern const u8 gMonIcon_LinooneGalarian[]; +#if P_NEW_POKEMON >= GEN_5 extern const u8 gMonIcon_DarumakaGalarian[]; extern const u8 gMonIcon_DarmanitanGalarian[]; extern const u8 gMonIcon_YamaskGalarian[]; extern const u8 gMonIcon_StunfiskGalarian[]; +#endif extern const u8 gMonIcon_GrowlitheHisuian[]; extern const u8 gMonIcon_ArcanineHisuian[]; extern const u8 gMonIcon_VoltorbHisuian[]; @@ -5839,15 +5978,21 @@ extern const u8 gMonIcon_ElectrodeHisuian[]; extern const u8 gMonIcon_TyphlosionHisuian[]; extern const u8 gMonIcon_QwilfishHisuian[]; extern const u8 gMonIcon_SneaselHisuian[]; +#if P_NEW_POKEMON >= GEN_5 extern const u8 gMonIcon_SamurottHisuian[]; extern const u8 gMonIcon_LilligantHisuian[]; extern const u8 gMonIcon_ZoruaHisuian[]; extern const u8 gMonIcon_ZoroarkHisuian[]; extern const u8 gMonIcon_BraviaryHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u8 gMonIcon_SliggooHisuian[]; extern const u8 gMonIcon_GoodraHisuian[]; extern const u8 gMonIcon_AvaluggHisuian[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u8 gMonIcon_DecidueyeHisuian[]; +#endif extern const u8 gMonIcon_PikachuCosplay[]; extern const u8 gMonIcon_PikachuRockStar[]; extern const u8 gMonIcon_PikachuBelle[]; @@ -5862,7 +6007,6 @@ extern const u8 gMonIcon_PikachuKalosCap[]; extern const u8 gMonIcon_PikachuAlolaCap[]; extern const u8 gMonIcon_PikachuPartnerCap[]; extern const u8 gMonIcon_PichuSpikyEared[]; -#endif extern const u8 gMonIcon_UnownB[]; extern const u8 gMonIcon_UnownC[]; extern const u8 gMonIcon_UnownD[]; @@ -5896,7 +6040,7 @@ extern const u8 gMonIcon_CastformSnowy[]; extern const u8 gMonIcon_DeoxysAttack[]; extern const u8 gMonIcon_DeoxysDefense[]; extern const u8 gMonIcon_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u8 gMonIcon_BurmySandyCloak[]; extern const u8 gMonIcon_BurmyTrashCloak[]; extern const u8 gMonIcon_WormadamSandyCloak[]; @@ -5913,6 +6057,8 @@ extern const u8 gMonIcon_DialgaOrigin[]; extern const u8 gMonIcon_PalkiaOrigin[]; extern const u8 gMonIcon_GiratinaOrigin[]; extern const u8 gMonIcon_ShayminSky[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u8 gMonIcon_BasculinBlueStriped[]; extern const u8 gMonIcon_BasculinWhiteStriped[]; extern const u8 gMonIcon_DarmanitanZenMode[]; @@ -5926,11 +6072,12 @@ extern const u8 gMonIcon_SawsbuckWinter[]; extern const u8 gMonIcon_TornadusTherian[]; extern const u8 gMonIcon_ThundurusTherian[]; extern const u8 gMonIcon_LandorusTherian[]; -extern const u8 gMonIcon_EnamorusTherian[]; extern const u8 gMonIcon_KyuremWhite[]; extern const u8 gMonIcon_KyuremBlack[]; extern const u8 gMonIcon_KeldeoResolute[]; extern const u8 gMonIcon_MeloettaPirouette[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u8 gMonIcon_GreninjaAsh[]; extern const u8 gMonIcon_VivillonPolar[]; extern const u8 gMonIcon_VivillonTundra[]; @@ -5979,6 +6126,8 @@ extern const u8 gMonIcon_XerneasActive[]; extern const u8 gMonIcon_Zygarde10[]; extern const u8 gMonIcon_ZygardeComplete[]; extern const u8 gMonIcon_HoopaUnbound[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u8 gMonIcon_OricorioPomPom[]; extern const u8 gMonIcon_OricorioPau[]; extern const u8 gMonIcon_OricorioSensu[]; @@ -5997,6 +6146,8 @@ extern const u8 gMonIcon_NecrozmaDuskMane[]; extern const u8 gMonIcon_NecrozmaDawnWings[]; extern const u8 gMonIcon_NecrozmaUltra[]; extern const u8 gMonIcon_MagearnaOriginalColor[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u8 gMonIcon_CramorantGulping[]; extern const u8 gMonIcon_CramorantGorging[]; extern const u8 gMonIcon_ToxtricityLowKey[]; @@ -6017,6 +6168,7 @@ extern const u8 gMonIcon_EternatusEternamax[]; extern const u8 gMonIcon_ZarudeDada[]; extern const u8 gMonIcon_CalyrexIceRider[]; extern const u8 gMonIcon_CalyrexShadowRider[]; +extern const u8 gMonIcon_EnamorusTherian[]; #endif extern const u8 gMonIcon_Egg[]; @@ -6407,7 +6559,7 @@ extern const u8 gMonFootprint_Latios[]; extern const u8 gMonFootprint_Jirachi[]; extern const u8 gMonFootprint_Deoxys[]; extern const u8 gMonFootprint_Chimecho[]; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 extern const u8 gMonFootprint_Turtwig[]; extern const u8 gMonFootprint_Grotle[]; extern const u8 gMonFootprint_Torterra[]; @@ -6515,6 +6667,8 @@ extern const u8 gMonFootprint_Manaphy[]; extern const u8 gMonFootprint_Darkrai[]; extern const u8 gMonFootprint_Shaymin[]; extern const u8 gMonFootprint_Arceus[]; +#endif +#if P_NEW_POKEMON >= GEN_5 extern const u8 gMonFootprint_Victini[]; extern const u8 gMonFootprint_Snivy[]; extern const u8 gMonFootprint_Servine[]; @@ -6671,6 +6825,8 @@ extern const u8 gMonFootprint_Kyurem[]; extern const u8 gMonFootprint_Keldeo[]; extern const u8 gMonFootprint_Meloetta[]; extern const u8 gMonFootprint_Genesect[]; +#endif +#if P_NEW_POKEMON >= GEN_6 extern const u8 gMonFootprint_Chespin[]; extern const u8 gMonFootprint_Quilladin[]; extern const u8 gMonFootprint_Chesnaught[]; @@ -6743,6 +6899,8 @@ extern const u8 gMonFootprint_Zygarde[]; extern const u8 gMonFootprint_Diancie[]; extern const u8 gMonFootprint_Hoopa[]; extern const u8 gMonFootprint_Volcanion[]; +#endif +#if P_NEW_POKEMON >= GEN_7 extern const u8 gMonFootprint_Rowlet[]; extern const u8 gMonFootprint_Dartrix[]; extern const u8 gMonFootprint_Decidueye[]; @@ -6831,6 +6989,8 @@ extern const u8 gMonFootprint_Blacephalon[]; extern const u8 gMonFootprint_Zeraora[]; extern const u8 gMonFootprint_Meltan[]; extern const u8 gMonFootprint_Melmetal[]; +#endif +#if P_NEW_POKEMON >= GEN_8 extern const u8 gMonFootprint_Grookey[]; extern const u8 gMonFootprint_Thwackey[]; extern const u8 gMonFootprint_Rillaboom[]; diff --git a/sound/cry_tables.inc b/sound/cry_tables.inc index 30eef3327..b0a030c43 100644 --- a/sound/cry_tables.inc +++ b/sound/cry_tables.inc @@ -386,7 +386,7 @@ gCryTable:: cry Cry_Rayquaza cry Cry_Jirachi cry Cry_Deoxys -.if P_NEW_POKEMON == TRUE +.if P_NEW_POKEMON >= GEN_4 cry Cry_Turtwig cry Cry_Grotle cry Cry_Torterra @@ -494,6 +494,116 @@ gCryTable:: cry Cry_Darkrai cry Cry_Shaymin cry Cry_Arceus +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_5 cry Cry_Victini cry Cry_Snivy cry Cry_Servine @@ -650,6 +760,165 @@ gCryTable:: cry Cry_Keldeo cry Cry_Meloetta cry Cry_Genesect +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_6 cry Cry_Chespin cry Cry_Quilladin cry Cry_Chesnaught @@ -722,6 +991,81 @@ gCryTable:: cry Cry_Diancie cry Cry_Hoopa cry Cry_Volcanion +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_7 cry Cry_Rowlet cry Cry_Dartrix cry Cry_Decidueye @@ -810,6 +1154,97 @@ gCryTable:: cry Cry_Zeraora cry Cry_Meltan cry Cry_Melmetal +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_8 cry Cry_Grookey cry Cry_Thwackey cry Cry_Rillaboom @@ -899,13 +1334,111 @@ gCryTable:: cry Cry_Glastrier cry Cry_Spectrier cry Cry_Calyrex - cry Cry_Bulbasaur //Cry_Wyrdeer - cry Cry_Bulbasaur //Cry_Kleavor - cry Cry_Bulbasaur //Cry_Ursaluna - cry Cry_Bulbasaur //Cry_Basculegion - cry Cry_Bulbasaur //Cry_Sneasler - cry Cry_Bulbasaur //Cry_Overqwil - cry Cry_Bulbasaur //Cry_Enamorus + cry Cry_Unown //Cry_Wyrdeer + cry Cry_Unown //Cry_Kleavor + cry Cry_Unown //Cry_Ursaluna + cry Cry_Unown //Cry_Basculegion + cry Cry_Unown //Cry_Sneasler + cry Cry_Unown //Cry_Overqwil + cry Cry_Unown //Cry_Enamorus +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif @ Megas cry Cry_VenusaurMega cry Cry_CharizardMegaX @@ -947,13 +1480,29 @@ gCryTable:: cry Cry_MetagrossMega cry Cry_LatiasMega cry Cry_LatiosMega +.if P_NEW_POKEMON >= GEN_4 cry Cry_LopunnyMega cry Cry_GarchompMega cry Cry_LucarioMega cry Cry_AbomasnowMega cry Cry_GalladeMega +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_5 cry Cry_AudinoMega +.else + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_6 cry Cry_DiancieMega +.else + cry Cry_Unown +.endif @ Special Mega + Primals cry Cry_RayquazaMega cry Cry_KyogrePrimal @@ -993,10 +1542,17 @@ gCryTable:: cry Cry_Corsola cry Cry_Zigzagoon cry Cry_Linoone +.if P_NEW_POKEMON >= GEN_5 cry Cry_Darumaka cry Cry_Darmanitan cry Cry_Yamask cry Cry_Stunfisk +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif @ Hisuian Forms cry Cry_Growlithe cry Cry_Arcanine @@ -1005,15 +1561,33 @@ gCryTable:: cry Cry_Typhlosion cry Cry_Qwilfish cry Cry_Sneasel +.if P_NEW_POKEMON >= GEN_5 cry Cry_Samurott cry Cry_Lilligant cry Cry_Zorua cry Cry_Zoroark cry Cry_Braviary +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_6 cry Cry_Sliggoo cry Cry_Goodra cry Cry_Avalugg +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_7 cry Cry_Decidueye +.else + cry Cry_Unown +.endif @ Misc Forms @ Cosplay Pikachu cry Cry_Pikachu @@ -1069,6 +1643,7 @@ gCryTable:: cry Cry_Deoxys cry Cry_Deoxys cry Cry_Deoxys +.if P_NEW_POKEMON >= GEN_4 @ Burmy cry Cry_Burmy cry Cry_Burmy @@ -1111,6 +1686,51 @@ gCryTable:: cry Cry_Arceus cry Cry_Arceus cry Cry_Arceus +.else + @ Burmy + cry Cry_Unown + cry Cry_Unown + @ Wormadam + cry Cry_Unown + cry Cry_Unown + @ Cherrim + cry Cry_Unown + @ Shellos + cry Cry_Unown + @ Gastrodon + cry Cry_Unown + @ Rotom + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Origin Forme + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Shaymin + cry Cry_Unown + @ Arceus + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_5 @ Basculin cry Cry_Basculin cry Cry_Basculin @@ -1141,6 +1761,39 @@ gCryTable:: cry Cry_Genesect cry Cry_Genesect cry Cry_Genesect +.else + @ Basculin + cry Cry_Unown + cry Cry_Unown + @ Darmanitan + cry Cry_Unown + cry Cry_Unown + @ Deerling + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Sawsbuck + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Therian Forms + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Kyurem + cry Cry_Unown + cry Cry_Unown + @ Keldeo + cry Cry_Unown + @ Meloetta + cry Cry_Unown + @ Genesect + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_6 @ Greninja cry Cry_Greninja cry Cry_Greninja @@ -1211,6 +1864,79 @@ gCryTable:: cry Cry_ZygardeComplete @ Hoopa cry Cry_HoopaUnbound +.else +@ Greninja + cry Cry_Unown + cry Cry_Unown + @ Vivillon + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Flabébé + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Floette + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Florges + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Furfrou + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Meowstic + cry Cry_Unown + @ Aegislash + cry Cry_Unown + @ Pumpkaboo + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Gourgeist + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Xerneas + cry Cry_Unown + @ Zygarde + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Hoopa + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_7 @ Oricorio cry Cry_OricorioPomPom cry Cry_OricorioPau @@ -1262,6 +1988,60 @@ gCryTable:: cry Cry_NecrozmaUltra @ Magearna cry Cry_Magearna +.else + @ Oricorio + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Rockruff + cry Cry_Unown + @ Lycanroc + cry Cry_Unown + cry Cry_Unown + @ Wishiwashi + cry Cry_Unown + @ Silvally + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Minior + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Mimikyu + cry Cry_Unown + @ Necrozma + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Magearna + cry Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_8 @ Cramorant cry Cry_Cramorant cry Cry_Cramorant @@ -1300,7 +2080,16 @@ gCryTable:: cry Cry_CalyrexIceRider cry Cry_CalyrexShadowRider .else - @ Unown + @ Cramorant + cry Cry_Unown + cry Cry_Unown + @ Toxtricity + cry Cry_Unown + @ Sinistea + cry Cry_Unown + @ Polteageist + cry Cry_Unown + @ Alcremie cry Cry_Unown cry Cry_Unown cry Cry_Unown @@ -1309,33 +2098,25 @@ gCryTable:: cry Cry_Unown cry Cry_Unown cry Cry_Unown + @ Eiscue + cry Cry_Unown + @ Indeedee + cry Cry_Unown + @ Morpeko + cry Cry_Unown + @ Zacian + cry Cry_Unown + @ Zamazenta + cry Cry_Unown + @ Eternatus + cry Cry_Unown + @ Urshifu + cry Cry_Unown + @ Zarude + cry Cry_Unown + @ Calyrex cry Cry_Unown cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - @ Castform - cry Cry_Castform - cry Cry_Castform - cry Cry_Castform - @ Deoxys - cry Cry_Deoxys - cry Cry_Deoxys - cry Cry_Deoxys .endif .align 2 @@ -1726,7 +2507,7 @@ gCryTable_Reverse:: cry_reverse Cry_Rayquaza cry_reverse Cry_Jirachi cry_reverse Cry_Deoxys -.if P_NEW_POKEMON == TRUE +.if P_NEW_POKEMON >= GEN_4 cry_reverse Cry_Turtwig cry_reverse Cry_Grotle cry_reverse Cry_Torterra @@ -1834,6 +2615,116 @@ gCryTable_Reverse:: cry_reverse Cry_Darkrai cry_reverse Cry_Shaymin cry_reverse Cry_Arceus +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_5 cry_reverse Cry_Victini cry_reverse Cry_Snivy cry_reverse Cry_Servine @@ -1990,6 +2881,165 @@ gCryTable_Reverse:: cry_reverse Cry_Keldeo cry_reverse Cry_Meloetta cry_reverse Cry_Genesect +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_6 cry_reverse Cry_Chespin cry_reverse Cry_Quilladin cry_reverse Cry_Chesnaught @@ -2062,6 +3112,81 @@ gCryTable_Reverse:: cry_reverse Cry_Diancie cry_reverse Cry_Hoopa cry_reverse Cry_Volcanion +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_7 cry_reverse Cry_Rowlet cry_reverse Cry_Dartrix cry_reverse Cry_Decidueye @@ -2150,6 +3275,97 @@ gCryTable_Reverse:: cry_reverse Cry_Zeraora cry_reverse Cry_Meltan cry_reverse Cry_Melmetal +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_8 cry_reverse Cry_Grookey cry_reverse Cry_Thwackey cry_reverse Cry_Rillaboom @@ -2239,13 +3455,111 @@ gCryTable_Reverse:: cry_reverse Cry_Glastrier cry_reverse Cry_Spectrier cry_reverse Cry_Calyrex - cry_reverse Cry_Bulbasaur //Cry_Wyrdeer - cry_reverse Cry_Bulbasaur //Cry_Kleavor - cry_reverse Cry_Bulbasaur //Cry_Ursaluna - cry_reverse Cry_Bulbasaur //Cry_Basculegion - cry_reverse Cry_Bulbasaur //Cry_Sneasler - cry_reverse Cry_Bulbasaur //Cry_Overqwil - cry_reverse Cry_Bulbasaur //Cry_Enamorus + cry_reverse Cry_Unown //Cry_Wyrdeer + cry_reverse Cry_Unown //Cry_Kleavor + cry_reverse Cry_Unown //Cry_Ursaluna + cry_reverse Cry_Unown //Cry_Basculegion + cry_reverse Cry_Unown //Cry_Sneasler + cry_reverse Cry_Unown //Cry_Overqwil + cry_reverse Cry_Unown //Cry_Enamorus +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif @ Megas cry_reverse Cry_VenusaurMega cry_reverse Cry_CharizardMegaX @@ -2287,13 +3601,29 @@ gCryTable_Reverse:: cry_reverse Cry_MetagrossMega cry_reverse Cry_LatiasMega cry_reverse Cry_LatiosMega +.if P_NEW_POKEMON >= GEN_4 cry_reverse Cry_LopunnyMega cry_reverse Cry_GarchompMega cry_reverse Cry_LucarioMega cry_reverse Cry_AbomasnowMega cry_reverse Cry_GalladeMega +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_5 cry_reverse Cry_AudinoMega +.else + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_6 cry_reverse Cry_DiancieMega +.else + cry_reverse Cry_Unown +.endif @ Special Mega + Primals cry_reverse Cry_RayquazaMega cry_reverse Cry_KyogrePrimal @@ -2333,10 +3663,17 @@ gCryTable_Reverse:: cry_reverse Cry_Corsola cry_reverse Cry_Zigzagoon cry_reverse Cry_Linoone +.if P_NEW_POKEMON >= GEN_5 cry_reverse Cry_Darumaka cry_reverse Cry_Darmanitan cry_reverse Cry_Yamask cry_reverse Cry_Stunfisk +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif @ Hisuian Forms cry_reverse Cry_Growlithe cry_reverse Cry_Arcanine @@ -2345,15 +3682,33 @@ gCryTable_Reverse:: cry_reverse Cry_Typhlosion cry_reverse Cry_Qwilfish cry_reverse Cry_Sneasel +.if P_NEW_POKEMON >= GEN_5 cry_reverse Cry_Samurott cry_reverse Cry_Lilligant cry_reverse Cry_Zorua cry_reverse Cry_Zoroark cry_reverse Cry_Braviary +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_6 cry_reverse Cry_Sliggoo cry_reverse Cry_Goodra cry_reverse Cry_Avalugg +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_7 cry_reverse Cry_Decidueye +.else + cry_reverse Cry_Unown +.endif @ Misc Forms @ Cosplay Pikachu cry_reverse Cry_Pikachu @@ -2409,6 +3764,7 @@ gCryTable_Reverse:: cry_reverse Cry_Deoxys cry_reverse Cry_Deoxys cry_reverse Cry_Deoxys +.if P_NEW_POKEMON >= GEN_4 @ Burmy cry_reverse Cry_Burmy cry_reverse Cry_Burmy @@ -2451,6 +3807,42 @@ gCryTable_Reverse:: cry_reverse Cry_Arceus cry_reverse Cry_Arceus cry_reverse Cry_Arceus +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_5 @ Basculin cry_reverse Cry_Basculin cry_reverse Cry_Basculin @@ -2482,6 +3874,31 @@ gCryTable_Reverse:: cry_reverse Cry_Genesect cry_reverse Cry_Genesect cry_reverse Cry_Genesect +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_6 @ Greninja cry_reverse Cry_Greninja cry_reverse Cry_Greninja @@ -2552,6 +3969,66 @@ gCryTable_Reverse:: cry_reverse Cry_ZygardeComplete @ Hoopa cry_reverse Cry_HoopaUnbound +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_7 @ Oricorio cry_reverse Cry_OricorioPomPom cry_reverse Cry_OricorioPau @@ -2603,6 +4080,51 @@ gCryTable_Reverse:: cry_reverse Cry_NecrozmaUltra @ Magearna cry_reverse Cry_Magearna +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_NEW_POKEMON >= GEN_8 @ Cramorant cry_reverse Cry_Cramorant cry_reverse Cry_Cramorant @@ -2641,7 +4163,6 @@ gCryTable_Reverse:: cry_reverse Cry_CalyrexIceRider cry_reverse Cry_CalyrexShadowRider .else - @ Unown cry_reverse Cry_Unown cry_reverse Cry_Unown cry_reverse Cry_Unown @@ -2665,16 +4186,4 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown cry_reverse Cry_Unown - cry_reverse Cry_Unown - cry_reverse Cry_Unown - cry_reverse Cry_Unown - cry_reverse Cry_Unown - @ Castform - cry_reverse Cry_Castform - cry_reverse Cry_Castform - cry_reverse Cry_Castform - @ Deoxys - cry_reverse Cry_Deoxys - cry_reverse Cry_Deoxys - cry_reverse Cry_Deoxys .endif diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc index 4ce03dbed..b4f6ded82 100644 --- a/sound/direct_sound_data.inc +++ b/sound/direct_sound_data.inc @@ -1930,7 +1930,7 @@ Cry_Jirachi:: Cry_Deoxys:: .incbin "sound/direct_sound_samples/cries/deoxys.bin" -.if P_NEW_POKEMON == TRUE +.if P_NEW_POKEMON >= GEN_4 .align 2 Cry_Turtwig:: .incbin "sound/direct_sound_samples/cries/turtwig.bin" @@ -2358,7 +2358,9 @@ Cry_Shaymin:: .align 2 Cry_Arceus:: .incbin "sound/direct_sound_samples/cries/arceus.bin" +.endif +.if P_NEW_POKEMON >= GEN_5 .align 2 Cry_Victini:: .incbin "sound/direct_sound_samples/cries/victini.bin" @@ -2982,7 +2984,9 @@ Cry_Meloetta:: .align 2 Cry_Genesect:: .incbin "sound/direct_sound_samples/cries/genesect.bin" +.endif +.if P_NEW_POKEMON >= GEN_6 .align 2 Cry_Chespin:: .incbin "sound/direct_sound_samples/cries/chespin.bin" @@ -3270,7 +3274,9 @@ Cry_Hoopa:: .align 2 Cry_Volcanion:: .incbin "sound/direct_sound_samples/cries/volcanion.bin" +.endif +.if P_NEW_POKEMON >= GEN_7 .align 2 Cry_Rowlet:: .incbin "sound/direct_sound_samples/cries/rowlet.bin" @@ -3622,7 +3628,9 @@ Cry_Meltan:: .align 2 Cry_Melmetal:: .incbin "sound/direct_sound_samples/cries/melmetal.bin" +.endif +.if P_NEW_POKEMON >= GEN_8 .align 2 Cry_Grookey:: .incbin "sound/direct_sound_samples/cries/grookey.bin" @@ -4007,6 +4015,7 @@ Cry_Overqwil:: Cry_Enamorus:: .incbin "sound/direct_sound_samples/cries/enamorus.bin" */ +.endif .align 2 Cry_VenusaurMega:: @@ -4168,6 +4177,7 @@ Cry_LatiasMega:: Cry_LatiosMega:: .incbin "sound/direct_sound_samples/cries/mega_latios.bin" +.if P_NEW_POKEMON >= GEN_4 .align 2 Cry_LopunnyMega:: .incbin "sound/direct_sound_samples/cries/mega_lopunny.bin" @@ -4187,14 +4197,19 @@ Cry_AbomasnowMega:: .align 2 Cry_GalladeMega:: .incbin "sound/direct_sound_samples/cries/mega_gallade.bin" +.endif +.if P_NEW_POKEMON >= GEN_5 .align 2 Cry_AudinoMega:: .incbin "sound/direct_sound_samples/cries/mega_audino.bin" +.endif +.if P_NEW_POKEMON >= GEN_6 .align 2 Cry_DiancieMega:: .incbin "sound/direct_sound_samples/cries/mega_diancie.bin" +.endif .align 2 Cry_RayquazaMega:: @@ -4212,10 +4227,13 @@ Cry_GroudonPrimal:: Cry_SlowpokeGalarian:: .incbin "sound/direct_sound_samples/cries/slowpoke_galarian.bin" +.if P_NEW_POKEMON >= GEN_4 .align 2 Cry_ShayminSky:: .incbin "sound/direct_sound_samples/cries/shaymin_sky.bin" +.endif +.if P_NEW_POKEMON >= GEN_4 .align 2 Cry_TornadusTherian:: .incbin "sound/direct_sound_samples/cries/tornadus_therian.bin" @@ -4227,11 +4245,6 @@ Cry_ThundurusTherian:: .align 2 Cry_LandorusTherian:: .incbin "sound/direct_sound_samples/cries/landorus_therian.bin" -/* - .align 2 -Cry_EnamorusTherian:: - .incbin "sound/direct_sound_samples/cries/enamorus_therian.bin" -*/ .align 2 Cry_KyuremWhite:: @@ -4240,7 +4253,9 @@ Cry_KyuremWhite:: .align 2 Cry_KyuremBlack:: .incbin "sound/direct_sound_samples/cries/kyurem_black.bin" +.endif +.if P_NEW_POKEMON >= GEN_6 .align 2 Cry_FloetteEternalFlower:: .incbin "sound/direct_sound_samples/cries/floette_eternal_flower.bin" @@ -4300,7 +4315,9 @@ Cry_NecrozmaDawnWings:: .align 2 Cry_NecrozmaUltra:: .incbin "sound/direct_sound_samples/cries/necrozma_ultra.bin" +.endif +.if P_NEW_POKEMON >= GEN_8 .align 2 Cry_ToxtricityLowKey:: .incbin "sound/direct_sound_samples/cries/toxtricity_low_key.bin" @@ -4340,6 +4357,12 @@ Cry_CalyrexIceRider:: .align 2 Cry_CalyrexShadowRider:: .incbin "sound/direct_sound_samples/cries/calyrex_shadow_rider.bin" + +/* + .align 2 +Cry_EnamorusTherian:: + .incbin "sound/direct_sound_samples/cries/enamorus_therian.bin" +*/ .endif .align 2 diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index afb9ecd9a..b67a2f0b3 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -387,7 +387,7 @@ const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/anim_fro const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/anim_front.4bpp.lz"); const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/anim_front.4bpp.lz"); const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front.4bpp.lz"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u32 gMonFrontPic_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/anim_front.4bpp.lz"); const u32 gMonFrontPic_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/anim_front.4bpp.lz"); const u32 gMonFrontPic_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/anim_front.4bpp.lz"); @@ -504,6 +504,8 @@ const u32 gMonFrontPic_Manaphy[] = INCBIN_U32("graphics/pokemon/manaphy/anim_fro const u32 gMonFrontPic_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/anim_front.4bpp.lz"); const u32 gMonFrontPic_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/anim_front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonFrontPic_Victini[] = INCBIN_U32("graphics/pokemon/victini/anim_front.4bpp.lz"); const u32 gMonFrontPic_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/anim_front.4bpp.lz"); const u32 gMonFrontPic_Servine[] = INCBIN_U32("graphics/pokemon/servine/anim_front.4bpp.lz"); @@ -663,6 +665,8 @@ const u32 gMonFrontPic_Kyurem[] = INCBIN_U32("graphics/pokemon/kyurem/anim_front const u32 gMonFrontPic_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/anim_front.4bpp.lz"); const u32 gMonFrontPic_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/anim_front.4bpp.lz"); const u32 gMonFrontPic_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/anim_front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonFrontPic_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/anim_front.4bpp.lz"); @@ -736,6 +740,8 @@ const u32 gMonFrontPic_Zygarde[] = INCBIN_U32("graphics/pokemon/zygarde/anim_fro const u32 gMonFrontPic_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/anim_front.4bpp.lz"); const u32 gMonFrontPic_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/anim_front.4bpp.lz"); const u32 gMonFrontPic_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/anim_front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u32 gMonFrontPic_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/front.4bpp.lz"); const u32 gMonFrontPic_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/front.4bpp.lz"); const u32 gMonFrontPic_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/front.4bpp.lz"); @@ -824,6 +830,8 @@ const u32 gMonFrontPic_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/ const u32 gMonFrontPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/front.4bpp.lz"); const u32 gMonFrontPic_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/front.4bpp.lz"); const u32 gMonFrontPic_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u32 gMonFrontPic_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/front.4bpp.lz"); const u32 gMonFrontPic_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/front.4bpp.lz"); const u32 gMonFrontPic_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/front.4bpp.lz"); @@ -921,6 +929,7 @@ const u32 gMonFrontPic_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/front. //const u32 gMonFrontPic_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/front.4bpp.lz"); const u32 gMonFrontPic_Overqwil[] = INCBIN_U32("graphics/pokemon/overqwil/front.4bpp.lz"); //const u32 gMonFrontPic_Enamorus[] = INCBIN_U32("graphics/pokemon/enamorus/front.4bpp.lz"); +#endif const u32 gMonFrontPic_VenusaurMega[] = INCBIN_U32("graphics/pokemon/venusaur/mega/front.4bpp.lz"); const u32 gMonFrontPic_CharizardMegaX[] = INCBIN_U32("graphics/pokemon/charizard/mega_x/front.4bpp.lz"); const u32 gMonFrontPic_CharizardMegaY[] = INCBIN_U32("graphics/pokemon/charizard/mega_y/front.4bpp.lz"); @@ -961,13 +970,19 @@ const u32 gMonFrontPic_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salamence/ const u32 gMonFrontPic_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/front.4bpp.lz"); const u32 gMonFrontPic_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/front.4bpp.lz"); const u32 gMonFrontPic_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/front.4bpp.lz"); +#if P_NEW_POKEMON >= GEN_4 const u32 gMonFrontPic_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/front.4bpp.lz"); const u32 gMonFrontPic_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/front.4bpp.lz"); const u32 gMonFrontPic_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/front.4bpp.lz"); const u32 gMonFrontPic_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/front.4bpp.lz"); const u32 gMonFrontPic_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonFrontPic_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonFrontPic_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/front.4bpp.lz"); +#endif const u32 gMonFrontPic_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/front.4bpp.lz"); const u32 gMonFrontPic_KyogrePrimal[] = INCBIN_U32("graphics/pokemon/kyogre/primal/front.4bpp.lz"); const u32 gMonFrontPic_GroudonPrimal[] = INCBIN_U32("graphics/pokemon/groudon/primal/front.4bpp.lz"); @@ -1004,10 +1019,12 @@ const u32 gMonFrontPic_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowkin const u32 gMonFrontPic_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/front.4bpp.lz"); const u32 gMonFrontPic_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/front.4bpp.lz"); const u32 gMonFrontPic_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/front.4bpp.lz"); +#if P_NEW_POKEMON >= GEN_5 const u32 gMonFrontPic_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/front.4bpp.lz"); const u32 gMonFrontPic_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/front.4bpp.lz"); const u32 gMonFrontPic_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/front.4bpp.lz"); const u32 gMonFrontPic_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/front.4bpp.lz"); +#endif const u32 gMonFrontPic_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/front.4bpp.lz"); @@ -1015,15 +1032,21 @@ const u32 gMonFrontPic_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electro const u32 gMonFrontPic_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/front.4bpp.lz"); +#if P_NEW_POKEMON >= GEN_5 //const u32 gMonFrontPic_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonFrontPic_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 //const u32 gMonFrontPic_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/front.4bpp.lz"); +#endif const u32 gMonFrontPic_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/front.4bpp.lz"); const u32 gMonFrontPic_PikachuRockStar[] = INCBIN_U32("graphics/pokemon/pikachu/rock_star/front.4bpp.lz"); const u32 gMonFrontPic_PikachuBelle[] = INCBIN_U32("graphics/pokemon/pikachu/belle/front.4bpp.lz"); @@ -1039,7 +1062,6 @@ const u32 gMonFrontPic_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/ const u32 gMonFrontPic_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/front.4bpp.lz"); const u32 gMonFrontPic_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/front.4bpp.lz"); const u32 gMonFrontPic_PichuSpikyEared[] = INCBIN_U32("graphics/pokemon/pichu/spiky_eared/front.4bpp.lz"); -#endif const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/anim_front.4bpp.lz"); const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/anim_front.4bpp.lz"); const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/anim_front.4bpp.lz"); @@ -1073,7 +1095,7 @@ const u32 gMonFrontPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/s const u32 gMonFrontPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/anim_front.4bpp.lz"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u32 gMonFrontPic_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/anim_front.4bpp.lz"); const u32 gMonFrontPic_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/anim_front.4bpp.lz"); const u32 gMonFrontPic_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/anim_front.4bpp.lz"); @@ -1090,6 +1112,8 @@ const u32 gMonFrontPic_DialgaOrigin[] = INCBIN_U32("graphics/pokemon/dialga/orig const u32 gMonFrontPic_PalkiaOrigin[] = INCBIN_U32("graphics/pokemon/palkia/origin/front.4bpp.lz"); const u32 gMonFrontPic_GiratinaOrigin[] = INCBIN_U32("graphics/pokemon/giratina/origin/anim_front.4bpp.lz"); const u32 gMonFrontPic_ShayminSky[] = INCBIN_U32("graphics/pokemon/shaymin/sky/anim_front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonFrontPic_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/front.4bpp.lz"); const u32 gMonFrontPic_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/front.4bpp.lz"); const u32 gMonFrontPic_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/anim_front.4bpp.lz"); @@ -1100,11 +1124,12 @@ const u32 gMonFrontPic_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/ const u32 gMonFrontPic_TornadusTherian[] = INCBIN_U32("graphics/pokemon/tornadus/therian/anim_front.4bpp.lz"); const u32 gMonFrontPic_ThundurusTherian[] = INCBIN_U32("graphics/pokemon/thundurus/therian/anim_front.4bpp.lz"); const u32 gMonFrontPic_LandorusTherian[] = INCBIN_U32("graphics/pokemon/landorus/therian/anim_front.4bpp.lz"); -//const u32 gMonFrontPic_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/front.4bpp.lz"); const u32 gMonFrontPic_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/white/anim_front.4bpp.lz"); const u32 gMonFrontPic_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black/anim_front.4bpp.lz"); const u32 gMonFrontPic_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/front.4bpp.lz"); const u32 gMonFrontPic_MeloettaPirouette[] = INCBIN_U32("graphics/pokemon/meloetta/pirouette/front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonFrontPic_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/anim_front.4bpp.lz"); const u32 gMonFrontPic_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/anim_front.4bpp.lz"); const u32 gMonFrontPic_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/anim_front.4bpp.lz"); @@ -1147,6 +1172,8 @@ const u32 gMonFrontPic_XerneasActive[] = INCBIN_U32("graphics/pokemon/xerneas/ac const u32 gMonFrontPic_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_percent/anim_front.4bpp.lz"); const u32 gMonFrontPic_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/anim_front.4bpp.lz"); const u32 gMonFrontPic_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/anim_front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u32 gMonFrontPic_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/front.4bpp.lz"); const u32 gMonFrontPic_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/front.4bpp.lz"); const u32 gMonFrontPic_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/front.4bpp.lz"); @@ -1159,6 +1186,8 @@ const u32 gMonFrontPic_NecrozmaDuskMane[] = INCBIN_U32("graphics/pokemon/necrozm const u32 gMonFrontPic_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozma/dawn_wings/front.4bpp.lz"); const u32 gMonFrontPic_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/front.4bpp.lz"); const u32 gMonFrontPic_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/front.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u32 gMonFrontPic_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/front.4bpp.lz"); const u32 gMonFrontPic_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/front.4bpp.lz"); const u32 gMonFrontPic_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/front.4bpp.lz"); @@ -1180,6 +1209,7 @@ const u32 gMonFrontPic_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/ const u32 gMonFrontPic_ZarudeDada[] = INCBIN_U32("graphics/pokemon/zarude/dada/front.4bpp.lz"); const u32 gMonFrontPic_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/front.4bpp.lz"); const u32 gMonFrontPic_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/front.4bpp.lz"); +//const u32 gMonFrontPic_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/front.4bpp.lz"); #endif const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/anim_front.4bpp.lz"); @@ -1572,7 +1602,7 @@ const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/back.4bpp const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/back.4bpp.lz"); const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/back.4bpp.lz"); const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back.4bpp.lz"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u32 gMonBackPic_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/back.4bpp.lz"); const u32 gMonBackPic_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/back.4bpp.lz"); const u32 gMonBackPic_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/back.4bpp.lz"); @@ -1847,6 +1877,8 @@ const u32 gMonBackPic_Kyurem[] = INCBIN_U32("graphics/pokemon/kyurem/back.4bpp.l const u32 gMonBackPic_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/back.4bpp.lz"); const u32 gMonBackPic_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/back.4bpp.lz"); const u32 gMonBackPic_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonBackPic_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/back.4bpp.lz"); const u32 gMonBackPic_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/back.4bpp.lz"); const u32 gMonBackPic_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/back.4bpp.lz"); @@ -1920,6 +1952,8 @@ const u32 gMonBackPic_Zygarde[] = INCBIN_U32("graphics/pokemon/zygarde/back.4bpp const u32 gMonBackPic_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/back.4bpp.lz"); const u32 gMonBackPic_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/back.4bpp.lz"); const u32 gMonBackPic_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u32 gMonBackPic_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/back.4bpp.lz"); const u32 gMonBackPic_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/back.4bpp.lz"); const u32 gMonBackPic_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/back.4bpp.lz"); @@ -2008,6 +2042,8 @@ const u32 gMonBackPic_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/b const u32 gMonBackPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/back.4bpp.lz"); const u32 gMonBackPic_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/back.4bpp.lz"); const u32 gMonBackPic_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u32 gMonBackPic_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/back.4bpp.lz"); const u32 gMonBackPic_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/back.4bpp.lz"); const u32 gMonBackPic_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/back.4bpp.lz"); @@ -2105,6 +2141,7 @@ const u32 gMonBackPic_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/back.4b //const u32 gMonBackPic_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/back.4bpp.lz"); const u32 gMonBackPic_Overqwil[] = INCBIN_U32("graphics/pokemon/overqwil/back.4bpp.lz"); //const u32 gMonBackPic_Enamorus[] = INCBIN_U32("graphics/pokemon/enamorus/back.4bpp.lz"); +#endif const u32 gMonBackPic_VenusaurMega[] = INCBIN_U32("graphics/pokemon/venusaur/mega/back.4bpp.lz"); const u32 gMonBackPic_CharizardMegaX[] = INCBIN_U32("graphics/pokemon/charizard/mega_x/back.4bpp.lz"); const u32 gMonBackPic_CharizardMegaY[] = INCBIN_U32("graphics/pokemon/charizard/mega_y/back.4bpp.lz"); @@ -2145,13 +2182,19 @@ const u32 gMonBackPic_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salamence/m const u32 gMonBackPic_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/back.4bpp.lz"); const u32 gMonBackPic_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/back.4bpp.lz"); const u32 gMonBackPic_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/back.4bpp.lz"); +#if P_NEW_POKEMON >= GEN_4 const u32 gMonBackPic_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/back.4bpp.lz"); const u32 gMonBackPic_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/back.4bpp.lz"); const u32 gMonBackPic_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/back.4bpp.lz"); const u32 gMonBackPic_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/back.4bpp.lz"); const u32 gMonBackPic_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonBackPic_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonBackPic_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/back.4bpp.lz"); +#endif const u32 gMonBackPic_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/back.4bpp.lz"); const u32 gMonBackPic_KyogrePrimal[] = INCBIN_U32("graphics/pokemon/kyogre/primal/back.4bpp.lz"); const u32 gMonBackPic_GroudonPrimal[] = INCBIN_U32("graphics/pokemon/groudon/primal/back.4bpp.lz"); @@ -2188,10 +2231,12 @@ const u32 gMonBackPic_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking const u32 gMonBackPic_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/back.4bpp.lz"); const u32 gMonBackPic_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/back.4bpp.lz"); const u32 gMonBackPic_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/back.4bpp.lz"); +#if P_NEW_POKEMON >= GEN_5 const u32 gMonBackPic_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/back.4bpp.lz"); const u32 gMonBackPic_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/back.4bpp.lz"); const u32 gMonBackPic_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/back.4bpp.lz"); const u32 gMonBackPic_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/back.4bpp.lz"); +#endif const u32 gMonBackPic_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/back.4bpp.lz"); const u32 gMonBackPic_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/back.4bpp.lz"); const u32 gMonBackPic_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/back.4bpp.lz"); @@ -2199,15 +2244,21 @@ const u32 gMonBackPic_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrod const u32 gMonBackPic_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/back.4bpp.lz"); const u32 gMonBackPic_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/back.4bpp.lz"); const u32 gMonBackPic_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/back.4bpp.lz"); +#if P_NEW_POKEMON >= GEN_5 //const u32 gMonBackPic_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/back.4bpp.lz"); const u32 gMonBackPic_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/back.4bpp.lz"); const u32 gMonBackPic_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/back.4bpp.lz"); const u32 gMonBackPic_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/back.4bpp.lz"); const u32 gMonBackPic_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonBackPic_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/back.4bpp.lz"); const u32 gMonBackPic_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/back.4bpp.lz"); const u32 gMonBackPic_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 //const u32 gMonBackPic_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/back.4bpp.lz"); +#endif const u32 gMonBackPic_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/back.4bpp.lz"); const u32 gMonBackPic_PikachuRockStar[] = INCBIN_U32("graphics/pokemon/pikachu/rock_star/back.4bpp.lz"); const u32 gMonBackPic_PikachuBelle[] = INCBIN_U32("graphics/pokemon/pikachu/belle/back.4bpp.lz"); @@ -2223,7 +2274,6 @@ const u32 gMonBackPic_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/a const u32 gMonBackPic_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/back.4bpp.lz"); const u32 gMonBackPic_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/back.4bpp.lz"); const u32 gMonBackPic_PichuSpikyEared[] = INCBIN_U32("graphics/pokemon/pichu/spiky_eared/back.4bpp.lz"); -#endif const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/back.4bpp.lz"); const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/back.4bpp.lz"); const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/back.4bpp.lz"); @@ -2257,7 +2307,7 @@ const u32 gMonBackPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/sn const u32 gMonBackPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/back.4bpp.lz"); const u32 gMonBackPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/back.4bpp.lz"); const u32 gMonBackPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/back.4bpp.lz"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u32 gMonBackPic_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/back.4bpp.lz"); const u32 gMonBackPic_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/back.4bpp.lz"); const u32 gMonBackPic_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/back.4bpp.lz"); @@ -2274,6 +2324,8 @@ const u32 gMonBackPic_DialgaOrigin[] = INCBIN_U32("graphics/pokemon/dialga/origi const u32 gMonBackPic_PalkiaOrigin[] = INCBIN_U32("graphics/pokemon/palkia/origin/back.4bpp.lz"); const u32 gMonBackPic_GiratinaOrigin[] = INCBIN_U32("graphics/pokemon/giratina/origin/back.4bpp.lz"); const u32 gMonBackPic_ShayminSky[] = INCBIN_U32("graphics/pokemon/shaymin/sky/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonBackPic_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/back.4bpp.lz"); const u32 gMonBackPic_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/back.4bpp.lz"); const u32 gMonBackPic_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/back.4bpp.lz"); @@ -2284,11 +2336,12 @@ const u32 gMonBackPic_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/w const u32 gMonBackPic_TornadusTherian[] = INCBIN_U32("graphics/pokemon/tornadus/therian/back.4bpp.lz"); const u32 gMonBackPic_ThundurusTherian[] = INCBIN_U32("graphics/pokemon/thundurus/therian/back.4bpp.lz"); const u32 gMonBackPic_LandorusTherian[] = INCBIN_U32("graphics/pokemon/landorus/therian/back.4bpp.lz"); -//const u32 gMonBackPic_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/back.4bpp.lz"); const u32 gMonBackPic_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/white/back.4bpp.lz"); const u32 gMonBackPic_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black/back.4bpp.lz"); const u32 gMonBackPic_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/back.4bpp.lz"); const u32 gMonBackPic_MeloettaPirouette[] = INCBIN_U32("graphics/pokemon/meloetta/pirouette/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonBackPic_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/back.4bpp.lz"); const u32 gMonBackPic_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/back.4bpp.lz"); const u32 gMonBackPic_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/back.4bpp.lz"); @@ -2331,6 +2384,8 @@ const u32 gMonBackPic_XerneasActive[] = INCBIN_U32("graphics/pokemon/xerneas/act const u32 gMonBackPic_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_percent/back.4bpp.lz"); const u32 gMonBackPic_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/back.4bpp.lz"); const u32 gMonBackPic_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u32 gMonBackPic_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/back.4bpp.lz"); const u32 gMonBackPic_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/back.4bpp.lz"); const u32 gMonBackPic_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/back.4bpp.lz"); @@ -2343,6 +2398,8 @@ const u32 gMonBackPic_NecrozmaDuskMane[] = INCBIN_U32("graphics/pokemon/necrozma const u32 gMonBackPic_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozma/dawn_wings/back.4bpp.lz"); const u32 gMonBackPic_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/back.4bpp.lz"); const u32 gMonBackPic_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/back.4bpp.lz"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u32 gMonBackPic_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/back.4bpp.lz"); const u32 gMonBackPic_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/back.4bpp.lz"); const u32 gMonBackPic_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/back.4bpp.lz"); @@ -2364,6 +2421,7 @@ const u32 gMonBackPic_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/u const u32 gMonBackPic_ZarudeDada[] = INCBIN_U32("graphics/pokemon/zarude/dada/back.4bpp.lz"); const u32 gMonBackPic_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/back.4bpp.lz"); const u32 gMonBackPic_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/back.4bpp.lz"); +//const u32 gMonBackPic_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/back.4bpp.lz"); #endif const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/normal.gbapal.lz"); @@ -2754,7 +2812,7 @@ const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/normal.gb const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/normal.gbapal.lz"); const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/normal.gbapal.lz"); const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u32 gMonPalette_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/normal.gbapal.lz"); const u32 gMonPalette_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/normal.gbapal.lz"); const u32 gMonPalette_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/normal.gbapal.lz"); @@ -2864,6 +2922,8 @@ const u32 gMonPalette_Manaphy[] = INCBIN_U32("graphics/pokemon/manaphy/normal.gb const u32 gMonPalette_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/normal.gbapal.lz"); const u32 gMonPalette_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/normal.gbapal.lz"); const u32 gMonPalette_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonPalette_Victini[] = INCBIN_U32("graphics/pokemon/victini/normal.gbapal.lz"); const u32 gMonPalette_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/normal.gbapal.lz"); const u32 gMonPalette_Servine[] = INCBIN_U32("graphics/pokemon/servine/normal.gbapal.lz"); @@ -3023,6 +3083,8 @@ const u32 gMonPalette_Kyurem[] = INCBIN_U32("graphics/pokemon/kyurem/normal.gbap const u32 gMonPalette_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/normal.gbapal.lz"); const u32 gMonPalette_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/normal.gbapal.lz"); const u32 gMonPalette_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonPalette_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/normal.gbapal.lz"); const u32 gMonPalette_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/normal.gbapal.lz"); const u32 gMonPalette_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/normal.gbapal.lz"); @@ -3096,6 +3158,8 @@ const u32 gMonPalette_Zygarde[] = INCBIN_U32("graphics/pokemon/zygarde/normal.gb const u32 gMonPalette_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/normal.gbapal.lz"); const u32 gMonPalette_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/normal.gbapal.lz"); const u32 gMonPalette_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u32 gMonPalette_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/normal.gbapal.lz"); const u32 gMonPalette_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/normal.gbapal.lz"); const u32 gMonPalette_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/normal.gbapal.lz"); @@ -3184,6 +3248,8 @@ const u32 gMonPalette_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/n const u32 gMonPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/normal.gbapal.lz"); const u32 gMonPalette_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/normal.gbapal.lz"); const u32 gMonPalette_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u32 gMonPalette_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/normal.gbapal.lz"); const u32 gMonPalette_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/normal.gbapal.lz"); const u32 gMonPalette_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/normal.gbapal.lz"); @@ -3281,6 +3347,7 @@ const u32 gMonPalette_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/normal. //const u32 gMonPalette_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/normal.gbapal.lz"); const u32 gMonPalette_Overqwil[] = INCBIN_U32("graphics/pokemon/overqwil/normal.gbapal.lz"); //const u32 gMonPalette_Enamorus[] = INCBIN_U32("graphics/pokemon/enamorus/normal.gbapal.lz"); +#endif const u32 gMonPalette_VenusaurMega[] = INCBIN_U32("graphics/pokemon/venusaur/mega/normal.gbapal.lz"); const u32 gMonPalette_CharizardMegaX[] = INCBIN_U32("graphics/pokemon/charizard/mega_x/normal.gbapal.lz"); const u32 gMonPalette_CharizardMegaY[] = INCBIN_U32("graphics/pokemon/charizard/mega_y/normal.gbapal.lz"); @@ -3321,13 +3388,19 @@ const u32 gMonPalette_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salamence/m const u32 gMonPalette_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/normal.gbapal.lz"); const u32 gMonPalette_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/normal.gbapal.lz"); const u32 gMonPalette_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/normal.gbapal.lz"); +#if P_NEW_POKEMON >= GEN_4 const u32 gMonPalette_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/normal.gbapal.lz"); const u32 gMonPalette_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/normal.gbapal.lz"); const u32 gMonPalette_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/normal.gbapal.lz"); const u32 gMonPalette_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/normal.gbapal.lz"); const u32 gMonPalette_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonPalette_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonPalette_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/normal.gbapal.lz"); +#endif const u32 gMonPalette_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/normal.gbapal.lz"); const u32 gMonPalette_KyogrePrimal[] = INCBIN_U32("graphics/pokemon/kyogre/primal/normal.gbapal.lz"); const u32 gMonPalette_GroudonPrimal[] = INCBIN_U32("graphics/pokemon/groudon/primal/normal.gbapal.lz"); @@ -3364,10 +3437,12 @@ const u32 gMonPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking const u32 gMonPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/normal.gbapal.lz"); const u32 gMonPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/normal.gbapal.lz"); const u32 gMonPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/normal.gbapal.lz"); +#if P_NEW_POKEMON >= GEN_5 const u32 gMonPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/normal.gbapal.lz"); const u32 gMonPalette_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/normal.gbapal.lz"); const u32 gMonPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/normal.gbapal.lz"); const u32 gMonPalette_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/normal.gbapal.lz"); +#endif const u32 gMonPalette_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/normal.gbapal.lz"); const u32 gMonPalette_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/normal.gbapal.lz"); const u32 gMonPalette_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/normal.gbapal.lz"); @@ -3375,15 +3450,21 @@ const u32 gMonPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrod const u32 gMonPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/normal.gbapal.lz"); const u32 gMonPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/normal.gbapal.lz"); const u32 gMonPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/normal.gbapal.lz"); +#if P_NEW_POKEMON >= GEN_5 //const u32 gMonPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/normal.gbapal.lz"); const u32 gMonPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/normal.gbapal.lz"); const u32 gMonPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/normal.gbapal.lz"); const u32 gMonPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/normal.gbapal.lz"); const u32 gMonPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/normal.gbapal.lz"); const u32 gMonPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/normal.gbapal.lz"); const u32 gMonPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 //const u32 gMonPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/normal.gbapal.lz"); +#endif const u32 gMonPalette_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/normal.gbapal.lz"); const u32 gMonPalette_PikachuRockStar[] = INCBIN_U32("graphics/pokemon/pikachu/rock_star/normal.gbapal.lz"); const u32 gMonPalette_PikachuBelle[] = INCBIN_U32("graphics/pokemon/pikachu/belle/normal.gbapal.lz"); @@ -3399,14 +3480,13 @@ const u32 gMonPalette_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/a const u32 gMonPalette_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/normal.gbapal.lz"); const u32 gMonPalette_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/normal.gbapal.lz"); const u32 gMonPalette_PichuSpikyEared[] = INCBIN_U32("graphics/pokemon/pichu/spiky_eared/normal.gbapal.lz"); -#endif const u32 gMonPalette_CastformSunny[] = INCBIN_U32("graphics/pokemon/castform/sunny/normal.gbapal.lz"); const u32 gMonPalette_CastformRainy[] = INCBIN_U32("graphics/pokemon/castform/rainy/normal.gbapal.lz"); const u32 gMonPalette_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/snowy/normal.gbapal.lz"); const u32 gMonPalette_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/normal.gbapal.lz"); const u32 gMonPalette_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/normal.gbapal.lz"); const u32 gMonPalette_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/normal.gbapal.lz"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u32 gMonPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/normal.gbapal.lz"); const u32 gMonPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/normal.gbapal.lz"); const u32 gMonPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/normal.gbapal.lz"); @@ -3440,6 +3520,8 @@ const u32 gMonPalette_ArceusIce[] = INCBIN_U32("graphics/pokemon/arceus/ice/norm const u32 gMonPalette_ArceusDragon[] = INCBIN_U32("graphics/pokemon/arceus/dragon/normal.gbapal.lz"); const u32 gMonPalette_ArceusDark[] = INCBIN_U32("graphics/pokemon/arceus/dark/normal.gbapal.lz"); const u32 gMonPalette_ArceusFairy[] = INCBIN_U32("graphics/pokemon/arceus/fairy/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/normal.gbapal.lz"); const u32 gMonPalette_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/normal.gbapal.lz"); const u32 gMonPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/normal.gbapal.lz"); @@ -3453,7 +3535,6 @@ const u32 gMonPalette_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/w const u32 gMonPalette_TornadusTherian[] = INCBIN_U32("graphics/pokemon/tornadus/therian/normal.gbapal.lz"); const u32 gMonPalette_ThundurusTherian[] = INCBIN_U32("graphics/pokemon/thundurus/therian/normal.gbapal.lz"); const u32 gMonPalette_LandorusTherian[] = INCBIN_U32("graphics/pokemon/landorus/therian/normal.gbapal.lz"); -//const u32 gMonPalette_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/normal.gbapal.lz"); const u32 gMonPalette_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/white/normal.gbapal.lz"); const u32 gMonPalette_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black/normal.gbapal.lz"); const u32 gMonPalette_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/normal.gbapal.lz"); @@ -3462,6 +3543,8 @@ const u32 gMonPalette_GenesectDouseDrive[] = INCBIN_U32("graphics/pokemon/genese const u32 gMonPalette_GenesectShockDrive[] = INCBIN_U32("graphics/pokemon/genesect/shock_drive/normal.gbapal.lz"); const u32 gMonPalette_GenesectBurnDrive[] = INCBIN_U32("graphics/pokemon/genesect/burn_drive/normal.gbapal.lz"); const u32 gMonPalette_GenesectChillDrive[] = INCBIN_U32("graphics/pokemon/genesect/chill_drive/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonPalette_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/normal.gbapal.lz"); const u32 gMonPalette_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/normal.gbapal.lz"); const u32 gMonPalette_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/normal.gbapal.lz"); @@ -3510,6 +3593,8 @@ const u32 gMonPalette_XerneasActive[] = INCBIN_U32("graphics/pokemon/xerneas/act const u32 gMonPalette_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_percent/normal.gbapal.lz"); const u32 gMonPalette_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/normal.gbapal.lz"); const u32 gMonPalette_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u32 gMonPalette_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/normal.gbapal.lz"); const u32 gMonPalette_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/normal.gbapal.lz"); const u32 gMonPalette_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/normal.gbapal.lz"); @@ -3545,6 +3630,8 @@ const u32 gMonPalette_NecrozmaDuskMane[] = INCBIN_U32("graphics/pokemon/necrozma const u32 gMonPalette_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozma/dawn_wings/normal.gbapal.lz"); const u32 gMonPalette_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/normal.gbapal.lz"); const u32 gMonPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/normal.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u32 gMonPalette_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/normal.gbapal.lz"); const u32 gMonPalette_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/normal.gbapal.lz"); const u32 gMonPalette_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/normal.gbapal.lz"); @@ -3566,6 +3653,7 @@ const u32 gMonPalette_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/u const u32 gMonPalette_ZarudeDada[] = INCBIN_U32("graphics/pokemon/zarude/dada/normal.gbapal.lz"); const u32 gMonPalette_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/normal.gbapal.lz"); const u32 gMonPalette_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/normal.gbapal.lz"); +//const u32 gMonPalette_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/normal.gbapal.lz"); #endif const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/egg/normal.gbapal.lz"); @@ -3957,7 +4045,7 @@ const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/shin const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/shiny.gbapal.lz"); const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/shiny.gbapal.lz"); const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u32 gMonShinyPalette_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/shiny.gbapal.lz"); const u32 gMonShinyPalette_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/shiny.gbapal.lz"); const u32 gMonShinyPalette_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/shiny.gbapal.lz"); @@ -4067,6 +4155,8 @@ const u32 gMonShinyPalette_Manaphy[] = INCBIN_U32("graphics/pokemon/manaphy/shin const u32 gMonShinyPalette_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/shiny.gbapal.lz"); const u32 gMonShinyPalette_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/shiny.gbapal.lz"); const u32 gMonShinyPalette_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonShinyPalette_Victini[] = INCBIN_U32("graphics/pokemon/victini/shiny.gbapal.lz"); const u32 gMonShinyPalette_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/shiny.gbapal.lz"); const u32 gMonShinyPalette_Servine[] = INCBIN_U32("graphics/pokemon/servine/shiny.gbapal.lz"); @@ -4226,6 +4316,8 @@ const u32 gMonShinyPalette_Kyurem[] = INCBIN_U32("graphics/pokemon/kyurem/shiny. const u32 gMonShinyPalette_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/shiny.gbapal.lz"); const u32 gMonShinyPalette_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/shiny.gbapal.lz"); const u32 gMonShinyPalette_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonShinyPalette_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/shiny.gbapal.lz"); const u32 gMonShinyPalette_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/shiny.gbapal.lz"); const u32 gMonShinyPalette_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/shiny.gbapal.lz"); @@ -4299,6 +4391,8 @@ const u32 gMonShinyPalette_Zygarde[] = INCBIN_U32("graphics/pokemon/zygarde/shin const u32 gMonShinyPalette_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/shiny.gbapal.lz"); const u32 gMonShinyPalette_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/shiny.gbapal.lz"); const u32 gMonShinyPalette_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u32 gMonShinyPalette_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/shiny.gbapal.lz"); const u32 gMonShinyPalette_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/shiny.gbapal.lz"); const u32 gMonShinyPalette_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/shiny.gbapal.lz"); @@ -4387,6 +4481,8 @@ const u32 gMonShinyPalette_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacepha const u32 gMonShinyPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/shiny.gbapal.lz"); const u32 gMonShinyPalette_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/shiny.gbapal.lz"); const u32 gMonShinyPalette_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u32 gMonShinyPalette_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/shiny.gbapal.lz"); const u32 gMonShinyPalette_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/shiny.gbapal.lz"); const u32 gMonShinyPalette_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/shiny.gbapal.lz"); @@ -4484,6 +4580,7 @@ const u32 gMonShinyPalette_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/sh //const u32 gMonShinyPalette_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/shiny.gbapal.lz"); const u32 gMonShinyPalette_Overqwil[] = INCBIN_U32("graphics/pokemon/overqwil/shiny.gbapal.lz"); //const u32 gMonShinyPalette_Enamorus[] = INCBIN_U32("graphics/pokemon/enamorus/shiny.gbapal.lz"); +#endif const u32 gMonShinyPalette_VenusaurMega[] = INCBIN_U32("graphics/pokemon/venusaur/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_CharizardMegaX[] = INCBIN_U32("graphics/pokemon/charizard/mega_x/shiny.gbapal.lz"); const u32 gMonShinyPalette_CharizardMegaY[] = INCBIN_U32("graphics/pokemon/charizard/mega_y/shiny.gbapal.lz"); @@ -4524,13 +4621,19 @@ const u32 gMonShinyPalette_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salame const u32 gMonShinyPalette_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/shiny.gbapal.lz"); +#if P_NEW_POKEMON >= GEN_4 const u32 gMonShinyPalette_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonShinyPalette_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonShinyPalette_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/shiny.gbapal.lz"); +#endif const u32 gMonShinyPalette_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_KyogrePrimal[] = INCBIN_U32("graphics/pokemon/kyogre/primal/shiny.gbapal.lz"); const u32 gMonShinyPalette_GroudonPrimal[] = INCBIN_U32("graphics/pokemon/groudon/primal/shiny.gbapal.lz"); @@ -4567,10 +4670,12 @@ const u32 gMonShinyPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slo const u32 gMonShinyPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/shiny.gbapal.lz"); +#if P_NEW_POKEMON >= GEN_5 const u32 gMonShinyPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/shiny.gbapal.lz"); +#endif const u32 gMonShinyPalette_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/shiny.gbapal.lz"); @@ -4578,15 +4683,21 @@ const u32 gMonShinyPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/ele const u32 gMonShinyPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/shiny.gbapal.lz"); +#if P_NEW_POKEMON >= GEN_5 //const u32 gMonShinyPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonShinyPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 //const u32 gMonShinyPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/shiny.gbapal.lz"); +#endif const u32 gMonShinyPalette_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/shiny.gbapal.lz"); const u32 gMonShinyPalette_PikachuRockStar[] = INCBIN_U32("graphics/pokemon/pikachu/rock_star/shiny.gbapal.lz"); const u32 gMonShinyPalette_PikachuBelle[] = INCBIN_U32("graphics/pokemon/pikachu/belle/shiny.gbapal.lz"); @@ -4602,14 +4713,13 @@ const u32 gMonShinyPalette_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pika const u32 gMonShinyPalette_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/shiny.gbapal.lz"); const u32 gMonShinyPalette_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/shiny.gbapal.lz"); const u32 gMonShinyPalette_PichuSpikyEared[] = INCBIN_U32("graphics/pokemon/pichu/spiky_eared/shiny.gbapal.lz"); -#endif const u32 gMonShinyPalette_CastformSunny[] = INCBIN_U32("graphics/pokemon/castform/sunny/shiny.gbapal.lz"); const u32 gMonShinyPalette_CastformRainy[] = INCBIN_U32("graphics/pokemon/castform/rainy/shiny.gbapal.lz"); const u32 gMonShinyPalette_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/snowy/shiny.gbapal.lz"); const u32 gMonShinyPalette_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/shiny.gbapal.lz"); const u32 gMonShinyPalette_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/shiny.gbapal.lz"); const u32 gMonShinyPalette_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/shiny.gbapal.lz"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u32 gMonShinyPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/shiny.gbapal.lz"); const u32 gMonShinyPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/shiny.gbapal.lz"); const u32 gMonShinyPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/shiny.gbapal.lz"); @@ -4643,6 +4753,8 @@ const u32 gMonShinyPalette_ArceusIce[] = INCBIN_U32("graphics/pokemon/arceus/ice const u32 gMonShinyPalette_ArceusDragon[] = INCBIN_U32("graphics/pokemon/arceus/dragon/shiny.gbapal.lz"); const u32 gMonShinyPalette_ArceusDark[] = INCBIN_U32("graphics/pokemon/arceus/dark/shiny.gbapal.lz"); const u32 gMonShinyPalette_ArceusFairy[] = INCBIN_U32("graphics/pokemon/arceus/fairy/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u32 gMonShinyPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/shiny.gbapal.lz"); const u32 gMonShinyPalette_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/shiny.gbapal.lz"); const u32 gMonShinyPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/shiny.gbapal.lz"); @@ -4656,7 +4768,6 @@ const u32 gMonShinyPalette_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsb const u32 gMonShinyPalette_TornadusTherian[] = INCBIN_U32("graphics/pokemon/tornadus/therian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ThundurusTherian[] = INCBIN_U32("graphics/pokemon/thundurus/therian/shiny.gbapal.lz"); const u32 gMonShinyPalette_LandorusTherian[] = INCBIN_U32("graphics/pokemon/landorus/therian/shiny.gbapal.lz"); -//const u32 gMonShinyPalette_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/shiny.gbapal.lz"); const u32 gMonShinyPalette_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/white/shiny.gbapal.lz"); const u32 gMonShinyPalette_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black/shiny.gbapal.lz"); const u32 gMonShinyPalette_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/shiny.gbapal.lz"); @@ -4665,6 +4776,8 @@ const u32 gMonShinyPalette_GenesectDouseDrive[] = INCBIN_U32("graphics/pokemon/g const u32 gMonShinyPalette_GenesectShockDrive[] = INCBIN_U32("graphics/pokemon/genesect/shock_drive/shiny.gbapal.lz"); const u32 gMonShinyPalette_GenesectBurnDrive[] = INCBIN_U32("graphics/pokemon/genesect/burn_drive/shiny.gbapal.lz"); const u32 gMonShinyPalette_GenesectChillDrive[] = INCBIN_U32("graphics/pokemon/genesect/chill_drive/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u32 gMonShinyPalette_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/shiny.gbapal.lz"); const u32 gMonShinyPalette_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/shiny.gbapal.lz"); const u32 gMonShinyPalette_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/shiny.gbapal.lz"); @@ -4713,6 +4826,8 @@ const u32 gMonShinyPalette_XerneasActive[] = INCBIN_U32("graphics/pokemon/xernea const u32 gMonShinyPalette_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_percent/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/shiny.gbapal.lz"); const u32 gMonShinyPalette_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u32 gMonShinyPalette_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/shiny.gbapal.lz"); const u32 gMonShinyPalette_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/shiny.gbapal.lz"); const u32 gMonShinyPalette_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/shiny.gbapal.lz"); @@ -4742,6 +4857,8 @@ const u32 gMonShinyPalette_NecrozmaDuskMane[] = INCBIN_U32("graphics/pokemon/nec const u32 gMonShinyPalette_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozma/dawn_wings/shiny.gbapal.lz"); const u32 gMonShinyPalette_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/shiny.gbapal.lz"); const u32 gMonShinyPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/shiny.gbapal.lz"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u32 gMonShinyPalette_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/shiny.gbapal.lz"); const u32 gMonShinyPalette_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/shiny.gbapal.lz"); const u32 gMonShinyPalette_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/shiny.gbapal.lz"); @@ -4763,6 +4880,7 @@ const u32 gMonShinyPalette_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/poke const u32 gMonShinyPalette_ZarudeDada[] = INCBIN_U32("graphics/pokemon/zarude/dada/shiny.gbapal.lz"); const u32 gMonShinyPalette_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/shiny.gbapal.lz"); const u32 gMonShinyPalette_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/shiny.gbapal.lz"); +//const u32 gMonShinyPalette_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/shiny.gbapal.lz"); #endif const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/icon.4bpp"); @@ -5152,7 +5270,7 @@ const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/icon.4bpp"); const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/icon.4bpp"); const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/icon.4bpp"); const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u8 gMonIcon_Turtwig[] = INCBIN_U8("graphics/pokemon/turtwig/icon.4bpp"); const u8 gMonIcon_Grotle[] = INCBIN_U8("graphics/pokemon/grotle/icon.4bpp"); const u8 gMonIcon_Torterra[] = INCBIN_U8("graphics/pokemon/torterra/icon.4bpp"); @@ -5260,6 +5378,8 @@ const u8 gMonIcon_Manaphy[] = INCBIN_U8("graphics/pokemon/manaphy/icon.4bpp"); const u8 gMonIcon_Darkrai[] = INCBIN_U8("graphics/pokemon/darkrai/icon.4bpp"); const u8 gMonIcon_Shaymin[] = INCBIN_U8("graphics/pokemon/shaymin/icon.4bpp"); const u8 gMonIcon_Arceus[] = INCBIN_U8("graphics/pokemon/arceus/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u8 gMonIcon_Victini[] = INCBIN_U8("graphics/pokemon/victini/icon.4bpp"); const u8 gMonIcon_Snivy[] = INCBIN_U8("graphics/pokemon/snivy/icon.4bpp"); const u8 gMonIcon_Servine[] = INCBIN_U8("graphics/pokemon/servine/icon.4bpp"); @@ -5419,6 +5539,8 @@ const u8 gMonIcon_Kyurem[] = INCBIN_U8("graphics/pokemon/kyurem/icon.4bpp"); const u8 gMonIcon_Keldeo[] = INCBIN_U8("graphics/pokemon/keldeo/icon.4bpp"); const u8 gMonIcon_Meloetta[] = INCBIN_U8("graphics/pokemon/meloetta/icon.4bpp"); const u8 gMonIcon_Genesect[] = INCBIN_U8("graphics/pokemon/genesect/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u8 gMonIcon_Chespin[] = INCBIN_U8("graphics/pokemon/chespin/icon.4bpp"); const u8 gMonIcon_Quilladin[] = INCBIN_U8("graphics/pokemon/quilladin/icon.4bpp"); const u8 gMonIcon_Chesnaught[] = INCBIN_U8("graphics/pokemon/chesnaught/icon.4bpp"); @@ -5492,6 +5614,8 @@ const u8 gMonIcon_Zygarde[] = INCBIN_U8("graphics/pokemon/zygarde/icon.4bpp"); const u8 gMonIcon_Diancie[] = INCBIN_U8("graphics/pokemon/diancie/icon.4bpp"); const u8 gMonIcon_Hoopa[] = INCBIN_U8("graphics/pokemon/hoopa/icon.4bpp"); const u8 gMonIcon_Volcanion[] = INCBIN_U8("graphics/pokemon/volcanion/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u8 gMonIcon_Rowlet[] = INCBIN_U8("graphics/pokemon/rowlet/icon.4bpp"); const u8 gMonIcon_Dartrix[] = INCBIN_U8("graphics/pokemon/dartrix/icon.4bpp"); const u8 gMonIcon_Decidueye[] = INCBIN_U8("graphics/pokemon/decidueye/icon.4bpp"); @@ -5580,6 +5704,8 @@ const u8 gMonIcon_Blacephalon[] = INCBIN_U8("graphics/pokemon/blacephalon/icon.4 const u8 gMonIcon_Zeraora[] = INCBIN_U8("graphics/pokemon/zeraora/icon.4bpp"); const u8 gMonIcon_Meltan[] = INCBIN_U8("graphics/pokemon/meltan/icon.4bpp"); const u8 gMonIcon_Melmetal[] = INCBIN_U8("graphics/pokemon/melmetal/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u8 gMonIcon_Grookey[] = INCBIN_U8("graphics/pokemon/grookey/icon.4bpp"); const u8 gMonIcon_Thwackey[] = INCBIN_U8("graphics/pokemon/thwackey/icon.4bpp"); const u8 gMonIcon_Rillaboom[] = INCBIN_U8("graphics/pokemon/rillaboom/icon.4bpp"); @@ -5677,6 +5803,7 @@ const u8 gMonIcon_BasculegionF[] = INCBIN_U8("graphics/pokemon/basculegion/iconf const u8 gMonIcon_Sneasler[] = INCBIN_U8("graphics/pokemon/sneasler/icon.4bpp"); const u8 gMonIcon_Overqwil[] = INCBIN_U8("graphics/pokemon/overqwil/icon.4bpp"); const u8 gMonIcon_Enamorus[] = INCBIN_U8("graphics/pokemon/enamorus/icon.4bpp"); +#endif const u8 gMonIcon_VenusaurMega[] = INCBIN_U8("graphics/pokemon/venusaur/mega/icon.4bpp"); const u8 gMonIcon_CharizardMegaX[] = INCBIN_U8("graphics/pokemon/charizard/mega_x/icon.4bpp"); const u8 gMonIcon_CharizardMegaY[] = INCBIN_U8("graphics/pokemon/charizard/mega_y/icon.4bpp"); @@ -5717,13 +5844,19 @@ const u8 gMonIcon_SalamenceMega[] = INCBIN_U8("graphics/pokemon/salamence/mega/i const u8 gMonIcon_MetagrossMega[] = INCBIN_U8("graphics/pokemon/metagross/mega/icon.4bpp"); const u8 gMonIcon_LatiasMega[] = INCBIN_U8("graphics/pokemon/latias/mega/icon.4bpp"); const u8 gMonIcon_LatiosMega[] = INCBIN_U8("graphics/pokemon/latios/mega/icon.4bpp"); +#if P_NEW_POKEMON >= GEN_4 const u8 gMonIcon_LopunnyMega[] = INCBIN_U8("graphics/pokemon/lopunny/mega/icon.4bpp"); const u8 gMonIcon_GarchompMega[] = INCBIN_U8("graphics/pokemon/garchomp/mega/icon.4bpp"); const u8 gMonIcon_LucarioMega[] = INCBIN_U8("graphics/pokemon/lucario/mega/icon.4bpp"); const u8 gMonIcon_AbomasnowMega[] = INCBIN_U8("graphics/pokemon/abomasnow/mega/icon.4bpp"); const u8 gMonIcon_GalladeMega[] = INCBIN_U8("graphics/pokemon/gallade/mega/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u8 gMonIcon_AudinoMega[] = INCBIN_U8("graphics/pokemon/audino/mega/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u8 gMonIcon_DiancieMega[] = INCBIN_U8("graphics/pokemon/diancie/mega/icon.4bpp"); +#endif const u8 gMonIcon_RayquazaMega[] = INCBIN_U8("graphics/pokemon/rayquaza/mega/icon.4bpp"); const u8 gMonIcon_KyogrePrimal[] = INCBIN_U8("graphics/pokemon/kyogre/primal/icon.4bpp"); const u8 gMonIcon_GroudonPrimal[] = INCBIN_U8("graphics/pokemon/groudon/primal/icon.4bpp"); @@ -5760,10 +5893,12 @@ const u8 gMonIcon_SlowkingGalarian[] = INCBIN_U8("graphics/pokemon/slowking/gala const u8 gMonIcon_CorsolaGalarian[] = INCBIN_U8("graphics/pokemon/corsola/galarian/icon.4bpp"); const u8 gMonIcon_ZigzagoonGalarian[] = INCBIN_U8("graphics/pokemon/zigzagoon/galarian/icon.4bpp"); const u8 gMonIcon_LinooneGalarian[] = INCBIN_U8("graphics/pokemon/linoone/galarian/icon.4bpp"); +#if P_NEW_POKEMON >= GEN_5 const u8 gMonIcon_DarumakaGalarian[] = INCBIN_U8("graphics/pokemon/darumaka/galarian/icon.4bpp"); const u8 gMonIcon_DarmanitanGalarian[] = INCBIN_U8("graphics/pokemon/darmanitan/galarian/icon.4bpp"); const u8 gMonIcon_YamaskGalarian[] = INCBIN_U8("graphics/pokemon/yamask/galarian/icon.4bpp"); const u8 gMonIcon_StunfiskGalarian[] = INCBIN_U8("graphics/pokemon/stunfisk/galarian/icon.4bpp"); +#endif const u8 gMonIcon_GrowlitheHisuian[] = INCBIN_U8("graphics/pokemon/growlithe/hisuian/icon.4bpp"); const u8 gMonIcon_ArcanineHisuian[] = INCBIN_U8("graphics/pokemon/arcanine/hisuian/icon.4bpp"); const u8 gMonIcon_VoltorbHisuian[] = INCBIN_U8("graphics/pokemon/voltorb/hisuian/icon.4bpp"); @@ -5771,15 +5906,21 @@ const u8 gMonIcon_ElectrodeHisuian[] = INCBIN_U8("graphics/pokemon/electrode/his const u8 gMonIcon_TyphlosionHisuian[] = INCBIN_U8("graphics/pokemon/typhlosion/hisuian/icon.4bpp"); const u8 gMonIcon_QwilfishHisuian[] = INCBIN_U8("graphics/pokemon/qwilfish/hisuian/icon.4bpp"); const u8 gMonIcon_SneaselHisuian[] = INCBIN_U8("graphics/pokemon/sneasel/hisuian/icon.4bpp"); +#if P_NEW_POKEMON >= GEN_5 const u8 gMonIcon_SamurottHisuian[] = INCBIN_U8("graphics/pokemon/samurott/hisuian/icon.4bpp"); const u8 gMonIcon_LilligantHisuian[] = INCBIN_U8("graphics/pokemon/lilligant/hisuian/icon.4bpp"); const u8 gMonIcon_ZoruaHisuian[] = INCBIN_U8("graphics/pokemon/zorua/hisuian/icon.4bpp"); const u8 gMonIcon_ZoroarkHisuian[] = INCBIN_U8("graphics/pokemon/zoroark/hisuian/icon.4bpp"); const u8 gMonIcon_BraviaryHisuian[] = INCBIN_U8("graphics/pokemon/braviary/hisuian/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u8 gMonIcon_SliggooHisuian[] = INCBIN_U8("graphics/pokemon/sliggoo/hisuian/icon.4bpp"); const u8 gMonIcon_GoodraHisuian[] = INCBIN_U8("graphics/pokemon/goodra/hisuian/icon.4bpp"); const u8 gMonIcon_AvaluggHisuian[] = INCBIN_U8("graphics/pokemon/avalugg/hisuian/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u8 gMonIcon_DecidueyeHisuian[] = INCBIN_U8("graphics/pokemon/decidueye/hisuian/icon.4bpp"); +#endif const u8 gMonIcon_PikachuCosplay[] = INCBIN_U8("graphics/pokemon/pikachu/cosplay/icon.4bpp"); const u8 gMonIcon_PikachuRockStar[] = INCBIN_U8("graphics/pokemon/pikachu/rock_star/icon.4bpp"); const u8 gMonIcon_PikachuBelle[] = INCBIN_U8("graphics/pokemon/pikachu/belle/icon.4bpp"); @@ -5794,7 +5935,6 @@ const u8 gMonIcon_PikachuKalosCap[] = INCBIN_U8("graphics/pokemon/pikachu/kalos_ const u8 gMonIcon_PikachuAlolaCap[] = INCBIN_U8("graphics/pokemon/pikachu/alola_cap/icon.4bpp"); const u8 gMonIcon_PikachuPartnerCap[] = INCBIN_U8("graphics/pokemon/pikachu/partner_cap/icon.4bpp"); const u8 gMonIcon_PichuSpikyEared[] = INCBIN_U8("graphics/pokemon/pichu/spiky_eared/icon.4bpp"); -#endif const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/unown/b/icon.4bpp"); const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/unown/c/icon.4bpp"); const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/unown/d/icon.4bpp"); @@ -5828,7 +5968,7 @@ const u8 gMonIcon_CastformSnowy[] = INCBIN_U8("graphics/pokemon/castform/snowy/i const u8 gMonIcon_DeoxysAttack[] = INCBIN_U8("graphics/pokemon/deoxys/attack/icon.4bpp"); const u8 gMonIcon_DeoxysDefense[] = INCBIN_U8("graphics/pokemon/deoxys/defense/icon.4bpp"); const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/deoxys/speed/icon.4bpp"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u8 gMonIcon_BurmySandyCloak[] = INCBIN_U8("graphics/pokemon/burmy/sandy_cloak/icon.4bpp"); const u8 gMonIcon_BurmyTrashCloak[] = INCBIN_U8("graphics/pokemon/burmy/trash_cloak/icon.4bpp"); const u8 gMonIcon_WormadamSandyCloak[] = INCBIN_U8("graphics/pokemon/wormadam/sandy_cloak/icon.4bpp"); @@ -5845,6 +5985,8 @@ const u8 gMonIcon_DialgaOrigin[] = INCBIN_U8("graphics/pokemon/dialga/origin/ico const u8 gMonIcon_PalkiaOrigin[] = INCBIN_U8("graphics/pokemon/palkia/origin/icon.4bpp"); const u8 gMonIcon_GiratinaOrigin[] = INCBIN_U8("graphics/pokemon/giratina/origin/icon.4bpp"); const u8 gMonIcon_ShayminSky[] = INCBIN_U8("graphics/pokemon/shaymin/sky/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u8 gMonIcon_BasculinBlueStriped[] = INCBIN_U8("graphics/pokemon/basculin/blue_striped/icon.4bpp"); const u8 gMonIcon_BasculinWhiteStriped[] = INCBIN_U8("graphics/pokemon/basculin/white_striped/icon.4bpp"); const u8 gMonIcon_DarmanitanZenMode[] = INCBIN_U8("graphics/pokemon/darmanitan/zen_mode/icon.4bpp"); @@ -5858,11 +6000,12 @@ const u8 gMonIcon_SawsbuckWinter[] = INCBIN_U8("graphics/pokemon/sawsbuck/winter const u8 gMonIcon_TornadusTherian[] = INCBIN_U8("graphics/pokemon/tornadus/therian/icon.4bpp"); const u8 gMonIcon_ThundurusTherian[] = INCBIN_U8("graphics/pokemon/thundurus/therian/icon.4bpp"); const u8 gMonIcon_LandorusTherian[] = INCBIN_U8("graphics/pokemon/landorus/therian/icon.4bpp"); -const u8 gMonIcon_EnamorusTherian[] = INCBIN_U8("graphics/pokemon/enamorus/therian/icon.4bpp"); const u8 gMonIcon_KyuremWhite[] = INCBIN_U8("graphics/pokemon/kyurem/white/icon.4bpp"); const u8 gMonIcon_KyuremBlack[] = INCBIN_U8("graphics/pokemon/kyurem/black/icon.4bpp"); const u8 gMonIcon_KeldeoResolute[] = INCBIN_U8("graphics/pokemon/keldeo/resolute/icon.4bpp"); const u8 gMonIcon_MeloettaPirouette[] = INCBIN_U8("graphics/pokemon/meloetta/pirouette/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u8 gMonIcon_GreninjaAsh[] = INCBIN_U8("graphics/pokemon/greninja/ash/icon.4bpp"); const u8 gMonIcon_VivillonPolar[] = INCBIN_U8("graphics/pokemon/vivillon/polar/icon.4bpp"); const u8 gMonIcon_VivillonTundra[] = INCBIN_U8("graphics/pokemon/vivillon/tundra/icon.4bpp"); @@ -5911,6 +6054,8 @@ const u8 gMonIcon_XerneasActive[] = INCBIN_U8("graphics/pokemon/xerneas/active/i const u8 gMonIcon_Zygarde10[] = INCBIN_U8("graphics/pokemon/zygarde/10_percent/icon.4bpp"); const u8 gMonIcon_ZygardeComplete[] = INCBIN_U8("graphics/pokemon/zygarde/complete/icon.4bpp"); const u8 gMonIcon_HoopaUnbound[] = INCBIN_U8("graphics/pokemon/hoopa/unbound/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u8 gMonIcon_OricorioPomPom[] = INCBIN_U8("graphics/pokemon/oricorio/pom_pom/icon.4bpp"); const u8 gMonIcon_OricorioPau[] = INCBIN_U8("graphics/pokemon/oricorio/pau/icon.4bpp"); const u8 gMonIcon_OricorioSensu[] = INCBIN_U8("graphics/pokemon/oricorio/sensu/icon.4bpp"); @@ -5929,6 +6074,8 @@ const u8 gMonIcon_NecrozmaDuskMane[] = INCBIN_U8("graphics/pokemon/necrozma/dusk const u8 gMonIcon_NecrozmaDawnWings[] = INCBIN_U8("graphics/pokemon/necrozma/dawn_wings/icon.4bpp"); const u8 gMonIcon_NecrozmaUltra[] = INCBIN_U8("graphics/pokemon/necrozma/ultra/icon.4bpp"); const u8 gMonIcon_MagearnaOriginalColor[] = INCBIN_U8("graphics/pokemon/magearna/original_color/icon.4bpp"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u8 gMonIcon_CramorantGulping[] = INCBIN_U8("graphics/pokemon/cramorant/gulping/icon.4bpp"); const u8 gMonIcon_CramorantGorging[] = INCBIN_U8("graphics/pokemon/cramorant/gorging/icon.4bpp"); const u8 gMonIcon_ToxtricityLowKey[] = INCBIN_U8("graphics/pokemon/toxtricity/low_key/icon.4bpp"); @@ -5949,6 +6096,7 @@ const u8 gMonIcon_EternatusEternamax[] = INCBIN_U8("graphics/pokemon/eternatus/e const u8 gMonIcon_ZarudeDada[] = INCBIN_U8("graphics/pokemon/zarude/dada/icon.4bpp"); const u8 gMonIcon_CalyrexIceRider[] = INCBIN_U8("graphics/pokemon/calyrex/ice_rider/icon.4bpp"); const u8 gMonIcon_CalyrexShadowRider[] = INCBIN_U8("graphics/pokemon/calyrex/shadow_rider/icon.4bpp"); +const u8 gMonIcon_EnamorusTherian[] = INCBIN_U8("graphics/pokemon/enamorus/therian/icon.4bpp"); #endif const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp"); @@ -6339,7 +6487,7 @@ const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/latios/footprint.1 const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/footprint.1bpp"); const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp"); const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/footprint.1bpp"); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u8 gMonFootprint_Turtwig[] = INCBIN_U8("graphics/pokemon/turtwig/footprint.1bpp"); const u8 gMonFootprint_Grotle[] = INCBIN_U8("graphics/pokemon/grotle/footprint.1bpp"); const u8 gMonFootprint_Torterra[] = INCBIN_U8("graphics/pokemon/torterra/footprint.1bpp"); @@ -6447,6 +6595,8 @@ const u8 gMonFootprint_Manaphy[] = INCBIN_U8("graphics/pokemon/manaphy/footprint const u8 gMonFootprint_Darkrai[] = INCBIN_U8("graphics/pokemon/darkrai/footprint.1bpp"); const u8 gMonFootprint_Shaymin[] = INCBIN_U8("graphics/pokemon/shaymin/footprint.1bpp"); const u8 gMonFootprint_Arceus[] = INCBIN_U8("graphics/pokemon/arceus/footprint.1bpp"); +#endif +#if P_NEW_POKEMON >= GEN_5 const u8 gMonFootprint_Victini[] = INCBIN_U8("graphics/pokemon/victini/footprint.1bpp"); const u8 gMonFootprint_Snivy[] = INCBIN_U8("graphics/pokemon/snivy/footprint.1bpp"); const u8 gMonFootprint_Servine[] = INCBIN_U8("graphics/pokemon/servine/footprint.1bpp"); @@ -6603,6 +6753,8 @@ const u8 gMonFootprint_Kyurem[] = INCBIN_U8("graphics/pokemon/kyurem/footprint.1 const u8 gMonFootprint_Keldeo[] = INCBIN_U8("graphics/pokemon/keldeo/footprint.1bpp"); const u8 gMonFootprint_Meloetta[] = INCBIN_U8("graphics/pokemon/meloetta/footprint.1bpp"); const u8 gMonFootprint_Genesect[] = INCBIN_U8("graphics/pokemon/genesect/footprint.1bpp"); +#endif +#if P_NEW_POKEMON >= GEN_6 const u8 gMonFootprint_Chespin[] = INCBIN_U8("graphics/pokemon/chespin/footprint.1bpp"); const u8 gMonFootprint_Quilladin[] = INCBIN_U8("graphics/pokemon/quilladin/footprint.1bpp"); const u8 gMonFootprint_Chesnaught[] = INCBIN_U8("graphics/pokemon/chesnaught/footprint.1bpp"); @@ -6675,6 +6827,8 @@ const u8 gMonFootprint_Zygarde[] = INCBIN_U8("graphics/pokemon/zygarde/footprint const u8 gMonFootprint_Diancie[] = INCBIN_U8("graphics/pokemon/diancie/footprint.1bpp"); const u8 gMonFootprint_Hoopa[] = INCBIN_U8("graphics/pokemon/hoopa/footprint.1bpp"); const u8 gMonFootprint_Volcanion[] = INCBIN_U8("graphics/pokemon/volcanion/footprint.1bpp"); +#endif +#if P_NEW_POKEMON >= GEN_7 const u8 gMonFootprint_Rowlet[] = INCBIN_U8("graphics/pokemon/rowlet/footprint.1bpp"); const u8 gMonFootprint_Dartrix[] = INCBIN_U8("graphics/pokemon/dartrix/footprint.1bpp"); const u8 gMonFootprint_Decidueye[] = INCBIN_U8("graphics/pokemon/decidueye/footprint.1bpp"); @@ -6763,6 +6917,8 @@ const u8 gMonFootprint_Blacephalon[] = INCBIN_U8("graphics/pokemon/blacephalon/f const u8 gMonFootprint_Zeraora[] = INCBIN_U8("graphics/pokemon/zeraora/footprint.1bpp"); const u8 gMonFootprint_Meltan[] = INCBIN_U8("graphics/pokemon/meltan/footprint.1bpp"); const u8 gMonFootprint_Melmetal[] = INCBIN_U8("graphics/pokemon/melmetal/footprint.1bpp"); +#endif +#if P_NEW_POKEMON >= GEN_8 const u8 gMonFootprint_Grookey[] = INCBIN_U8("graphics/pokemon/grookey/footprint.1bpp"); const u8 gMonFootprint_Thwackey[] = INCBIN_U8("graphics/pokemon/thwackey/footprint.1bpp"); const u8 gMonFootprint_Rillaboom[] = INCBIN_U8("graphics/pokemon/rillaboom/footprint.1bpp"); diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 41b5143cf..274d3faad 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -10637,7 +10637,7 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_MYTHICAL, }, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TURTWIG] = { .baseHP = 55, @@ -13216,7 +13216,9 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_MYTHICAL, }, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_VICTINI] = { .baseHP = 100, @@ -17046,7 +17048,9 @@ const struct BaseStats gBaseStats[] = }, [SPECIES_GENESECT] = GENESECT_BASE_STATS, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_CHESPIN] = { .baseHP = 56, @@ -18633,7 +18637,9 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_MYTHICAL, }, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROWLET] = { .baseHP = 68, @@ -20681,7 +20687,9 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_MYTHICAL, }, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_GROOKEY] = { .baseHP = 50, @@ -22854,6 +22862,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_LEGENDARY, }, +#endif [SPECIES_VENUSAUR_MEGA] = { @@ -23837,6 +23846,7 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_LEGENDARY, }, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LOPUNNY_MEGA] = { .baseHP = 65, @@ -23959,7 +23969,9 @@ const struct BaseStats gBaseStats[] = .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, }, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_AUDINO_MEGA] = { .baseHP = 103, @@ -23985,7 +23997,9 @@ const struct BaseStats gBaseStats[] = .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, }, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_DIANCIE_MEGA] = { .baseHP = 50, @@ -24011,6 +24025,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_MYTHICAL, }, +#endif [SPECIES_RAYQUAZA_MEGA] = { @@ -24928,6 +24943,7 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_GALARIAN_FORM, }, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DARUMAKA_GALARIAN] = { .baseHP = 70, @@ -25027,6 +25043,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_GALARIAN_FORM, }, +#endif [SPECIES_GROWLITHE_HISUIAN] = { @@ -25205,6 +25222,7 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_HISUIAN_FORM, }, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SAMUROTT_HISUIAN] = { .baseHP = 90, @@ -25332,7 +25350,9 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_HISUIAN_FORM, }, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_SLIGGOO_HISUIAN] = { .baseHP = 58, @@ -25410,7 +25430,9 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_HISUIAN_FORM, }, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE_HISUIAN] = { .baseHP = 88, @@ -25435,6 +25457,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_HISUIAN_FORM, }, +#endif [SPECIES_PIKACHU_COSPLAY] = COSPLAY_PIKACHU_BASE_STATS(FLIP), [SPECIES_PIKACHU_ROCK_STAR] = COSPLAY_PIKACHU_BASE_STATS(FLIP), @@ -25453,7 +25476,7 @@ const struct BaseStats gBaseStats[] = [SPECIES_PIKACHU_WORLD_CAP] = CAP_PIKACHU_BASE_STATS(FLIP), [SPECIES_PICHU_SPIKY_EARED] = PICHU_BASE_STATS(NO_FLIP), -#endif + [SPECIES_UNOWN_B] = UNOWN_BASE_STATS(NO_FLIP), [SPECIES_UNOWN_C] = UNOWN_BASE_STATS(NO_FLIP), [SPECIES_UNOWN_D] = UNOWN_BASE_STATS(NO_FLIP), @@ -25560,7 +25583,7 @@ const struct BaseStats gBaseStats[] = .noFlip = TRUE, }, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_BURMY_SANDY_CLOAK] = BURMY_BASE_STATS(BODY_COLOR_BROWN), [SPECIES_BURMY_TRASH_CLOAK] = BURMY_BASE_STATS(BODY_COLOR_RED), @@ -25744,7 +25767,9 @@ const struct BaseStats gBaseStats[] = [SPECIES_ARCEUS_DRAGON] = ARCEUS_BASE_STATS(TYPE_DRAGON), [SPECIES_ARCEUS_DARK] = ARCEUS_BASE_STATS(TYPE_DARK), [SPECIES_ARCEUS_FAIRY] = ARCEUS_BASE_STATS(TYPE_FAIRY), +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_BASCULIN_BLUE_STRIPED] = { .baseHP = 70, @@ -25927,31 +25952,6 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_LEGENDARY, }, - [SPECIES_ENAMORUS_THERIAN] = - { - .baseHP = 74, - .baseAttack = 115, - .baseDefense = 110, - .baseSpeed = 46, - .baseSpAttack = 135, - .baseSpDefense = 100, - .type1 = TYPE_FAIRY, - .type2 = TYPE_FLYING, - .catchRate = 3, - .expYield = 270, - .evYield_SpAttack = 3, - .genderRatio = MON_FEMALE, - .eggCycles = 120, - .friendship = 90, - .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .abilities = {ABILITY_OVERCOAT, ABILITY_NONE}, - .bodyColor = BODY_COLOR_PINK, - .noFlip = FALSE, - .flags = FLAG_LEGENDARY, - }, - [SPECIES_KYUREM_WHITE] = { .baseHP = 125, @@ -26060,7 +26060,9 @@ const struct BaseStats gBaseStats[] = [SPECIES_GENESECT_SHOCK_DRIVE] = GENESECT_BASE_STATS, [SPECIES_GENESECT_BURN_DRIVE] = GENESECT_BASE_STATS, [SPECIES_GENESECT_CHILL_DRIVE] = GENESECT_BASE_STATS, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_GRENINJA_BATTLE_BOND] = { .baseHP = 72, @@ -26262,6 +26264,8 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 41, .baseSpAttack = 44, .baseSpDefense = 55, + .itemCommon = ITEM_MIRACLE_SEED, + .itemRare = ITEM_MIRACLE_SEED, PUMKPABOO_MISC_STATS, }, @@ -26295,6 +26299,8 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 54, .baseSpAttack = 58, .baseSpDefense = 75, + .itemCommon = ITEM_MIRACLE_SEED, + .itemRare = ITEM_MIRACLE_SEED, GOURGEIST_MISC_STATS, }, @@ -26353,7 +26359,9 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, .flags = FLAG_MYTHICAL, }, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ORICORIO_POM_POM] = ORICORIO_BASE_STATS(TYPE_ELECTRIC, BODY_COLOR_YELLOW), [SPECIES_ORICORIO_PAU] = ORICORIO_BASE_STATS(TYPE_PSYCHIC, BODY_COLOR_PINK), [SPECIES_ORICORIO_SENSU] = ORICORIO_BASE_STATS(TYPE_GHOST, BODY_COLOR_PURPLE), @@ -26545,7 +26553,9 @@ const struct BaseStats gBaseStats[] = }, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = MAGEARNA_BASE_STATS(BODY_COLOR_RED), +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_CRAMORANT_GULPING] = CRAMORANT_BASE_STATS, [SPECIES_CRAMORANT_GORGING] = CRAMORANT_BASE_STATS, @@ -26763,5 +26773,30 @@ const struct BaseStats gBaseStats[] = .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, }, + + [SPECIES_ENAMORUS_THERIAN] = + { + .baseHP = 74, + .baseAttack = 115, + .baseDefense = 110, + .baseSpeed = 46, + .baseSpAttack = 135, + .baseSpDefense = 100, + .type1 = TYPE_FAIRY, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 270, + .evYield_SpAttack = 3, + .genderRatio = MON_FEMALE, + .eggCycles = 120, + .friendship = 90, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .abilities = {ABILITY_OVERCOAT, ABILITY_NONE}, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + .flags = FLAG_LEGENDARY, + }, #endif }; diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h index 3a5f3c332..896332649 100644 --- a/src/data/pokemon/egg_moves.h +++ b/src/data/pokemon/egg_moves.h @@ -2387,7 +2387,7 @@ const u16 gEggMoves[] = { MOVE_ENDURE, MOVE_DEFENSE_CURL), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 egg_moves(TURTWIG, MOVE_WORRY_SEED, MOVE_GROWTH, @@ -2877,7 +2877,9 @@ const u16 gEggMoves[] = { MOVE_AVALANCHE, MOVE_NATURAL_GIFT, MOVE_BULLET_SEED), +#endif +#if P_NEW_POKEMON >= GEN_5 egg_moves(SNIVY, MOVE_CAPTIVATE, MOVE_NATURAL_GIFT, @@ -3600,7 +3602,9 @@ const u16 gEggMoves[] = { MOVE_ZEN_HEADBUTT, MOVE_MORNING_SUN, MOVE_MAGNET_RISE), +#endif +#if P_NEW_POKEMON >= GEN_6 egg_moves(CHESPIN, MOVE_SYNTHESIS, MOVE_BELLY_DRUM, @@ -3807,7 +3811,9 @@ const u16 gEggMoves[] = { MOVE_SNATCH, MOVE_OUTRAGE, MOVE_TAILWIND), +#endif +#if P_NEW_POKEMON >= GEN_7 egg_moves(ROWLET, MOVE_CURSE, MOVE_CONFUSE_RAY, @@ -4034,7 +4040,9 @@ const u16 gEggMoves[] = { MOVE_COUNTER, MOVE_REVERSAL, MOVE_DRAGON_BREATH), +#endif +#if P_NEW_POKEMON >= GEN_8 egg_moves(GROOKEY, MOVE_GROWTH, MOVE_HAMMER_ARM, @@ -4230,6 +4238,7 @@ const u16 gEggMoves[] = { MOVE_DISABLE, MOVE_DRAGON_TAIL, MOVE_SUCKER_PUNCH), +#endif egg_moves(RATTATA_ALOLAN, MOVE_COUNTER, @@ -4382,6 +4391,7 @@ const u16 gEggMoves[] = { MOVE_QUICK_GUARD, MOVE_KNOCK_OFF), +#if P_NEW_POKEMON >= GEN_5 egg_moves(DARUMAKA_GALARIAN, MOVE_FOCUS_PUNCH, MOVE_HAMMER_ARM, @@ -4404,13 +4414,13 @@ const u16 gEggMoves[] = { MOVE_COUNTER, MOVE_PAIN_SPLIT, MOVE_REFLECT_TYPE), +#endif egg_moves(INDEEDEE_FEMALE, MOVE_PSYCH_UP, MOVE_FAKE_OUT, MOVE_PSYCHO_SHIFT, MOVE_HEAL_PULSE), -#endif EGG_MOVES_TERMINATOR }; diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index bf15638f2..766a25cb6 100644 --- a/src/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h @@ -61,8 +61,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}}, [SPECIES_SLOWBRO] = {{EVO_MEGA_EVOLUTION, ITEM_SLOWBRONITE, SPECIES_SLOWBRO_MEGA}}, [SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_MAGNETON] = {{EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_MAGNEZONE}, {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_MAGNEZONE}}, +#endif [SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}}, [SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}}, [SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}}, @@ -78,20 +80,28 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR_ALOLAN}}, [SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}, {EVO_LEVEL_NIGHT, 28, SPECIES_MAROWAK_ALOLAN}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LICKITUNG] = {{EVO_MOVE, MOVE_ROLLOUT, SPECIES_LICKILICKY}}, +#endif [SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}}, [SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_RHYDON] = {{EVO_TRADE_ITEM, ITEM_PROTECTOR, SPECIES_RHYPERIOR}}, +#endif [SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TANGELA] = {{EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_TANGROWTH}}, +#endif [SPECIES_KANGASKHAN] = {{EVO_MEGA_EVOLUTION, ITEM_KANGASKHANITE, SPECIES_KANGASKHAN_MEGA}}, [SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}}, [SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}}, [SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}}, [SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}}, [SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_ELECTABUZZ] = {{EVO_TRADE_ITEM, ITEM_ELECTIRIZER, SPECIES_ELECTIVIRE}}, [SPECIES_MAGMAR] = {{EVO_TRADE_ITEM, ITEM_MAGMARIZER, SPECIES_MAGMORTAR}}, +#endif [SPECIES_PINSIR] = {{EVO_MEGA_EVOLUTION, ITEM_PINSIRITE, SPECIES_PINSIR_MEGA}}, [SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}}, [SPECIES_GYARADOS] = {{EVO_MEGA_EVOLUTION, ITEM_GYARADOSITE, SPECIES_GYARADOS_MEGA}}, @@ -100,11 +110,16 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}, + #if P_NEW_POKEMON >= GEN_4 {EVO_SPECIFIC_MAP, MAP_PETALBURG_WOODS, SPECIES_LEAFEON}, {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_LEAFEON}, {EVO_SPECIFIC_MAP, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM, SPECIES_GLACEON}, {EVO_ITEM, ITEM_ICE_STONE, SPECIES_GLACEON}, - {EVO_MOVE_TYPE, TYPE_FAIRY, SPECIES_SYLVEON}}, + #endif + #if P_NEW_POKEMON >= GEN_6 + {EVO_MOVE_TYPE, TYPE_FAIRY, SPECIES_SYLVEON} + #endif + }, [SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UPGRADE, SPECIES_PORYGON2}}, [SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}}, [SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}}, @@ -128,7 +143,9 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}}, [SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}}, [SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TOGETIC] = {{EVO_ITEM, ITEM_SHINY_STONE, SPECIES_TOGEKISS}}, +#endif [SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}}, [SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}}, [SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}}, @@ -138,26 +155,38 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}}, [SPECIES_AIPOM] = {{EVO_MOVE, MOVE_DOUBLE_HIT, SPECIES_AMBIPOM}}, [SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_YANMA] = {{EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_YANMEGA}}, +#endif [SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_MURKROW] = {{EVO_ITEM, ITEM_DUSK_STONE, SPECIES_HONCHKROW}}, [SPECIES_MISDREAVUS] = {{EVO_ITEM, ITEM_DUSK_STONE, SPECIES_MISMAGIUS}}, +#endif [SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_GLIGAR] = {{EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_FANG, SPECIES_GLISCOR}}, +#endif [SPECIES_STEELIX] = {{EVO_MEGA_EVOLUTION, ITEM_STEELIXITE, SPECIES_STEELIX_MEGA}}, [SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}}, [SPECIES_SCIZOR] = {{EVO_MEGA_EVOLUTION, ITEM_SCIZORITE, SPECIES_SCIZOR_MEGA}}, [SPECIES_HERACROSS] = {{EVO_MEGA_EVOLUTION, ITEM_HERACRONITE, SPECIES_HERACROSS_MEGA}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_SNEASEL] = {{EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_CLAW, SPECIES_WEAVILE}}, +#endif [SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}}, [SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}}, [SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_PILOSWINE] = {{EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_MAMOSWINE}}, +#endif [SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}}, [SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}}, [SPECIES_HOUNDOOM] = {{EVO_MEGA_EVOLUTION, ITEM_HOUNDOOMINITE, SPECIES_HOUNDOOM_MEGA}}, [SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_PORYGON2] = {{EVO_TRADE_ITEM, ITEM_DUBIOUS_DISC, SPECIES_PORYGON_Z}}, +#endif [SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE}, {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}}, @@ -195,7 +224,9 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}}, [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}}, [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_NOSEPASS] = {{EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_PROBOPASS}}, +#endif [SPECIES_SABLEYE] = {{EVO_MEGA_EVOLUTION, ITEM_SABLENITE, SPECIES_SABLEYE_MEGA}}, [SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}}, [SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}}, @@ -214,7 +245,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}}, [SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}}, [SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}, - {EVO_ITEM_FEMALE, ITEM_DAWN_STONE, SPECIES_FROSLASS}}, + #if P_NEW_POKEMON >= GEN_4 + {EVO_ITEM_FEMALE, ITEM_DAWN_STONE, SPECIES_FROSLASS} + #endif + }, [SPECIES_GLALIE] = {{EVO_MEGA_EVOLUTION, ITEM_GLALITITE, SPECIES_GLALIE_MEGA}}, [SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}}, [SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}}, @@ -225,8 +259,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_ALTARIA] = {{EVO_MEGA_EVOLUTION, ITEM_ALTARIANITE, SPECIES_ALTARIA_MEGA}}, [SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}}, [SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}}, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_DUSCLOPS] = {{EVO_TRADE_ITEM, ITEM_REAPER_CLOTH, SPECIES_DUSKNOIR}}, [SPECIES_ROSELIA] = {{EVO_ITEM, ITEM_SHINY_STONE, SPECIES_ROSERADE}}, +#endif [SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}}, [SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}}, [SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}}, @@ -244,7 +280,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}}, [SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}}, [SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}, - {EVO_ITEM_MALE, ITEM_DAWN_STONE, SPECIES_GALLADE}}, + #if P_NEW_POKEMON >= GEN_4 + {EVO_ITEM_MALE, ITEM_DAWN_STONE, SPECIES_GALLADE} + #endif + }, [SPECIES_GARDEVOIR] = {{EVO_MEGA_EVOLUTION, ITEM_GARDEVOIRITE, SPECIES_GARDEVOIR_MEGA}}, [SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}}, [SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}}, @@ -258,6 +297,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_GROUDON] = {{EVO_PRIMAL_REVERSION, ITEM_RED_ORB, SPECIES_GROUDON_PRIMAL}}, [SPECIES_RAYQUAZA] = {{EVO_MOVE_MEGA_EVOLUTION, MOVE_DRAGON_ASCENT, SPECIES_RAYQUAZA_MEGA}}, +#if P_NEW_POKEMON >= GEN_4 // Gens 4-7 [SPECIES_TURTWIG] = {{EVO_LEVEL, 18, SPECIES_GROTLE}}, [SPECIES_GROTLE] = {{EVO_LEVEL, 32, SPECIES_TORTERRA}}, @@ -304,6 +344,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_SNOVER] = {{EVO_LEVEL, 40, SPECIES_ABOMASNOW}}, [SPECIES_ABOMASNOW] = {{EVO_MEGA_EVOLUTION, ITEM_ABOMASITE, SPECIES_ABOMASNOW_MEGA}}, [SPECIES_GALLADE] = {{EVO_MEGA_EVOLUTION, ITEM_GALLADITE, SPECIES_GALLADE_MEGA}}, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SNIVY] = {{EVO_LEVEL, 17, SPECIES_SERVINE}}, [SPECIES_SERVINE] = {{EVO_LEVEL, 36, SPECIES_SERPERIOR}}, [SPECIES_TEPIG] = {{EVO_LEVEL, 17, SPECIES_PIGNITE}}, @@ -379,6 +421,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_DEINO] = {{EVO_LEVEL, 50, SPECIES_ZWEILOUS}}, [SPECIES_ZWEILOUS] = {{EVO_LEVEL, 64, SPECIES_HYDREIGON}}, [SPECIES_LARVESTA] = {{EVO_LEVEL, 59, SPECIES_VOLCARONA}}, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_CHESPIN] = {{EVO_LEVEL, 16, SPECIES_QUILLADIN}}, [SPECIES_QUILLADIN] = {{EVO_LEVEL, 36, SPECIES_CHESNAUGHT}}, [SPECIES_FENNEKIN] = {{EVO_LEVEL, 16, SPECIES_BRAIXEN}}, @@ -415,6 +459,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_BERGMITE] = {{EVO_LEVEL, 37, SPECIES_AVALUGG}}, [SPECIES_NOIBAT] = {{EVO_LEVEL, 48, SPECIES_NOIVERN}}, [SPECIES_DIANCIE] = {{EVO_MEGA_EVOLUTION, ITEM_DIANCITE, SPECIES_DIANCIE_MEGA}}, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROWLET] = {{EVO_LEVEL, 17, SPECIES_DARTRIX}}, [SPECIES_DARTRIX] = {{EVO_LEVEL, 34, SPECIES_DECIDUEYE}}, [SPECIES_LITTEN] = {{EVO_LEVEL, 17, SPECIES_TORRACAT}}, @@ -449,6 +495,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_COSMOEM] = {{EVO_LEVEL_DAY, 53, SPECIES_SOLGALEO}, {EVO_LEVEL_NIGHT, 53, SPECIES_LUNALA}}, [SPECIES_POIPOLE] = {{EVO_MOVE, MOVE_DRAGON_PULSE, SPECIES_NAGANADEL}}, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_GROOKEY] = {{EVO_LEVEL, 16, SPECIES_THWACKEY}}, [SPECIES_THWACKEY] = {{EVO_LEVEL, 35, SPECIES_RILLABOOM}}, [SPECIES_SCORBUNNY] = {{EVO_LEVEL, 16, SPECIES_RABOOT}}, @@ -495,6 +543,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_DRAKLOAK] = {{EVO_LEVEL, 60, SPECIES_DRAGAPULT}}, [SPECIES_KUBFU] = {{EVO_DARK_SCROLL, 0, SPECIES_URSHIFU}, {EVO_WATER_SCROLL, 0, SPECIES_URSHIFU_RAPID_STRIKE_STYLE}}, +#endif [SPECIES_RATTATA_ALOLAN] = {{EVO_LEVEL_NIGHT, 20, SPECIES_RATICATE_ALOLAN}}, [SPECIES_SANDSHREW_ALOLAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_SANDSLASH_ALOLAN}}, [SPECIES_VULPIX_ALOLAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_NINETALES_ALOLAN}}, @@ -503,10 +552,13 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_GEODUDE_ALOLAN] = {{EVO_LEVEL, 25, SPECIES_GRAVELER_ALOLAN}}, [SPECIES_GRAVELER_ALOLAN] = {{EVO_TRADE, 0, SPECIES_GOLEM_ALOLAN}}, [SPECIES_GRIMER_ALOLAN] = {{EVO_LEVEL, 38, SPECIES_MUK_ALOLAN}}, +#if P_NEW_POKEMON >= GEN_8 [SPECIES_MEOWTH_GALARIAN] = {{EVO_LEVEL, 28, SPECIES_PERRSERKER}}, +#endif [SPECIES_PONYTA_GALARIAN] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH_GALARIAN}}, [SPECIES_SLOWPOKE_GALARIAN] = {{EVO_ITEM, ITEM_GALARICA_CUFF, SPECIES_SLOWBRO_GALARIAN}, {EVO_ITEM, ITEM_GALARICA_WREATH, SPECIES_SLOWKING_GALARIAN}}, +#if P_NEW_POKEMON >= GEN_8 [SPECIES_FARFETCHD_GALARIAN] = {{EVO_CRITICAL_HITS, 3, SPECIES_SIRFETCHD}}, [SPECIES_MR_MIME_GALARIAN] = {{EVO_LEVEL, 42, SPECIES_MR_RIME}}, [SPECIES_CORSOLA_GALARIAN] = {{EVO_LEVEL, 38, SPECIES_CURSOLA}}, @@ -514,14 +566,23 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_LINOONE_GALARIAN] = {{EVO_LEVEL_NIGHT, 35, SPECIES_OBSTAGOON}}, [SPECIES_DARUMAKA_GALARIAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_DARMANITAN_GALARIAN}}, [SPECIES_YAMASK_GALARIAN] = {{EVO_SCRIPT_TRIGGER_DMG, 49, SPECIES_RUNERIGUS}}, +#else + [SPECIES_ZIGZAGOON_GALARIAN] = {{EVO_LEVEL, 20, SPECIES_LINOONE_GALARIAN}}, + [SPECIES_DARUMAKA_GALARIAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_DARMANITAN_GALARIAN}}, +#endif +#if P_NEW_POKEMON >= GEN_4 [SPECIES_BURMY_SANDY_CLOAK] = {{EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_SANDY_CLOAK}, {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}}, [SPECIES_BURMY_TRASH_CLOAK] = {{EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_TRASH_CLOAK}, {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}}, [SPECIES_SHELLOS_EAST_SEA] = {{EVO_LEVEL, 30, SPECIES_GASTRODON_EAST_SEA}}, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DEERLING_SUMMER] = {{EVO_LEVEL, 34, SPECIES_SAWSBUCK_SUMMER}}, [SPECIES_DEERLING_AUTUMN] = {{EVO_LEVEL, 34, SPECIES_SAWSBUCK_AUTUMN}}, [SPECIES_DEERLING_WINTER] = {{EVO_LEVEL, 34, SPECIES_SAWSBUCK_WINTER}}, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_FLABEBE_YELLOW_FLOWER] = {{EVO_LEVEL, 19, SPECIES_FLOETTE_YELLOW_FLOWER}}, [SPECIES_FLABEBE_ORANGE_FLOWER] = {{EVO_LEVEL, 19, SPECIES_FLOETTE_ORANGE_FLOWER}}, [SPECIES_FLABEBE_BLUE_FLOWER] = {{EVO_LEVEL, 19, SPECIES_FLOETTE_BLUE_FLOWER}}, @@ -533,6 +594,11 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_PUMPKABOO_SMALL] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SMALL}}, [SPECIES_PUMPKABOO_LARGE] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_LARGE}}, [SPECIES_PUMPKABOO_SUPER] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SUPER}}, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROCKRUFF_OWN_TEMPO] = {{EVO_LEVEL_DUSK, 25, SPECIES_LYCANROC_DUSK}}, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_SINISTEA_ANTIQUE] = {{EVO_ITEM, ITEM_CHIPPED_POT, SPECIES_POLTEAGEIST_ANTIQUE}}, +#endif }; diff --git a/src/data/pokemon/evolution_old.h b/src/data/pokemon/evolution_old.h deleted file mode 100644 index 0a604defb..000000000 --- a/src/data/pokemon/evolution_old.h +++ /dev/null @@ -1,188 +0,0 @@ -const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = -{ - [SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}}, - [SPECIES_IVYSAUR] = {{EVO_LEVEL, 32, SPECIES_VENUSAUR}}, - [SPECIES_CHARMANDER] = {{EVO_LEVEL, 16, SPECIES_CHARMELEON}}, - [SPECIES_CHARMELEON] = {{EVO_LEVEL, 36, SPECIES_CHARIZARD}}, - [SPECIES_SQUIRTLE] = {{EVO_LEVEL, 16, SPECIES_WARTORTLE}}, - [SPECIES_WARTORTLE] = {{EVO_LEVEL, 36, SPECIES_BLASTOISE}}, - [SPECIES_CATERPIE] = {{EVO_LEVEL, 7, SPECIES_METAPOD}}, - [SPECIES_METAPOD] = {{EVO_LEVEL, 10, SPECIES_BUTTERFREE}}, - [SPECIES_WEEDLE] = {{EVO_LEVEL, 7, SPECIES_KAKUNA}}, - [SPECIES_KAKUNA] = {{EVO_LEVEL, 10, SPECIES_BEEDRILL}}, - [SPECIES_PIDGEY] = {{EVO_LEVEL, 18, SPECIES_PIDGEOTTO}}, - [SPECIES_PIDGEOTTO] = {{EVO_LEVEL, 36, SPECIES_PIDGEOT}}, - [SPECIES_RATTATA] = {{EVO_LEVEL, 20, SPECIES_RATICATE}}, - [SPECIES_SPEAROW] = {{EVO_LEVEL, 20, SPECIES_FEAROW}}, - [SPECIES_EKANS] = {{EVO_LEVEL, 22, SPECIES_ARBOK}}, - [SPECIES_PIKACHU] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}}, - [SPECIES_SANDSHREW] = {{EVO_LEVEL, 22, SPECIES_SANDSLASH}}, - [SPECIES_NIDORAN_F] = {{EVO_LEVEL, 16, SPECIES_NIDORINA}}, - [SPECIES_NIDORINA] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN}}, - [SPECIES_NIDORAN_M] = {{EVO_LEVEL, 16, SPECIES_NIDORINO}}, - [SPECIES_NIDORINO] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING}}, - [SPECIES_CLEFAIRY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE}}, - [SPECIES_VULPIX] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}}, - [SPECIES_JIGGLYPUFF] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF}}, - [SPECIES_ZUBAT] = {{EVO_LEVEL, 22, SPECIES_GOLBAT}}, - [SPECIES_GOLBAT] = {{EVO_FRIENDSHIP, 0, SPECIES_CROBAT}}, - [SPECIES_ODDISH] = {{EVO_LEVEL, 21, SPECIES_GLOOM}}, - [SPECIES_GLOOM] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME}, - {EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}}, - [SPECIES_PARAS] = {{EVO_LEVEL, 24, SPECIES_PARASECT}}, - [SPECIES_VENONAT] = {{EVO_LEVEL, 31, SPECIES_VENOMOTH}}, - [SPECIES_DIGLETT] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO}}, - [SPECIES_MEOWTH] = {{EVO_LEVEL, 28, SPECIES_PERSIAN}}, - [SPECIES_PSYDUCK] = {{EVO_LEVEL, 33, SPECIES_GOLDUCK}}, - [SPECIES_MANKEY] = {{EVO_LEVEL, 28, SPECIES_PRIMEAPE}}, - [SPECIES_GROWLITHE] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}}, - [SPECIES_POLIWAG] = {{EVO_LEVEL, 25, SPECIES_POLIWHIRL}}, - [SPECIES_POLIWHIRL] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH}, - {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}}, - [SPECIES_ABRA] = {{EVO_LEVEL, 16, SPECIES_KADABRA}}, - [SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM}}, - [SPECIES_MACHOP] = {{EVO_LEVEL, 28, SPECIES_MACHOKE}}, - [SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP}}, - [SPECIES_BELLSPROUT] = {{EVO_LEVEL, 21, SPECIES_WEEPINBELL}}, - [SPECIES_WEEPINBELL] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}}, - [SPECIES_TENTACOOL] = {{EVO_LEVEL, 30, SPECIES_TENTACRUEL}}, - [SPECIES_GEODUDE] = {{EVO_LEVEL, 25, SPECIES_GRAVELER}}, - [SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM}}, - [SPECIES_PONYTA] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH}}, - [SPECIES_SLOWPOKE] = {{EVO_LEVEL, 37, SPECIES_SLOWBRO}, - {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}}, - [SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}}, - [SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}}, - [SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}}, - [SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}}, - [SPECIES_SHELLDER] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}}, - [SPECIES_GASTLY] = {{EVO_LEVEL, 25, SPECIES_HAUNTER}}, - [SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR}}, - [SPECIES_ONIX] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}}, - [SPECIES_DROWZEE] = {{EVO_LEVEL, 26, SPECIES_HYPNO}}, - [SPECIES_KRABBY] = {{EVO_LEVEL, 28, SPECIES_KINGLER}}, - [SPECIES_VOLTORB] = {{EVO_LEVEL, 30, SPECIES_ELECTRODE}}, - [SPECIES_EXEGGCUTE] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}}, - [SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}}, - [SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}}, - [SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}}, - [SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}}, - [SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}}, - [SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}}, - [SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}}, - [SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}}, - [SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}}, - [SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}}, - [SPECIES_EEVEE] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON}, - {EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON}, - {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, - {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, - {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}}, - [SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UPGRADE, SPECIES_PORYGON2}}, - [SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}}, - [SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}}, - [SPECIES_DRATINI] = {{EVO_LEVEL, 30, SPECIES_DRAGONAIR}}, - [SPECIES_DRAGONAIR] = {{EVO_LEVEL, 55, SPECIES_DRAGONITE}}, - [SPECIES_CHIKORITA] = {{EVO_LEVEL, 16, SPECIES_BAYLEEF}}, - [SPECIES_BAYLEEF] = {{EVO_LEVEL, 32, SPECIES_MEGANIUM}}, - [SPECIES_CYNDAQUIL] = {{EVO_LEVEL, 14, SPECIES_QUILAVA}}, - [SPECIES_QUILAVA] = {{EVO_LEVEL, 36, SPECIES_TYPHLOSION}}, - [SPECIES_TOTODILE] = {{EVO_LEVEL, 18, SPECIES_CROCONAW}}, - [SPECIES_CROCONAW] = {{EVO_LEVEL, 30, SPECIES_FERALIGATR}}, - [SPECIES_SENTRET] = {{EVO_LEVEL, 15, SPECIES_FURRET}}, - [SPECIES_HOOTHOOT] = {{EVO_LEVEL, 20, SPECIES_NOCTOWL}}, - [SPECIES_LEDYBA] = {{EVO_LEVEL, 18, SPECIES_LEDIAN}}, - [SPECIES_SPINARAK] = {{EVO_LEVEL, 22, SPECIES_ARIADOS}}, - [SPECIES_CHINCHOU] = {{EVO_LEVEL, 27, SPECIES_LANTURN}}, - [SPECIES_PICHU] = {{EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}}, - [SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}}, - [SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}}, - [SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}}, - [SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}}, - [SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}}, - [SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}}, - [SPECIES_MARILL] = {{EVO_LEVEL, 18, SPECIES_AZUMARILL}}, - [SPECIES_HOPPIP] = {{EVO_LEVEL, 18, SPECIES_SKIPLOOM}}, - [SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}}, - [SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}}, - [SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}}, - [SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}}, - [SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}}, - [SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}}, - [SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}}, - [SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}}, - [SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}}, - [SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}}, - [SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}}, - [SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, - {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE}, - {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}}, - [SPECIES_SMOOCHUM] = {{EVO_LEVEL, 30, SPECIES_JYNX}}, - [SPECIES_ELEKID] = {{EVO_LEVEL, 30, SPECIES_ELECTABUZZ}}, - [SPECIES_MAGBY] = {{EVO_LEVEL, 30, SPECIES_MAGMAR}}, - [SPECIES_LARVITAR] = {{EVO_LEVEL, 30, SPECIES_PUPITAR}}, - [SPECIES_PUPITAR] = {{EVO_LEVEL, 55, SPECIES_TYRANITAR}}, - [SPECIES_TREECKO] = {{EVO_LEVEL, 16, SPECIES_GROVYLE}}, - [SPECIES_GROVYLE] = {{EVO_LEVEL, 36, SPECIES_SCEPTILE}}, - [SPECIES_TORCHIC] = {{EVO_LEVEL, 16, SPECIES_COMBUSKEN}}, - [SPECIES_COMBUSKEN] = {{EVO_LEVEL, 36, SPECIES_BLAZIKEN}}, - [SPECIES_MUDKIP] = {{EVO_LEVEL, 16, SPECIES_MARSHTOMP}}, - [SPECIES_MARSHTOMP] = {{EVO_LEVEL, 36, SPECIES_SWAMPERT}}, - [SPECIES_POOCHYENA] = {{EVO_LEVEL, 18, SPECIES_MIGHTYENA}}, - [SPECIES_ZIGZAGOON] = {{EVO_LEVEL, 20, SPECIES_LINOONE}}, - [SPECIES_WURMPLE] = {{EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON}, - {EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON}}, - [SPECIES_SILCOON] = {{EVO_LEVEL, 10, SPECIES_BEAUTIFLY}}, - [SPECIES_CASCOON] = {{EVO_LEVEL, 10, SPECIES_DUSTOX}}, - [SPECIES_LOTAD] = {{EVO_LEVEL, 14, SPECIES_LOMBRE}}, - [SPECIES_LOMBRE] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO}}, - [SPECIES_SEEDOT] = {{EVO_LEVEL, 14, SPECIES_NUZLEAF}}, - [SPECIES_NUZLEAF] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}}, - [SPECIES_NINCADA] = {{EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK}, - {EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}}, - [SPECIES_TAILLOW] = {{EVO_LEVEL, 22, SPECIES_SWELLOW}}, - [SPECIES_SHROOMISH] = {{EVO_LEVEL, 23, SPECIES_BRELOOM}}, - [SPECIES_WINGULL] = {{EVO_LEVEL, 25, SPECIES_PELIPPER}}, - [SPECIES_SURSKIT] = {{EVO_LEVEL, 22, SPECIES_MASQUERAIN}}, - [SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}}, - [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}}, - [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}}, - [SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}}, - [SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}}, - [SPECIES_FEEBAS] = {{EVO_BEAUTY, 170, SPECIES_MILOTIC}, - {EVO_TRADE_ITEM, ITEM_PRISM_SCALE, SPECIES_MILOTIC}}, - [SPECIES_CARVANHA] = {{EVO_LEVEL, 30, SPECIES_SHARPEDO}}, - [SPECIES_TRAPINCH] = {{EVO_LEVEL, 35, SPECIES_VIBRAVA}}, - [SPECIES_VIBRAVA] = {{EVO_LEVEL, 45, SPECIES_FLYGON}}, - [SPECIES_MAKUHITA] = {{EVO_LEVEL, 24, SPECIES_HARIYAMA}}, - [SPECIES_ELECTRIKE] = {{EVO_LEVEL, 26, SPECIES_MANECTRIC}}, - [SPECIES_NUMEL] = {{EVO_LEVEL, 33, SPECIES_CAMERUPT}}, - [SPECIES_SPHEAL] = {{EVO_LEVEL, 32, SPECIES_SEALEO}}, - [SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}}, - [SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}}, - [SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}}, - [SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}}, - [SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}}, - [SPECIES_MEDITITE] = {{EVO_LEVEL, 37, SPECIES_MEDICHAM}}, - [SPECIES_SWABLU] = {{EVO_LEVEL, 35, SPECIES_ALTARIA}}, - [SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}}, - [SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}}, - [SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}}, - [SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}}, - [SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}}, - [SPECIES_WHISMUR] = {{EVO_LEVEL, 20, SPECIES_LOUDRED}}, - [SPECIES_LOUDRED] = {{EVO_LEVEL, 40, SPECIES_EXPLOUD}}, - [SPECIES_CLAMPERL] = {{EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL}, - {EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}}, - [SPECIES_SHUPPET] = {{EVO_LEVEL, 37, SPECIES_BANETTE}}, - [SPECIES_ARON] = {{EVO_LEVEL, 32, SPECIES_LAIRON}}, - [SPECIES_LAIRON] = {{EVO_LEVEL, 42, SPECIES_AGGRON}}, - [SPECIES_LILEEP] = {{EVO_LEVEL, 40, SPECIES_CRADILY}}, - [SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}}, - [SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}}, - [SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}}, - [SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}}, - [SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}}, - [SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}}, - [SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}}, -}; diff --git a/src/data/pokemon/form_change_table_pointers.h b/src/data/pokemon/form_change_table_pointers.h index a324fd55a..f627de89e 100644 --- a/src/data/pokemon/form_change_table_pointers.h +++ b/src/data/pokemon/form_change_table_pointers.h @@ -1,6 +1,6 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = { -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_GIRATINA] = sGiratinaFormChangeTable, [SPECIES_GIRATINA_ORIGIN] = sGiratinaFormChangeTable, [SPECIES_SHAYMIN] = sShayminFormChangeTable, @@ -23,14 +23,14 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_ARCEUS_DRAGON] = sArceusFormChangeTable, [SPECIES_ARCEUS_DARK] = sArceusFormChangeTable, [SPECIES_ARCEUS_FAIRY] = sArceusFormChangeTable, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_TORNADUS] = sTornadusFormChangeTable, [SPECIES_TORNADUS_THERIAN] = sTornadusTherianFormChangeTable, [SPECIES_THUNDURUS] = sThundurusFormChangeTable, [SPECIES_THUNDURUS_THERIAN] = sThundurusTherianFormChangeTable, [SPECIES_LANDORUS] = sLandorusFormChangeTable, [SPECIES_LANDORUS_THERIAN] = sLandorusTherianFormChangeTable, - [SPECIES_ENAMORUS] = sEnamorusFormChangeTable, - [SPECIES_ENAMORUS_THERIAN] = sEnamorusTherianFormChangeTable, [SPECIES_KELDEO] = sKeldeoFormChangeTable, [SPECIES_KELDEO_RESOLUTE] = sKeldeoResoluteFormChangeTable, [SPECIES_GENESECT] = sGenesectFormChangeTable, @@ -38,8 +38,12 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_GENESECT_SHOCK_DRIVE] = sGenesectFormChangeTable, [SPECIES_GENESECT_BURN_DRIVE] = sGenesectFormChangeTable, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectFormChangeTable, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_HOOPA] = sHoopaFormChangeTable, [SPECIES_HOOPA_UNBOUND] = sHoopaUnboundFormChangeTable, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ORICORIO] = sOricorioFormChangeTable, [SPECIES_ORICORIO_POM_POM] = sOricorioFormChangeTable, [SPECIES_ORICORIO_PAU] = sOricorioFormChangeTable, @@ -63,4 +67,8 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_SILVALLY_STEEL] = sSilvallyFormChangeTable, [SPECIES_SILVALLY_WATER] = sSilvallyFormChangeTable, #endif +#if P_NEW_POKEMON >= GEN_8 + [SPECIES_ENAMORUS] = sEnamorusFormChangeTable, + [SPECIES_ENAMORUS_THERIAN] = sEnamorusTherianFormChangeTable, +#endif }; diff --git a/src/data/pokemon/form_change_tables.h b/src/data/pokemon/form_change_tables.h index 5f8541c40..2f658faa9 100644 --- a/src/data/pokemon/form_change_tables.h +++ b/src/data/pokemon/form_change_tables.h @@ -43,7 +43,7 @@ FORM_ITEM_USE_TIME: #define DAY 0 #define NIGHT 1 -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 static const struct FormChange sGiratinaFormChangeTable[] = { {FORM_ITEM_HOLD, SPECIES_GIRATINA, ITEM_NONE}, {FORM_ITEM_HOLD, SPECIES_GIRATINA_ORIGIN, ITEM_GRISEOUS_ORB}, @@ -94,7 +94,9 @@ static const struct FormChange sArceusFormChangeTable[] = { {FORM_ITEM_HOLD_ABILITY, SPECIES_ARCEUS_FAIRY, ITEM_FAIRIUM_Z, ABILITY_MULTITYPE}, {FORM_CHANGE_END}, }; +#endif +#if P_NEW_POKEMON >= GEN_5 static const struct FormChange sTornadusFormChangeTable[] = { {FORM_ITEM_USE, SPECIES_TORNADUS_THERIAN, ITEM_REVEAL_GLASS}, {FORM_CHANGE_END}, @@ -125,16 +127,6 @@ static const struct FormChange sLandorusTherianFormChangeTable[] = { {FORM_CHANGE_END}, }; -static const struct FormChange sEnamorusFormChangeTable[] = { - {FORM_ITEM_USE, SPECIES_ENAMORUS, ITEM_REVEAL_GLASS}, - {FORM_CHANGE_END}, -}; - -static const struct FormChange sEnamorusTherianFormChangeTable[] = { - {FORM_ITEM_USE, SPECIES_ENAMORUS_THERIAN, ITEM_REVEAL_GLASS}, - {FORM_CHANGE_END}, -}; - static const struct FormChange sKeldeoFormChangeTable[] = { {FORM_MOVE, SPECIES_KELDEO_RESOLUTE, MOVE_SECRET_SWORD, WHEN_LEARNED}, {FORM_CHANGE_END}, @@ -153,7 +145,9 @@ static const struct FormChange sGenesectFormChangeTable[] = { {FORM_ITEM_HOLD, SPECIES_GENESECT_CHILL_DRIVE, ITEM_CHILL_DRIVE}, {FORM_CHANGE_END}, }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const struct FormChange sHoopaFormChangeTable[] = { // {FORM_ITEM_USE, SPECIES_HOOPA_UNBOUND, ITEM_PRISON_BOTTLE, SPECIES_HOOPA}, {FORM_CHANGE_END}, @@ -163,7 +157,9 @@ static const struct FormChange sHoopaUnboundFormChangeTable[] = { {FORM_WITHDRAW, SPECIES_HOOPA}, {FORM_CHANGE_END}, }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const struct FormChange sOricorioFormChangeTable[] = { {FORM_ITEM_USE, SPECIES_ORICORIO, ITEM_RED_NECTAR}, {FORM_ITEM_USE, SPECIES_ORICORIO_POM_POM, ITEM_YELLOW_NECTAR}, @@ -195,5 +191,17 @@ static const struct FormChange sSilvallyFormChangeTable[] = { }; #endif +#if P_NEW_POKEMON >= GEN_8 +static const struct FormChange sEnamorusFormChangeTable[] = { + {FORM_ITEM_USE, SPECIES_ENAMORUS, ITEM_REVEAL_GLASS}, + {FORM_CHANGE_END}, +}; + +static const struct FormChange sEnamorusTherianFormChangeTable[] = { + {FORM_ITEM_USE, SPECIES_ENAMORUS_THERIAN, ITEM_REVEAL_GLASS}, + {FORM_CHANGE_END}, +}; +#endif + #undef WHEN_LEARNED #undef WHEN_FORGOTTEN diff --git a/src/data/pokemon/form_species_table_pointers.h b/src/data/pokemon/form_species_table_pointers.h index 71a210e40..6d931190b 100644 --- a/src/data/pokemon/form_species_table_pointers.h +++ b/src/data/pokemon/form_species_table_pointers.h @@ -1,6 +1,5 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = { -#if P_NEW_POKEMON == TRUE [SPECIES_VENUSAUR] = sVenusaurFormSpeciesIdTable, [SPECIES_CHARIZARD] = sCharizardFormSpeciesIdTable, [SPECIES_BLASTOISE] = sBlastoiseFormSpeciesIdTable, @@ -52,9 +51,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_SLOWKING] = sSlowkingFormSpeciesIdTable, [SPECIES_QWILFISH] = sQwilfishFormSpeciesIdTable, [SPECIES_SNEASEL] = sSneaselFormSpeciesIdTable, -#endif [SPECIES_UNOWN] = sUnownFormSpeciesIdTable, -#if P_NEW_POKEMON == TRUE [SPECIES_STEELIX] = sSteelixFormSpeciesIdTable, [SPECIES_SCIZOR] = sScizorFormSpeciesIdTable, [SPECIES_HERACROSS] = sHeracrossFormSpeciesIdTable, @@ -75,9 +72,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_SHARPEDO] = sSharpedoFormSpeciesIdTable, [SPECIES_CAMERUPT] = sCameruptFormSpeciesIdTable, [SPECIES_ALTARIA] = sAltariaFormSpeciesIdTable, -#endif [SPECIES_CASTFORM] = sCastformFormSpeciesIdTable, -#if P_NEW_POKEMON == TRUE [SPECIES_BANETTE] = sBanetteFormSpeciesIdTable, [SPECIES_ABSOL] = sAbsolFormSpeciesIdTable, [SPECIES_GLALIE] = sGlalieFormSpeciesIdTable, @@ -88,9 +83,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_KYOGRE] = sKyogreFormSpeciesIdTable, [SPECIES_GROUDON] = sGroudonFormSpeciesIdTable, [SPECIES_RAYQUAZA] = sRayquazaFormSpeciesIdTable, -#endif [SPECIES_DEOXYS] = sDeoxysFormSpeciesIdTable, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_BURMY] = sBurmyFormSpeciesIdTable, [SPECIES_WORMADAM] = sWormadamFormSpeciesIdTable, [SPECIES_CHERRIM] = sCherrimFormSpeciesIdTable, @@ -105,9 +99,11 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_DIALGA] = sDialgaFormSpeciesIdTable, [SPECIES_PALKIA] = sPalkiaFormSpeciesIdTable, [SPECIES_GIRATINA] = sGiratinaFormSpeciesIdTable, - [SPECIES_SAMUROTT] = sSamurottFormSpeciesIdTable, [SPECIES_SHAYMIN] = sShayminFormSpeciesIdTable, [SPECIES_ARCEUS] = sArceusFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_5 + [SPECIES_SAMUROTT] = sSamurottFormSpeciesIdTable, [SPECIES_AUDINO] = sAudinoFormSpeciesIdTable, [SPECIES_BASCULIN] = sBasculinFormSpeciesIdTable, [SPECIES_LILLIGANT] = sLilligantFormSpeciesIdTable, @@ -127,6 +123,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_KELDEO] = sKeldeoFormSpeciesIdTable, [SPECIES_MELOETTA] = sMeloettaFormSpeciesIdTable, [SPECIES_GENESECT] = sGenesectFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_GRENINJA] = sGreninjaFormSpeciesIdTable, [SPECIES_VIVILLON] = sVivillonFormSpeciesIdTable, [SPECIES_FLABEBE] = sFlabebeFormSpeciesIdTable, @@ -144,6 +142,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_ZYGARDE] = sZygardeFormSpeciesIdTable, [SPECIES_DIANCIE] = sDiancieFormSpeciesIdTable, [SPECIES_HOOPA] = sHoopaFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE] = sDecidueyeFormSpeciesIdTable, [SPECIES_ORICORIO] = sOricorioFormSpeciesIdTable, [SPECIES_ROCKRUFF] = sRockruffFormSpeciesIdTable, @@ -154,6 +154,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_MIMIKYU] = sMimikyuFormSpeciesIdTable, [SPECIES_NECROZMA] = sNecrozmaFormSpeciesIdTable, [SPECIES_MAGEARNA] = sMagearnaFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_CRAMORANT] = sCramorantFormSpeciesIdTable, [SPECIES_TOXTRICITY] = sToxtricityFormSpeciesIdTable, [SPECIES_SINISTEA] = sSinisteaFormSpeciesIdTable, @@ -169,6 +171,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_ZARUDE] = sZarudeFormSpeciesIdTable, [SPECIES_CALYREX] = sCalyrexFormSpeciesIdTable, [SPECIES_ENAMORUS] = sEnamorusFormSpeciesIdTable, +#endif // Megas [SPECIES_VENUSAUR_MEGA] = sVenusaurFormSpeciesIdTable, [SPECIES_CHARIZARD_MEGA_X] = sCharizardFormSpeciesIdTable, @@ -210,13 +213,19 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_METAGROSS_MEGA] = sMetagrossFormSpeciesIdTable, [SPECIES_LATIAS_MEGA] = sLatiasFormSpeciesIdTable, [SPECIES_LATIOS_MEGA] = sLatiosFormSpeciesIdTable, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LOPUNNY_MEGA] = sLopunnyFormSpeciesIdTable, [SPECIES_GARCHOMP_MEGA] = sGarchompFormSpeciesIdTable, [SPECIES_LUCARIO_MEGA] = sLucarioFormSpeciesIdTable, [SPECIES_ABOMASNOW_MEGA] = sAbomasnowFormSpeciesIdTable, [SPECIES_GALLADE_MEGA] = sGalladeFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_AUDINO_MEGA] = sAudinoFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_DIANCIE_MEGA] = sDiancieFormSpeciesIdTable, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = sRayquazaFormSpeciesIdTable, [SPECIES_KYOGRE_PRIMAL] = sKyogreFormSpeciesIdTable, @@ -256,10 +265,12 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_CORSOLA_GALARIAN] = sCorsolaFormSpeciesIdTable, [SPECIES_ZIGZAGOON_GALARIAN] = sZigzagoonFormSpeciesIdTable, [SPECIES_LINOONE_GALARIAN] = sLinooneFormSpeciesIdTable, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DARUMAKA_GALARIAN] = sDarumakaFormSpeciesIdTable, [SPECIES_DARMANITAN_GALARIAN] = sDarmanitanFormSpeciesIdTable, [SPECIES_YAMASK_GALARIAN] = sYamaskFormSpeciesIdTable, [SPECIES_STUNFISK_GALARIAN] = sStunfiskFormSpeciesIdTable, +#endif //Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = sGrowlitheFormSpeciesIdTable, [SPECIES_ARCANINE_HISUIAN] = sArcanineFormSpeciesIdTable, @@ -268,15 +279,21 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_TYPHLOSION_HISUIAN] = sTyphlosionFormSpeciesIdTable, [SPECIES_QWILFISH_HISUIAN] = sQwilfishFormSpeciesIdTable, [SPECIES_SNEASEL_HISUIAN] = sSneaselFormSpeciesIdTable, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SAMUROTT_HISUIAN] = sSamurottFormSpeciesIdTable, [SPECIES_LILLIGANT_HISUIAN] = sLilligantFormSpeciesIdTable, [SPECIES_ZORUA_HISUIAN] = sZoruaFormSpeciesIdTable, [SPECIES_ZOROARK_HISUIAN] = sZoroarkFormSpeciesIdTable, [SPECIES_BRAVIARY_HISUIAN] = sBraviaryFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_SLIGGOO_HISUIAN] = sSliggooFormSpeciesIdTable, [SPECIES_GOODRA_HISUIAN] = sGoodraFormSpeciesIdTable, [SPECIES_AVALUGG_HISUIAN] = sAvaluggFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE_HISUIAN] = sDecidueyeFormSpeciesIdTable, +#endif // Misc Forms // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = sPikachuFormSpeciesIdTable, @@ -296,7 +313,6 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_PIKACHU_WORLD_CAP] = sPikachuFormSpeciesIdTable, // Pichu [SPECIES_PICHU_SPIKY_EARED] = sPichuFormSpeciesIdTable, -#endif // Unown [SPECIES_UNOWN_B] = sUnownFormSpeciesIdTable, [SPECIES_UNOWN_C] = sUnownFormSpeciesIdTable, @@ -333,7 +349,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_DEOXYS_ATTACK] = sDeoxysFormSpeciesIdTable, [SPECIES_DEOXYS_DEFENSE] = sDeoxysFormSpeciesIdTable, [SPECIES_DEOXYS_SPEED] = sDeoxysFormSpeciesIdTable, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 // Burmy [SPECIES_BURMY_SANDY_CLOAK] = sBurmyFormSpeciesIdTable, [SPECIES_BURMY_TRASH_CLOAK] = sBurmyFormSpeciesIdTable, @@ -376,6 +392,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_ARCEUS_DRAGON] = sArceusFormSpeciesIdTable, [SPECIES_ARCEUS_DARK] = sArceusFormSpeciesIdTable, [SPECIES_ARCEUS_FAIRY] = sArceusFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_5 // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = sBasculinFormSpeciesIdTable, [SPECIES_BASCULIN_WHITE_STRIPED] = sBasculinFormSpeciesIdTable, @@ -407,6 +425,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_GENESECT_SHOCK_DRIVE] = sGenesectFormSpeciesIdTable, [SPECIES_GENESECT_BURN_DRIVE] = sGenesectFormSpeciesIdTable, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_6 // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = sGreninjaFormSpeciesIdTable, [SPECIES_GRENINJA_ASH] = sGreninjaFormSpeciesIdTable, @@ -477,6 +497,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_ZYGARDE_COMPLETE] = sZygardeFormSpeciesIdTable, // Hoopa [SPECIES_HOOPA_UNBOUND] = sHoopaFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_7 // Oricorio [SPECIES_ORICORIO_POM_POM] = sOricorioFormSpeciesIdTable, [SPECIES_ORICORIO_PAU] = sOricorioFormSpeciesIdTable, @@ -528,6 +550,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_NECROZMA_ULTRA] = sNecrozmaFormSpeciesIdTable, // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sMagearnaFormSpeciesIdTable, +#endif +#if P_NEW_POKEMON >= GEN_8 // Cramorant [SPECIES_CRAMORANT_GULPING] = sCramorantFormSpeciesIdTable, [SPECIES_CRAMORANT_GORGING] = sCramorantFormSpeciesIdTable, diff --git a/src/data/pokemon/form_species_tables.h b/src/data/pokemon/form_species_tables.h index 8e89a3836..d329dfab3 100644 --- a/src/data/pokemon/form_species_tables.h +++ b/src/data/pokemon/form_species_tables.h @@ -1,4 +1,3 @@ -#if P_NEW_POKEMON == TRUE static const u16 sVenusaurFormSpeciesIdTable[] = { SPECIES_VENUSAUR, SPECIES_VENUSAUR_MEGA, @@ -321,7 +320,7 @@ static const u16 sSneaselFormSpeciesIdTable[] = { SPECIES_SNEASEL_HISUIAN, FORM_SPECIES_END, }; -#endif + static const u16 sUnownFormSpeciesIdTable[] = { SPECIES_UNOWN, SPECIES_UNOWN_B, @@ -354,7 +353,6 @@ static const u16 sUnownFormSpeciesIdTable[] = { FORM_SPECIES_END, }; -#if P_NEW_POKEMON == TRUE static const u16 sSteelixFormSpeciesIdTable[] = { SPECIES_STEELIX, SPECIES_STEELIX_MEGA, @@ -474,7 +472,7 @@ static const u16 sAltariaFormSpeciesIdTable[] = { SPECIES_ALTARIA_MEGA, FORM_SPECIES_END, }; -#endif + static const u16 sCastformFormSpeciesIdTable[] = { SPECIES_CASTFORM, SPECIES_CASTFORM_SUNNY, @@ -483,7 +481,6 @@ static const u16 sCastformFormSpeciesIdTable[] = { FORM_SPECIES_END, }; -#if P_NEW_POKEMON == TRUE static const u16 sBanetteFormSpeciesIdTable[] = { SPECIES_BANETTE, SPECIES_BANETTE_MEGA, @@ -543,7 +540,7 @@ static const u16 sRayquazaFormSpeciesIdTable[] = { SPECIES_RAYQUAZA_MEGA, FORM_SPECIES_END, }; -#endif + static const u16 sDeoxysFormSpeciesIdTable[] = { SPECIES_DEOXYS, SPECIES_DEOXYS_ATTACK, @@ -551,7 +548,8 @@ static const u16 sDeoxysFormSpeciesIdTable[] = { SPECIES_DEOXYS_SPEED, FORM_SPECIES_END, }; -#if P_NEW_POKEMON == TRUE + +#if P_NEW_POKEMON >= GEN_4 static const u16 sBurmyFormSpeciesIdTable[] = { SPECIES_BURMY, SPECIES_BURMY_SANDY_CLOAK, @@ -642,12 +640,6 @@ static const u16 sGiratinaFormSpeciesIdTable[] = { FORM_SPECIES_END, }; -static const u16 sSamurottFormSpeciesIdTable[] = { - SPECIES_SAMUROTT, - SPECIES_SAMUROTT_HISUIAN, - FORM_SPECIES_END, -}; - static const u16 sShayminFormSpeciesIdTable[] = { SPECIES_SHAYMIN, SPECIES_SHAYMIN_SKY, @@ -675,6 +667,14 @@ static const u16 sArceusFormSpeciesIdTable[] = { SPECIES_ARCEUS_FAIRY, FORM_SPECIES_END, }; +#endif + +#if P_NEW_POKEMON >= GEN_5 +static const u16 sSamurottFormSpeciesIdTable[] = { + SPECIES_SAMUROTT, + SPECIES_SAMUROTT_HISUIAN, + FORM_SPECIES_END, +}; static const u16 sAudinoFormSpeciesIdTable[] = { SPECIES_AUDINO, @@ -806,7 +806,9 @@ static const u16 sGenesectFormSpeciesIdTable[] = { SPECIES_GENESECT_CHILL_DRIVE, FORM_SPECIES_END, }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const u16 sGreninjaFormSpeciesIdTable[] = { SPECIES_GRENINJA, SPECIES_GRENINJA_BATTLE_BOND, @@ -952,7 +954,9 @@ static const u16 sHoopaFormSpeciesIdTable[] = { SPECIES_HOOPA_UNBOUND, FORM_SPECIES_END, }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const u16 sDecidueyeFormSpeciesIdTable[] = { SPECIES_DECIDUEYE, SPECIES_DECIDUEYE_HISUIAN, @@ -1045,7 +1049,9 @@ static const u16 sMagearnaFormSpeciesIdTable[] = { SPECIES_MAGEARNA_ORIGINAL_COLOR, FORM_SPECIES_END, }; +#endif +#if P_NEW_POKEMON >= GEN_8 static const u16 sCramorantFormSpeciesIdTable[] = { SPECIES_CRAMORANT, SPECIES_CRAMORANT_GULPING, diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index 27c7b522f..d1659be02 100644 --- a/src/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -387,7 +387,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_JIRACHI] = sJirachiLevelUpLearnset, [SPECIES_DEOXYS] = sDeoxysLevelUpLearnset, [SPECIES_CHIMECHO] = sChimechoLevelUpLearnset, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TURTWIG] = sTurtwigLevelUpLearnset, [SPECIES_GROTLE] = sGrotleLevelUpLearnset, [SPECIES_TORTERRA] = sTorterraLevelUpLearnset, @@ -495,6 +495,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_DARKRAI] = sDarkraiLevelUpLearnset, [SPECIES_SHAYMIN] = sShayminLevelUpLearnset, [SPECIES_ARCEUS] = sArceusLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_VICTINI] = sVictiniLevelUpLearnset, [SPECIES_SNIVY] = sSnivyLevelUpLearnset, [SPECIES_SERVINE] = sServineLevelUpLearnset, @@ -651,6 +653,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_KELDEO] = sKeldeoLevelUpLearnset, [SPECIES_MELOETTA] = sMeloettaLevelUpLearnset, [SPECIES_GENESECT] = sGenesectLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_CHESPIN] = sChespinLevelUpLearnset, [SPECIES_QUILLADIN] = sQuilladinLevelUpLearnset, [SPECIES_CHESNAUGHT] = sChesnaughtLevelUpLearnset, @@ -723,6 +727,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_DIANCIE] = sDiancieLevelUpLearnset, [SPECIES_HOOPA] = sHoopaLevelUpLearnset, [SPECIES_VOLCANION] = sVolcanionLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROWLET] = sRowletLevelUpLearnset, [SPECIES_DARTRIX] = sDartrixLevelUpLearnset, [SPECIES_DECIDUEYE] = sDecidueyeLevelUpLearnset, @@ -811,6 +817,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_ZERAORA] = sZeraoraLevelUpLearnset, [SPECIES_MELTAN] = sMeltanLevelUpLearnset, [SPECIES_MELMETAL] = sMelmetalLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_GROOKEY] = sGrookeyLevelUpLearnset, [SPECIES_THWACKEY] = sThwackeyLevelUpLearnset, [SPECIES_RILLABOOM] = sRillaboomLevelUpLearnset, @@ -907,6 +915,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_SNEASLER] = sSneaslerLevelUpLearnset, [SPECIES_OVERQWIL] = sOverqwilLevelUpLearnset, [SPECIES_ENAMORUS] = sEnamorusLevelUpLearnset, +#endif // Megas [SPECIES_VENUSAUR_MEGA] = sVenusaurLevelUpLearnset, [SPECIES_CHARIZARD_MEGA_X] = sCharizardLevelUpLearnset, @@ -948,13 +957,19 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_METAGROSS_MEGA] = sMetagrossLevelUpLearnset, [SPECIES_LATIAS_MEGA] = sLatiasLevelUpLearnset, [SPECIES_LATIOS_MEGA] = sLatiosLevelUpLearnset, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LOPUNNY_MEGA] = sLopunnyLevelUpLearnset, [SPECIES_GARCHOMP_MEGA] = sGarchompLevelUpLearnset, [SPECIES_LUCARIO_MEGA] = sLucarioLevelUpLearnset, [SPECIES_ABOMASNOW_MEGA] = sAbomasnowLevelUpLearnset, [SPECIES_GALLADE_MEGA] = sGalladeLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_AUDINO_MEGA] = sAudinoLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_DIANCIE_MEGA] = sDiancieLevelUpLearnset, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = sRayquazaLevelUpLearnset, [SPECIES_KYOGRE_PRIMAL] = sKyogreLevelUpLearnset, @@ -994,10 +1009,12 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_CORSOLA_GALARIAN] = sCorsolaGalarianLevelUpLearnset, [SPECIES_ZIGZAGOON_GALARIAN] = sZigzagoonGalarianLevelUpLearnset, [SPECIES_LINOONE_GALARIAN] = sLinooneGalarianLevelUpLearnset, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DARUMAKA_GALARIAN] = sDarumakaGalarianLevelUpLearnset, [SPECIES_DARMANITAN_GALARIAN] = sDarmanitanGalarianLevelUpLearnset, [SPECIES_YAMASK_GALARIAN] = sYamaskGalarianLevelUpLearnset, [SPECIES_STUNFISK_GALARIAN] = sStunfiskGalarianLevelUpLearnset, +#endif // Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = sGrowlitheHisuianLevelUpLearnset, [SPECIES_ARCANINE_HISUIAN] = sArcanineHisuianLevelUpLearnset, @@ -1006,15 +1023,21 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_TYPHLOSION_HISUIAN] = sTyphlosionHisuianLevelUpLearnset, [SPECIES_QWILFISH_HISUIAN] = sQwilfishHisuianLevelUpLearnset, [SPECIES_SNEASEL_HISUIAN] = sSneaselHisuianLevelUpLearnset, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SAMUROTT_HISUIAN] = sSamurottHisuianLevelUpLearnset, [SPECIES_LILLIGANT_HISUIAN] = sLilligantHisuianLevelUpLearnset, [SPECIES_ZORUA_HISUIAN] = sZoruaHisuianLevelUpLearnset, [SPECIES_ZOROARK_HISUIAN] = sZoroarkHisuianLevelUpLearnset, [SPECIES_BRAVIARY_HISUIAN] = sBraviaryHisuianLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_SLIGGOO_HISUIAN] = sSliggooHisuianLevelUpLearnset, [SPECIES_GOODRA_HISUIAN] = sGoodraHisuianLevelUpLearnset, [SPECIES_AVALUGG_HISUIAN] = sAvaluggHisuianLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE_HISUIAN] = sDecidueyeHisuianLevelUpLearnset, +#endif // Misc Forms // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = sPikachuLevelUpLearnset, @@ -1034,7 +1057,6 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_PIKACHU_WORLD_CAP] = sPikachuLevelUpLearnset, // Pichu [SPECIES_PICHU_SPIKY_EARED] = sPichuLevelUpLearnset, -#endif // Unown [SPECIES_UNOWN_B] = sUnownLevelUpLearnset, [SPECIES_UNOWN_C] = sUnownLevelUpLearnset, @@ -1071,7 +1093,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_DEOXYS_ATTACK] = sDeoxysAttackLevelUpLearnset, [SPECIES_DEOXYS_DEFENSE] = sDeoxysDefenseLevelUpLearnset, [SPECIES_DEOXYS_SPEED] = sDeoxysSpeedLevelUpLearnset, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 // Burmy [SPECIES_BURMY_SANDY_CLOAK] = sBurmyLevelUpLearnset, [SPECIES_BURMY_TRASH_CLOAK] = sBurmyLevelUpLearnset, @@ -1114,6 +1136,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_ARCEUS_DRAGON] = sArceusLevelUpLearnset, [SPECIES_ARCEUS_DARK] = sArceusLevelUpLearnset, [SPECIES_ARCEUS_FAIRY] = sArceusLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_5 // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = sBasculinLevelUpLearnset, [SPECIES_BASCULIN_WHITE_STRIPED] = sBasculinLevelUpLearnset, @@ -1132,7 +1156,6 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_TORNADUS_THERIAN] = sTornadusLevelUpLearnset, [SPECIES_THUNDURUS_THERIAN] = sThundurusLevelUpLearnset, [SPECIES_LANDORUS_THERIAN] = sLandorusLevelUpLearnset, - [SPECIES_ENAMORUS_THERIAN] = sEnamorusLevelUpLearnset, // Kyurem [SPECIES_KYUREM_WHITE] = sKyuremWhiteLevelUpLearnset, [SPECIES_KYUREM_BLACK] = sKyuremBlackLevelUpLearnset, @@ -1145,6 +1168,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_GENESECT_SHOCK_DRIVE] = sGenesectLevelUpLearnset, [SPECIES_GENESECT_BURN_DRIVE] = sGenesectLevelUpLearnset, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_6 // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = sGreninjaLevelUpLearnset, [SPECIES_GRENINJA_ASH] = sGreninjaLevelUpLearnset, @@ -1215,6 +1240,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_ZYGARDE_COMPLETE] = sZygardeLevelUpLearnset, // Hoopa [SPECIES_HOOPA_UNBOUND] = sHoopaUnboundLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_7 // Oricorio [SPECIES_ORICORIO_POM_POM] = sOricorioLevelUpLearnset, [SPECIES_ORICORIO_PAU] = sOricorioLevelUpLearnset, @@ -1266,6 +1293,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_NECROZMA_ULTRA] = sNecrozmaLevelUpLearnset, // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sMagearnaLevelUpLearnset, +#endif +#if P_NEW_POKEMON >= GEN_8 // Cramorant [SPECIES_CRAMORANT_GULPING] = sCramorantLevelUpLearnset, [SPECIES_CRAMORANT_GORGING] = sCramorantLevelUpLearnset, @@ -1303,5 +1332,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = // Calyrex [SPECIES_CALYREX_ICE_RIDER] = sCalyrexIceRiderLevelUpLearnset, [SPECIES_CALYREX_SHADOW_RIDER] = sCalyrexShadowRiderLevelUpLearnset, + // Enamorus + [SPECIES_ENAMORUS_THERIAN] = sEnamorusLevelUpLearnset, #endif }; diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index a8c696f1f..a7f70b525 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -7903,7 +7903,7 @@ static const struct LevelUpMove sChimechoLevelUpLearnset[] = { LEVEL_UP_END }; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 static const struct LevelUpMove sTurtwigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), @@ -9991,7 +9991,9 @@ static const struct LevelUpMove sArceusLevelUpLearnset[] = { LEVEL_UP_MOVE(100, MOVE_JUDGMENT), LEVEL_UP_END }; +#endif +#if P_NEW_POKEMON >= GEN_5 static const struct LevelUpMove sVictiniLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SEARING_SHOT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -13250,7 +13252,9 @@ static const struct LevelUpMove sGenesectLevelUpLearnset[] = { LEVEL_UP_MOVE(77, MOVE_SELF_DESTRUCT), LEVEL_UP_END }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const struct LevelUpMove sChespinLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), @@ -14745,7 +14749,9 @@ static const struct LevelUpMove sVolcanionLevelUpLearnset[] = { LEVEL_UP_MOVE(85, MOVE_STEAM_ERUPTION), LEVEL_UP_END }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const struct LevelUpMove sRowletLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), @@ -16523,6 +16529,9 @@ static const struct LevelUpMove sMelmetalLevelUpLearnset[] = { LEVEL_UP_MOVE( 90, MOVE_HYPER_BEAM), LEVEL_UP_END }; +#endif + +#if P_NEW_POKEMON >= GEN_8 static const struct LevelUpMove sGrookeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -18177,6 +18186,7 @@ static const struct LevelUpMove sEnamorusLevelUpLearnset[] = { //LEVEL_UP_MOVE( 1, MOVE_SPRINGTIDE_STORM), LEVEL_UP_END }; +#endif static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18855,6 +18865,7 @@ static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { LEVEL_UP_END }; +#if P_NEW_POKEMON >= GEN_5 static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18931,6 +18942,7 @@ static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE(55, MOVE_FISSURE), LEVEL_UP_END }; +#endif static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19021,6 +19033,7 @@ static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { LEVEL_UP_END }; +#if P_NEW_POKEMON >= GEN_5 static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19090,7 +19103,9 @@ static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { //LEVEL_UP_MOVE(52, MOVE_HURRICANE), LEVEL_UP_END }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), //LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), @@ -19129,7 +19144,9 @@ static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), @@ -19203,7 +19220,7 @@ static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { LEVEL_UP_END }; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), @@ -19304,7 +19321,9 @@ static const struct LevelUpMove sKyuremBlackLevelUpLearnset[] = { LEVEL_UP_MOVE(92, MOVE_HYPER_VOICE), LEVEL_UP_END }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), @@ -19373,7 +19392,9 @@ static const struct LevelUpMove sHoopaUnboundLevelUpLearnset[] = { LEVEL_UP_MOVE(85, MOVE_HYPERSPACE_FURY), LEVEL_UP_END }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_REVERSAL), @@ -19417,7 +19438,9 @@ static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { LEVEL_UP_MOVE(48, MOVE_STONE_EDGE), LEVEL_UP_END }; +#endif +#if P_NEW_POKEMON >= GEN_8 static const struct LevelUpMove sToxtricityLowKeyLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_SPARK), diff --git a/src/data/pokemon/pokedex_entries.h b/src/data/pokemon/pokedex_entries.h index 38bbdb5a8..2ab164784 100644 --- a/src/data/pokemon/pokedex_entries.h +++ b/src/data/pokemon/pokedex_entries.h @@ -4644,7 +4644,7 @@ const struct PokedexEntry gPokedexEntries[] = .trainerOffset = 2, }, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [NATIONAL_DEX_TURTWIG] = { .categoryName = _("Tiny Leaf"), @@ -5928,7 +5928,9 @@ const struct PokedexEntry gPokedexEntries[] = .trainerScale = 256, .trainerOffset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_5 [NATIONAL_DEX_VICTINI] = { .categoryName = _("Victory"), @@ -7800,7 +7802,9 @@ const struct PokedexEntry gPokedexEntries[] = .trainerScale = 256, .trainerOffset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_6 [NATIONAL_DEX_CHESPIN] = { .categoryName = _("Spiny Nut"), @@ -8664,7 +8668,9 @@ const struct PokedexEntry gPokedexEntries[] = .trainerScale = 256, .trainerOffset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_7 [NATIONAL_DEX_ROWLET] = { .categoryName = _("Grass Quill"), @@ -9720,7 +9726,9 @@ const struct PokedexEntry gPokedexEntries[] = .trainerScale = 387, .trainerOffset = 2, }, +#endif +#if P_NEW_POKEMON >= GEN_8 [NATIONAL_DEX_GROOKEY] = { .categoryName = _("Chimp"), diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h index bf3293203..2eb0407e9 100644 --- a/src/data/pokemon/pokedex_text.h +++ b/src/data/pokemon/pokedex_text.h @@ -2320,7 +2320,7 @@ const u8 gChimechoPokedexText[] = _( "themselves using seven different and\n" "distinguishing cries."); -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 const u8 gTurtwigPokedexText[] = _( "The shell on its back is made of soil. \n" "On a very healthy Turtwig, the shell \n" @@ -2962,7 +2962,9 @@ const u8 gArceusPokedexText[] = _( "emerged from an egg and shaped all there\n" "is in this world, before the universe\n" "even existed."); +#endif +#if P_NEW_POKEMON >= GEN_5 const u8 gVictiniPokedexText[] = _( "This Pokémon brings victory.\n" "It is said that Trainers with Victini\n" @@ -3898,7 +3900,9 @@ const u8 gGenesectPokedexText[] = _( "feared as the strongest of hunters.\n" "Team Plasma altered it and attached\n" "a cannon to its back."); +#endif +#if P_NEW_POKEMON >= GEN_6 const u8 gChespinPokedexText[] = _( "The quills on its head are usually soft.\n" "When it flexes them, the points become\n" @@ -4330,7 +4334,9 @@ const u8 gVolcanionPokedexText[] = _( "on its back and disappears into the dense\n" "fog. It's said to live in mountains where\n" "humans do not tread."); +#endif +#if P_NEW_POKEMON >= GEN_7 const u8 gRowletPokedexText[] = _( "This wary Pokémon uses photosynthesis\n" "to store up energy during the day, while\n" @@ -4851,7 +4857,9 @@ const u8 gMelmetalPokedexText[] = _( "Revered long ago for its capacity to create\n" "iron from nothing, for some reason it has\n" "come back to life after 3,000 years."); +#endif +#if P_NEW_POKEMON >= GEN_8 const u8 gGrookeyPokedexText[] = _( "When it uses its special stick to strike up\n" "a beat, the sound waves produced carry\n" diff --git a/src/data/pokemon/teachable_learnset_pointers.h b/src/data/pokemon/teachable_learnset_pointers.h index 7727cde82..f238684c6 100644 --- a/src/data/pokemon/teachable_learnset_pointers.h +++ b/src/data/pokemon/teachable_learnset_pointers.h @@ -387,7 +387,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_JIRACHI] = sJirachiTeachableLearnset, [SPECIES_DEOXYS] = sDeoxysTeachableLearnset, [SPECIES_CHIMECHO] = sChimechoTeachableLearnset, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TURTWIG] = sTurtwigTeachableLearnset, [SPECIES_GROTLE] = sGrotleTeachableLearnset, [SPECIES_TORTERRA] = sTorterraTeachableLearnset, @@ -495,6 +495,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_DARKRAI] = sDarkraiTeachableLearnset, [SPECIES_SHAYMIN] = sShayminTeachableLearnset, [SPECIES_ARCEUS] = sArceusTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_VICTINI] = sVictiniTeachableLearnset, [SPECIES_SNIVY] = sSnivyTeachableLearnset, [SPECIES_SERVINE] = sServineTeachableLearnset, @@ -651,6 +653,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_KELDEO] = sKeldeoTeachableLearnset, [SPECIES_MELOETTA] = sMeloettaTeachableLearnset, [SPECIES_GENESECT] = sGenesectTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_CHESPIN] = sChespinTeachableLearnset, [SPECIES_QUILLADIN] = sQuilladinTeachableLearnset, [SPECIES_CHESNAUGHT] = sChesnaughtTeachableLearnset, @@ -723,6 +727,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_DIANCIE] = sDiancieTeachableLearnset, [SPECIES_HOOPA] = sHoopaTeachableLearnset, [SPECIES_VOLCANION] = sVolcanionTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROWLET] = sRowletTeachableLearnset, [SPECIES_DARTRIX] = sDartrixTeachableLearnset, [SPECIES_DECIDUEYE] = sDecidueyeTeachableLearnset, @@ -811,6 +817,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_ZERAORA] = sZeraoraTeachableLearnset, [SPECIES_MELTAN] = sMeltanTeachableLearnset, [SPECIES_MELMETAL] = sMelmetalTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_GROOKEY] = sGrookeyTeachableLearnset, [SPECIES_THWACKEY] = sThwackeyTeachableLearnset, [SPECIES_RILLABOOM] = sRillaboomTeachableLearnset, @@ -907,6 +915,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_SNEASLER] = sSneaslerTeachableLearnset, [SPECIES_OVERQWIL] = sOverqwilTeachableLearnset, [SPECIES_ENAMORUS] = sEnamorusTeachableLearnset, +#endif // Megas [SPECIES_VENUSAUR_MEGA] = sVenusaurTeachableLearnset, [SPECIES_CHARIZARD_MEGA_X] = sCharizardTeachableLearnset, @@ -948,13 +957,19 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_METAGROSS_MEGA] = sMetagrossTeachableLearnset, [SPECIES_LATIAS_MEGA] = sLatiasTeachableLearnset, [SPECIES_LATIOS_MEGA] = sLatiosTeachableLearnset, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LOPUNNY_MEGA] = sLopunnyTeachableLearnset, [SPECIES_GARCHOMP_MEGA] = sGarchompTeachableLearnset, [SPECIES_LUCARIO_MEGA] = sLucarioTeachableLearnset, [SPECIES_ABOMASNOW_MEGA] = sAbomasnowTeachableLearnset, [SPECIES_GALLADE_MEGA] = sGalladeTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_AUDINO_MEGA] = sAudinoTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_DIANCIE_MEGA] = sDiancieTeachableLearnset, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = sRayquazaTeachableLearnset, [SPECIES_KYOGRE_PRIMAL] = sKyogreTeachableLearnset, @@ -994,10 +1009,12 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_CORSOLA_GALARIAN] = sCorsolaGalarianTeachableLearnset, [SPECIES_ZIGZAGOON_GALARIAN] = sZigzagoonGalarianTeachableLearnset, [SPECIES_LINOONE_GALARIAN] = sLinooneGalarianTeachableLearnset, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DARUMAKA_GALARIAN] = sDarumakaGalarianTeachableLearnset, [SPECIES_DARMANITAN_GALARIAN] = sDarmanitanGalarianTeachableLearnset, [SPECIES_YAMASK_GALARIAN] = sYamaskGalarianTeachableLearnset, [SPECIES_STUNFISK_GALARIAN] = sStunfiskGalarianTeachableLearnset, +#endif // Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = sGrowlitheHisuianTeachableLearnset, [SPECIES_ARCANINE_HISUIAN] = sArcanineHisuianTeachableLearnset, @@ -1006,15 +1023,21 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_TYPHLOSION_HISUIAN] = sTyphlosionHisuianTeachableLearnset, [SPECIES_QWILFISH_HISUIAN] = sQwilfishHisuianTeachableLearnset, [SPECIES_SNEASEL_HISUIAN] = sSneaselHisuianTeachableLearnset, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SAMUROTT_HISUIAN] = sSamurottHisuianTeachableLearnset, [SPECIES_LILLIGANT_HISUIAN] = sLilligantHisuianTeachableLearnset, [SPECIES_ZORUA_HISUIAN] = sZoruaHisuianTeachableLearnset, [SPECIES_ZOROARK_HISUIAN] = sZoroarkHisuianTeachableLearnset, [SPECIES_BRAVIARY_HISUIAN] = sBraviaryHisuianTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_SLIGGOO_HISUIAN] = sSliggooHisuianTeachableLearnset, [SPECIES_GOODRA_HISUIAN] = sGoodraHisuianTeachableLearnset, [SPECIES_AVALUGG_HISUIAN] = sAvaluggHisuianTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE_HISUIAN] = sDecidueyeHisuianTeachableLearnset, +#endif // Misc Forms // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = sPikachuTeachableLearnset, @@ -1034,7 +1057,6 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_PIKACHU_WORLD_CAP] = sPikachuTeachableLearnset, // Pichu [SPECIES_PICHU_SPIKY_EARED] = sPichuTeachableLearnset, -#endif // Unown [SPECIES_UNOWN_B] = sUnownTeachableLearnset, [SPECIES_UNOWN_C] = sUnownTeachableLearnset, @@ -1071,7 +1093,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_DEOXYS_ATTACK] = sDeoxysAttackTeachableLearnset, [SPECIES_DEOXYS_DEFENSE] = sDeoxysDefenseTeachableLearnset, [SPECIES_DEOXYS_SPEED] = sDeoxysSpeedTeachableLearnset, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 // Burmy [SPECIES_BURMY_SANDY_CLOAK] = sBurmyTeachableLearnset, [SPECIES_BURMY_TRASH_CLOAK] = sBurmyTeachableLearnset, @@ -1114,6 +1136,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_ARCEUS_DRAGON] = sArceusTeachableLearnset, [SPECIES_ARCEUS_DARK] = sArceusTeachableLearnset, [SPECIES_ARCEUS_FAIRY] = sArceusTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_5 // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = sBasculinTeachableLearnset, [SPECIES_BASCULIN_WHITE_STRIPED] = sBasculinTeachableLearnset, @@ -1132,7 +1156,6 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_TORNADUS_THERIAN] = sTornadusTeachableLearnset, [SPECIES_THUNDURUS_THERIAN] = sThundurusTeachableLearnset, [SPECIES_LANDORUS_THERIAN] = sLandorusTeachableLearnset, - [SPECIES_ENAMORUS_THERIAN] = sEnamorusTeachableLearnset, // Kyurem [SPECIES_KYUREM_WHITE] = sKyuremTeachableLearnset, [SPECIES_KYUREM_BLACK] = sKyuremTeachableLearnset, @@ -1145,6 +1168,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_GENESECT_SHOCK_DRIVE] = sGenesectTeachableLearnset, [SPECIES_GENESECT_BURN_DRIVE] = sGenesectTeachableLearnset, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_6 // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = sGreninjaTeachableLearnset, [SPECIES_GRENINJA_ASH] = sGreninjaTeachableLearnset, @@ -1215,6 +1240,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_ZYGARDE_COMPLETE] = sZygardeTeachableLearnset, // Hoopa [SPECIES_HOOPA_UNBOUND] = sHoopaUnboundTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_7 // Oricorio [SPECIES_ORICORIO_POM_POM] = sOricorioTeachableLearnset, [SPECIES_ORICORIO_PAU] = sOricorioTeachableLearnset, @@ -1266,6 +1293,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_NECROZMA_ULTRA] = sNecrozmaTeachableLearnset, // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sMagearnaTeachableLearnset, +#endif +#if P_NEW_POKEMON >= GEN_8 // Cramorant [SPECIES_CRAMORANT_GULPING] = sCramorantTeachableLearnset, [SPECIES_CRAMORANT_GORGING] = sCramorantTeachableLearnset, @@ -1303,5 +1332,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = // Calyrex [SPECIES_CALYREX_ICE_RIDER] = sCalyrexIceRiderTeachableLearnset, [SPECIES_CALYREX_SHADOW_RIDER] = sCalyrexShadowRiderTeachableLearnset, + // Enamorus + [SPECIES_ENAMORUS_THERIAN] = sEnamorusTeachableLearnset, #endif }; diff --git a/src/data/pokemon/teachable_learnsets.h b/src/data/pokemon/teachable_learnsets.h index 30405b044..8a3b89293 100644 --- a/src/data/pokemon/teachable_learnsets.h +++ b/src/data/pokemon/teachable_learnsets.h @@ -16203,8 +16203,7 @@ static const u16 sDeoxysTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -#if P_NEW_POKEMON == TRUE - +#if P_NEW_POKEMON >= GEN_4 static const u16 sTurtwigTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, @@ -20326,7 +20325,9 @@ static const u16 sArceusTeachableLearnset[] = { MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; +#endif +#if P_NEW_POKEMON >= GEN_5 static const u16 sVictiniTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM, @@ -25417,7 +25418,9 @@ static const u16 sGenesectTeachableLearnset[] = { MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const u16 sChespinTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, @@ -27826,7 +27829,9 @@ static const u16 sVolcanionTeachableLearnset[] = { MOVE_SWAGGER, MOVE_UNAVAILABLE, }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const u16 sRowletTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, @@ -30208,7 +30213,9 @@ static const u16 sMelmetalTeachableLearnset[] = { MOVE_HIDDEN_POWER, MOVE_UNAVAILABLE, }; +#endif +#if P_NEW_POKEMON >= GEN_8 static const u16 sGrookeyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_FACADE, @@ -32120,6 +32127,7 @@ static const u16 sOverqwilTeachableLearnset[] = { static const u16 sEnamorusTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#endif static const u16 sRattataAlolanTeachableLearnset[] = { MOVE_BLIZZARD, @@ -32849,6 +32857,7 @@ static const u16 sLinooneGalarianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#if P_NEW_POKEMON >= GEN_5 static const u16 sDarumakaGalarianTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, @@ -32958,6 +32967,7 @@ static const u16 sStunfiskGalarianTeachableLearnset[] = { MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; +#endif static const u16 sGrowlitheHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, @@ -32987,6 +32997,7 @@ static const u16 sSneaselHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#if P_NEW_POKEMON >= GEN_5 static const u16 sSamurottHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; @@ -33006,7 +33017,9 @@ static const u16 sZoroarkHisuianTeachableLearnset[] = { static const u16 sBraviaryHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const u16 sSliggooHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; @@ -33018,11 +33031,12 @@ static const u16 sGoodraHisuianTeachableLearnset[] = { static const u16 sAvaluggHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const u16 sDecidueyeHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; - #endif static const u16 sDeoxysAttackTeachableLearnset[] = { @@ -33145,8 +33159,7 @@ static const u16 sDeoxysSpeedTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -#if P_NEW_POKEMON == TRUE - +#if P_NEW_POKEMON >= GEN_4 static const u16 sBurmySandyCloakTeachableLearnset[] = { MOVE_HIDDEN_POWER, MOVE_PROTECT, @@ -33280,7 +33293,9 @@ static const u16 sShayminSkyTeachableLearnset[] = { MOVE_TOXIC, MOVE_UNAVAILABLE, }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const u16 sFloetteEternalFlowerTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, @@ -33373,7 +33388,9 @@ static const u16 sMeowsticFemaleTeachableLearnset[] = { MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const u16 sLycanrocMidnightTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, @@ -33411,7 +33428,9 @@ static const u16 sLycanrocDuskTeachableLearnset[] = { MOVE_TOXIC, MOVE_UNAVAILABLE, }; +#endif +#if P_NEW_POKEMON >= GEN_8 static const u16 sToxtricityLowKeyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_FACADE, @@ -33552,5 +33571,4 @@ static const u16 sCalyrexShadowRiderTeachableLearnset[] = { MOVE_SWIFT, MOVE_UNAVAILABLE, }; - #endif diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index e04afe339..487c49347 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -1,3 +1,22 @@ + +#define PIKACHU_BACK_PIC_COORDS \ +{ \ + .size = MON_COORDS_SIZE(64, 56), \ + .y_offset = 4, \ +} + +#define ARCEUS_BACK_PIC_COORDS \ +{ \ + .size = MON_COORDS_SIZE(64, 64), \ + .y_offset = 3, \ +} + +#define DEERLING_BACK_PIC_COORDS \ +{ \ + .size = MON_COORDS_SIZE(48, 56), \ + .y_offset = 9, \ +} + // All Pokémon pics are 64x64, but this data table defines where in this 64x64 frame // the sprite's non-transparent pixels actually are. // .size is the dimensions of this drawn pixel area. @@ -129,11 +148,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 1, }, - [SPECIES_PIKACHU] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, + [SPECIES_PIKACHU] = PIKACHU_BACK_PIC_COORDS, [SPECIES_RAICHU] = { .size = MON_COORDS_SIZE(64, 56), @@ -1939,7 +1954,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 56), .y_offset = 9, }, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TURTWIG] = { .size = MON_COORDS_SIZE(48, 56), @@ -2470,11 +2485,9 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(56, 40), .y_offset = 15, }, - [SPECIES_ARCEUS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, + [SPECIES_ARCEUS] = ARCEUS_BACK_PIC_COORDS, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_VICTINI] = { .size = MON_COORDS_SIZE(40, 64), @@ -2930,11 +2943,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 6, }, - [SPECIES_DEERLING] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 9, - }, + [SPECIES_DEERLING] = DEERLING_BACK_PIC_COORDS, [SPECIES_SAWSBUCK] = { .size = MON_COORDS_SIZE(48, 64), @@ -3255,6 +3264,8 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 48), .y_offset = 8, }, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_CHESPIN] = { .size = MON_COORDS_SIZE(56, 64), @@ -3615,6 +3626,8 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 3, }, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROWLET] = { .size = MON_COORDS_SIZE(48, 40), @@ -4055,6 +4068,8 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 40), .y_offset = 13, }, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_GROOKEY] = { .size = MON_COORDS_SIZE(48, 56), @@ -4535,6 +4550,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif // Megas [SPECIES_VENUSAUR_MEGA] = { @@ -4736,6 +4752,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 1, }, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LOPUNNY_MEGA] = { .size = MON_COORDS_SIZE(64, 64), @@ -4761,16 +4778,21 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 3, }, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_AUDINO_MEGA] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_DIANCIE_MEGA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5, }, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = { @@ -4954,6 +4976,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 40), .y_offset = 13, }, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DARUMAKA_GALARIAN] = { .size = MON_COORDS_SIZE(56, 48), @@ -4974,6 +4997,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 24), .y_offset = 23, }, +#endif // Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = { @@ -5010,6 +5034,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(56, 64), .y_offset = 3, }, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SAMUROTT_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), @@ -5035,6 +5060,8 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 56), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_SLIGGOO_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), @@ -5050,91 +5077,37 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 32), .y_offset = 17, }, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif // Misc Forms // Cosplay Pikachu - [SPECIES_PIKACHU_COSPLAY] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_ROCK_STAR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_BELLE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_POP_STAR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_PH_D] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_LIBRE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, + [SPECIES_PIKACHU_COSPLAY] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_ROCK_STAR] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_BELLE] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_POP_STAR] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_PH_D] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_LIBRE] = PIKACHU_BACK_PIC_COORDS, // Cap Pikachu - [SPECIES_PIKACHU_ORIGINAL_CAP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_HOENN_CAP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_SINNOH_CAP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_UNOVA_CAP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_KALOS_CAP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_ALOLA_CAP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_PARTNER_CAP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU_WORLD_CAP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, + [SPECIES_PIKACHU_ORIGINAL_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_HOENN_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_SINNOH_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_UNOVA_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_KALOS_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_ALOLA_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_PARTNER_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_WORLD_CAP] = PIKACHU_BACK_PIC_COORDS, // Pichu [SPECIES_PICHU_SPIKY_EARED] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 8, }, -#endif // Unown [SPECIES_UNOWN_B] = { @@ -5303,7 +5276,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 // Burmy [SPECIES_BURMY_SANDY_CLOAK] = { @@ -5393,91 +5366,25 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 2, }, // Arceus - [SPECIES_ARCEUS_FIGHTING] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_FLYING] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_POISON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_GROUND] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_ROCK] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_BUG] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_GHOST] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_STEEL] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_FIRE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_WATER] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_GRASS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_ELECTRIC] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_PSYCHIC] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_ICE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_DRAGON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_DARK] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ARCEUS_FAIRY] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, + [SPECIES_ARCEUS_FIGHTING] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_FLYING] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_POISON] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_GROUND] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_ROCK] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_BUG] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_GHOST] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_STEEL] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_FIRE] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_WATER] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_GRASS] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_ELECTRIC] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_PSYCHIC] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_ICE] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_DRAGON] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_DARK] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_FAIRY] = ARCEUS_BACK_PIC_COORDS, +#endif +#if P_NEW_POKEMON >= GEN_5 // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = { @@ -5501,21 +5408,9 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 1, }, // Deerling - [SPECIES_DEERLING_SUMMER] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 9, - }, - [SPECIES_DEERLING_AUTUMN] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 9, - }, - [SPECIES_DEERLING_WINTER] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 9, - }, + [SPECIES_DEERLING_SUMMER] = DEERLING_BACK_PIC_COORDS, + [SPECIES_DEERLING_AUTUMN] = DEERLING_BACK_PIC_COORDS, + [SPECIES_DEERLING_WINTER] = DEERLING_BACK_PIC_COORDS, // Sawsbuck [SPECIES_SAWSBUCK_SUMMER] = { @@ -5548,11 +5443,6 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 56), .y_offset = 7, }, - [SPECIES_ENAMORUS_THERIAN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, // Kyurem [SPECIES_KYUREM_WHITE] = { @@ -5597,6 +5487,8 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 48), .y_offset = 8, }, +#endif +#if P_NEW_POKEMON >= GEN_6 // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = { @@ -5895,6 +5787,8 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_7 // Oricorio [SPECIES_ORICORIO_POM_POM] = { @@ -6114,6 +6008,8 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 56), .y_offset = 4, }, +#endif +#if P_NEW_POKEMON >= GEN_8 // Cramorant [SPECIES_CRAMORANT_GULPING] = { @@ -6243,6 +6139,11 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 56), .y_offset = 7, }, + [SPECIES_ENAMORUS_THERIAN] = + { + .size = MON_COORDS_SIZE(64, 64), + .y_offset = 0, + }, #endif // Egg [SPECIES_EGG] = diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 30a711fc4..4de33b79a 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -387,7 +387,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi), SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys), SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_SPRITE(TURTWIG, gMonBackPic_Turtwig), SPECIES_SPRITE(GROTLE, gMonBackPic_Grotle), SPECIES_SPRITE(TORTERRA, gMonBackPic_Torterra), @@ -495,6 +495,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(DARKRAI, gMonBackPic_Darkrai), SPECIES_SPRITE(SHAYMIN, gMonBackPic_Shaymin), SPECIES_SPRITE(ARCEUS, gMonBackPic_Arceus), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(VICTINI, gMonBackPic_Victini), SPECIES_SPRITE(SNIVY, gMonBackPic_Snivy), SPECIES_SPRITE(SERVINE, gMonBackPic_Servine), @@ -651,6 +653,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(KELDEO, gMonBackPic_Keldeo), SPECIES_SPRITE(MELOETTA, gMonBackPic_Meloetta), SPECIES_SPRITE(GENESECT, gMonBackPic_Genesect), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(CHESPIN, gMonBackPic_Chespin), SPECIES_SPRITE(QUILLADIN, gMonBackPic_Quilladin), SPECIES_SPRITE(CHESNAUGHT, gMonBackPic_Chesnaught), @@ -723,6 +727,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(DIANCIE, gMonBackPic_Diancie), SPECIES_SPRITE(HOOPA, gMonBackPic_Hoopa), SPECIES_SPRITE(VOLCANION, gMonBackPic_Volcanion), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_SPRITE(ROWLET, gMonBackPic_Rowlet), SPECIES_SPRITE(DARTRIX, gMonBackPic_Dartrix), SPECIES_SPRITE(DECIDUEYE, gMonBackPic_Decidueye), @@ -811,6 +817,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(ZERAORA, gMonBackPic_Zeraora), SPECIES_SPRITE(MELTAN, gMonBackPic_Meltan), SPECIES_SPRITE(MELMETAL, gMonBackPic_Melmetal), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_SPRITE(GROOKEY, gMonBackPic_Grookey), SPECIES_SPRITE(THWACKEY, gMonBackPic_Thwackey), SPECIES_SPRITE(RILLABOOM, gMonBackPic_Rillaboom), @@ -907,6 +915,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(SNEASLER, gMonBackPic_CircledQuestionMark), //gMonBackPic_Sneasler), SPECIES_SPRITE(OVERQWIL, gMonBackPic_Overqwil), SPECIES_SPRITE(ENAMORUS, gMonBackPic_CircledQuestionMark), //gMonBackPic_Enamorus), +#endif SPECIES_SPRITE(VENUSAUR_MEGA, gMonBackPic_VenusaurMega), SPECIES_SPRITE(CHARIZARD_MEGA_X, gMonBackPic_CharizardMegaX), @@ -948,13 +957,19 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(METAGROSS_MEGA, gMonBackPic_MetagrossMega), SPECIES_SPRITE(LATIAS_MEGA, gMonBackPic_LatiasMega), SPECIES_SPRITE(LATIOS_MEGA, gMonBackPic_LatiosMega), +#if P_NEW_POKEMON >= GEN_4 SPECIES_SPRITE(LOPUNNY_MEGA, gMonBackPic_LopunnyMega), SPECIES_SPRITE(GARCHOMP_MEGA, gMonBackPic_GarchompMega), SPECIES_SPRITE(LUCARIO_MEGA, gMonBackPic_LucarioMega), SPECIES_SPRITE(ABOMASNOW_MEGA, gMonBackPic_AbomasnowMega), SPECIES_SPRITE(GALLADE_MEGA, gMonBackPic_GalladeMega), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(AUDINO_MEGA, gMonBackPic_AudinoMega), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(DIANCIE_MEGA, gMonBackPic_DiancieMega), +#endif SPECIES_SPRITE(RAYQUAZA_MEGA, gMonBackPic_RayquazaMega), SPECIES_SPRITE(KYOGRE_PRIMAL, gMonBackPic_KyogrePrimal), @@ -994,10 +1009,12 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(CORSOLA_GALARIAN, gMonBackPic_CorsolaGalarian), SPECIES_SPRITE(ZIGZAGOON_GALARIAN, gMonBackPic_ZigzagoonGalarian), SPECIES_SPRITE(LINOONE_GALARIAN, gMonBackPic_LinooneGalarian), +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(DARUMAKA_GALARIAN, gMonBackPic_DarumakaGalarian), SPECIES_SPRITE(DARMANITAN_GALARIAN, gMonBackPic_DarmanitanGalarian), SPECIES_SPRITE(YAMASK_GALARIAN, gMonBackPic_YamaskGalarian), SPECIES_SPRITE(STUNFISK_GALARIAN, gMonBackPic_StunfiskGalarian), +#endif SPECIES_SPRITE(GROWLITHE_HISUIAN, gMonBackPic_GrowlitheHisuian), SPECIES_SPRITE(ARCANINE_HISUIAN, gMonBackPic_ArcanineHisuian), @@ -1006,15 +1023,21 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(TYPHLOSION_HISUIAN, gMonBackPic_TyphlosionHisuian), SPECIES_SPRITE(QWILFISH_HISUIAN, gMonBackPic_QwilfishHisuian), SPECIES_SPRITE(SNEASEL_HISUIAN, gMonBackPic_SneaselHisuian), +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(SAMUROTT_HISUIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_SamurottHisuian), SPECIES_SPRITE(LILLIGANT_HISUIAN, gMonBackPic_LilligantHisuian), SPECIES_SPRITE(ZORUA_HISUIAN, gMonBackPic_ZoruaHisuian), SPECIES_SPRITE(ZOROARK_HISUIAN, gMonBackPic_ZoroarkHisuian), SPECIES_SPRITE(BRAVIARY_HISUIAN, gMonBackPic_BraviaryHisuian), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(SLIGGOO_HISUIAN, gMonBackPic_SliggooHisuian), SPECIES_SPRITE(GOODRA_HISUIAN, gMonBackPic_GoodraHisuian), SPECIES_SPRITE(AVALUGG_HISUIAN, gMonBackPic_AvaluggHisuian), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_SPRITE(DECIDUEYE_HISUIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_DecidueyeHisuian), +#endif SPECIES_SPRITE(PIKACHU_COSPLAY, gMonBackPic_PikachuCosplay), SPECIES_SPRITE(PIKACHU_ROCK_STAR, gMonBackPic_PikachuRockStar), @@ -1033,7 +1056,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(PIKACHU_WORLD_CAP, gMonBackPic_PikachuWorldCap), SPECIES_SPRITE(PICHU_SPIKY_EARED, gMonBackPic_PichuSpikyEared), -#endif + SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB), SPECIES_SPRITE(UNOWN_C, gMonBackPic_UnownC), SPECIES_SPRITE(UNOWN_D, gMonBackPic_UnownD), @@ -1069,7 +1092,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(DEOXYS_ATTACK, gMonBackPic_DeoxysAttack), SPECIES_SPRITE(DEOXYS_DEFENSE, gMonBackPic_DeoxysDefense), SPECIES_SPRITE(DEOXYS_SPEED, gMonBackPic_DeoxysSpeed), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_SPRITE(BURMY_SANDY_CLOAK, gMonBackPic_BurmySandyCloak), SPECIES_SPRITE(BURMY_TRASH_CLOAK, gMonBackPic_BurmyTrashCloak), @@ -1111,7 +1134,9 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(ARCEUS_DRAGON, gMonBackPic_Arceus), SPECIES_SPRITE(ARCEUS_DARK, gMonBackPic_Arceus), SPECIES_SPRITE(ARCEUS_FAIRY, gMonBackPic_Arceus), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(BASCULIN_BLUE_STRIPED, gMonBackPic_BasculinBlueStriped), SPECIES_SPRITE(BASCULIN_WHITE_STRIPED, gMonBackPic_BasculinWhiteStriped), @@ -1129,7 +1154,6 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(TORNADUS_THERIAN, gMonBackPic_TornadusTherian), SPECIES_SPRITE(THUNDURUS_THERIAN, gMonBackPic_ThundurusTherian), SPECIES_SPRITE(LANDORUS_THERIAN, gMonBackPic_LandorusTherian), - SPECIES_SPRITE(ENAMORUS_THERIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_EnamorusTherian), SPECIES_SPRITE(KYUREM_WHITE, gMonBackPic_KyuremWhite), SPECIES_SPRITE(KYUREM_BLACK, gMonBackPic_KyuremBlack), @@ -1142,7 +1166,9 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(GENESECT_SHOCK_DRIVE, gMonBackPic_Genesect), SPECIES_SPRITE(GENESECT_BURN_DRIVE, gMonBackPic_Genesect), SPECIES_SPRITE(GENESECT_CHILL_DRIVE, gMonBackPic_Genesect), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(GRENINJA_BATTLE_BOND, gMonBackPic_Greninja), SPECIES_SPRITE(GRENINJA_ASH, gMonBackPic_GreninjaAsh), @@ -1212,7 +1238,9 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(ZYGARDE_COMPLETE, gMonBackPic_ZygardeComplete), SPECIES_SPRITE(HOOPA_UNBOUND, gMonBackPic_HoopaUnbound), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_SPRITE(ORICORIO_POM_POM, gMonBackPic_OricorioPomPom), SPECIES_SPRITE(ORICORIO_PAU, gMonBackPic_OricorioPau), SPECIES_SPRITE(ORICORIO_SENSU, gMonBackPic_OricorioSensu), @@ -1263,7 +1291,9 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(NECROZMA_ULTRA, gMonBackPic_NecrozmaUltra), SPECIES_SPRITE(MAGEARNA_ORIGINAL_COLOR, gMonBackPic_MagearnaOriginalColor), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_SPRITE(CRAMORANT_GULPING, gMonBackPic_CramorantGulping), SPECIES_SPRITE(CRAMORANT_GORGING, gMonBackPic_CramorantGorging), @@ -1300,6 +1330,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(CALYREX_ICE_RIDER, gMonBackPic_CalyrexIceRider), SPECIES_SPRITE(CALYREX_SHADOW_RIDER, gMonBackPic_CalyrexShadowRider), + + SPECIES_SPRITE(ENAMORUS_THERIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_EnamorusTherian), #endif SPECIES_SPRITE(EGG, gMonFrontPic_Egg), }; @@ -1307,7 +1339,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = const struct CompressedSpriteSheet gMonBackPicTableFemale[] = { SPECIES_SPRITE(EEVEE, gMonBackPic_EeveeF), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_SPRITE(STARLY, gMonBackPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonBackPic_StaraviaF), SPECIES_SPRITE(STARAPTOR, gMonBackPic_Staraptor), @@ -1318,10 +1350,16 @@ const struct CompressedSpriteSheet gMonBackPicTableFemale[] = SPECIES_SPRITE(COMBEE, gMonBackPic_Combee), SPECIES_SPRITE(HIPPOPOTAS, gMonBackPic_HippopotasF), SPECIES_SPRITE(HIPPOWDON, gMonBackPic_HippowdonF), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(UNFEZANT, gMonBackPic_UnfezantF), SPECIES_SPRITE(FRILLISH, gMonBackPic_FrillishF), SPECIES_SPRITE(JELLICENT, gMonBackPic_JellicentF), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(PYROAR, gMonBackPic_PyroarF), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_SPRITE(BASCULEGION, gMonBackPic_CircledQuestionMark), //gMonBackPic_BasculegionF), #endif }; diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h index 8499650e0..64bd433fa 100644 --- a/src/data/pokemon_graphics/enemy_mon_elevation.h +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -58,7 +58,6 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_LATIOS] = 6, [SPECIES_JIRACHI] = 14, [SPECIES_CHIMECHO] = 16, -#if P_NEW_POKEMON == TRUE // Gen 4 [SPECIES_MOTHIM] = 10, [SPECIES_COMBEE] = 8, @@ -182,7 +181,6 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_VOLTORB_HISUIAN] = 1, [SPECIES_ELECTRODE_HISUIAN] = 4, [SPECIES_BRAVIARY_HISUIAN] = 3, -#endif // Other Forms [SPECIES_UNOWN_B] = 8, [SPECIES_UNOWN_C] = 8, @@ -214,7 +212,6 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_CASTFORM_SUNNY] = 5, [SPECIES_CASTFORM_RAINY] = 5, [SPECIES_CASTFORM_SNOWY] = 5, -#if P_NEW_POKEMON == TRUE [SPECIES_ROTOM_HEAT] = 6, [SPECIES_ROTOM_WASH] = 6, [SPECIES_ROTOM_FROST] = 6, @@ -271,5 +268,4 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_SINISTEA_ANTIQUE] = 10, [SPECIES_POLTEAGEIST_ANTIQUE] = 12, [SPECIES_ETERNATUS_ETERNAMAX] = 13, -#endif }; diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index cacf582ca..c49471f80 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -387,7 +387,7 @@ const u8 *const gMonFootprintTable[] = [SPECIES_JIRACHI] = gMonFootprint_Jirachi, [SPECIES_DEOXYS] = gMonFootprint_Deoxys, [SPECIES_CHIMECHO] = gMonFootprint_Chimecho, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TURTWIG] = gMonFootprint_Turtwig, [SPECIES_GROTLE] = gMonFootprint_Grotle, [SPECIES_TORTERRA] = gMonFootprint_Torterra, @@ -495,6 +495,8 @@ const u8 *const gMonFootprintTable[] = [SPECIES_DARKRAI] = gMonFootprint_Darkrai, [SPECIES_SHAYMIN] = gMonFootprint_Shaymin, [SPECIES_ARCEUS] = gMonFootprint_Arceus, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_VICTINI] = gMonFootprint_Victini, [SPECIES_SNIVY] = gMonFootprint_Snivy, [SPECIES_SERVINE] = gMonFootprint_Servine, @@ -651,6 +653,8 @@ const u8 *const gMonFootprintTable[] = [SPECIES_KELDEO] = gMonFootprint_Keldeo, [SPECIES_MELOETTA] = gMonFootprint_Meloetta, [SPECIES_GENESECT] = gMonFootprint_Genesect, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_CHESPIN] = gMonFootprint_Chespin, [SPECIES_QUILLADIN] = gMonFootprint_Quilladin, [SPECIES_CHESNAUGHT] = gMonFootprint_Chesnaught, @@ -723,6 +727,8 @@ const u8 *const gMonFootprintTable[] = [SPECIES_DIANCIE] = gMonFootprint_Diancie, [SPECIES_HOOPA] = gMonFootprint_Hoopa, [SPECIES_VOLCANION] = gMonFootprint_Volcanion, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROWLET] = gMonFootprint_Rowlet, [SPECIES_DARTRIX] = gMonFootprint_Dartrix, [SPECIES_DECIDUEYE] = gMonFootprint_Decidueye, @@ -811,6 +817,8 @@ const u8 *const gMonFootprintTable[] = [SPECIES_ZERAORA] = gMonFootprint_Zeraora, [SPECIES_MELTAN] = gMonFootprint_Meltan, [SPECIES_MELMETAL] = gMonFootprint_Melmetal, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_GROOKEY] = gMonFootprint_Grookey, [SPECIES_THWACKEY] = gMonFootprint_Thwackey, [SPECIES_RILLABOOM] = gMonFootprint_Rillaboom, diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index cf59f314c..ec0531120 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -4805,7 +4805,7 @@ static const union AnimCmd sAnim_UNOWN_QMARK_1[] = ANIMCMD_END, }; -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 static const union AnimCmd sAnim_TURTWIG_1[] = { ANIMCMD_FRAME(0, 15), @@ -5766,7 +5766,9 @@ static const union AnimCmd sAnim_ARCEUS_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_NEW_POKEMON >= GEN_5 static const union AnimCmd sAnim_VICTINI_1[] = { ANIMCMD_FRAME(0, 30), @@ -7013,7 +7015,9 @@ static const union AnimCmd sAnim_GENESECT_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const union AnimCmd sAnim_CHESPIN_1[] = { ANIMCMD_FRAME(0, 8), @@ -7449,7 +7453,9 @@ static const union AnimCmd sAnim_VOLCANION_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const union AnimCmd sAnim_ROWLET_1[] = { ANIMCMD_FRAME(0, 1), @@ -7993,7 +7999,9 @@ static const union AnimCmd sAnim_MELMETAL_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_NEW_POKEMON >= GEN_8 static const union AnimCmd sAnim_GROOKEY_1[] = { ANIMCMD_FRAME(0, 1), @@ -8569,6 +8577,7 @@ static const union AnimCmd sAnim_ENAMORUS_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif static const union AnimCmd sAnim_VENUSAUR_MEGA_1[] = { @@ -8828,6 +8837,7 @@ static const union AnimCmd sAnim_RAYQUAZA_MEGA_1[] = ANIMCMD_END, }; +#if P_NEW_POKEMON >= GEN_4 static const union AnimCmd sAnim_LOPUNNY_MEGA_1[] = { ANIMCMD_FRAME(0, 1), @@ -8857,18 +8867,23 @@ static const union AnimCmd sAnim_GALLADE_MEGA_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_NEW_POKEMON >= GEN_5 static const union AnimCmd sAnim_AUDINO_MEGA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const union AnimCmd sAnim_DIANCIE_MEGA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif static const union AnimCmd sAnim_RATTATA_ALOLAN_1[] = { @@ -9068,6 +9083,7 @@ static const union AnimCmd sAnim_LINOONE_GALARIAN_1[] = ANIMCMD_END, }; +#if P_NEW_POKEMON >= GEN_5 static const union AnimCmd sAnim_DARUMAKA_GALARIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9091,6 +9107,7 @@ static const union AnimCmd sAnim_STUNFISK_GALARIAN_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif static const union AnimCmd sAnim_GROWLITHE_HISUIAN_1[] = { @@ -9134,6 +9151,7 @@ static const union AnimCmd sAnim_SNEASEL_HISUIAN_1[] = ANIMCMD_END, }; +#if P_NEW_POKEMON >= GEN_5 static const union AnimCmd sAnim_SAMUROTT_HISUIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9163,7 +9181,9 @@ static const union AnimCmd sAnim_BRAVIARY_HISUIAN_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_NEW_POKEMON >= GEN_6 static const union AnimCmd sAnim_SLIGGOO_HISUIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9181,209 +9201,16 @@ static const union AnimCmd sAnim_AVALUGG_HISUIAN_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_NEW_POKEMON >= GEN_7 static const union AnimCmd sAnim_DECIDUEYE_HISUIAN_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; - -static const union AnimCmd sAnim_SHAYMIN_SKY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DIALGA_ORIGIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PALKIA_ORIGIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TORNADUS_THERIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_THUNDURUS_THERIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LANDORUS_THERIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ENAMORUS_THERIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KELDEO_RESOLUTE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_AEGISLASH_BLADE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HOOPA_UNBOUND_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MINIOR_CORE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_WISHIWASHI_SCHOOL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KYUREM_BLACK_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KYUREM_WHITE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MIMIKYU_BUSTED_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LYCANROC_MIDNIGHT_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LYCANROC_DUSK_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ZYGARDE_10_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; #endif -static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; -static const union AnimCmd sAnim_DEOXYS_ATTACK_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DEOXYS_DEFENSE_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -#if P_NEW_POKEMON == TRUE static const union AnimCmd sAnim_PIKACHU_COSPLAY_1[] = { ANIMCMD_FRAME(0, 1), @@ -9473,1336 +9300,1798 @@ static const union AnimCmd sAnim_PICHU_SPIKY_EARED_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_ATTACK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_DEFENSE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +#if P_NEW_POKEMON >= GEN_4 +static const union AnimCmd sAnim_SHAYMIN_SKY_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DIALGA_ORIGIN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_PALKIA_ORIGIN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; #endif -static const union AnimCmd *const sAnims_NONE[] ={ +#if P_NEW_POKEMON >= GEN_5 +static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_TORNADUS_THERIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_THUNDURUS_THERIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_LANDORUS_THERIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_KYUREM_BLACK_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_KYUREM_WHITE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_KELDEO_RESOLUTE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; +#endif + +#if P_NEW_POKEMON >= GEN_6 +static const union AnimCmd sAnim_AEGISLASH_BLADE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_ZYGARDE_10_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_HOOPA_UNBOUND_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; +#endif + +#if P_NEW_POKEMON >= GEN_7 +static const union AnimCmd sAnim_MINIOR_CORE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_WISHIWASHI_SCHOOL_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_MIMIKYU_BUSTED_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_LYCANROC_MIDNIGHT_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_LYCANROC_DUSK_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; +#endif + +#if P_NEW_POKEMON >= GEN_8 +static const union AnimCmd sAnim_ENAMORUS_THERIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; +#endif + +static const union AnimCmd *const sAnims_NONE[] = +{ sAnim_GeneralFrame0, sAnim_NONE_1, }; -static const union AnimCmd *const sAnims_BULBASAUR[] ={ +static const union AnimCmd *const sAnims_BULBASAUR[] = +{ sAnim_GeneralFrame0, sAnim_BULBASAUR_1, }; -static const union AnimCmd *const sAnims_IVYSAUR[] ={ +static const union AnimCmd *const sAnims_IVYSAUR[] = +{ sAnim_GeneralFrame0, sAnim_IVYSAUR_1, }; -static const union AnimCmd *const sAnims_VENUSAUR[] ={ +static const union AnimCmd *const sAnims_VENUSAUR[] = +{ sAnim_GeneralFrame0, sAnim_VENUSAUR_1, }; -static const union AnimCmd *const sAnims_CHARMANDER[] ={ +static const union AnimCmd *const sAnims_CHARMANDER[] = +{ sAnim_GeneralFrame0, sAnim_CHARMANDER_1, }; -static const union AnimCmd *const sAnims_CHARMELEON[] ={ +static const union AnimCmd *const sAnims_CHARMELEON[] = +{ sAnim_GeneralFrame0, sAnim_CHARMELEON_1, }; -static const union AnimCmd *const sAnims_CHARIZARD[] ={ +static const union AnimCmd *const sAnims_CHARIZARD[] = +{ sAnim_GeneralFrame0, sAnim_CHARIZARD_1, }; -static const union AnimCmd *const sAnims_SQUIRTLE[] ={ +static const union AnimCmd *const sAnims_SQUIRTLE[] = +{ sAnim_GeneralFrame0, sAnim_SQUIRTLE_1, }; -static const union AnimCmd *const sAnims_WARTORTLE[] ={ +static const union AnimCmd *const sAnims_WARTORTLE[] = +{ sAnim_GeneralFrame0, sAnim_WARTORTLE_1, }; -static const union AnimCmd *const sAnims_BLASTOISE[] ={ +static const union AnimCmd *const sAnims_BLASTOISE[] = +{ sAnim_GeneralFrame0, sAnim_BLASTOISE_1, }; -static const union AnimCmd *const sAnims_CATERPIE[] ={ +static const union AnimCmd *const sAnims_CATERPIE[] = +{ sAnim_GeneralFrame0, sAnim_CATERPIE_1, }; -static const union AnimCmd *const sAnims_METAPOD[] ={ +static const union AnimCmd *const sAnims_METAPOD[] = +{ sAnim_GeneralFrame0, sAnim_METAPOD_1, }; -static const union AnimCmd *const sAnims_BUTTERFREE[] ={ +static const union AnimCmd *const sAnims_BUTTERFREE[] = +{ sAnim_GeneralFrame0, sAnim_BUTTERFREE_1, }; -static const union AnimCmd *const sAnims_WEEDLE[] ={ +static const union AnimCmd *const sAnims_WEEDLE[] = +{ sAnim_GeneralFrame0, sAnim_WEEDLE_1, }; -static const union AnimCmd *const sAnims_KAKUNA[] ={ +static const union AnimCmd *const sAnims_KAKUNA[] = +{ sAnim_GeneralFrame0, sAnim_KAKUNA_1, }; -static const union AnimCmd *const sAnims_BEEDRILL[] ={ +static const union AnimCmd *const sAnims_BEEDRILL[] = +{ sAnim_GeneralFrame0, sAnim_BEEDRILL_1, }; -static const union AnimCmd *const sAnims_PIDGEY[] ={ +static const union AnimCmd *const sAnims_PIDGEY[] = +{ sAnim_GeneralFrame0, sAnim_PIDGEY_1, }; -static const union AnimCmd *const sAnims_PIDGEOTTO[] ={ +static const union AnimCmd *const sAnims_PIDGEOTTO[] = +{ sAnim_GeneralFrame0, sAnim_PIDGEOTTO_1, }; -static const union AnimCmd *const sAnims_PIDGEOT[] ={ +static const union AnimCmd *const sAnims_PIDGEOT[] = +{ sAnim_GeneralFrame0, sAnim_PIDGEOT_1, }; -static const union AnimCmd *const sAnims_RATTATA[] ={ +static const union AnimCmd *const sAnims_RATTATA[] = +{ sAnim_GeneralFrame0, sAnim_RATTATA_1, }; -static const union AnimCmd *const sAnims_RATICATE[] ={ +static const union AnimCmd *const sAnims_RATICATE[] = +{ sAnim_GeneralFrame0, sAnim_RATICATE_1, }; -static const union AnimCmd *const sAnims_SPEAROW[] ={ +static const union AnimCmd *const sAnims_SPEAROW[] = +{ sAnim_GeneralFrame0, sAnim_SPEAROW_1, }; -static const union AnimCmd *const sAnims_FEAROW[] ={ +static const union AnimCmd *const sAnims_FEAROW[] = +{ sAnim_GeneralFrame0, sAnim_FEAROW_1, }; -static const union AnimCmd *const sAnims_EKANS[] ={ +static const union AnimCmd *const sAnims_EKANS[] = +{ sAnim_GeneralFrame0, sAnim_EKANS_1, }; -static const union AnimCmd *const sAnims_ARBOK[] ={ +static const union AnimCmd *const sAnims_ARBOK[] = +{ sAnim_GeneralFrame0, sAnim_ARBOK_1, }; -static const union AnimCmd *const sAnims_PIKACHU[] ={ +static const union AnimCmd *const sAnims_PIKACHU[] = +{ sAnim_GeneralFrame0, sAnim_PIKACHU_1, sAnim_PIKACHU_2, }; -static const union AnimCmd *const sAnims_RAICHU[] ={ +static const union AnimCmd *const sAnims_RAICHU[] = +{ sAnim_GeneralFrame0, sAnim_RAICHU_1, sAnim_RAICHU_2, }; -static const union AnimCmd *const sAnims_SANDSHREW[] ={ +static const union AnimCmd *const sAnims_SANDSHREW[] = +{ sAnim_GeneralFrame0, sAnim_SANDSHREW_1, sAnim_SANDSHREW_2, }; -static const union AnimCmd *const sAnims_SANDSLASH[] ={ +static const union AnimCmd *const sAnims_SANDSLASH[] = +{ sAnim_GeneralFrame0, sAnim_SANDSLASH_1, sAnim_SANDSLASH_2, }; -static const union AnimCmd *const sAnims_NIDORAN_F[] ={ +static const union AnimCmd *const sAnims_NIDORAN_F[] = +{ sAnim_GeneralFrame0, sAnim_NIDORAN_F_1, }; -static const union AnimCmd *const sAnims_NIDORINA[] ={ +static const union AnimCmd *const sAnims_NIDORINA[] = +{ sAnim_GeneralFrame0, sAnim_NIDORINA_1, }; -static const union AnimCmd *const sAnims_NIDOQUEEN[] ={ +static const union AnimCmd *const sAnims_NIDOQUEEN[] = +{ sAnim_GeneralFrame0, sAnim_NIDOQUEEN_1, }; -static const union AnimCmd *const sAnims_NIDORAN_M[] ={ +static const union AnimCmd *const sAnims_NIDORAN_M[] = +{ sAnim_GeneralFrame0, sAnim_NIDORAN_M_1, }; -static const union AnimCmd *const sAnims_NIDORINO[] ={ +static const union AnimCmd *const sAnims_NIDORINO[] = +{ sAnim_GeneralFrame0, sAnim_NIDORINO_1, }; -static const union AnimCmd *const sAnims_NIDOKING[] ={ +static const union AnimCmd *const sAnims_NIDOKING[] = +{ sAnim_GeneralFrame0, sAnim_NIDOKING_1, }; -static const union AnimCmd *const sAnims_CLEFAIRY[] ={ +static const union AnimCmd *const sAnims_CLEFAIRY[] = +{ sAnim_GeneralFrame0, sAnim_CLEFAIRY_1, }; -static const union AnimCmd *const sAnims_CLEFABLE[] ={ +static const union AnimCmd *const sAnims_CLEFABLE[] = +{ sAnim_GeneralFrame0, sAnim_CLEFABLE_1, }; -static const union AnimCmd *const sAnims_VULPIX[] ={ +static const union AnimCmd *const sAnims_VULPIX[] = +{ sAnim_GeneralFrame0, sAnim_VULPIX_1, sAnim_VULPIX_2, }; -static const union AnimCmd *const sAnims_NINETALES[] ={ +static const union AnimCmd *const sAnims_NINETALES[] = +{ sAnim_GeneralFrame0, sAnim_NINETALES_1, sAnim_NINETALES_2, }; -static const union AnimCmd *const sAnims_JIGGLYPUFF[] ={ +static const union AnimCmd *const sAnims_JIGGLYPUFF[] = +{ sAnim_GeneralFrame0, sAnim_JIGGLYPUFF_1, sAnim_JIGGLYPUFF_2, }; -static const union AnimCmd *const sAnims_WIGGLYTUFF[] ={ +static const union AnimCmd *const sAnims_WIGGLYTUFF[] = +{ sAnim_GeneralFrame0, sAnim_WIGGLYTUFF_1, sAnim_WIGGLYTUFF_2, }; -static const union AnimCmd *const sAnims_ZUBAT[] ={ +static const union AnimCmd *const sAnims_ZUBAT[] = +{ sAnim_GeneralFrame0, sAnim_ZUBAT_1, }; -static const union AnimCmd *const sAnims_GOLBAT[] ={ +static const union AnimCmd *const sAnims_GOLBAT[] = +{ sAnim_GeneralFrame0, sAnim_GOLBAT_1, }; -static const union AnimCmd *const sAnims_ODDISH[] ={ +static const union AnimCmd *const sAnims_ODDISH[] = +{ sAnim_GeneralFrame0, sAnim_ODDISH_1, }; -static const union AnimCmd *const sAnims_GLOOM[] ={ +static const union AnimCmd *const sAnims_GLOOM[] = +{ sAnim_GeneralFrame0, sAnim_GLOOM_1, }; -static const union AnimCmd *const sAnims_VILEPLUME[] ={ +static const union AnimCmd *const sAnims_VILEPLUME[] = +{ sAnim_GeneralFrame0, sAnim_VILEPLUME_1, }; -static const union AnimCmd *const sAnims_PARAS[] ={ +static const union AnimCmd *const sAnims_PARAS[] = +{ sAnim_GeneralFrame0, sAnim_PARAS_1, }; -static const union AnimCmd *const sAnims_PARASECT[] ={ +static const union AnimCmd *const sAnims_PARASECT[] = +{ sAnim_GeneralFrame0, sAnim_PARASECT_1, }; -static const union AnimCmd *const sAnims_VENONAT[] ={ +static const union AnimCmd *const sAnims_VENONAT[] = +{ sAnim_GeneralFrame0, sAnim_VENONAT_1, }; -static const union AnimCmd *const sAnims_VENOMOTH[] ={ +static const union AnimCmd *const sAnims_VENOMOTH[] = +{ sAnim_GeneralFrame0, sAnim_VENOMOTH_1, }; -static const union AnimCmd *const sAnims_DIGLETT[] ={ +static const union AnimCmd *const sAnims_DIGLETT[] = +{ sAnim_GeneralFrame0, sAnim_DIGLETT_1, }; -static const union AnimCmd *const sAnims_DUGTRIO[] ={ +static const union AnimCmd *const sAnims_DUGTRIO[] = +{ sAnim_GeneralFrame0, sAnim_DUGTRIO_1, }; -static const union AnimCmd *const sAnims_MEOWTH[] ={ +static const union AnimCmd *const sAnims_MEOWTH[] = +{ sAnim_GeneralFrame0, sAnim_MEOWTH_1, }; -static const union AnimCmd *const sAnims_PERSIAN[] ={ +static const union AnimCmd *const sAnims_PERSIAN[] = +{ sAnim_GeneralFrame0, sAnim_PERSIAN_1, }; -static const union AnimCmd *const sAnims_PSYDUCK[] ={ +static const union AnimCmd *const sAnims_PSYDUCK[] = +{ sAnim_GeneralFrame0, sAnim_PSYDUCK_1, sAnim_PSYDUCK_2, }; -static const union AnimCmd *const sAnims_GOLDUCK[] ={ +static const union AnimCmd *const sAnims_GOLDUCK[] = +{ sAnim_GeneralFrame0, sAnim_GOLDUCK_1, sAnim_GOLDUCK_2, }; -static const union AnimCmd *const sAnims_MANKEY[] ={ +static const union AnimCmd *const sAnims_MANKEY[] = +{ sAnim_GeneralFrame0, sAnim_MANKEY_1, }; -static const union AnimCmd *const sAnims_PRIMEAPE[] ={ +static const union AnimCmd *const sAnims_PRIMEAPE[] = +{ sAnim_GeneralFrame0, sAnim_PRIMEAPE_1, }; -static const union AnimCmd *const sAnims_GROWLITHE[] ={ +static const union AnimCmd *const sAnims_GROWLITHE[] = +{ sAnim_GeneralFrame0, sAnim_GROWLITHE_1, }; -static const union AnimCmd *const sAnims_ARCANINE[] ={ +static const union AnimCmd *const sAnims_ARCANINE[] = +{ sAnim_GeneralFrame0, sAnim_ARCANINE_1, }; -static const union AnimCmd *const sAnims_POLIWAG[] ={ +static const union AnimCmd *const sAnims_POLIWAG[] = +{ sAnim_GeneralFrame0, sAnim_POLIWAG_1, }; -static const union AnimCmd *const sAnims_POLIWHIRL[] ={ +static const union AnimCmd *const sAnims_POLIWHIRL[] = +{ sAnim_GeneralFrame0, sAnim_POLIWHIRL_1, }; -static const union AnimCmd *const sAnims_POLIWRATH[] ={ +static const union AnimCmd *const sAnims_POLIWRATH[] = +{ sAnim_GeneralFrame0, sAnim_POLIWRATH_1, }; -static const union AnimCmd *const sAnims_ABRA[] ={ +static const union AnimCmd *const sAnims_ABRA[] = +{ sAnim_GeneralFrame0, sAnim_ABRA_1, }; -static const union AnimCmd *const sAnims_KADABRA[] ={ +static const union AnimCmd *const sAnims_KADABRA[] = +{ sAnim_GeneralFrame0, sAnim_KADABRA_1, }; -static const union AnimCmd *const sAnims_ALAKAZAM[] ={ +static const union AnimCmd *const sAnims_ALAKAZAM[] = +{ sAnim_GeneralFrame0, sAnim_ALAKAZAM_1, }; -static const union AnimCmd *const sAnims_MACHOP[] ={ +static const union AnimCmd *const sAnims_MACHOP[] = +{ sAnim_GeneralFrame0, sAnim_MACHOP_1, }; -static const union AnimCmd *const sAnims_MACHOKE[] ={ +static const union AnimCmd *const sAnims_MACHOKE[] = +{ sAnim_GeneralFrame0, sAnim_MACHOKE_1, }; -static const union AnimCmd *const sAnims_MACHAMP[] ={ +static const union AnimCmd *const sAnims_MACHAMP[] = +{ sAnim_GeneralFrame0, sAnim_MACHAMP_1, }; -static const union AnimCmd *const sAnims_BELLSPROUT[] ={ +static const union AnimCmd *const sAnims_BELLSPROUT[] = +{ sAnim_GeneralFrame0, sAnim_BELLSPROUT_1, }; -static const union AnimCmd *const sAnims_WEEPINBELL[] ={ +static const union AnimCmd *const sAnims_WEEPINBELL[] = +{ sAnim_GeneralFrame0, sAnim_WEEPINBELL_1, }; -static const union AnimCmd *const sAnims_VICTREEBEL[] ={ +static const union AnimCmd *const sAnims_VICTREEBEL[] = +{ sAnim_GeneralFrame0, sAnim_VICTREEBEL_1, }; -static const union AnimCmd *const sAnims_TENTACOOL[] ={ +static const union AnimCmd *const sAnims_TENTACOOL[] = +{ sAnim_GeneralFrame0, sAnim_TENTACOOL_1, }; -static const union AnimCmd *const sAnims_TENTACRUEL[] ={ +static const union AnimCmd *const sAnims_TENTACRUEL[] = +{ sAnim_GeneralFrame0, sAnim_TENTACRUEL_1, }; -static const union AnimCmd *const sAnims_GEODUDE[] ={ +static const union AnimCmd *const sAnims_GEODUDE[] = +{ sAnim_GeneralFrame0, sAnim_GEODUDE_1, }; -static const union AnimCmd *const sAnims_GRAVELER[] ={ +static const union AnimCmd *const sAnims_GRAVELER[] = +{ sAnim_GeneralFrame0, sAnim_GRAVELER_1, }; -static const union AnimCmd *const sAnims_GOLEM[] ={ +static const union AnimCmd *const sAnims_GOLEM[] = +{ sAnim_GeneralFrame0, sAnim_GOLEM_1, }; -static const union AnimCmd *const sAnims_PONYTA[] ={ +static const union AnimCmd *const sAnims_PONYTA[] = +{ sAnim_GeneralFrame0, sAnim_PONYTA_1, }; -static const union AnimCmd *const sAnims_RAPIDASH[] ={ +static const union AnimCmd *const sAnims_RAPIDASH[] = +{ sAnim_GeneralFrame0, sAnim_RAPIDASH_1, }; -static const union AnimCmd *const sAnims_SLOWPOKE[] ={ +static const union AnimCmd *const sAnims_SLOWPOKE[] = +{ sAnim_GeneralFrame0, sAnim_SLOWPOKE_1, }; -static const union AnimCmd *const sAnims_SLOWBRO[] ={ +static const union AnimCmd *const sAnims_SLOWBRO[] = +{ sAnim_GeneralFrame0, sAnim_SLOWBRO_1, }; -static const union AnimCmd *const sAnims_MAGNEMITE[] ={ +static const union AnimCmd *const sAnims_MAGNEMITE[] = +{ sAnim_GeneralFrame0, sAnim_MAGNEMITE_1, }; -static const union AnimCmd *const sAnims_MAGNETON[] ={ +static const union AnimCmd *const sAnims_MAGNETON[] = +{ sAnim_GeneralFrame0, sAnim_MAGNETON_1, }; -static const union AnimCmd *const sAnims_FARFETCHD[] ={ +static const union AnimCmd *const sAnims_FARFETCHD[] = +{ sAnim_GeneralFrame0, sAnim_FARFETCHD_1, }; -static const union AnimCmd *const sAnims_DODUO[] ={ +static const union AnimCmd *const sAnims_DODUO[] = +{ sAnim_GeneralFrame0, sAnim_DODUO_1, }; -static const union AnimCmd *const sAnims_DODRIO[] ={ +static const union AnimCmd *const sAnims_DODRIO[] = +{ sAnim_GeneralFrame0, sAnim_DODRIO_1, }; -static const union AnimCmd *const sAnims_SEEL[] ={ +static const union AnimCmd *const sAnims_SEEL[] = +{ sAnim_GeneralFrame0, sAnim_SEEL_1, }; -static const union AnimCmd *const sAnims_DEWGONG[] ={ +static const union AnimCmd *const sAnims_DEWGONG[] = +{ sAnim_GeneralFrame0, sAnim_DEWGONG_1, }; -static const union AnimCmd *const sAnims_GRIMER[] ={ +static const union AnimCmd *const sAnims_GRIMER[] = +{ sAnim_GeneralFrame0, sAnim_GRIMER_1, sAnim_GRIMER_2, }; -static const union AnimCmd *const sAnims_MUK[] ={ +static const union AnimCmd *const sAnims_MUK[] = +{ sAnim_GeneralFrame0, sAnim_MUK_1, sAnim_MUK_2, }; -static const union AnimCmd *const sAnims_SHELLDER[] ={ +static const union AnimCmd *const sAnims_SHELLDER[] = +{ sAnim_GeneralFrame0, sAnim_SHELLDER_1, }; -static const union AnimCmd *const sAnims_CLOYSTER[] ={ +static const union AnimCmd *const sAnims_CLOYSTER[] = +{ sAnim_GeneralFrame0, sAnim_CLOYSTER_1, }; -static const union AnimCmd *const sAnims_GASTLY[] ={ +static const union AnimCmd *const sAnims_GASTLY[] = +{ sAnim_GeneralFrame0, sAnim_GASTLY_1, }; -static const union AnimCmd *const sAnims_HAUNTER[] ={ +static const union AnimCmd *const sAnims_HAUNTER[] = +{ sAnim_GeneralFrame0, sAnim_HAUNTER_1, }; -static const union AnimCmd *const sAnims_GENGAR[] ={ +static const union AnimCmd *const sAnims_GENGAR[] = +{ sAnim_GeneralFrame0, sAnim_GENGAR_1, }; -static const union AnimCmd *const sAnims_ONIX[] ={ +static const union AnimCmd *const sAnims_ONIX[] = +{ sAnim_GeneralFrame0, sAnim_ONIX_1, }; -static const union AnimCmd *const sAnims_DROWZEE[] ={ +static const union AnimCmd *const sAnims_DROWZEE[] = +{ sAnim_GeneralFrame0, sAnim_DROWZEE_1, }; -static const union AnimCmd *const sAnims_HYPNO[] ={ +static const union AnimCmd *const sAnims_HYPNO[] = +{ sAnim_GeneralFrame0, sAnim_HYPNO_1, }; -static const union AnimCmd *const sAnims_KRABBY[] ={ +static const union AnimCmd *const sAnims_KRABBY[] = +{ sAnim_GeneralFrame0, sAnim_KRABBY_1, }; -static const union AnimCmd *const sAnims_KINGLER[] ={ +static const union AnimCmd *const sAnims_KINGLER[] = +{ sAnim_GeneralFrame0, sAnim_KINGLER_1, }; -static const union AnimCmd *const sAnims_VOLTORB[] ={ +static const union AnimCmd *const sAnims_VOLTORB[] = +{ sAnim_GeneralFrame0, sAnim_VOLTORB_1, }; -static const union AnimCmd *const sAnims_ELECTRODE[] ={ +static const union AnimCmd *const sAnims_ELECTRODE[] = +{ sAnim_GeneralFrame0, sAnim_ELECTRODE_1, }; -static const union AnimCmd *const sAnims_EXEGGCUTE[] ={ +static const union AnimCmd *const sAnims_EXEGGCUTE[] = +{ sAnim_GeneralFrame0, sAnim_EXEGGCUTE_1, }; -static const union AnimCmd *const sAnims_EXEGGUTOR[] ={ +static const union AnimCmd *const sAnims_EXEGGUTOR[] = +{ sAnim_GeneralFrame0, sAnim_EXEGGUTOR_1, }; -static const union AnimCmd *const sAnims_CUBONE[] ={ +static const union AnimCmd *const sAnims_CUBONE[] = +{ sAnim_GeneralFrame0, sAnim_CUBONE_1, }; -static const union AnimCmd *const sAnims_MAROWAK[] ={ +static const union AnimCmd *const sAnims_MAROWAK[] = +{ sAnim_GeneralFrame0, sAnim_MAROWAK_1, }; -static const union AnimCmd *const sAnims_HITMONLEE[] ={ +static const union AnimCmd *const sAnims_HITMONLEE[] = +{ sAnim_GeneralFrame0, sAnim_HITMONLEE_1, }; -static const union AnimCmd *const sAnims_HITMONCHAN[] ={ +static const union AnimCmd *const sAnims_HITMONCHAN[] = +{ sAnim_GeneralFrame0, sAnim_HITMONCHAN_1, }; -static const union AnimCmd *const sAnims_LICKITUNG[] ={ +static const union AnimCmd *const sAnims_LICKITUNG[] = +{ sAnim_GeneralFrame0, sAnim_LICKITUNG_1, }; -static const union AnimCmd *const sAnims_KOFFING[] ={ +static const union AnimCmd *const sAnims_KOFFING[] = +{ sAnim_GeneralFrame0, sAnim_KOFFING_1, sAnim_KOFFING_2, }; -static const union AnimCmd *const sAnims_WEEZING[] ={ +static const union AnimCmd *const sAnims_WEEZING[] = +{ sAnim_GeneralFrame0, sAnim_WEEZING_1, sAnim_WEEZING_2, }; -static const union AnimCmd *const sAnims_RHYHORN[] ={ +static const union AnimCmd *const sAnims_RHYHORN[] = +{ sAnim_GeneralFrame0, sAnim_RHYHORN_1, sAnim_RHYHORN_2, }; -static const union AnimCmd *const sAnims_RHYDON[] ={ +static const union AnimCmd *const sAnims_RHYDON[] = +{ sAnim_GeneralFrame0, sAnim_RHYDON_1, sAnim_RHYDON_2, }; -static const union AnimCmd *const sAnims_CHANSEY[] ={ +static const union AnimCmd *const sAnims_CHANSEY[] = +{ sAnim_GeneralFrame0, sAnim_CHANSEY_1, }; -static const union AnimCmd *const sAnims_TANGELA[] ={ +static const union AnimCmd *const sAnims_TANGELA[] = +{ sAnim_GeneralFrame0, sAnim_TANGELA_1, }; -static const union AnimCmd *const sAnims_KANGASKHAN[] ={ +static const union AnimCmd *const sAnims_KANGASKHAN[] = +{ sAnim_GeneralFrame0, sAnim_KANGASKHAN_1, }; -static const union AnimCmd *const sAnims_HORSEA[] ={ +static const union AnimCmd *const sAnims_HORSEA[] = +{ sAnim_GeneralFrame0, sAnim_HORSEA_1, sAnim_HORSEA_2, }; -static const union AnimCmd *const sAnims_SEADRA[] ={ +static const union AnimCmd *const sAnims_SEADRA[] = +{ sAnim_GeneralFrame0, sAnim_SEADRA_1, sAnim_SEADRA_2, }; -static const union AnimCmd *const sAnims_GOLDEEN[] ={ +static const union AnimCmd *const sAnims_GOLDEEN[] = +{ sAnim_GeneralFrame0, sAnim_GOLDEEN_1, }; -static const union AnimCmd *const sAnims_SEAKING[] ={ +static const union AnimCmd *const sAnims_SEAKING[] = +{ sAnim_GeneralFrame0, sAnim_SEAKING_1, }; -static const union AnimCmd *const sAnims_STARYU[] ={ +static const union AnimCmd *const sAnims_STARYU[] = +{ sAnim_GeneralFrame0, sAnim_STARYU_1, sAnim_STARYU_2, }; -static const union AnimCmd *const sAnims_STARMIE[] ={ +static const union AnimCmd *const sAnims_STARMIE[] = +{ sAnim_GeneralFrame0, sAnim_STARMIE_1, sAnim_STARMIE_2, }; -static const union AnimCmd *const sAnims_MR_MIME[] ={ +static const union AnimCmd *const sAnims_MR_MIME[] = +{ sAnim_GeneralFrame0, sAnim_MR_MIME_1, }; -static const union AnimCmd *const sAnims_SCYTHER[] ={ +static const union AnimCmd *const sAnims_SCYTHER[] = +{ sAnim_GeneralFrame0, sAnim_SCYTHER_1, }; -static const union AnimCmd *const sAnims_JYNX[] ={ +static const union AnimCmd *const sAnims_JYNX[] = +{ sAnim_GeneralFrame0, sAnim_JYNX_1, }; -static const union AnimCmd *const sAnims_ELECTABUZZ[] ={ +static const union AnimCmd *const sAnims_ELECTABUZZ[] = +{ sAnim_GeneralFrame0, sAnim_ELECTABUZZ_1, }; -static const union AnimCmd *const sAnims_MAGMAR[] ={ +static const union AnimCmd *const sAnims_MAGMAR[] = +{ sAnim_GeneralFrame0, sAnim_MAGMAR_1, }; -static const union AnimCmd *const sAnims_PINSIR[] ={ +static const union AnimCmd *const sAnims_PINSIR[] = +{ sAnim_GeneralFrame0, sAnim_PINSIR_1, sAnim_PINSIR_2, }; -static const union AnimCmd *const sAnims_TAUROS[] ={ +static const union AnimCmd *const sAnims_TAUROS[] = +{ sAnim_GeneralFrame0, sAnim_TAUROS_1, }; -static const union AnimCmd *const sAnims_MAGIKARP[] ={ +static const union AnimCmd *const sAnims_MAGIKARP[] = +{ sAnim_GeneralFrame0, sAnim_MAGIKARP_1, }; -static const union AnimCmd *const sAnims_GYARADOS[] ={ +static const union AnimCmd *const sAnims_GYARADOS[] = +{ sAnim_GeneralFrame0, sAnim_GYARADOS_1, }; -static const union AnimCmd *const sAnims_LAPRAS[] ={ +static const union AnimCmd *const sAnims_LAPRAS[] = +{ sAnim_GeneralFrame0, sAnim_LAPRAS_1, }; -static const union AnimCmd *const sAnims_DITTO[] ={ +static const union AnimCmd *const sAnims_DITTO[] = +{ sAnim_GeneralFrame0, sAnim_DITTO_1, }; -static const union AnimCmd *const sAnims_EEVEE[] ={ +static const union AnimCmd *const sAnims_EEVEE[] = +{ sAnim_GeneralFrame0, sAnim_EEVEE_1, }; -static const union AnimCmd *const sAnims_VAPOREON[] ={ +static const union AnimCmd *const sAnims_VAPOREON[] = +{ sAnim_GeneralFrame0, sAnim_VAPOREON_1, }; -static const union AnimCmd *const sAnims_JOLTEON[] ={ +static const union AnimCmd *const sAnims_JOLTEON[] = +{ sAnim_GeneralFrame0, sAnim_JOLTEON_1, }; -static const union AnimCmd *const sAnims_FLAREON[] ={ +static const union AnimCmd *const sAnims_FLAREON[] = +{ sAnim_GeneralFrame0, sAnim_FLAREON_1, }; -static const union AnimCmd *const sAnims_PORYGON[] ={ +static const union AnimCmd *const sAnims_PORYGON[] = +{ sAnim_GeneralFrame0, sAnim_PORYGON_1, }; -static const union AnimCmd *const sAnims_OMANYTE[] ={ +static const union AnimCmd *const sAnims_OMANYTE[] = +{ sAnim_GeneralFrame0, sAnim_OMANYTE_1, }; -static const union AnimCmd *const sAnims_OMASTAR[] ={ +static const union AnimCmd *const sAnims_OMASTAR[] = +{ sAnim_GeneralFrame0, sAnim_OMASTAR_1, }; -static const union AnimCmd *const sAnims_KABUTO[] ={ +static const union AnimCmd *const sAnims_KABUTO[] = +{ sAnim_GeneralFrame0, sAnim_KABUTO_1, }; -static const union AnimCmd *const sAnims_KABUTOPS[] ={ +static const union AnimCmd *const sAnims_KABUTOPS[] = +{ sAnim_GeneralFrame0, sAnim_KABUTOPS_1, }; -static const union AnimCmd *const sAnims_AERODACTYL[] ={ +static const union AnimCmd *const sAnims_AERODACTYL[] = +{ sAnim_GeneralFrame0, sAnim_AERODACTYL_1, }; -static const union AnimCmd *const sAnims_SNORLAX[] ={ +static const union AnimCmd *const sAnims_SNORLAX[] = +{ sAnim_GeneralFrame0, sAnim_SNORLAX_1, }; -static const union AnimCmd *const sAnims_ARTICUNO[] ={ +static const union AnimCmd *const sAnims_ARTICUNO[] = +{ sAnim_GeneralFrame0, sAnim_ARTICUNO_1, }; -static const union AnimCmd *const sAnims_ZAPDOS[] ={ +static const union AnimCmd *const sAnims_ZAPDOS[] = +{ sAnim_GeneralFrame0, sAnim_ZAPDOS_1, }; -static const union AnimCmd *const sAnims_MOLTRES[] ={ +static const union AnimCmd *const sAnims_MOLTRES[] = +{ sAnim_GeneralFrame0, sAnim_MOLTRES_1, }; -static const union AnimCmd *const sAnims_DRATINI[] ={ +static const union AnimCmd *const sAnims_DRATINI[] = +{ sAnim_GeneralFrame0, sAnim_DRATINI_1, }; -static const union AnimCmd *const sAnims_DRAGONAIR[] ={ +static const union AnimCmd *const sAnims_DRAGONAIR[] = +{ sAnim_GeneralFrame0, sAnim_DRAGONAIR_1, }; -static const union AnimCmd *const sAnims_DRAGONITE[] ={ +static const union AnimCmd *const sAnims_DRAGONITE[] = +{ sAnim_GeneralFrame0, sAnim_DRAGONITE_1, }; -static const union AnimCmd *const sAnims_MEWTWO[] ={ +static const union AnimCmd *const sAnims_MEWTWO[] = +{ sAnim_GeneralFrame0, sAnim_MEWTWO_1, }; -static const union AnimCmd *const sAnims_MEW[] ={ +static const union AnimCmd *const sAnims_MEW[] = +{ sAnim_GeneralFrame0, sAnim_MEW_1, }; -static const union AnimCmd *const sAnims_CHIKORITA[] ={ +static const union AnimCmd *const sAnims_CHIKORITA[] = +{ sAnim_GeneralFrame0, sAnim_CHIKORITA_1, }; -static const union AnimCmd *const sAnims_BAYLEEF[] ={ +static const union AnimCmd *const sAnims_BAYLEEF[] = +{ sAnim_GeneralFrame0, sAnim_BAYLEEF_1, }; -static const union AnimCmd *const sAnims_MEGANIUM[] ={ +static const union AnimCmd *const sAnims_MEGANIUM[] = +{ sAnim_GeneralFrame0, sAnim_MEGANIUM_1, }; -static const union AnimCmd *const sAnims_CYNDAQUIL[] ={ +static const union AnimCmd *const sAnims_CYNDAQUIL[] = +{ sAnim_GeneralFrame0, sAnim_CYNDAQUIL_1, }; -static const union AnimCmd *const sAnims_QUILAVA[] ={ +static const union AnimCmd *const sAnims_QUILAVA[] = +{ sAnim_GeneralFrame0, sAnim_QUILAVA_1, }; -static const union AnimCmd *const sAnims_TYPHLOSION[] ={ +static const union AnimCmd *const sAnims_TYPHLOSION[] = +{ sAnim_GeneralFrame0, sAnim_TYPHLOSION_1, }; -static const union AnimCmd *const sAnims_TOTODILE[] ={ +static const union AnimCmd *const sAnims_TOTODILE[] = +{ sAnim_GeneralFrame0, sAnim_TOTODILE_1, }; -static const union AnimCmd *const sAnims_CROCONAW[] ={ +static const union AnimCmd *const sAnims_CROCONAW[] = +{ sAnim_GeneralFrame0, sAnim_CROCONAW_1, }; -static const union AnimCmd *const sAnims_FERALIGATR[] ={ +static const union AnimCmd *const sAnims_FERALIGATR[] = +{ sAnim_GeneralFrame0, sAnim_FERALIGATR_1, }; -static const union AnimCmd *const sAnims_SENTRET[] ={ +static const union AnimCmd *const sAnims_SENTRET[] = +{ sAnim_GeneralFrame0, sAnim_SENTRET_1, }; -static const union AnimCmd *const sAnims_FURRET[] ={ +static const union AnimCmd *const sAnims_FURRET[] = +{ sAnim_GeneralFrame0, sAnim_FURRET_1, }; -static const union AnimCmd *const sAnims_HOOTHOOT[] ={ +static const union AnimCmd *const sAnims_HOOTHOOT[] = +{ sAnim_GeneralFrame0, sAnim_HOOTHOOT_1, }; -static const union AnimCmd *const sAnims_NOCTOWL[] ={ +static const union AnimCmd *const sAnims_NOCTOWL[] = +{ sAnim_GeneralFrame0, sAnim_NOCTOWL_1, }; -static const union AnimCmd *const sAnims_LEDYBA[] ={ +static const union AnimCmd *const sAnims_LEDYBA[] = +{ sAnim_GeneralFrame0, sAnim_LEDYBA_1, }; -static const union AnimCmd *const sAnims_LEDIAN[] ={ +static const union AnimCmd *const sAnims_LEDIAN[] = +{ sAnim_GeneralFrame0, sAnim_LEDIAN_1, }; -static const union AnimCmd *const sAnims_SPINARAK[] ={ +static const union AnimCmd *const sAnims_SPINARAK[] = +{ sAnim_GeneralFrame0, sAnim_SPINARAK_1, }; -static const union AnimCmd *const sAnims_ARIADOS[] ={ +static const union AnimCmd *const sAnims_ARIADOS[] = +{ sAnim_GeneralFrame0, sAnim_ARIADOS_1, }; -static const union AnimCmd *const sAnims_CROBAT[] ={ +static const union AnimCmd *const sAnims_CROBAT[] = +{ sAnim_GeneralFrame0, sAnim_CROBAT_1, }; -static const union AnimCmd *const sAnims_CHINCHOU[] ={ +static const union AnimCmd *const sAnims_CHINCHOU[] = +{ sAnim_GeneralFrame0, sAnim_CHINCHOU_1, sAnim_CHINCHOU_2, }; -static const union AnimCmd *const sAnims_LANTURN[] ={ +static const union AnimCmd *const sAnims_LANTURN[] = +{ sAnim_GeneralFrame0, sAnim_LANTURN_1, sAnim_LANTURN_2, }; -static const union AnimCmd *const sAnims_PICHU[] ={ +static const union AnimCmd *const sAnims_PICHU[] = +{ sAnim_GeneralFrame0, sAnim_PICHU_1, sAnim_PICHU_2, }; -static const union AnimCmd *const sAnims_CLEFFA[] ={ +static const union AnimCmd *const sAnims_CLEFFA[] = +{ sAnim_GeneralFrame0, sAnim_CLEFFA_1, }; -static const union AnimCmd *const sAnims_IGGLYBUFF[] ={ +static const union AnimCmd *const sAnims_IGGLYBUFF[] = +{ sAnim_GeneralFrame0, sAnim_IGGLYBUFF_1, sAnim_IGGLYBUFF_2, }; -static const union AnimCmd *const sAnims_TOGEPI[] ={ +static const union AnimCmd *const sAnims_TOGEPI[] = +{ sAnim_GeneralFrame0, sAnim_TOGEPI_1, }; -static const union AnimCmd *const sAnims_TOGETIC[] ={ +static const union AnimCmd *const sAnims_TOGETIC[] = +{ sAnim_GeneralFrame0, sAnim_TOGETIC_1, }; -static const union AnimCmd *const sAnims_NATU[] ={ +static const union AnimCmd *const sAnims_NATU[] = +{ sAnim_GeneralFrame0, sAnim_NATU_1, sAnim_NATU_2, }; -static const union AnimCmd *const sAnims_XATU[] ={ +static const union AnimCmd *const sAnims_XATU[] = +{ sAnim_GeneralFrame0, sAnim_XATU_1, sAnim_XATU_2, }; -static const union AnimCmd *const sAnims_MAREEP[] ={ +static const union AnimCmd *const sAnims_MAREEP[] = +{ sAnim_GeneralFrame0, sAnim_MAREEP_1, }; -static const union AnimCmd *const sAnims_FLAAFFY[] ={ +static const union AnimCmd *const sAnims_FLAAFFY[] = +{ sAnim_GeneralFrame0, sAnim_FLAAFFY_1, }; -static const union AnimCmd *const sAnims_AMPHAROS[] ={ +static const union AnimCmd *const sAnims_AMPHAROS[] = +{ sAnim_GeneralFrame0, sAnim_AMPHAROS_1, }; -static const union AnimCmd *const sAnims_BELLOSSOM[] ={ +static const union AnimCmd *const sAnims_BELLOSSOM[] = +{ sAnim_GeneralFrame0, sAnim_BELLOSSOM_1, }; -static const union AnimCmd *const sAnims_MARILL[] ={ +static const union AnimCmd *const sAnims_MARILL[] = +{ sAnim_GeneralFrame0, sAnim_MARILL_1, }; -static const union AnimCmd *const sAnims_AZUMARILL[] ={ +static const union AnimCmd *const sAnims_AZUMARILL[] = +{ sAnim_GeneralFrame0, sAnim_AZUMARILL_1, }; -static const union AnimCmd *const sAnims_SUDOWOODO[] ={ +static const union AnimCmd *const sAnims_SUDOWOODO[] = +{ sAnim_GeneralFrame0, sAnim_SUDOWOODO_1, }; -static const union AnimCmd *const sAnims_POLITOED[] ={ +static const union AnimCmd *const sAnims_POLITOED[] = +{ sAnim_GeneralFrame0, sAnim_POLITOED_1, }; -static const union AnimCmd *const sAnims_HOPPIP[] ={ +static const union AnimCmd *const sAnims_HOPPIP[] = +{ sAnim_GeneralFrame0, sAnim_HOPPIP_1, }; -static const union AnimCmd *const sAnims_SKIPLOOM[] ={ +static const union AnimCmd *const sAnims_SKIPLOOM[] = +{ sAnim_GeneralFrame0, sAnim_SKIPLOOM_1, }; -static const union AnimCmd *const sAnims_JUMPLUFF[] ={ +static const union AnimCmd *const sAnims_JUMPLUFF[] = +{ sAnim_GeneralFrame0, sAnim_JUMPLUFF_1, }; -static const union AnimCmd *const sAnims_AIPOM[] ={ +static const union AnimCmd *const sAnims_AIPOM[] = +{ sAnim_GeneralFrame0, sAnim_AIPOM_1, }; -static const union AnimCmd *const sAnims_SUNKERN[] ={ +static const union AnimCmd *const sAnims_SUNKERN[] = +{ sAnim_GeneralFrame0, sAnim_SUNKERN_1, }; -static const union AnimCmd *const sAnims_SUNFLORA[] ={ +static const union AnimCmd *const sAnims_SUNFLORA[] = +{ sAnim_GeneralFrame0, sAnim_SUNFLORA_1, }; -static const union AnimCmd *const sAnims_YANMA[] ={ +static const union AnimCmd *const sAnims_YANMA[] = +{ sAnim_GeneralFrame0, sAnim_YANMA_1, }; -static const union AnimCmd *const sAnims_WOOPER[] ={ +static const union AnimCmd *const sAnims_WOOPER[] = +{ sAnim_GeneralFrame0, sAnim_WOOPER_1, }; -static const union AnimCmd *const sAnims_QUAGSIRE[] ={ +static const union AnimCmd *const sAnims_QUAGSIRE[] = +{ sAnim_GeneralFrame0, sAnim_QUAGSIRE_1, }; -static const union AnimCmd *const sAnims_ESPEON[] ={ +static const union AnimCmd *const sAnims_ESPEON[] = +{ sAnim_GeneralFrame0, sAnim_ESPEON_1, }; -static const union AnimCmd *const sAnims_UMBREON[] ={ +static const union AnimCmd *const sAnims_UMBREON[] = +{ sAnim_GeneralFrame0, sAnim_UMBREON_1, }; -static const union AnimCmd *const sAnims_MURKROW[] ={ +static const union AnimCmd *const sAnims_MURKROW[] = +{ sAnim_GeneralFrame0, sAnim_MURKROW_1, }; -static const union AnimCmd *const sAnims_SLOWKING[] ={ +static const union AnimCmd *const sAnims_SLOWKING[] = +{ sAnim_GeneralFrame0, sAnim_SLOWKING_1, }; -static const union AnimCmd *const sAnims_MISDREAVUS[] ={ +static const union AnimCmd *const sAnims_MISDREAVUS[] = +{ sAnim_GeneralFrame0, sAnim_MISDREAVUS_1, }; -static const union AnimCmd *const sAnims_UNOWN[] ={ +static const union AnimCmd *const sAnims_UNOWN[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_1, }; -static const union AnimCmd *const sAnims_WOBBUFFET[] ={ +static const union AnimCmd *const sAnims_WOBBUFFET[] = +{ sAnim_GeneralFrame0, sAnim_WOBBUFFET_1, sAnim_WOBBUFFET_2, }; -static const union AnimCmd *const sAnims_GIRAFARIG[] ={ +static const union AnimCmd *const sAnims_GIRAFARIG[] = +{ sAnim_GeneralFrame0, sAnim_GIRAFARIG_1, sAnim_GIRAFARIG_2, }; -static const union AnimCmd *const sAnims_PINECO[] ={ +static const union AnimCmd *const sAnims_PINECO[] = +{ sAnim_GeneralFrame0, sAnim_PINECO_1, }; -static const union AnimCmd *const sAnims_FORRETRESS[] ={ +static const union AnimCmd *const sAnims_FORRETRESS[] = +{ sAnim_GeneralFrame0, sAnim_FORRETRESS_1, }; -static const union AnimCmd *const sAnims_DUNSPARCE[] ={ +static const union AnimCmd *const sAnims_DUNSPARCE[] = +{ sAnim_GeneralFrame0, sAnim_DUNSPARCE_1, }; -static const union AnimCmd *const sAnims_GLIGAR[] ={ +static const union AnimCmd *const sAnims_GLIGAR[] = +{ sAnim_GeneralFrame0, sAnim_GLIGAR_1, }; -static const union AnimCmd *const sAnims_STEELIX[] ={ +static const union AnimCmd *const sAnims_STEELIX[] = +{ sAnim_GeneralFrame0, sAnim_STEELIX_1, }; -static const union AnimCmd *const sAnims_SNUBBULL[] ={ +static const union AnimCmd *const sAnims_SNUBBULL[] = +{ sAnim_GeneralFrame0, sAnim_SNUBBULL_1, }; -static const union AnimCmd *const sAnims_GRANBULL[] ={ +static const union AnimCmd *const sAnims_GRANBULL[] = +{ sAnim_GeneralFrame0, sAnim_GRANBULL_1, }; -static const union AnimCmd *const sAnims_QWILFISH[] ={ +static const union AnimCmd *const sAnims_QWILFISH[] = +{ sAnim_GeneralFrame0, sAnim_QWILFISH_1, }; -static const union AnimCmd *const sAnims_SCIZOR[] ={ +static const union AnimCmd *const sAnims_SCIZOR[] = +{ sAnim_GeneralFrame0, sAnim_SCIZOR_1, }; -static const union AnimCmd *const sAnims_SHUCKLE[] ={ +static const union AnimCmd *const sAnims_SHUCKLE[] = +{ sAnim_GeneralFrame0, sAnim_SHUCKLE_1, }; -static const union AnimCmd *const sAnims_HERACROSS[] ={ +static const union AnimCmd *const sAnims_HERACROSS[] = +{ sAnim_GeneralFrame0, sAnim_HERACROSS_1, sAnim_HERACROSS_2, }; -static const union AnimCmd *const sAnims_SNEASEL[] ={ +static const union AnimCmd *const sAnims_SNEASEL[] = +{ sAnim_GeneralFrame0, sAnim_SNEASEL_1, }; -static const union AnimCmd *const sAnims_TEDDIURSA[] ={ +static const union AnimCmd *const sAnims_TEDDIURSA[] = +{ sAnim_GeneralFrame0, sAnim_TEDDIURSA_1, }; -static const union AnimCmd *const sAnims_URSARING[] ={ +static const union AnimCmd *const sAnims_URSARING[] = +{ sAnim_GeneralFrame0, sAnim_URSARING_1, }; -static const union AnimCmd *const sAnims_SLUGMA[] ={ +static const union AnimCmd *const sAnims_SLUGMA[] = +{ sAnim_GeneralFrame0, sAnim_SLUGMA_1, sAnim_SLUGMA_2, }; -static const union AnimCmd *const sAnims_MAGCARGO[] ={ +static const union AnimCmd *const sAnims_MAGCARGO[] = +{ sAnim_GeneralFrame0, sAnim_MAGCARGO_1, sAnim_MAGCARGO_2, }; -static const union AnimCmd *const sAnims_SWINUB[] ={ +static const union AnimCmd *const sAnims_SWINUB[] = +{ sAnim_GeneralFrame0, sAnim_SWINUB_1, }; -static const union AnimCmd *const sAnims_PILOSWINE[] ={ +static const union AnimCmd *const sAnims_PILOSWINE[] = +{ sAnim_GeneralFrame0, sAnim_PILOSWINE_1, }; -static const union AnimCmd *const sAnims_CORSOLA[] ={ +static const union AnimCmd *const sAnims_CORSOLA[] = +{ sAnim_GeneralFrame0, sAnim_CORSOLA_1, sAnim_CORSOLA_2, }; -static const union AnimCmd *const sAnims_REMORAID[] ={ +static const union AnimCmd *const sAnims_REMORAID[] = +{ sAnim_GeneralFrame0, sAnim_REMORAID_1, }; -static const union AnimCmd *const sAnims_OCTILLERY[] ={ +static const union AnimCmd *const sAnims_OCTILLERY[] = +{ sAnim_GeneralFrame0, sAnim_OCTILLERY_1, }; -static const union AnimCmd *const sAnims_DELIBIRD[] ={ +static const union AnimCmd *const sAnims_DELIBIRD[] = +{ sAnim_GeneralFrame0, sAnim_DELIBIRD_1, }; -static const union AnimCmd *const sAnims_MANTINE[] ={ +static const union AnimCmd *const sAnims_MANTINE[] = +{ sAnim_GeneralFrame0, sAnim_MANTINE_1, }; -static const union AnimCmd *const sAnims_SKARMORY[] ={ +static const union AnimCmd *const sAnims_SKARMORY[] = +{ sAnim_GeneralFrame0, sAnim_SKARMORY_1, sAnim_SKARMORY_2, }; -static const union AnimCmd *const sAnims_HOUNDOUR[] ={ +static const union AnimCmd *const sAnims_HOUNDOUR[] = +{ sAnim_GeneralFrame0, sAnim_HOUNDOUR_1, }; -static const union AnimCmd *const sAnims_HOUNDOOM[] ={ +static const union AnimCmd *const sAnims_HOUNDOOM[] = +{ sAnim_GeneralFrame0, sAnim_HOUNDOOM_1, }; -static const union AnimCmd *const sAnims_KINGDRA[] ={ +static const union AnimCmd *const sAnims_KINGDRA[] = +{ sAnim_GeneralFrame0, sAnim_KINGDRA_1, sAnim_KINGDRA_2, }; -static const union AnimCmd *const sAnims_PHANPY[] ={ +static const union AnimCmd *const sAnims_PHANPY[] = +{ sAnim_GeneralFrame0, sAnim_PHANPY_1, sAnim_PHANPY_2, }; -static const union AnimCmd *const sAnims_DONPHAN[] ={ +static const union AnimCmd *const sAnims_DONPHAN[] = +{ sAnim_GeneralFrame0, sAnim_DONPHAN_1, sAnim_DONPHAN_2, }; -static const union AnimCmd *const sAnims_PORYGON2[] ={ +static const union AnimCmd *const sAnims_PORYGON2[] = +{ sAnim_GeneralFrame0, sAnim_PORYGON2_1, }; -static const union AnimCmd *const sAnims_STANTLER[] ={ +static const union AnimCmd *const sAnims_STANTLER[] = +{ sAnim_GeneralFrame0, sAnim_STANTLER_1, }; -static const union AnimCmd *const sAnims_SMEARGLE[] ={ +static const union AnimCmd *const sAnims_SMEARGLE[] = +{ sAnim_GeneralFrame0, sAnim_SMEARGLE_1, }; -static const union AnimCmd *const sAnims_TYROGUE[] ={ +static const union AnimCmd *const sAnims_TYROGUE[] = +{ sAnim_GeneralFrame0, sAnim_TYROGUE_1, }; -static const union AnimCmd *const sAnims_HITMONTOP[] ={ +static const union AnimCmd *const sAnims_HITMONTOP[] = +{ sAnim_GeneralFrame0, sAnim_HITMONTOP_1, }; -static const union AnimCmd *const sAnims_SMOOCHUM[] ={ +static const union AnimCmd *const sAnims_SMOOCHUM[] = +{ sAnim_GeneralFrame0, sAnim_SMOOCHUM_1, }; -static const union AnimCmd *const sAnims_ELEKID[] ={ +static const union AnimCmd *const sAnims_ELEKID[] = +{ sAnim_GeneralFrame0, sAnim_ELEKID_1, }; -static const union AnimCmd *const sAnims_MAGBY[] ={ +static const union AnimCmd *const sAnims_MAGBY[] = +{ sAnim_GeneralFrame0, sAnim_MAGBY_1, }; -static const union AnimCmd *const sAnims_MILTANK[] ={ +static const union AnimCmd *const sAnims_MILTANK[] = +{ sAnim_GeneralFrame0, sAnim_MILTANK_1, }; -static const union AnimCmd *const sAnims_BLISSEY[] ={ +static const union AnimCmd *const sAnims_BLISSEY[] = +{ sAnim_GeneralFrame0, sAnim_BLISSEY_1, }; -static const union AnimCmd *const sAnims_RAIKOU[] ={ +static const union AnimCmd *const sAnims_RAIKOU[] = +{ sAnim_GeneralFrame0, sAnim_RAIKOU_1, }; -static const union AnimCmd *const sAnims_ENTEI[] ={ +static const union AnimCmd *const sAnims_ENTEI[] = +{ sAnim_GeneralFrame0, sAnim_ENTEI_1, }; -static const union AnimCmd *const sAnims_SUICUNE[] ={ +static const union AnimCmd *const sAnims_SUICUNE[] = +{ sAnim_GeneralFrame0, sAnim_SUICUNE_1, }; -static const union AnimCmd *const sAnims_LARVITAR[] ={ +static const union AnimCmd *const sAnims_LARVITAR[] = +{ sAnim_GeneralFrame0, sAnim_LARVITAR_1, }; -static const union AnimCmd *const sAnims_PUPITAR[] ={ +static const union AnimCmd *const sAnims_PUPITAR[] = +{ sAnim_GeneralFrame0, sAnim_PUPITAR_1, }; -static const union AnimCmd *const sAnims_TYRANITAR[] ={ +static const union AnimCmd *const sAnims_TYRANITAR[] = +{ sAnim_GeneralFrame0, sAnim_TYRANITAR_1, }; -static const union AnimCmd *const sAnims_LUGIA[] ={ +static const union AnimCmd *const sAnims_LUGIA[] = +{ sAnim_GeneralFrame0, sAnim_LUGIA_1, }; -static const union AnimCmd *const sAnims_HO_OH[] ={ +static const union AnimCmd *const sAnims_HO_OH[] = +{ sAnim_GeneralFrame0, sAnim_HO_OH_1, }; -static const union AnimCmd *const sAnims_CELEBI[] ={ +static const union AnimCmd *const sAnims_CELEBI[] = +{ sAnim_GeneralFrame0, sAnim_CELEBI_1, }; -static const union AnimCmd *const sAnims_OLD_UNOWN_B[] ={ +static const union AnimCmd *const sAnims_OLD_UNOWN_B[] = +{ sAnim_GeneralFrame0, sAnim_OLD_UNOWN_B_1, }; -static const union AnimCmd *const sAnims_TREECKO[] ={ +static const union AnimCmd *const sAnims_TREECKO[] = +{ sAnim_GeneralFrame0, sAnim_TREECKO_1, }; -static const union AnimCmd *const sAnims_GROVYLE[] ={ +static const union AnimCmd *const sAnims_GROVYLE[] = +{ sAnim_GeneralFrame0, sAnim_GROVYLE_1, }; -static const union AnimCmd *const sAnims_SCEPTILE[] ={ +static const union AnimCmd *const sAnims_SCEPTILE[] = +{ sAnim_GeneralFrame0, sAnim_SCEPTILE_1, }; -static const union AnimCmd *const sAnims_TORCHIC[] ={ +static const union AnimCmd *const sAnims_TORCHIC[] = +{ sAnim_GeneralFrame0, sAnim_TORCHIC_1, }; -static const union AnimCmd *const sAnims_COMBUSKEN[] ={ +static const union AnimCmd *const sAnims_COMBUSKEN[] = +{ sAnim_GeneralFrame0, sAnim_COMBUSKEN_1, }; -static const union AnimCmd *const sAnims_BLAZIKEN[] ={ +static const union AnimCmd *const sAnims_BLAZIKEN[] = +{ sAnim_GeneralFrame0, sAnim_BLAZIKEN_1, sAnim_BLAZIKEN_2, @@ -10810,4154 +11099,5008 @@ static const union AnimCmd *const sAnims_BLAZIKEN[] ={ sAnim_BLAZIKEN_4, }; -static const union AnimCmd *const sAnims_MUDKIP[] ={ +static const union AnimCmd *const sAnims_MUDKIP[] = +{ sAnim_GeneralFrame0, sAnim_MUDKIP_1, }; -static const union AnimCmd *const sAnims_MARSHTOMP[] ={ +static const union AnimCmd *const sAnims_MARSHTOMP[] = +{ sAnim_GeneralFrame0, sAnim_MARSHTOMP_1, }; -static const union AnimCmd *const sAnims_SWAMPERT[] ={ +static const union AnimCmd *const sAnims_SWAMPERT[] = +{ sAnim_GeneralFrame0, sAnim_SWAMPERT_1, }; -static const union AnimCmd *const sAnims_POOCHYENA[] ={ +static const union AnimCmd *const sAnims_POOCHYENA[] = +{ sAnim_GeneralFrame0, sAnim_POOCHYENA_1, }; -static const union AnimCmd *const sAnims_MIGHTYENA[] ={ +static const union AnimCmd *const sAnims_MIGHTYENA[] = +{ sAnim_GeneralFrame0, sAnim_MIGHTYENA_1, }; -static const union AnimCmd *const sAnims_ZIGZAGOON[] ={ +static const union AnimCmd *const sAnims_ZIGZAGOON[] = +{ sAnim_GeneralFrame0, sAnim_ZIGZAGOON_1, }; -static const union AnimCmd *const sAnims_LINOONE[] ={ +static const union AnimCmd *const sAnims_LINOONE[] = +{ sAnim_GeneralFrame0, sAnim_LINOONE_1, }; -static const union AnimCmd *const sAnims_WURMPLE[] ={ +static const union AnimCmd *const sAnims_WURMPLE[] = +{ sAnim_GeneralFrame0, sAnim_WURMPLE_1, }; -static const union AnimCmd *const sAnims_SILCOON[] ={ +static const union AnimCmd *const sAnims_SILCOON[] = +{ sAnim_GeneralFrame0, sAnim_SILCOON_1, sAnim_SILCOON_2, }; -static const union AnimCmd *const sAnims_BEAUTIFLY[] ={ +static const union AnimCmd *const sAnims_BEAUTIFLY[] = +{ sAnim_GeneralFrame0, sAnim_BEAUTIFLY_1, sAnim_BEAUTIFLY_2, }; -static const union AnimCmd *const sAnims_CASCOON[] ={ +static const union AnimCmd *const sAnims_CASCOON[] = +{ sAnim_GeneralFrame0, sAnim_CASCOON_1, sAnim_CASCOON_2, }; -static const union AnimCmd *const sAnims_DUSTOX[] ={ +static const union AnimCmd *const sAnims_DUSTOX[] = +{ sAnim_GeneralFrame0, sAnim_DUSTOX_1, sAnim_DUSTOX_2, }; -static const union AnimCmd *const sAnims_LOTAD[] ={ +static const union AnimCmd *const sAnims_LOTAD[] = +{ sAnim_GeneralFrame0, sAnim_LOTAD_1, }; -static const union AnimCmd *const sAnims_LOMBRE[] ={ +static const union AnimCmd *const sAnims_LOMBRE[] = +{ sAnim_GeneralFrame0, sAnim_LOMBRE_1, }; -static const union AnimCmd *const sAnims_LUDICOLO[] ={ +static const union AnimCmd *const sAnims_LUDICOLO[] = +{ sAnim_GeneralFrame0, sAnim_LUDICOLO_1, }; -static const union AnimCmd *const sAnims_SEEDOT[] ={ +static const union AnimCmd *const sAnims_SEEDOT[] = +{ sAnim_GeneralFrame0, sAnim_SEEDOT_1, }; -static const union AnimCmd *const sAnims_NUZLEAF[] ={ +static const union AnimCmd *const sAnims_NUZLEAF[] = +{ sAnim_GeneralFrame0, sAnim_NUZLEAF_1, }; -static const union AnimCmd *const sAnims_SHIFTRY[] ={ +static const union AnimCmd *const sAnims_SHIFTRY[] = +{ sAnim_GeneralFrame0, sAnim_SHIFTRY_1, }; -static const union AnimCmd *const sAnims_NINCADA[] ={ +static const union AnimCmd *const sAnims_NINCADA[] = +{ sAnim_GeneralFrame0, sAnim_NINCADA_1, }; -static const union AnimCmd *const sAnims_NINJASK[] ={ +static const union AnimCmd *const sAnims_NINJASK[] = +{ sAnim_GeneralFrame0, sAnim_NINJASK_1, }; -static const union AnimCmd *const sAnims_SHEDINJA[] ={ +static const union AnimCmd *const sAnims_SHEDINJA[] = +{ sAnim_GeneralFrame0, sAnim_SHEDINJA_1, }; -static const union AnimCmd *const sAnims_TAILLOW[] ={ +static const union AnimCmd *const sAnims_TAILLOW[] = +{ sAnim_GeneralFrame0, sAnim_TAILLOW_1, }; -static const union AnimCmd *const sAnims_SWELLOW[] ={ +static const union AnimCmd *const sAnims_SWELLOW[] = +{ sAnim_GeneralFrame0, sAnim_SWELLOW_1, }; -static const union AnimCmd *const sAnims_SHROOMISH[] ={ +static const union AnimCmd *const sAnims_SHROOMISH[] = +{ sAnim_GeneralFrame0, sAnim_SHROOMISH_1, }; -static const union AnimCmd *const sAnims_BRELOOM[] ={ +static const union AnimCmd *const sAnims_BRELOOM[] = +{ sAnim_GeneralFrame0, sAnim_BRELOOM_1, }; -static const union AnimCmd *const sAnims_SPINDA[] ={ +static const union AnimCmd *const sAnims_SPINDA[] = +{ sAnim_GeneralFrame0, }; -static const union AnimCmd *const sAnims_WINGULL[] ={ +static const union AnimCmd *const sAnims_WINGULL[] = +{ sAnim_GeneralFrame0, sAnim_WINGULL_1, }; -static const union AnimCmd *const sAnims_PELIPPER[] ={ +static const union AnimCmd *const sAnims_PELIPPER[] = +{ sAnim_GeneralFrame0, sAnim_PELIPPER_1, }; -static const union AnimCmd *const sAnims_SURSKIT[] ={ +static const union AnimCmd *const sAnims_SURSKIT[] = +{ sAnim_GeneralFrame0, sAnim_SURSKIT_1, sAnim_SURSKIT_2, }; -static const union AnimCmd *const sAnims_MASQUERAIN[] ={ +static const union AnimCmd *const sAnims_MASQUERAIN[] = +{ sAnim_GeneralFrame0, sAnim_MASQUERAIN_1, sAnim_MASQUERAIN_2, }; -static const union AnimCmd *const sAnims_WAILMER[] ={ +static const union AnimCmd *const sAnims_WAILMER[] = +{ sAnim_GeneralFrame0, sAnim_WAILMER_1, }; -static const union AnimCmd *const sAnims_WAILORD[] ={ +static const union AnimCmd *const sAnims_WAILORD[] = +{ sAnim_GeneralFrame0, sAnim_WAILORD_1, }; -static const union AnimCmd *const sAnims_SKITTY[] ={ +static const union AnimCmd *const sAnims_SKITTY[] = +{ sAnim_GeneralFrame0, sAnim_SKITTY_1, }; -static const union AnimCmd *const sAnims_DELCATTY[] ={ +static const union AnimCmd *const sAnims_DELCATTY[] = +{ sAnim_GeneralFrame0, sAnim_DELCATTY_1, }; -static const union AnimCmd *const sAnims_KECLEON[] ={ +static const union AnimCmd *const sAnims_KECLEON[] = +{ sAnim_GeneralFrame0, sAnim_KECLEON_1, }; -static const union AnimCmd *const sAnims_BALTOY[] ={ +static const union AnimCmd *const sAnims_BALTOY[] = +{ sAnim_GeneralFrame0, sAnim_BALTOY_1, }; -static const union AnimCmd *const sAnims_CLAYDOL[] ={ +static const union AnimCmd *const sAnims_CLAYDOL[] = +{ sAnim_GeneralFrame0, sAnim_CLAYDOL_1, }; -static const union AnimCmd *const sAnims_NOSEPASS[] ={ +static const union AnimCmd *const sAnims_NOSEPASS[] = +{ sAnim_GeneralFrame0, sAnim_NOSEPASS_1, }; -static const union AnimCmd *const sAnims_TORKOAL[] ={ +static const union AnimCmd *const sAnims_TORKOAL[] = +{ sAnim_GeneralFrame0, sAnim_TORKOAL_1, }; -static const union AnimCmd *const sAnims_SABLEYE[] ={ +static const union AnimCmd *const sAnims_SABLEYE[] = +{ sAnim_GeneralFrame0, sAnim_SABLEYE_1, }; -static const union AnimCmd *const sAnims_BARBOACH[] ={ +static const union AnimCmd *const sAnims_BARBOACH[] = +{ sAnim_GeneralFrame0, sAnim_BARBOACH_1, }; -static const union AnimCmd *const sAnims_WHISCASH[] ={ +static const union AnimCmd *const sAnims_WHISCASH[] = +{ sAnim_GeneralFrame0, sAnim_WHISCASH_1, }; -static const union AnimCmd *const sAnims_LUVDISC[] ={ +static const union AnimCmd *const sAnims_LUVDISC[] = +{ sAnim_GeneralFrame0, sAnim_LUVDISC_1, }; -static const union AnimCmd *const sAnims_CORPHISH[] ={ +static const union AnimCmd *const sAnims_CORPHISH[] = +{ sAnim_GeneralFrame0, sAnim_CORPHISH_1, }; -static const union AnimCmd *const sAnims_CRAWDAUNT[] ={ +static const union AnimCmd *const sAnims_CRAWDAUNT[] = +{ sAnim_GeneralFrame0, sAnim_CRAWDAUNT_1, }; -static const union AnimCmd *const sAnims_FEEBAS[] ={ +static const union AnimCmd *const sAnims_FEEBAS[] = +{ sAnim_GeneralFrame0, sAnim_FEEBAS_1, }; -static const union AnimCmd *const sAnims_MILOTIC[] ={ +static const union AnimCmd *const sAnims_MILOTIC[] = +{ sAnim_GeneralFrame0, sAnim_MILOTIC_1, }; -static const union AnimCmd *const sAnims_CARVANHA[] ={ +static const union AnimCmd *const sAnims_CARVANHA[] = +{ sAnim_GeneralFrame0, sAnim_CARVANHA_1, }; -static const union AnimCmd *const sAnims_SHARPEDO[] ={ +static const union AnimCmd *const sAnims_SHARPEDO[] = +{ sAnim_GeneralFrame0, sAnim_SHARPEDO_1, }; -static const union AnimCmd *const sAnims_TRAPINCH[] ={ +static const union AnimCmd *const sAnims_TRAPINCH[] = +{ sAnim_GeneralFrame0, sAnim_TRAPINCH_1, }; -static const union AnimCmd *const sAnims_VIBRAVA[] ={ +static const union AnimCmd *const sAnims_VIBRAVA[] = +{ sAnim_GeneralFrame0, sAnim_VIBRAVA_1, }; -static const union AnimCmd *const sAnims_FLYGON[] ={ +static const union AnimCmd *const sAnims_FLYGON[] = +{ sAnim_GeneralFrame0, sAnim_FLYGON_1, }; -static const union AnimCmd *const sAnims_MAKUHITA[] ={ +static const union AnimCmd *const sAnims_MAKUHITA[] = +{ sAnim_GeneralFrame0, sAnim_MAKUHITA_1, }; -static const union AnimCmd *const sAnims_HARIYAMA[] ={ +static const union AnimCmd *const sAnims_HARIYAMA[] = +{ sAnim_GeneralFrame0, sAnim_HARIYAMA_1, }; -static const union AnimCmd *const sAnims_ELECTRIKE[] ={ +static const union AnimCmd *const sAnims_ELECTRIKE[] = +{ sAnim_GeneralFrame0, sAnim_ELECTRIKE_1, }; -static const union AnimCmd *const sAnims_MANECTRIC[] ={ +static const union AnimCmd *const sAnims_MANECTRIC[] = +{ sAnim_GeneralFrame0, sAnim_MANECTRIC_1, }; -static const union AnimCmd *const sAnims_NUMEL[] ={ +static const union AnimCmd *const sAnims_NUMEL[] = +{ sAnim_GeneralFrame0, sAnim_NUMEL_1, }; -static const union AnimCmd *const sAnims_CAMERUPT[] ={ +static const union AnimCmd *const sAnims_CAMERUPT[] = +{ sAnim_GeneralFrame0, sAnim_CAMERUPT_1, }; -static const union AnimCmd *const sAnims_SPHEAL[] ={ +static const union AnimCmd *const sAnims_SPHEAL[] = +{ sAnim_GeneralFrame0, sAnim_SPHEAL_1, }; -static const union AnimCmd *const sAnims_SEALEO[] ={ +static const union AnimCmd *const sAnims_SEALEO[] = +{ sAnim_GeneralFrame0, sAnim_SEALEO_1, }; -static const union AnimCmd *const sAnims_WALREIN[] ={ +static const union AnimCmd *const sAnims_WALREIN[] = +{ sAnim_GeneralFrame0, sAnim_WALREIN_1, }; -static const union AnimCmd *const sAnims_CACNEA[] ={ +static const union AnimCmd *const sAnims_CACNEA[] = +{ sAnim_GeneralFrame0, sAnim_CACNEA_1, }; -static const union AnimCmd *const sAnims_CACTURNE[] ={ +static const union AnimCmd *const sAnims_CACTURNE[] = +{ sAnim_GeneralFrame0, sAnim_CACTURNE_1, }; -static const union AnimCmd *const sAnims_SNORUNT[] ={ +static const union AnimCmd *const sAnims_SNORUNT[] = +{ sAnim_GeneralFrame0, sAnim_SNORUNT_1, }; -static const union AnimCmd *const sAnims_GLALIE[] ={ +static const union AnimCmd *const sAnims_GLALIE[] = +{ sAnim_GeneralFrame0, sAnim_GLALIE_1, }; -static const union AnimCmd *const sAnims_LUNATONE[] ={ +static const union AnimCmd *const sAnims_LUNATONE[] = +{ sAnim_GeneralFrame0, sAnim_LUNATONE_1, sAnim_LUNATONE_2, }; -static const union AnimCmd *const sAnims_SOLROCK[] ={ +static const union AnimCmd *const sAnims_SOLROCK[] = +{ sAnim_GeneralFrame0, sAnim_SOLROCK_1, sAnim_SOLROCK_2, }; -static const union AnimCmd *const sAnims_AZURILL[] ={ +static const union AnimCmd *const sAnims_AZURILL[] = +{ sAnim_GeneralFrame0, sAnim_AZURILL_1, }; -static const union AnimCmd *const sAnims_SPOINK[] ={ +static const union AnimCmd *const sAnims_SPOINK[] = +{ sAnim_GeneralFrame0, sAnim_SPOINK_1, }; -static const union AnimCmd *const sAnims_GRUMPIG[] ={ +static const union AnimCmd *const sAnims_GRUMPIG[] = +{ sAnim_GeneralFrame0, sAnim_GRUMPIG_1, }; -static const union AnimCmd *const sAnims_PLUSLE[] ={ +static const union AnimCmd *const sAnims_PLUSLE[] = +{ sAnim_GeneralFrame0, sAnim_PLUSLE_1, }; -static const union AnimCmd *const sAnims_MINUN[] ={ +static const union AnimCmd *const sAnims_MINUN[] = +{ sAnim_GeneralFrame0, sAnim_MINUN_1, }; -static const union AnimCmd *const sAnims_MAWILE[] ={ +static const union AnimCmd *const sAnims_MAWILE[] = +{ sAnim_GeneralFrame0, sAnim_MAWILE_1, }; -static const union AnimCmd *const sAnims_MEDITITE[] ={ +static const union AnimCmd *const sAnims_MEDITITE[] = +{ sAnim_GeneralFrame0, sAnim_MEDITITE_1, }; -static const union AnimCmd *const sAnims_MEDICHAM[] ={ +static const union AnimCmd *const sAnims_MEDICHAM[] = +{ sAnim_GeneralFrame0, sAnim_MEDICHAM_1, }; -static const union AnimCmd *const sAnims_SWABLU[] ={ +static const union AnimCmd *const sAnims_SWABLU[] = +{ sAnim_GeneralFrame0, sAnim_SWABLU_1, sAnim_SWABLU_2, }; -static const union AnimCmd *const sAnims_ALTARIA[] ={ +static const union AnimCmd *const sAnims_ALTARIA[] = +{ sAnim_GeneralFrame0, sAnim_ALTARIA_1, sAnim_ALTARIA_2, }; -static const union AnimCmd *const sAnims_WYNAUT[] ={ +static const union AnimCmd *const sAnims_WYNAUT[] = +{ sAnim_GeneralFrame0, sAnim_WYNAUT_1, }; -static const union AnimCmd *const sAnims_DUSKULL[] ={ +static const union AnimCmd *const sAnims_DUSKULL[] = +{ sAnim_GeneralFrame0, sAnim_DUSKULL_1, }; -static const union AnimCmd *const sAnims_DUSCLOPS[] ={ +static const union AnimCmd *const sAnims_DUSCLOPS[] = +{ sAnim_GeneralFrame0, sAnim_DUSCLOPS_1, }; -static const union AnimCmd *const sAnims_ROSELIA[] ={ +static const union AnimCmd *const sAnims_ROSELIA[] = +{ sAnim_GeneralFrame0, sAnim_ROSELIA_1, }; -static const union AnimCmd *const sAnims_SLAKOTH[] ={ +static const union AnimCmd *const sAnims_SLAKOTH[] = +{ sAnim_GeneralFrame0, sAnim_SLAKOTH_1, }; -static const union AnimCmd *const sAnims_VIGOROTH[] ={ +static const union AnimCmd *const sAnims_VIGOROTH[] = +{ sAnim_GeneralFrame0, sAnim_VIGOROTH_1, }; -static const union AnimCmd *const sAnims_SLAKING[] ={ +static const union AnimCmd *const sAnims_SLAKING[] = +{ sAnim_GeneralFrame0, sAnim_SLAKING_1, }; -static const union AnimCmd *const sAnims_GULPIN[] ={ +static const union AnimCmd *const sAnims_GULPIN[] = +{ sAnim_GeneralFrame0, sAnim_GULPIN_1, }; -static const union AnimCmd *const sAnims_SWALOT[] ={ +static const union AnimCmd *const sAnims_SWALOT[] = +{ sAnim_GeneralFrame0, sAnim_SWALOT_1, }; -static const union AnimCmd *const sAnims_TROPIUS[] ={ +static const union AnimCmd *const sAnims_TROPIUS[] = +{ sAnim_GeneralFrame0, sAnim_TROPIUS_1, }; -static const union AnimCmd *const sAnims_WHISMUR[] ={ +static const union AnimCmd *const sAnims_WHISMUR[] = +{ sAnim_GeneralFrame0, sAnim_WHISMUR_1, }; -static const union AnimCmd *const sAnims_LOUDRED[] ={ +static const union AnimCmd *const sAnims_LOUDRED[] = +{ sAnim_GeneralFrame0, sAnim_LOUDRED_1, }; -static const union AnimCmd *const sAnims_EXPLOUD[] ={ +static const union AnimCmd *const sAnims_EXPLOUD[] = +{ sAnim_GeneralFrame0, sAnim_EXPLOUD_1, }; -static const union AnimCmd *const sAnims_CLAMPERL[] ={ +static const union AnimCmd *const sAnims_CLAMPERL[] = +{ sAnim_GeneralFrame0, sAnim_CLAMPERL_1, }; -static const union AnimCmd *const sAnims_HUNTAIL[] ={ +static const union AnimCmd *const sAnims_HUNTAIL[] = +{ sAnim_GeneralFrame0, sAnim_HUNTAIL_1, }; -static const union AnimCmd *const sAnims_GOREBYSS[] ={ +static const union AnimCmd *const sAnims_GOREBYSS[] = +{ sAnim_GeneralFrame0, sAnim_GOREBYSS_1, }; -static const union AnimCmd *const sAnims_ABSOL[] ={ +static const union AnimCmd *const sAnims_ABSOL[] = +{ sAnim_GeneralFrame0, sAnim_ABSOL_1, }; -static const union AnimCmd *const sAnims_SHUPPET[] ={ +static const union AnimCmd *const sAnims_SHUPPET[] = +{ sAnim_GeneralFrame0, sAnim_SHUPPET_1, }; -static const union AnimCmd *const sAnims_BANETTE[] ={ +static const union AnimCmd *const sAnims_BANETTE[] = +{ sAnim_GeneralFrame0, sAnim_BANETTE_1, }; -static const union AnimCmd *const sAnims_SEVIPER[] ={ +static const union AnimCmd *const sAnims_SEVIPER[] = +{ sAnim_GeneralFrame0, sAnim_SEVIPER_1, }; -static const union AnimCmd *const sAnims_ZANGOOSE[] ={ +static const union AnimCmd *const sAnims_ZANGOOSE[] = +{ sAnim_GeneralFrame0, sAnim_ZANGOOSE_1, }; -static const union AnimCmd *const sAnims_RELICANTH[] ={ +static const union AnimCmd *const sAnims_RELICANTH[] = +{ sAnim_GeneralFrame0, sAnim_RELICANTH_1, }; -static const union AnimCmd *const sAnims_ARON[] ={ +static const union AnimCmd *const sAnims_ARON[] = +{ sAnim_GeneralFrame0, sAnim_ARON_1, }; -static const union AnimCmd *const sAnims_LAIRON[] ={ +static const union AnimCmd *const sAnims_LAIRON[] = +{ sAnim_GeneralFrame0, sAnim_LAIRON_1, }; -static const union AnimCmd *const sAnims_AGGRON[] ={ +static const union AnimCmd *const sAnims_AGGRON[] = +{ sAnim_GeneralFrame0, sAnim_AGGRON_1, }; -static const union AnimCmd *const sAnims_CASTFORM[] ={ +static const union AnimCmd *const sAnims_CASTFORM[] = +{ sAnim_CASTFORM_0, sAnim_CASTFORM_1, sAnim_CASTFORM_2, sAnim_CASTFORM_3, }; -static const union AnimCmd *const sAnims_VOLBEAT[] ={ +static const union AnimCmd *const sAnims_VOLBEAT[] = +{ sAnim_GeneralFrame0, sAnim_VOLBEAT_1, }; -static const union AnimCmd *const sAnims_ILLUMISE[] ={ +static const union AnimCmd *const sAnims_ILLUMISE[] = +{ sAnim_GeneralFrame0, sAnim_ILLUMISE_1, }; -static const union AnimCmd *const sAnims_LILEEP[] ={ +static const union AnimCmd *const sAnims_LILEEP[] = +{ sAnim_GeneralFrame0, sAnim_LILEEP_1, }; -static const union AnimCmd *const sAnims_CRADILY[] ={ +static const union AnimCmd *const sAnims_CRADILY[] = +{ sAnim_GeneralFrame0, sAnim_CRADILY_1, }; -static const union AnimCmd *const sAnims_ANORITH[] ={ +static const union AnimCmd *const sAnims_ANORITH[] = +{ sAnim_GeneralFrame0, sAnim_ANORITH_1, }; -static const union AnimCmd *const sAnims_ARMALDO[] ={ +static const union AnimCmd *const sAnims_ARMALDO[] = +{ sAnim_GeneralFrame0, sAnim_ARMALDO_1, }; -static const union AnimCmd *const sAnims_RALTS[] ={ +static const union AnimCmd *const sAnims_RALTS[] = +{ sAnim_GeneralFrame0, sAnim_RALTS_1, }; -static const union AnimCmd *const sAnims_KIRLIA[] ={ +static const union AnimCmd *const sAnims_KIRLIA[] = +{ sAnim_GeneralFrame0, sAnim_KIRLIA_1, }; -static const union AnimCmd *const sAnims_GARDEVOIR[] ={ +static const union AnimCmd *const sAnims_GARDEVOIR[] = +{ sAnim_GeneralFrame0, sAnim_GARDEVOIR_1, }; -static const union AnimCmd *const sAnims_BAGON[] ={ +static const union AnimCmd *const sAnims_BAGON[] = +{ sAnim_GeneralFrame0, sAnim_BAGON_1, }; -static const union AnimCmd *const sAnims_SHELGON[] ={ +static const union AnimCmd *const sAnims_SHELGON[] = +{ sAnim_GeneralFrame0, sAnim_SHELGON_1, }; -static const union AnimCmd *const sAnims_SALAMENCE[] ={ +static const union AnimCmd *const sAnims_SALAMENCE[] = +{ sAnim_GeneralFrame0, sAnim_SALAMENCE_1, }; -static const union AnimCmd *const sAnims_BELDUM[] ={ +static const union AnimCmd *const sAnims_BELDUM[] = +{ sAnim_GeneralFrame0, sAnim_BELDUM_1, }; -static const union AnimCmd *const sAnims_METANG[] ={ +static const union AnimCmd *const sAnims_METANG[] = +{ sAnim_GeneralFrame0, sAnim_METANG_1, }; -static const union AnimCmd *const sAnims_METAGROSS[] ={ +static const union AnimCmd *const sAnims_METAGROSS[] = +{ sAnim_GeneralFrame0, sAnim_METAGROSS_1, }; -static const union AnimCmd *const sAnims_REGIROCK[] ={ +static const union AnimCmd *const sAnims_REGIROCK[] = +{ sAnim_GeneralFrame0, sAnim_REGIROCK_1, sAnim_REGIROCK_2, }; -static const union AnimCmd *const sAnims_REGICE[] ={ +static const union AnimCmd *const sAnims_REGICE[] = +{ sAnim_GeneralFrame0, sAnim_REGICE_1, }; -static const union AnimCmd *const sAnims_REGISTEEL[] ={ +static const union AnimCmd *const sAnims_REGISTEEL[] = +{ sAnim_GeneralFrame0, sAnim_REGISTEEL_1, sAnim_REGISTEEL_2, }; -static const union AnimCmd *const sAnims_KYOGRE[] ={ +static const union AnimCmd *const sAnims_KYOGRE[] = +{ sAnim_GeneralFrame0, sAnim_KYOGRE_1, sAnim_KYOGRE_2, }; -static const union AnimCmd *const sAnims_GROUDON[] ={ +static const union AnimCmd *const sAnims_GROUDON[] = +{ sAnim_GeneralFrame0, sAnim_GROUDON_1, sAnim_GROUDON_2, }; -static const union AnimCmd *const sAnims_RAYQUAZA[] ={ +static const union AnimCmd *const sAnims_RAYQUAZA[] = +{ sAnim_GeneralFrame0, sAnim_RAYQUAZA_1, sAnim_RAYQUAZA_2, }; -static const union AnimCmd *const sAnims_LATIAS[] ={ +static const union AnimCmd *const sAnims_LATIAS[] = +{ sAnim_GeneralFrame0, sAnim_LATIAS_1, sAnim_LATIAS_2, }; -static const union AnimCmd *const sAnims_LATIOS[] ={ +static const union AnimCmd *const sAnims_LATIOS[] = +{ sAnim_GeneralFrame0, sAnim_LATIOS_1, sAnim_LATIOS_2, }; -static const union AnimCmd *const sAnims_JIRACHI[] ={ +static const union AnimCmd *const sAnims_JIRACHI[] = +{ sAnim_GeneralFrame0, sAnim_JIRACHI_1, sAnim_JIRACHI_2, }; -static const union AnimCmd *const sAnims_DEOXYS[] ={ +static const union AnimCmd *const sAnims_DEOXYS[] = +{ sAnim_GeneralFrame0, sAnim_DEOXYS_1, sAnim_DEOXYS_2, }; -static const union AnimCmd *const sAnims_CHIMECHO[] ={ +static const union AnimCmd *const sAnims_CHIMECHO[] = +{ sAnim_GeneralFrame0, sAnim_CHIMECHO_1, }; -static const union AnimCmd *const sAnims_EGG[] ={ +static const union AnimCmd *const sAnims_EGG[] = +{ sAnim_GeneralFrame0, sAnim_EGG_1, }; -static const union AnimCmd *const sAnims_UNOWN_B[] ={ +static const union AnimCmd *const sAnims_UNOWN_B[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_B_1, }; -static const union AnimCmd *const sAnims_UNOWN_C[] ={ +static const union AnimCmd *const sAnims_UNOWN_C[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_C_1, }; -static const union AnimCmd *const sAnims_UNOWN_D[] ={ +static const union AnimCmd *const sAnims_UNOWN_D[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_D_1, }; -static const union AnimCmd *const sAnims_UNOWN_E[] ={ +static const union AnimCmd *const sAnims_UNOWN_E[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_E_1, }; -static const union AnimCmd *const sAnims_UNOWN_F[] ={ +static const union AnimCmd *const sAnims_UNOWN_F[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_F_1, }; -static const union AnimCmd *const sAnims_UNOWN_G[] ={ +static const union AnimCmd *const sAnims_UNOWN_G[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_G_1, }; -static const union AnimCmd *const sAnims_UNOWN_H[] ={ +static const union AnimCmd *const sAnims_UNOWN_H[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_H_1, }; -static const union AnimCmd *const sAnims_UNOWN_I[] ={ +static const union AnimCmd *const sAnims_UNOWN_I[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_I_1, }; -static const union AnimCmd *const sAnims_UNOWN_J[] ={ +static const union AnimCmd *const sAnims_UNOWN_J[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_J_1, }; -static const union AnimCmd *const sAnims_UNOWN_K[] ={ +static const union AnimCmd *const sAnims_UNOWN_K[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_K_1, }; -static const union AnimCmd *const sAnims_UNOWN_L[] ={ +static const union AnimCmd *const sAnims_UNOWN_L[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_L_1, }; -static const union AnimCmd *const sAnims_UNOWN_M[] ={ +static const union AnimCmd *const sAnims_UNOWN_M[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_M_1, }; -static const union AnimCmd *const sAnims_UNOWN_N[] ={ +static const union AnimCmd *const sAnims_UNOWN_N[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_N_1, }; -static const union AnimCmd *const sAnims_UNOWN_O[] ={ +static const union AnimCmd *const sAnims_UNOWN_O[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_O_1, }; -static const union AnimCmd *const sAnims_UNOWN_P[] ={ +static const union AnimCmd *const sAnims_UNOWN_P[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_P_1, }; -static const union AnimCmd *const sAnims_UNOWN_Q[] ={ +static const union AnimCmd *const sAnims_UNOWN_Q[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_Q_1, }; -static const union AnimCmd *const sAnims_UNOWN_R[] ={ +static const union AnimCmd *const sAnims_UNOWN_R[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_R_1, }; -static const union AnimCmd *const sAnims_UNOWN_S[] ={ +static const union AnimCmd *const sAnims_UNOWN_S[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_S_1, }; -static const union AnimCmd *const sAnims_UNOWN_T[] ={ +static const union AnimCmd *const sAnims_UNOWN_T[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_T_1, }; -static const union AnimCmd *const sAnims_UNOWN_U[] ={ +static const union AnimCmd *const sAnims_UNOWN_U[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_U_1, }; -static const union AnimCmd *const sAnims_UNOWN_V[] ={ +static const union AnimCmd *const sAnims_UNOWN_V[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_V_1, }; -static const union AnimCmd *const sAnims_UNOWN_W[] ={ +static const union AnimCmd *const sAnims_UNOWN_W[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_W_1, }; -static const union AnimCmd *const sAnims_UNOWN_X[] ={ +static const union AnimCmd *const sAnims_UNOWN_X[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_X_1, }; -static const union AnimCmd *const sAnims_UNOWN_Y[] ={ +static const union AnimCmd *const sAnims_UNOWN_Y[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_Y_1, }; -static const union AnimCmd *const sAnims_UNOWN_Z[] ={ +static const union AnimCmd *const sAnims_UNOWN_Z[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_Z_1, }; -static const union AnimCmd *const sAnims_UNOWN_EMARK[] ={ +static const union AnimCmd *const sAnims_UNOWN_EMARK[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_EMARK_1, }; -static const union AnimCmd *const sAnims_UNOWN_QMARK[] ={ +static const union AnimCmd *const sAnims_UNOWN_QMARK[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_QMARK_1, }; -#if P_NEW_POKEMON == TRUE -static const union AnimCmd *const sAnims_TURTWIG[] ={ +#if P_NEW_POKEMON >= GEN_4 +static const union AnimCmd *const sAnims_TURTWIG[] = +{ sAnim_GeneralFrame0, sAnim_TURTWIG_1, }; -static const union AnimCmd *const sAnims_GROTLE[] ={ +static const union AnimCmd *const sAnims_GROTLE[] = +{ sAnim_GeneralFrame0, sAnim_GROTLE_1, }; -static const union AnimCmd *const sAnims_TORTERRA[] ={ +static const union AnimCmd *const sAnims_TORTERRA[] = +{ sAnim_GeneralFrame0, sAnim_TORTERRA_1, }; -static const union AnimCmd *const sAnims_CHIMCHAR[] ={ +static const union AnimCmd *const sAnims_CHIMCHAR[] = +{ sAnim_GeneralFrame0, sAnim_CHIMCHAR_1, }; -static const union AnimCmd *const sAnims_MONFERNO[] ={ +static const union AnimCmd *const sAnims_MONFERNO[] = +{ sAnim_GeneralFrame0, sAnim_MONFERNO_1, }; -static const union AnimCmd *const sAnims_INFERNAPE[] ={ +static const union AnimCmd *const sAnims_INFERNAPE[] = +{ sAnim_GeneralFrame0, sAnim_INFERNAPE_1, }; -static const union AnimCmd *const sAnims_PIPLUP[] ={ +static const union AnimCmd *const sAnims_PIPLUP[] = +{ sAnim_GeneralFrame0, sAnim_PIPLUP_1, }; -static const union AnimCmd *const sAnims_PRINPLUP[] ={ +static const union AnimCmd *const sAnims_PRINPLUP[] = +{ sAnim_GeneralFrame0, sAnim_PRINPLUP_1, }; -static const union AnimCmd *const sAnims_EMPOLEON[] ={ +static const union AnimCmd *const sAnims_EMPOLEON[] = +{ sAnim_GeneralFrame0, sAnim_EMPOLEON_1, }; -static const union AnimCmd *const sAnims_STARLY[] ={ +static const union AnimCmd *const sAnims_STARLY[] = +{ sAnim_GeneralFrame0, sAnim_STARLY_1, }; -static const union AnimCmd *const sAnims_STARAVIA[] ={ +static const union AnimCmd *const sAnims_STARAVIA[] = +{ sAnim_GeneralFrame0, sAnim_STARAVIA_1, }; -static const union AnimCmd *const sAnims_STARAPTOR[] ={ +static const union AnimCmd *const sAnims_STARAPTOR[] = +{ sAnim_GeneralFrame0, sAnim_STARAPTOR_1, }; -static const union AnimCmd *const sAnims_BIDOOF[] ={ +static const union AnimCmd *const sAnims_BIDOOF[] = +{ sAnim_GeneralFrame0, sAnim_BIDOOF_1, }; -static const union AnimCmd *const sAnims_BIBAREL[] ={ +static const union AnimCmd *const sAnims_BIBAREL[] = +{ sAnim_GeneralFrame0, sAnim_BIBAREL_1, }; -static const union AnimCmd *const sAnims_KRICKETOT[] ={ +static const union AnimCmd *const sAnims_KRICKETOT[] = +{ sAnim_GeneralFrame0, sAnim_KRICKETOT_1, }; -static const union AnimCmd *const sAnims_KRICKETUNE[] ={ +static const union AnimCmd *const sAnims_KRICKETUNE[] = +{ sAnim_GeneralFrame0, sAnim_KRICKETUNE_1, }; -static const union AnimCmd *const sAnims_SHINX[] ={ +static const union AnimCmd *const sAnims_SHINX[] = +{ sAnim_GeneralFrame0, sAnim_SHINX_1, }; -static const union AnimCmd *const sAnims_LUXIO[] ={ +static const union AnimCmd *const sAnims_LUXIO[] = +{ sAnim_GeneralFrame0, sAnim_LUXIO_1, }; -static const union AnimCmd *const sAnims_LUXRAY[] ={ +static const union AnimCmd *const sAnims_LUXRAY[] = +{ sAnim_GeneralFrame0, sAnim_LUXRAY_1, }; -static const union AnimCmd *const sAnims_BUDEW[] ={ +static const union AnimCmd *const sAnims_BUDEW[] = +{ sAnim_GeneralFrame0, sAnim_BUDEW_1, }; -static const union AnimCmd *const sAnims_ROSERADE[] ={ +static const union AnimCmd *const sAnims_ROSERADE[] = +{ sAnim_GeneralFrame0, sAnim_ROSERADE_1, }; -static const union AnimCmd *const sAnims_CRANIDOS[] ={ +static const union AnimCmd *const sAnims_CRANIDOS[] = +{ sAnim_GeneralFrame0, sAnim_CRANIDOS_1, }; -static const union AnimCmd *const sAnims_RAMPARDOS[] ={ +static const union AnimCmd *const sAnims_RAMPARDOS[] = +{ sAnim_GeneralFrame0, sAnim_RAMPARDOS_1, }; -static const union AnimCmd *const sAnims_SHIELDON[] ={ +static const union AnimCmd *const sAnims_SHIELDON[] = +{ sAnim_GeneralFrame0, sAnim_SHIELDON_1, }; -static const union AnimCmd *const sAnims_BASTIODON[] ={ +static const union AnimCmd *const sAnims_BASTIODON[] = +{ sAnim_GeneralFrame0, sAnim_BASTIODON_1, }; -static const union AnimCmd *const sAnims_BURMY[] ={ +static const union AnimCmd *const sAnims_BURMY[] = +{ sAnim_GeneralFrame0, sAnim_BURMY_1, }; -static const union AnimCmd *const sAnims_WORMADAM[] ={ +static const union AnimCmd *const sAnims_WORMADAM[] = +{ sAnim_GeneralFrame0, sAnim_WORMADAM_1, }; -static const union AnimCmd *const sAnims_MOTHIM[] ={ +static const union AnimCmd *const sAnims_MOTHIM[] = +{ sAnim_GeneralFrame0, sAnim_MOTHIM_1, }; -static const union AnimCmd *const sAnims_COMBEE[] ={ +static const union AnimCmd *const sAnims_COMBEE[] = +{ sAnim_GeneralFrame0, sAnim_COMBEE_1, }; -static const union AnimCmd *const sAnims_VESPIQUEN[] ={ +static const union AnimCmd *const sAnims_VESPIQUEN[] = +{ sAnim_GeneralFrame0, sAnim_VESPIQUEN_1, }; -static const union AnimCmd *const sAnims_PACHIRISU[] ={ +static const union AnimCmd *const sAnims_PACHIRISU[] = +{ sAnim_GeneralFrame0, sAnim_PACHIRISU_1, }; -static const union AnimCmd *const sAnims_BUIZEL[] ={ +static const union AnimCmd *const sAnims_BUIZEL[] = +{ sAnim_GeneralFrame0, sAnim_BUIZEL_1, }; -static const union AnimCmd *const sAnims_FLOATZEL[] ={ +static const union AnimCmd *const sAnims_FLOATZEL[] = +{ sAnim_GeneralFrame0, sAnim_FLOATZEL_1, }; -static const union AnimCmd *const sAnims_CHERUBI[] ={ +static const union AnimCmd *const sAnims_CHERUBI[] = +{ sAnim_GeneralFrame0, sAnim_CHERUBI_1, }; -static const union AnimCmd *const sAnims_CHERRIM[] ={ +static const union AnimCmd *const sAnims_CHERRIM[] = +{ sAnim_CHERRIM_NORMAL, sAnim_CHERRIM_SUN, }; -static const union AnimCmd *const sAnims_SHELLOS[] ={ +static const union AnimCmd *const sAnims_SHELLOS[] = +{ sAnim_GeneralFrame0, sAnim_SHELLOS_1, }; -static const union AnimCmd *const sAnims_GASTRODON[] ={ +static const union AnimCmd *const sAnims_GASTRODON[] = +{ sAnim_GeneralFrame0, sAnim_GASTRODON_1, }; -static const union AnimCmd *const sAnims_AMBIPOM[] ={ +static const union AnimCmd *const sAnims_AMBIPOM[] = +{ sAnim_GeneralFrame0, sAnim_AMBIPOM_1, }; -static const union AnimCmd *const sAnims_DRIFLOON[] ={ +static const union AnimCmd *const sAnims_DRIFLOON[] = +{ sAnim_GeneralFrame0, sAnim_DRIFLOON_1, }; -static const union AnimCmd *const sAnims_DRIFBLIM[] ={ +static const union AnimCmd *const sAnims_DRIFBLIM[] = +{ sAnim_GeneralFrame0, sAnim_DRIFBLIM_1, }; -static const union AnimCmd *const sAnims_BUNEARY[] ={ +static const union AnimCmd *const sAnims_BUNEARY[] = +{ sAnim_GeneralFrame0, sAnim_BUNEARY_1, }; -static const union AnimCmd *const sAnims_LOPUNNY[] ={ +static const union AnimCmd *const sAnims_LOPUNNY[] = +{ sAnim_GeneralFrame0, sAnim_LOPUNNY_1, }; -static const union AnimCmd *const sAnims_MISMAGIUS[] ={ +static const union AnimCmd *const sAnims_MISMAGIUS[] = +{ sAnim_GeneralFrame0, sAnim_MISMAGIUS_1, }; -static const union AnimCmd *const sAnims_HONCHKROW[] ={ +static const union AnimCmd *const sAnims_HONCHKROW[] = +{ sAnim_GeneralFrame0, sAnim_HONCHKROW_1, }; -static const union AnimCmd *const sAnims_GLAMEOW[] ={ +static const union AnimCmd *const sAnims_GLAMEOW[] = +{ sAnim_GeneralFrame0, sAnim_GLAMEOW_1, }; -static const union AnimCmd *const sAnims_PURUGLY[] ={ +static const union AnimCmd *const sAnims_PURUGLY[] = +{ sAnim_GeneralFrame0, sAnim_PURUGLY_1, }; -static const union AnimCmd *const sAnims_CHINGLING[] ={ +static const union AnimCmd *const sAnims_CHINGLING[] = +{ sAnim_GeneralFrame0, sAnim_CHINGLING_1, }; -static const union AnimCmd *const sAnims_STUNKY[] ={ +static const union AnimCmd *const sAnims_STUNKY[] = +{ sAnim_GeneralFrame0, sAnim_STUNKY_1, }; -static const union AnimCmd *const sAnims_SKUNTANK[] ={ +static const union AnimCmd *const sAnims_SKUNTANK[] = +{ sAnim_GeneralFrame0, sAnim_SKUNTANK_1, }; -static const union AnimCmd *const sAnims_BRONZOR[] ={ +static const union AnimCmd *const sAnims_BRONZOR[] = +{ sAnim_GeneralFrame0, sAnim_BRONZOR_1, }; -static const union AnimCmd *const sAnims_BRONZONG[] ={ +static const union AnimCmd *const sAnims_BRONZONG[] = +{ sAnim_GeneralFrame0, sAnim_BRONZONG_1, }; -static const union AnimCmd *const sAnims_BONSLY[] ={ +static const union AnimCmd *const sAnims_BONSLY[] = +{ sAnim_GeneralFrame0, sAnim_BONSLY_1, }; -static const union AnimCmd *const sAnims_MIME_JR[] ={ +static const union AnimCmd *const sAnims_MIME_JR[] = +{ sAnim_GeneralFrame0, sAnim_MIME_JR_1, }; -static const union AnimCmd *const sAnims_HAPPINY[] ={ +static const union AnimCmd *const sAnims_HAPPINY[] = +{ sAnim_GeneralFrame0, sAnim_HAPPINY_1, }; -static const union AnimCmd *const sAnims_CHATOT[] ={ +static const union AnimCmd *const sAnims_CHATOT[] = +{ sAnim_GeneralFrame0, sAnim_CHATOT_1, }; -static const union AnimCmd *const sAnims_SPIRITOMB[] ={ +static const union AnimCmd *const sAnims_SPIRITOMB[] = +{ sAnim_GeneralFrame0, sAnim_SPIRITOMB_1, }; -static const union AnimCmd *const sAnims_GIBLE[] ={ +static const union AnimCmd *const sAnims_GIBLE[] = +{ sAnim_GeneralFrame0, sAnim_GIBLE_1, }; -static const union AnimCmd *const sAnims_GABITE[] ={ +static const union AnimCmd *const sAnims_GABITE[] = +{ sAnim_GeneralFrame0, sAnim_GABITE_1, }; -static const union AnimCmd *const sAnims_GARCHOMP[] ={ +static const union AnimCmd *const sAnims_GARCHOMP[] = +{ sAnim_GeneralFrame0, sAnim_GARCHOMP_1, }; -static const union AnimCmd *const sAnims_MUNCHLAX[] ={ +static const union AnimCmd *const sAnims_MUNCHLAX[] = +{ sAnim_GeneralFrame0, sAnim_MUNCHLAX_1, }; -static const union AnimCmd *const sAnims_RIOLU[] ={ +static const union AnimCmd *const sAnims_RIOLU[] = +{ sAnim_GeneralFrame0, sAnim_RIOLU_1, }; -static const union AnimCmd *const sAnims_LUCARIO[] ={ +static const union AnimCmd *const sAnims_LUCARIO[] = +{ sAnim_GeneralFrame0, sAnim_LUCARIO_1, }; -static const union AnimCmd *const sAnims_HIPPOPOTAS[] ={ +static const union AnimCmd *const sAnims_HIPPOPOTAS[] = +{ sAnim_GeneralFrame0, sAnim_HIPPOPOTAS_1, }; -static const union AnimCmd *const sAnims_HIPPOWDON[] ={ +static const union AnimCmd *const sAnims_HIPPOWDON[] = +{ sAnim_GeneralFrame0, sAnim_HIPPOWDON_1, }; -static const union AnimCmd *const sAnims_SKORUPI[] ={ +static const union AnimCmd *const sAnims_SKORUPI[] = +{ sAnim_GeneralFrame0, sAnim_SKORUPI_1, }; -static const union AnimCmd *const sAnims_DRAPION[] ={ +static const union AnimCmd *const sAnims_DRAPION[] = +{ sAnim_GeneralFrame0, sAnim_DRAPION_1, }; -static const union AnimCmd *const sAnims_CROAGUNK[] ={ +static const union AnimCmd *const sAnims_CROAGUNK[] = +{ sAnim_GeneralFrame0, sAnim_CROAGUNK_1, }; -static const union AnimCmd *const sAnims_TOXICROAK[] ={ +static const union AnimCmd *const sAnims_TOXICROAK[] = +{ sAnim_GeneralFrame0, sAnim_TOXICROAK_1, }; -static const union AnimCmd *const sAnims_CARNIVINE[] ={ +static const union AnimCmd *const sAnims_CARNIVINE[] = +{ sAnim_GeneralFrame0, sAnim_CARNIVINE_1, }; -static const union AnimCmd *const sAnims_FINNEON[] ={ +static const union AnimCmd *const sAnims_FINNEON[] = +{ sAnim_GeneralFrame0, sAnim_FINNEON_1, }; -static const union AnimCmd *const sAnims_LUMINEON[] ={ +static const union AnimCmd *const sAnims_LUMINEON[] = +{ sAnim_GeneralFrame0, sAnim_LUMINEON_1, }; -static const union AnimCmd *const sAnims_MANTYKE[] ={ +static const union AnimCmd *const sAnims_MANTYKE[] = +{ sAnim_GeneralFrame0, sAnim_MANTYKE_1, }; -static const union AnimCmd *const sAnims_SNOVER[] ={ +static const union AnimCmd *const sAnims_SNOVER[] = +{ sAnim_GeneralFrame0, sAnim_SNOVER_1, }; -static const union AnimCmd *const sAnims_ABOMASNOW[] ={ +static const union AnimCmd *const sAnims_ABOMASNOW[] = +{ sAnim_GeneralFrame0, sAnim_ABOMASNOW_1, }; -static const union AnimCmd *const sAnims_WEAVILE[] ={ +static const union AnimCmd *const sAnims_WEAVILE[] = +{ sAnim_GeneralFrame0, sAnim_WEAVILE_1, }; -static const union AnimCmd *const sAnims_MAGNEZONE[] ={ +static const union AnimCmd *const sAnims_MAGNEZONE[] = +{ sAnim_GeneralFrame0, sAnim_MAGNEZONE_1, }; -static const union AnimCmd *const sAnims_LICKILICKY[] ={ +static const union AnimCmd *const sAnims_LICKILICKY[] = +{ sAnim_GeneralFrame0, sAnim_LICKILICKY_1, }; -static const union AnimCmd *const sAnims_RHYPERIOR[] ={ +static const union AnimCmd *const sAnims_RHYPERIOR[] = +{ sAnim_GeneralFrame0, sAnim_RHYPERIOR_1, }; -static const union AnimCmd *const sAnims_TANGROWTH[] ={ +static const union AnimCmd *const sAnims_TANGROWTH[] = +{ sAnim_GeneralFrame0, sAnim_TANGROWTH_1, }; -static const union AnimCmd *const sAnims_ELECTIVIRE[] ={ +static const union AnimCmd *const sAnims_ELECTIVIRE[] = +{ sAnim_GeneralFrame0, sAnim_ELECTIVIRE_1, }; -static const union AnimCmd *const sAnims_MAGMORTAR[] ={ +static const union AnimCmd *const sAnims_MAGMORTAR[] = +{ sAnim_GeneralFrame0, sAnim_MAGMORTAR_1, }; -static const union AnimCmd *const sAnims_TOGEKISS[] ={ +static const union AnimCmd *const sAnims_TOGEKISS[] = +{ sAnim_GeneralFrame0, sAnim_TOGEKISS_1, }; -static const union AnimCmd *const sAnims_YANMEGA[] ={ +static const union AnimCmd *const sAnims_YANMEGA[] = +{ sAnim_GeneralFrame0, sAnim_YANMEGA_1, }; -static const union AnimCmd *const sAnims_LEAFEON[] ={ +static const union AnimCmd *const sAnims_LEAFEON[] = +{ sAnim_GeneralFrame0, sAnim_LEAFEON_1, }; -static const union AnimCmd *const sAnims_GLACEON[] ={ +static const union AnimCmd *const sAnims_GLACEON[] = +{ sAnim_GeneralFrame0, sAnim_GLACEON_1, }; -static const union AnimCmd *const sAnims_GLISCOR[] ={ +static const union AnimCmd *const sAnims_GLISCOR[] = +{ sAnim_GeneralFrame0, sAnim_GLISCOR_1, }; -static const union AnimCmd *const sAnims_MAMOSWINE[] ={ +static const union AnimCmd *const sAnims_MAMOSWINE[] = +{ sAnim_GeneralFrame0, sAnim_MAMOSWINE_1, }; -static const union AnimCmd *const sAnims_PORYGON_Z[] ={ +static const union AnimCmd *const sAnims_PORYGON_Z[] = +{ sAnim_GeneralFrame0, sAnim_PORYGON_Z_1, }; -static const union AnimCmd *const sAnims_GALLADE[] ={ +static const union AnimCmd *const sAnims_GALLADE[] = +{ sAnim_GeneralFrame0, sAnim_GALLADE_1, }; -static const union AnimCmd *const sAnims_PROBOPASS[] ={ +static const union AnimCmd *const sAnims_PROBOPASS[] = +{ sAnim_GeneralFrame0, sAnim_PROBOPASS_1, }; -static const union AnimCmd *const sAnims_DUSKNOIR[] ={ +static const union AnimCmd *const sAnims_DUSKNOIR[] = +{ sAnim_GeneralFrame0, sAnim_DUSKNOIR_1, }; -static const union AnimCmd *const sAnims_FROSLASS[] ={ +static const union AnimCmd *const sAnims_FROSLASS[] = +{ sAnim_GeneralFrame0, sAnim_FROSLASS_1, }; -static const union AnimCmd *const sAnims_ROTOM[] ={ +static const union AnimCmd *const sAnims_ROTOM[] = +{ sAnim_GeneralFrame0, sAnim_ROTOM_1, }; -static const union AnimCmd *const sAnims_ROTOM_HEAT[] ={ +static const union AnimCmd *const sAnims_ROTOM_HEAT[] = +{ sAnim_GeneralFrame0, sAnim_RotomHeat_1, }; -static const union AnimCmd *const sAnims_ROTOM_FROST[] ={ +static const union AnimCmd *const sAnims_ROTOM_FROST[] = +{ sAnim_GeneralFrame0, sAnim_RotomFrost_1, }; -static const union AnimCmd *const sAnims_ROTOM_FAN[] ={ +static const union AnimCmd *const sAnims_ROTOM_FAN[] = +{ sAnim_GeneralFrame0, sAnim_RotomFan_1, }; -static const union AnimCmd *const sAnims_ROTOM_MOW[] ={ +static const union AnimCmd *const sAnims_ROTOM_MOW[] = +{ sAnim_GeneralFrame0, sAnim_RotomMow_1, }; -static const union AnimCmd *const sAnims_ROTOM_WASH[] ={ +static const union AnimCmd *const sAnims_ROTOM_WASH[] = +{ sAnim_GeneralFrame0, sAnim_RotomWash_1, }; -static const union AnimCmd *const sAnims_UXIE[] ={ +static const union AnimCmd *const sAnims_UXIE[] = +{ sAnim_GeneralFrame0, sAnim_UXIE_1, }; -static const union AnimCmd *const sAnims_MESPRIT[] ={ +static const union AnimCmd *const sAnims_MESPRIT[] = +{ sAnim_GeneralFrame0, sAnim_MESPRIT_1, }; -static const union AnimCmd *const sAnims_AZELF[] ={ +static const union AnimCmd *const sAnims_AZELF[] = +{ sAnim_GeneralFrame0, sAnim_AZELF_1, }; -static const union AnimCmd *const sAnims_DIALGA[] ={ +static const union AnimCmd *const sAnims_DIALGA[] = +{ sAnim_GeneralFrame0, sAnim_DIALGA_1, }; -static const union AnimCmd *const sAnims_PALKIA[] ={ +static const union AnimCmd *const sAnims_PALKIA[] = +{ sAnim_GeneralFrame0, sAnim_PALKIA_1, }; -static const union AnimCmd *const sAnims_HEATRAN[] ={ +static const union AnimCmd *const sAnims_HEATRAN[] = +{ sAnim_GeneralFrame0, sAnim_HEATRAN_1, }; -static const union AnimCmd *const sAnims_REGIGIGAS[] ={ +static const union AnimCmd *const sAnims_REGIGIGAS[] = +{ sAnim_GeneralFrame0, sAnim_REGIGIGAS_1, }; -static const union AnimCmd *const sAnims_GIRATINA[] ={ +static const union AnimCmd *const sAnims_GIRATINA[] = +{ sAnim_GeneralFrame0, sAnim_GIRATINA_1, }; -static const union AnimCmd *const sAnims_CRESSELIA[] ={ +static const union AnimCmd *const sAnims_CRESSELIA[] = +{ sAnim_GeneralFrame0, sAnim_CRESSELIA_1, }; -static const union AnimCmd *const sAnims_PHIONE[] ={ +static const union AnimCmd *const sAnims_PHIONE[] = +{ sAnim_GeneralFrame0, sAnim_PHIONE_1, }; -static const union AnimCmd *const sAnims_MANAPHY[] ={ +static const union AnimCmd *const sAnims_MANAPHY[] = +{ sAnim_GeneralFrame0, sAnim_MANAPHY_1, }; -static const union AnimCmd *const sAnims_DARKRAI[] ={ +static const union AnimCmd *const sAnims_DARKRAI[] = +{ sAnim_GeneralFrame0, sAnim_DARKRAI_1, }; -static const union AnimCmd *const sAnims_SHAYMIN[] ={ +static const union AnimCmd *const sAnims_SHAYMIN[] = +{ sAnim_GeneralFrame0, sAnim_SHAYMIN_1, }; -static const union AnimCmd *const sAnims_ARCEUS[] ={ +static const union AnimCmd *const sAnims_ARCEUS[] = +{ sAnim_GeneralFrame0, sAnim_ARCEUS_1, }; +#endif -static const union AnimCmd *const sAnims_VICTINI[] ={ +#if P_NEW_POKEMON >= GEN_5 +static const union AnimCmd *const sAnims_VICTINI[] = +{ sAnim_GeneralFrame0, sAnim_VICTINI_1, }; -static const union AnimCmd *const sAnims_SNIVY[] ={ +static const union AnimCmd *const sAnims_SNIVY[] = +{ sAnim_GeneralFrame0, sAnim_SNIVY_1, }; -static const union AnimCmd *const sAnims_SERVINE[] ={ +static const union AnimCmd *const sAnims_SERVINE[] = +{ sAnim_GeneralFrame0, sAnim_SERVINE_1, }; -static const union AnimCmd *const sAnims_SERPERIOR[] ={ +static const union AnimCmd *const sAnims_SERPERIOR[] = +{ sAnim_GeneralFrame0, sAnim_SERPERIOR_1, }; -static const union AnimCmd *const sAnims_TEPIG[] ={ +static const union AnimCmd *const sAnims_TEPIG[] = +{ sAnim_GeneralFrame0, sAnim_TEPIG_1, }; -static const union AnimCmd *const sAnims_PIGNITE[] ={ +static const union AnimCmd *const sAnims_PIGNITE[] = +{ sAnim_GeneralFrame0, sAnim_PIGNITE_1, }; -static const union AnimCmd *const sAnims_EMBOAR[] ={ +static const union AnimCmd *const sAnims_EMBOAR[] = +{ sAnim_GeneralFrame0, sAnim_EMBOAR_1, }; -static const union AnimCmd *const sAnims_OSHAWOTT[] ={ +static const union AnimCmd *const sAnims_OSHAWOTT[] = +{ sAnim_GeneralFrame0, sAnim_OSHAWOTT_1, }; -static const union AnimCmd *const sAnims_DEWOTT[] ={ +static const union AnimCmd *const sAnims_DEWOTT[] = +{ sAnim_GeneralFrame0, sAnim_DEWOTT_1, }; -static const union AnimCmd *const sAnims_SAMUROTT[] ={ +static const union AnimCmd *const sAnims_SAMUROTT[] = +{ sAnim_GeneralFrame0, sAnim_SAMUROTT_1, }; -static const union AnimCmd *const sAnims_PATRAT[] ={ +static const union AnimCmd *const sAnims_PATRAT[] = +{ sAnim_GeneralFrame0, sAnim_PATRAT_1, }; -static const union AnimCmd *const sAnims_WATCHOG[] ={ +static const union AnimCmd *const sAnims_WATCHOG[] = +{ sAnim_GeneralFrame0, sAnim_WATCHOG_1, }; -static const union AnimCmd *const sAnims_LILLIPUP[] ={ +static const union AnimCmd *const sAnims_LILLIPUP[] = +{ sAnim_GeneralFrame0, sAnim_LILLIPUP_1, }; -static const union AnimCmd *const sAnims_HERDIER[] ={ +static const union AnimCmd *const sAnims_HERDIER[] = +{ sAnim_GeneralFrame0, sAnim_HERDIER_1, }; -static const union AnimCmd *const sAnims_STOUTLAND[] ={ +static const union AnimCmd *const sAnims_STOUTLAND[] = +{ sAnim_GeneralFrame0, sAnim_STOUTLAND_1, }; -static const union AnimCmd *const sAnims_PURRLOIN[] ={ +static const union AnimCmd *const sAnims_PURRLOIN[] = +{ sAnim_GeneralFrame0, sAnim_PURRLOIN_1, }; -static const union AnimCmd *const sAnims_LIEPARD[] ={ +static const union AnimCmd *const sAnims_LIEPARD[] = +{ sAnim_GeneralFrame0, sAnim_LIEPARD_1, }; -static const union AnimCmd *const sAnims_PANSAGE[] ={ +static const union AnimCmd *const sAnims_PANSAGE[] = +{ sAnim_GeneralFrame0, sAnim_PANSAGE_1, }; -static const union AnimCmd *const sAnims_SIMISAGE[] ={ +static const union AnimCmd *const sAnims_SIMISAGE[] = +{ sAnim_GeneralFrame0, sAnim_SIMISAGE_1, }; -static const union AnimCmd *const sAnims_PANSEAR[] ={ +static const union AnimCmd *const sAnims_PANSEAR[] = +{ sAnim_GeneralFrame0, sAnim_PANSEAR_1, }; -static const union AnimCmd *const sAnims_SIMISEAR[] ={ +static const union AnimCmd *const sAnims_SIMISEAR[] = +{ sAnim_GeneralFrame0, sAnim_SIMISEAR_1, }; -static const union AnimCmd *const sAnims_PANPOUR[] ={ +static const union AnimCmd *const sAnims_PANPOUR[] = +{ sAnim_GeneralFrame0, sAnim_PANPOUR_1, }; -static const union AnimCmd *const sAnims_SIMIPOUR[] ={ +static const union AnimCmd *const sAnims_SIMIPOUR[] = +{ sAnim_GeneralFrame0, sAnim_SIMIPOUR_1, }; -static const union AnimCmd *const sAnims_MUNNA[] ={ +static const union AnimCmd *const sAnims_MUNNA[] = +{ sAnim_GeneralFrame0, sAnim_MUNNA_1, }; -static const union AnimCmd *const sAnims_MUSHARNA[] ={ +static const union AnimCmd *const sAnims_MUSHARNA[] = +{ sAnim_GeneralFrame0, sAnim_MUSHARNA_1, }; -static const union AnimCmd *const sAnims_PIDOVE[] ={ +static const union AnimCmd *const sAnims_PIDOVE[] = +{ sAnim_GeneralFrame0, sAnim_PIDOVE_1, }; -static const union AnimCmd *const sAnims_TRANQUILL[] ={ +static const union AnimCmd *const sAnims_TRANQUILL[] = +{ sAnim_GeneralFrame0, sAnim_TRANQUILL_1, }; -static const union AnimCmd *const sAnims_UNFEZANT[] ={ +static const union AnimCmd *const sAnims_UNFEZANT[] = +{ sAnim_GeneralFrame0, sAnim_UNFEZANT_1, }; -static const union AnimCmd *const sAnims_BLITZLE[] ={ +static const union AnimCmd *const sAnims_BLITZLE[] = +{ sAnim_GeneralFrame0, sAnim_BLITZLE_1, }; -static const union AnimCmd *const sAnims_ZEBSTRIKA[] ={ +static const union AnimCmd *const sAnims_ZEBSTRIKA[] = +{ sAnim_GeneralFrame0, sAnim_ZEBSTRIKA_1, }; -static const union AnimCmd *const sAnims_ROGGENROLA[] ={ +static const union AnimCmd *const sAnims_ROGGENROLA[] = +{ sAnim_GeneralFrame0, sAnim_ROGGENROLA_1, }; -static const union AnimCmd *const sAnims_BOLDORE[] ={ +static const union AnimCmd *const sAnims_BOLDORE[] = +{ sAnim_GeneralFrame0, sAnim_BOLDORE_1, }; -static const union AnimCmd *const sAnims_GIGALITH[] ={ +static const union AnimCmd *const sAnims_GIGALITH[] = +{ sAnim_GeneralFrame0, sAnim_GIGALITH_1, }; -static const union AnimCmd *const sAnims_WOOBAT[] ={ +static const union AnimCmd *const sAnims_WOOBAT[] = +{ sAnim_GeneralFrame0, sAnim_WOOBAT_1, }; -static const union AnimCmd *const sAnims_SWOOBAT[] ={ +static const union AnimCmd *const sAnims_SWOOBAT[] = +{ sAnim_GeneralFrame0, sAnim_SWOOBAT_1, }; -static const union AnimCmd *const sAnims_DRILBUR[] ={ +static const union AnimCmd *const sAnims_DRILBUR[] = +{ sAnim_GeneralFrame0, sAnim_DRILBUR_1, }; -static const union AnimCmd *const sAnims_EXCADRILL[] ={ +static const union AnimCmd *const sAnims_EXCADRILL[] = +{ sAnim_GeneralFrame0, sAnim_EXCADRILL_1, }; -static const union AnimCmd *const sAnims_AUDINO[] ={ +static const union AnimCmd *const sAnims_AUDINO[] = +{ sAnim_GeneralFrame0, sAnim_AUDINO_1, }; -static const union AnimCmd *const sAnims_TIMBURR[] ={ +static const union AnimCmd *const sAnims_TIMBURR[] = +{ sAnim_GeneralFrame0, sAnim_TIMBURR_1, }; -static const union AnimCmd *const sAnims_GURDURR[] ={ +static const union AnimCmd *const sAnims_GURDURR[] = +{ sAnim_GeneralFrame0, sAnim_GURDURR_1, }; -static const union AnimCmd *const sAnims_CONKELDURR[] ={ +static const union AnimCmd *const sAnims_CONKELDURR[] = +{ sAnim_GeneralFrame0, sAnim_CONKELDURR_1, }; -static const union AnimCmd *const sAnims_TYMPOLE[] ={ +static const union AnimCmd *const sAnims_TYMPOLE[] = +{ sAnim_GeneralFrame0, sAnim_TYMPOLE_1, }; -static const union AnimCmd *const sAnims_PALPITOAD[] ={ +static const union AnimCmd *const sAnims_PALPITOAD[] = +{ sAnim_GeneralFrame0, sAnim_PALPITOAD_1, }; -static const union AnimCmd *const sAnims_SEISMITOAD[] ={ +static const union AnimCmd *const sAnims_SEISMITOAD[] = +{ sAnim_GeneralFrame0, sAnim_SEISMITOAD_1, }; -static const union AnimCmd *const sAnims_THROH[] ={ +static const union AnimCmd *const sAnims_THROH[] = +{ sAnim_GeneralFrame0, sAnim_THROH_1, }; -static const union AnimCmd *const sAnims_SAWK[] ={ +static const union AnimCmd *const sAnims_SAWK[] = +{ sAnim_GeneralFrame0, sAnim_SAWK_1, }; -static const union AnimCmd *const sAnims_SEWADDLE[] ={ +static const union AnimCmd *const sAnims_SEWADDLE[] = +{ sAnim_GeneralFrame0, sAnim_SEWADDLE_1, }; -static const union AnimCmd *const sAnims_SWADLOON[] ={ +static const union AnimCmd *const sAnims_SWADLOON[] = +{ sAnim_GeneralFrame0, sAnim_SWADLOON_1, }; -static const union AnimCmd *const sAnims_LEAVANNY[] ={ +static const union AnimCmd *const sAnims_LEAVANNY[] = +{ sAnim_GeneralFrame0, sAnim_LEAVANNY_1, }; -static const union AnimCmd *const sAnims_VENIPEDE[] ={ +static const union AnimCmd *const sAnims_VENIPEDE[] = +{ sAnim_GeneralFrame0, sAnim_VENIPEDE_1, }; -static const union AnimCmd *const sAnims_WHIRLIPEDE[] ={ +static const union AnimCmd *const sAnims_WHIRLIPEDE[] = +{ sAnim_GeneralFrame0, sAnim_WHIRLIPEDE_1, }; -static const union AnimCmd *const sAnims_SCOLIPEDE[] ={ +static const union AnimCmd *const sAnims_SCOLIPEDE[] = +{ sAnim_GeneralFrame0, sAnim_SCOLIPEDE_1, }; -static const union AnimCmd *const sAnims_COTTONEE[] ={ +static const union AnimCmd *const sAnims_COTTONEE[] = +{ sAnim_GeneralFrame0, sAnim_COTTONEE_1, }; -static const union AnimCmd *const sAnims_WHIMSICOTT[] ={ +static const union AnimCmd *const sAnims_WHIMSICOTT[] = +{ sAnim_GeneralFrame0, sAnim_WHIMSICOTT_1, }; -static const union AnimCmd *const sAnims_PETILIL[] ={ +static const union AnimCmd *const sAnims_PETILIL[] = +{ sAnim_GeneralFrame0, sAnim_PETILIL_1, }; -static const union AnimCmd *const sAnims_LILLIGANT[] ={ +static const union AnimCmd *const sAnims_LILLIGANT[] = +{ sAnim_GeneralFrame0, sAnim_LILLIGANT_1, }; -static const union AnimCmd *const sAnims_BASCULIN[] ={ +static const union AnimCmd *const sAnims_BASCULIN[] = +{ sAnim_GeneralFrame0, sAnim_BASCULIN_1, }; -static const union AnimCmd *const sAnims_SANDILE[] ={ +static const union AnimCmd *const sAnims_SANDILE[] = +{ sAnim_GeneralFrame0, sAnim_SANDILE_1, }; -static const union AnimCmd *const sAnims_KROKOROK[] ={ +static const union AnimCmd *const sAnims_KROKOROK[] = +{ sAnim_GeneralFrame0, sAnim_KROKOROK_1, }; -static const union AnimCmd *const sAnims_KROOKODILE[] ={ +static const union AnimCmd *const sAnims_KROOKODILE[] = +{ sAnim_GeneralFrame0, sAnim_KROOKODILE_1, }; -static const union AnimCmd *const sAnims_DARUMAKA[] ={ +static const union AnimCmd *const sAnims_DARUMAKA[] = +{ sAnim_GeneralFrame0, sAnim_DARUMAKA_1, }; -static const union AnimCmd *const sAnims_DARMANITAN[] ={ +static const union AnimCmd *const sAnims_DARMANITAN[] = +{ sAnim_GeneralFrame0, sAnim_DARMANITAN_1, }; -static const union AnimCmd *const sAnims_MARACTUS[] ={ +static const union AnimCmd *const sAnims_MARACTUS[] = +{ sAnim_GeneralFrame0, sAnim_MARACTUS_1, }; -static const union AnimCmd *const sAnims_DWEBBLE[] ={ +static const union AnimCmd *const sAnims_DWEBBLE[] = +{ sAnim_GeneralFrame0, sAnim_DWEBBLE_1, }; -static const union AnimCmd *const sAnims_CRUSTLE[] ={ +static const union AnimCmd *const sAnims_CRUSTLE[] = +{ sAnim_GeneralFrame0, sAnim_CRUSTLE_1, }; -static const union AnimCmd *const sAnims_SCRAGGY[] ={ +static const union AnimCmd *const sAnims_SCRAGGY[] = +{ sAnim_GeneralFrame0, sAnim_SCRAGGY_1, }; -static const union AnimCmd *const sAnims_SCRAFTY[] ={ +static const union AnimCmd *const sAnims_SCRAFTY[] = +{ sAnim_GeneralFrame0, sAnim_SCRAFTY_1, }; -static const union AnimCmd *const sAnims_SIGILYPH[] ={ +static const union AnimCmd *const sAnims_SIGILYPH[] = +{ sAnim_GeneralFrame0, sAnim_SIGILYPH_1, }; -static const union AnimCmd *const sAnims_YAMASK[] ={ +static const union AnimCmd *const sAnims_YAMASK[] = +{ sAnim_GeneralFrame0, sAnim_YAMASK_1, }; -static const union AnimCmd *const sAnims_COFAGRIGUS[] ={ +static const union AnimCmd *const sAnims_COFAGRIGUS[] = +{ sAnim_GeneralFrame0, sAnim_COFAGRIGUS_1, }; -static const union AnimCmd *const sAnims_TIRTOUGA[] ={ +static const union AnimCmd *const sAnims_TIRTOUGA[] = +{ sAnim_GeneralFrame0, sAnim_TIRTOUGA_1, }; -static const union AnimCmd *const sAnims_CARRACOSTA[] ={ +static const union AnimCmd *const sAnims_CARRACOSTA[] = +{ sAnim_GeneralFrame0, sAnim_CARRACOSTA_1, }; -static const union AnimCmd *const sAnims_ARCHEN[] ={ +static const union AnimCmd *const sAnims_ARCHEN[] = +{ sAnim_GeneralFrame0, sAnim_ARCHEN_1, }; -static const union AnimCmd *const sAnims_ARCHEOPS[] ={ +static const union AnimCmd *const sAnims_ARCHEOPS[] = +{ sAnim_GeneralFrame0, sAnim_ARCHEOPS_1, }; -static const union AnimCmd *const sAnims_TRUBBISH[] ={ +static const union AnimCmd *const sAnims_TRUBBISH[] = +{ sAnim_GeneralFrame0, sAnim_TRUBBISH_1, }; -static const union AnimCmd *const sAnims_GARBODOR[] ={ +static const union AnimCmd *const sAnims_GARBODOR[] = +{ sAnim_GeneralFrame0, sAnim_GARBODOR_1, }; -static const union AnimCmd *const sAnims_ZORUA[] ={ +static const union AnimCmd *const sAnims_ZORUA[] = +{ sAnim_GeneralFrame0, sAnim_ZORUA_1, }; -static const union AnimCmd *const sAnims_ZOROARK[] ={ +static const union AnimCmd *const sAnims_ZOROARK[] = +{ sAnim_GeneralFrame0, sAnim_ZOROARK_1, }; -static const union AnimCmd *const sAnims_MINCCINO[] ={ +static const union AnimCmd *const sAnims_MINCCINO[] = +{ sAnim_GeneralFrame0, sAnim_MINCCINO_1, }; -static const union AnimCmd *const sAnims_CINCCINO[] ={ +static const union AnimCmd *const sAnims_CINCCINO[] = +{ sAnim_GeneralFrame0, sAnim_CINCCINO_1, }; -static const union AnimCmd *const sAnims_GOTHITA[] ={ +static const union AnimCmd *const sAnims_GOTHITA[] = +{ sAnim_GeneralFrame0, sAnim_GOTHITA_1, }; -static const union AnimCmd *const sAnims_GOTHORITA[] ={ +static const union AnimCmd *const sAnims_GOTHORITA[] = +{ sAnim_GeneralFrame0, sAnim_GOTHORITA_1, }; -static const union AnimCmd *const sAnims_GOTHITELLE[] ={ +static const union AnimCmd *const sAnims_GOTHITELLE[] = +{ sAnim_GeneralFrame0, sAnim_GOTHITELLE_1, }; -static const union AnimCmd *const sAnims_SOLOSIS[] ={ +static const union AnimCmd *const sAnims_SOLOSIS[] = +{ sAnim_GeneralFrame0, sAnim_SOLOSIS_1, }; -static const union AnimCmd *const sAnims_DUOSION[] ={ +static const union AnimCmd *const sAnims_DUOSION[] = +{ sAnim_GeneralFrame0, sAnim_DUOSION_1, }; -static const union AnimCmd *const sAnims_REUNICLUS[] ={ +static const union AnimCmd *const sAnims_REUNICLUS[] = +{ sAnim_GeneralFrame0, sAnim_REUNICLUS_1, }; -static const union AnimCmd *const sAnims_DUCKLETT[] ={ +static const union AnimCmd *const sAnims_DUCKLETT[] = +{ sAnim_GeneralFrame0, sAnim_DUCKLETT_1, }; -static const union AnimCmd *const sAnims_SWANNA[] ={ +static const union AnimCmd *const sAnims_SWANNA[] = +{ sAnim_GeneralFrame0, sAnim_SWANNA_1, }; -static const union AnimCmd *const sAnims_VANILLITE[] ={ +static const union AnimCmd *const sAnims_VANILLITE[] = +{ sAnim_GeneralFrame0, sAnim_VANILLITE_1, }; -static const union AnimCmd *const sAnims_VANILLISH[] ={ +static const union AnimCmd *const sAnims_VANILLISH[] = +{ sAnim_GeneralFrame0, sAnim_VANILLISH_1, }; -static const union AnimCmd *const sAnims_VANILLUXE[] ={ +static const union AnimCmd *const sAnims_VANILLUXE[] = +{ sAnim_GeneralFrame0, sAnim_VANILLUXE_1, }; -static const union AnimCmd *const sAnims_DEERLING[] ={ +static const union AnimCmd *const sAnims_DEERLING[] = +{ sAnim_GeneralFrame0, sAnim_DEERLING_1, }; -static const union AnimCmd *const sAnims_SAWSBUCK[] ={ +static const union AnimCmd *const sAnims_SAWSBUCK[] = +{ sAnim_GeneralFrame0, sAnim_SAWSBUCK_1, }; -static const union AnimCmd *const sAnims_EMOLGA[] ={ +static const union AnimCmd *const sAnims_EMOLGA[] = +{ sAnim_GeneralFrame0, sAnim_EMOLGA_1, }; -static const union AnimCmd *const sAnims_KARRABLAST[] ={ +static const union AnimCmd *const sAnims_KARRABLAST[] = +{ sAnim_GeneralFrame0, sAnim_KARRABLAST_1, }; -static const union AnimCmd *const sAnims_ESCAVALIER[] ={ +static const union AnimCmd *const sAnims_ESCAVALIER[] = +{ sAnim_GeneralFrame0, sAnim_ESCAVALIER_1, }; -static const union AnimCmd *const sAnims_FOONGUS[] ={ +static const union AnimCmd *const sAnims_FOONGUS[] = +{ sAnim_GeneralFrame0, sAnim_FOONGUS_1, }; -static const union AnimCmd *const sAnims_AMOONGUSS[] ={ +static const union AnimCmd *const sAnims_AMOONGUSS[] = +{ sAnim_GeneralFrame0, sAnim_AMOONGUSS_1, }; -static const union AnimCmd *const sAnims_FRILLISH[] ={ +static const union AnimCmd *const sAnims_FRILLISH[] = +{ sAnim_GeneralFrame0, sAnim_FRILLISH_1, }; -static const union AnimCmd *const sAnims_JELLICENT[] ={ +static const union AnimCmd *const sAnims_JELLICENT[] = +{ sAnim_GeneralFrame0, sAnim_JELLICENT_1, }; -static const union AnimCmd *const sAnims_ALOMOMOLA[] ={ +static const union AnimCmd *const sAnims_ALOMOMOLA[] = +{ sAnim_GeneralFrame0, sAnim_ALOMOMOLA_1, }; -static const union AnimCmd *const sAnims_JOLTIK[] ={ +static const union AnimCmd *const sAnims_JOLTIK[] = +{ sAnim_GeneralFrame0, sAnim_JOLTIK_1, }; -static const union AnimCmd *const sAnims_GALVANTULA[] ={ +static const union AnimCmd *const sAnims_GALVANTULA[] = +{ sAnim_GeneralFrame0, sAnim_GALVANTULA_1, }; -static const union AnimCmd *const sAnims_FERROSEED[] ={ +static const union AnimCmd *const sAnims_FERROSEED[] = +{ sAnim_GeneralFrame0, sAnim_FERROSEED_1, }; -static const union AnimCmd *const sAnims_FERROTHORN[] ={ +static const union AnimCmd *const sAnims_FERROTHORN[] = +{ sAnim_GeneralFrame0, sAnim_FERROTHORN_1, }; -static const union AnimCmd *const sAnims_KLINK[] ={ +static const union AnimCmd *const sAnims_KLINK[] = +{ sAnim_GeneralFrame0, sAnim_KLINK_1, }; -static const union AnimCmd *const sAnims_KLANG[] ={ +static const union AnimCmd *const sAnims_KLANG[] = +{ sAnim_GeneralFrame0, sAnim_KLANG_1, }; -static const union AnimCmd *const sAnims_KLINKLANG[] ={ +static const union AnimCmd *const sAnims_KLINKLANG[] = +{ sAnim_GeneralFrame0, sAnim_KLINKLANG_1, }; -static const union AnimCmd *const sAnims_TYNAMO[] ={ +static const union AnimCmd *const sAnims_TYNAMO[] = +{ sAnim_GeneralFrame0, sAnim_TYNAMO_1, }; -static const union AnimCmd *const sAnims_EELEKTRIK[] ={ +static const union AnimCmd *const sAnims_EELEKTRIK[] = +{ sAnim_GeneralFrame0, sAnim_EELEKTRIK_1, }; -static const union AnimCmd *const sAnims_EELEKTROSS[] ={ +static const union AnimCmd *const sAnims_EELEKTROSS[] = +{ sAnim_GeneralFrame0, sAnim_EELEKTROSS_1, }; -static const union AnimCmd *const sAnims_ELGYEM[] ={ +static const union AnimCmd *const sAnims_ELGYEM[] = +{ sAnim_GeneralFrame0, sAnim_ELGYEM_1, }; -static const union AnimCmd *const sAnims_BEHEEYEM[] ={ +static const union AnimCmd *const sAnims_BEHEEYEM[] = +{ sAnim_GeneralFrame0, sAnim_BEHEEYEM_1, }; -static const union AnimCmd *const sAnims_LITWICK[] ={ +static const union AnimCmd *const sAnims_LITWICK[] = +{ sAnim_GeneralFrame0, sAnim_LITWICK_1, }; -static const union AnimCmd *const sAnims_LAMPENT[] ={ +static const union AnimCmd *const sAnims_LAMPENT[] = +{ sAnim_GeneralFrame0, sAnim_LAMPENT_1, }; -static const union AnimCmd *const sAnims_CHANDELURE[] ={ +static const union AnimCmd *const sAnims_CHANDELURE[] = +{ sAnim_GeneralFrame0, sAnim_CHANDELURE_1, }; -static const union AnimCmd *const sAnims_AXEW[] ={ +static const union AnimCmd *const sAnims_AXEW[] = +{ sAnim_GeneralFrame0, sAnim_AXEW_1, }; -static const union AnimCmd *const sAnims_FRAXURE[] ={ +static const union AnimCmd *const sAnims_FRAXURE[] = +{ sAnim_GeneralFrame0, sAnim_FRAXURE_1, }; -static const union AnimCmd *const sAnims_HAXORUS[] ={ +static const union AnimCmd *const sAnims_HAXORUS[] = +{ sAnim_GeneralFrame0, sAnim_HAXORUS_1, }; -static const union AnimCmd *const sAnims_CUBCHOO[] ={ +static const union AnimCmd *const sAnims_CUBCHOO[] = +{ sAnim_GeneralFrame0, sAnim_CUBCHOO_1, }; -static const union AnimCmd *const sAnims_BEARTIC[] ={ +static const union AnimCmd *const sAnims_BEARTIC[] = +{ sAnim_GeneralFrame0, sAnim_BEARTIC_1, }; -static const union AnimCmd *const sAnims_CRYOGONAL[] ={ +static const union AnimCmd *const sAnims_CRYOGONAL[] = +{ sAnim_GeneralFrame0, sAnim_CRYOGONAL_1, }; -static const union AnimCmd *const sAnims_SHELMET[] ={ +static const union AnimCmd *const sAnims_SHELMET[] = +{ sAnim_GeneralFrame0, sAnim_SHELMET_1, }; -static const union AnimCmd *const sAnims_ACCELGOR[] ={ +static const union AnimCmd *const sAnims_ACCELGOR[] = +{ sAnim_GeneralFrame0, sAnim_ACCELGOR_1, }; -static const union AnimCmd *const sAnims_STUNFISK[] ={ +static const union AnimCmd *const sAnims_STUNFISK[] = +{ sAnim_GeneralFrame0, sAnim_STUNFISK_1, }; -static const union AnimCmd *const sAnims_MIENFOO[] ={ +static const union AnimCmd *const sAnims_MIENFOO[] = +{ sAnim_GeneralFrame0, sAnim_MIENFOO_1, }; -static const union AnimCmd *const sAnims_MIENSHAO[] ={ +static const union AnimCmd *const sAnims_MIENSHAO[] = +{ sAnim_GeneralFrame0, sAnim_MIENSHAO_1, }; -static const union AnimCmd *const sAnims_DRUDDIGON[] ={ +static const union AnimCmd *const sAnims_DRUDDIGON[] = +{ sAnim_GeneralFrame0, sAnim_DRUDDIGON_1, }; -static const union AnimCmd *const sAnims_GOLETT[] ={ +static const union AnimCmd *const sAnims_GOLETT[] = +{ sAnim_GeneralFrame0, sAnim_GOLETT_1, }; -static const union AnimCmd *const sAnims_GOLURK[] ={ +static const union AnimCmd *const sAnims_GOLURK[] = +{ sAnim_GeneralFrame0, sAnim_GOLURK_1, }; -static const union AnimCmd *const sAnims_PAWNIARD[] ={ +static const union AnimCmd *const sAnims_PAWNIARD[] = +{ sAnim_GeneralFrame0, sAnim_PAWNIARD_1, }; -static const union AnimCmd *const sAnims_BISHARP[] ={ +static const union AnimCmd *const sAnims_BISHARP[] = +{ sAnim_GeneralFrame0, sAnim_BISHARP_1, }; -static const union AnimCmd *const sAnims_BOUFFALANT[] ={ +static const union AnimCmd *const sAnims_BOUFFALANT[] = +{ sAnim_GeneralFrame0, sAnim_BOUFFALANT_1, }; -static const union AnimCmd *const sAnims_RUFFLET[] ={ +static const union AnimCmd *const sAnims_RUFFLET[] = +{ sAnim_GeneralFrame0, sAnim_RUFFLET_1, }; -static const union AnimCmd *const sAnims_BRAVIARY[] ={ +static const union AnimCmd *const sAnims_BRAVIARY[] = +{ sAnim_GeneralFrame0, sAnim_BRAVIARY_1, }; -static const union AnimCmd *const sAnims_VULLABY[] ={ +static const union AnimCmd *const sAnims_VULLABY[] = +{ sAnim_GeneralFrame0, sAnim_VULLABY_1, }; -static const union AnimCmd *const sAnims_MANDIBUZZ[] ={ +static const union AnimCmd *const sAnims_MANDIBUZZ[] = +{ sAnim_GeneralFrame0, sAnim_MANDIBUZZ_1, }; -static const union AnimCmd *const sAnims_HEATMOR[] ={ +static const union AnimCmd *const sAnims_HEATMOR[] = +{ sAnim_GeneralFrame0, sAnim_HEATMOR_1, }; -static const union AnimCmd *const sAnims_DURANT[] ={ +static const union AnimCmd *const sAnims_DURANT[] = +{ sAnim_GeneralFrame0, sAnim_DURANT_1, }; -static const union AnimCmd *const sAnims_DEINO[] ={ +static const union AnimCmd *const sAnims_DEINO[] = +{ sAnim_GeneralFrame0, sAnim_DEINO_1, }; -static const union AnimCmd *const sAnims_ZWEILOUS[] ={ +static const union AnimCmd *const sAnims_ZWEILOUS[] = +{ sAnim_GeneralFrame0, sAnim_ZWEILOUS_1, }; -static const union AnimCmd *const sAnims_HYDREIGON[] ={ +static const union AnimCmd *const sAnims_HYDREIGON[] = +{ sAnim_GeneralFrame0, sAnim_HYDREIGON_1, }; -static const union AnimCmd *const sAnims_LARVESTA[] ={ +static const union AnimCmd *const sAnims_LARVESTA[] = +{ sAnim_GeneralFrame0, sAnim_LARVESTA_1, }; -static const union AnimCmd *const sAnims_VOLCARONA[] ={ +static const union AnimCmd *const sAnims_VOLCARONA[] = +{ sAnim_GeneralFrame0, sAnim_VOLCARONA_1, }; -static const union AnimCmd *const sAnims_COBALION[] ={ +static const union AnimCmd *const sAnims_COBALION[] = +{ sAnim_GeneralFrame0, sAnim_COBALION_1, }; -static const union AnimCmd *const sAnims_TERRAKION[] ={ +static const union AnimCmd *const sAnims_TERRAKION[] = +{ sAnim_GeneralFrame0, sAnim_TERRAKION_1, }; -static const union AnimCmd *const sAnims_VIRIZION[] ={ +static const union AnimCmd *const sAnims_VIRIZION[] = +{ sAnim_GeneralFrame0, sAnim_VIRIZION_1, }; -static const union AnimCmd *const sAnims_TORNADUS[] ={ +static const union AnimCmd *const sAnims_TORNADUS[] = +{ sAnim_GeneralFrame0, sAnim_TORNADUS_1, }; -static const union AnimCmd *const sAnims_THUNDURUS[] ={ +static const union AnimCmd *const sAnims_THUNDURUS[] = +{ sAnim_GeneralFrame0, sAnim_THUNDURUS_1, }; -static const union AnimCmd *const sAnims_RESHIRAM[] ={ +static const union AnimCmd *const sAnims_RESHIRAM[] = +{ sAnim_GeneralFrame0, sAnim_RESHIRAM_1, }; -static const union AnimCmd *const sAnims_ZEKROM[] ={ +static const union AnimCmd *const sAnims_ZEKROM[] = +{ sAnim_GeneralFrame0, sAnim_ZEKROM_1, }; -static const union AnimCmd *const sAnims_LANDORUS[] ={ +static const union AnimCmd *const sAnims_LANDORUS[] = +{ sAnim_GeneralFrame0, sAnim_LANDORUS_1, }; -static const union AnimCmd *const sAnims_KYUREM[] ={ +static const union AnimCmd *const sAnims_KYUREM[] = +{ sAnim_GeneralFrame0, sAnim_KYUREM_1, }; -static const union AnimCmd *const sAnims_KELDEO[] ={ +static const union AnimCmd *const sAnims_KELDEO[] = +{ sAnim_GeneralFrame0, sAnim_KELDEO_1, }; -static const union AnimCmd *const sAnims_MELOETTA[] ={ +static const union AnimCmd *const sAnims_MELOETTA[] = +{ sAnim_GeneralFrame0, sAnim_MELOETTA_1, }; -static const union AnimCmd *const sAnims_GENESECT[] ={ +static const union AnimCmd *const sAnims_GENESECT[] = +{ sAnim_GeneralFrame0, sAnim_GENESECT_1, }; +#endif -static const union AnimCmd *const sAnims_CHESPIN[] ={ +#if P_NEW_POKEMON >= GEN_6 +static const union AnimCmd *const sAnims_CHESPIN[] = +{ sAnim_GeneralFrame0, sAnim_CHESPIN_1, }; -static const union AnimCmd *const sAnims_QUILLADIN[] ={ +static const union AnimCmd *const sAnims_QUILLADIN[] = +{ sAnim_GeneralFrame0, sAnim_QUILLADIN_1, }; -static const union AnimCmd *const sAnims_CHESNAUGHT[] ={ +static const union AnimCmd *const sAnims_CHESNAUGHT[] = +{ sAnim_GeneralFrame0, sAnim_CHESNAUGHT_1, }; -static const union AnimCmd *const sAnims_FENNEKIN[] ={ +static const union AnimCmd *const sAnims_FENNEKIN[] = +{ sAnim_GeneralFrame0, sAnim_FENNEKIN_1, }; -static const union AnimCmd *const sAnims_BRAIXEN[] ={ +static const union AnimCmd *const sAnims_BRAIXEN[] = +{ sAnim_GeneralFrame0, sAnim_BRAIXEN_1, }; -static const union AnimCmd *const sAnims_DELPHOX[] ={ +static const union AnimCmd *const sAnims_DELPHOX[] = +{ sAnim_GeneralFrame0, sAnim_DELPHOX_1, }; -static const union AnimCmd *const sAnims_FROAKIE[] ={ +static const union AnimCmd *const sAnims_FROAKIE[] = +{ sAnim_GeneralFrame0, sAnim_FROAKIE_1, }; -static const union AnimCmd *const sAnims_FROGADIER[] ={ +static const union AnimCmd *const sAnims_FROGADIER[] = +{ sAnim_GeneralFrame0, sAnim_FROGADIER_1, }; -static const union AnimCmd *const sAnims_GRENINJA[] ={ +static const union AnimCmd *const sAnims_GRENINJA[] = +{ sAnim_GeneralFrame0, sAnim_GRENINJA_1, }; -static const union AnimCmd *const sAnims_BUNNELBY[] ={ +static const union AnimCmd *const sAnims_BUNNELBY[] = +{ sAnim_GeneralFrame0, sAnim_BUNNELBY_1, }; -static const union AnimCmd *const sAnims_DIGGERSBY[] ={ +static const union AnimCmd *const sAnims_DIGGERSBY[] = +{ sAnim_GeneralFrame0, sAnim_DIGGERSBY_1, }; -static const union AnimCmd *const sAnims_FLETCHLING[] ={ +static const union AnimCmd *const sAnims_FLETCHLING[] = +{ sAnim_GeneralFrame0, sAnim_FLETCHLING_1, }; -static const union AnimCmd *const sAnims_FLETCHINDER[] ={ +static const union AnimCmd *const sAnims_FLETCHINDER[] = +{ sAnim_GeneralFrame0, sAnim_FLETCHINDER_1, }; -static const union AnimCmd *const sAnims_TALONFLAME[] ={ +static const union AnimCmd *const sAnims_TALONFLAME[] = +{ sAnim_GeneralFrame0, sAnim_TALONFLAME_1, }; -static const union AnimCmd *const sAnims_SCATTERBUG[] ={ +static const union AnimCmd *const sAnims_SCATTERBUG[] = +{ sAnim_GeneralFrame0, sAnim_SCATTERBUG_1, }; -static const union AnimCmd *const sAnims_SPEWPA[] ={ +static const union AnimCmd *const sAnims_SPEWPA[] = +{ sAnim_GeneralFrame0, sAnim_SPEWPA_1, }; -static const union AnimCmd *const sAnims_VIVILLON[] ={ +static const union AnimCmd *const sAnims_VIVILLON[] = +{ sAnim_GeneralFrame0, sAnim_VIVILLON_1, }; -static const union AnimCmd *const sAnims_LITLEO[] ={ +static const union AnimCmd *const sAnims_LITLEO[] = +{ sAnim_GeneralFrame0, sAnim_LITLEO_1, }; -static const union AnimCmd *const sAnims_PYROAR[] ={ +static const union AnimCmd *const sAnims_PYROAR[] = +{ sAnim_GeneralFrame0, sAnim_PYROAR_1, }; -static const union AnimCmd *const sAnims_FLABEBE[] ={ +static const union AnimCmd *const sAnims_FLABEBE[] = +{ sAnim_GeneralFrame0, sAnim_FLABEBE_1, }; -static const union AnimCmd *const sAnims_FLOETTE[] ={ +static const union AnimCmd *const sAnims_FLOETTE[] = +{ sAnim_GeneralFrame0, sAnim_FLOETTE_1, }; -static const union AnimCmd *const sAnims_FLORGES[] ={ +static const union AnimCmd *const sAnims_FLORGES[] = +{ sAnim_GeneralFrame0, sAnim_FLORGES_1, }; -static const union AnimCmd *const sAnims_SKIDDO[] ={ +static const union AnimCmd *const sAnims_SKIDDO[] = +{ sAnim_GeneralFrame0, sAnim_SKIDDO_1, }; -static const union AnimCmd *const sAnims_GOGOAT[] ={ +static const union AnimCmd *const sAnims_GOGOAT[] = +{ sAnim_GeneralFrame0, sAnim_GOGOAT_1, }; -static const union AnimCmd *const sAnims_PANCHAM[] ={ +static const union AnimCmd *const sAnims_PANCHAM[] = +{ sAnim_GeneralFrame0, sAnim_PANCHAM_1, }; -static const union AnimCmd *const sAnims_PANGORO[] ={ +static const union AnimCmd *const sAnims_PANGORO[] = +{ sAnim_GeneralFrame0, sAnim_PANGORO_1, }; -static const union AnimCmd *const sAnims_FURFROU[] ={ +static const union AnimCmd *const sAnims_FURFROU[] = +{ sAnim_GeneralFrame0, sAnim_FURFROU_1, }; -static const union AnimCmd *const sAnims_ESPURR[] ={ +static const union AnimCmd *const sAnims_ESPURR[] = +{ sAnim_GeneralFrame0, sAnim_ESPURR_1, }; -static const union AnimCmd *const sAnims_MEOWSTIC[] ={ +static const union AnimCmd *const sAnims_MEOWSTIC[] = +{ sAnim_GeneralFrame0, sAnim_MEOWSTIC_1, }; -static const union AnimCmd *const sAnims_HONEDGE[] ={ +static const union AnimCmd *const sAnims_HONEDGE[] = +{ sAnim_GeneralFrame0, sAnim_HONEDGE_1, }; -static const union AnimCmd *const sAnims_DOUBLADE[] ={ +static const union AnimCmd *const sAnims_DOUBLADE[] = +{ sAnim_GeneralFrame0, sAnim_DOUBLADE_1, }; -static const union AnimCmd *const sAnims_AEGISLASH[] ={ +static const union AnimCmd *const sAnims_AEGISLASH[] = +{ sAnim_GeneralFrame0, sAnim_AEGISLASH_1, }; -static const union AnimCmd *const sAnims_SPRITZEE[] ={ +static const union AnimCmd *const sAnims_SPRITZEE[] = +{ sAnim_GeneralFrame0, sAnim_SPRITZEE_1, }; -static const union AnimCmd *const sAnims_AROMATISSE[] ={ +static const union AnimCmd *const sAnims_AROMATISSE[] = +{ sAnim_GeneralFrame0, sAnim_AROMATISSE_1, }; -static const union AnimCmd *const sAnims_SWIRLIX[] ={ +static const union AnimCmd *const sAnims_SWIRLIX[] = +{ sAnim_GeneralFrame0, sAnim_SWIRLIX_1, }; -static const union AnimCmd *const sAnims_SLURPUFF[] ={ +static const union AnimCmd *const sAnims_SLURPUFF[] = +{ sAnim_GeneralFrame0, sAnim_SLURPUFF_1, }; -static const union AnimCmd *const sAnims_INKAY[] ={ +static const union AnimCmd *const sAnims_INKAY[] = +{ sAnim_GeneralFrame0, sAnim_INKAY_1, }; -static const union AnimCmd *const sAnims_MALAMAR[] ={ +static const union AnimCmd *const sAnims_MALAMAR[] = +{ sAnim_GeneralFrame0, sAnim_MALAMAR_1, }; -static const union AnimCmd *const sAnims_BINACLE[] ={ +static const union AnimCmd *const sAnims_BINACLE[] = +{ sAnim_GeneralFrame0, sAnim_BINACLE_1, }; -static const union AnimCmd *const sAnims_BARBARACLE[] ={ +static const union AnimCmd *const sAnims_BARBARACLE[] = +{ sAnim_GeneralFrame0, sAnim_BARBARACLE_1, }; -static const union AnimCmd *const sAnims_SKRELP[] ={ +static const union AnimCmd *const sAnims_SKRELP[] = +{ sAnim_GeneralFrame0, sAnim_SKRELP_1, }; -static const union AnimCmd *const sAnims_DRAGALGE[] ={ +static const union AnimCmd *const sAnims_DRAGALGE[] = +{ sAnim_GeneralFrame0, sAnim_DRAGALGE_1, }; -static const union AnimCmd *const sAnims_CLAUNCHER[] ={ +static const union AnimCmd *const sAnims_CLAUNCHER[] = +{ sAnim_GeneralFrame0, sAnim_CLAUNCHER_1, }; -static const union AnimCmd *const sAnims_CLAWITZER[] ={ +static const union AnimCmd *const sAnims_CLAWITZER[] = +{ sAnim_GeneralFrame0, sAnim_CLAWITZER_1, }; -static const union AnimCmd *const sAnims_HELIOPTILE[] ={ +static const union AnimCmd *const sAnims_HELIOPTILE[] = +{ sAnim_GeneralFrame0, sAnim_HELIOPTILE_1, }; -static const union AnimCmd *const sAnims_HELIOLISK[] ={ +static const union AnimCmd *const sAnims_HELIOLISK[] = +{ sAnim_GeneralFrame0, sAnim_HELIOLISK_1, }; -static const union AnimCmd *const sAnims_TYRUNT[] ={ +static const union AnimCmd *const sAnims_TYRUNT[] = +{ sAnim_GeneralFrame0, sAnim_TYRUNT_1, }; -static const union AnimCmd *const sAnims_TYRANTRUM[] ={ +static const union AnimCmd *const sAnims_TYRANTRUM[] = +{ sAnim_GeneralFrame0, sAnim_TYRANTRUM_1, }; -static const union AnimCmd *const sAnims_AMAURA[] ={ +static const union AnimCmd *const sAnims_AMAURA[] = +{ sAnim_GeneralFrame0, sAnim_AMAURA_1, }; -static const union AnimCmd *const sAnims_AURORUS[] ={ +static const union AnimCmd *const sAnims_AURORUS[] = +{ sAnim_GeneralFrame0, sAnim_AURORUS_1, }; -static const union AnimCmd *const sAnims_SYLVEON[] ={ +static const union AnimCmd *const sAnims_SYLVEON[] = +{ sAnim_GeneralFrame0, sAnim_SYLVEON_1, }; -static const union AnimCmd *const sAnims_HAWLUCHA[] ={ +static const union AnimCmd *const sAnims_HAWLUCHA[] = +{ sAnim_GeneralFrame0, sAnim_HAWLUCHA_1, }; -static const union AnimCmd *const sAnims_DEDENNE[] ={ +static const union AnimCmd *const sAnims_DEDENNE[] = +{ sAnim_GeneralFrame0, sAnim_DEDENNE_1, }; -static const union AnimCmd *const sAnims_CARBINK[] ={ +static const union AnimCmd *const sAnims_CARBINK[] = +{ sAnim_GeneralFrame0, sAnim_CARBINK_1, }; -static const union AnimCmd *const sAnims_GOOMY[] ={ +static const union AnimCmd *const sAnims_GOOMY[] = +{ sAnim_GeneralFrame0, sAnim_GOOMY_1, }; -static const union AnimCmd *const sAnims_SLIGGOO[] ={ +static const union AnimCmd *const sAnims_SLIGGOO[] = +{ sAnim_GeneralFrame0, sAnim_SLIGGOO_1, }; -static const union AnimCmd *const sAnims_GOODRA[] ={ +static const union AnimCmd *const sAnims_GOODRA[] = +{ sAnim_GeneralFrame0, sAnim_GOODRA_1, }; -static const union AnimCmd *const sAnims_KLEFKI[] ={ +static const union AnimCmd *const sAnims_KLEFKI[] = +{ sAnim_GeneralFrame0, sAnim_KLEFKI_1, }; -static const union AnimCmd *const sAnims_PHANTUMP[] ={ +static const union AnimCmd *const sAnims_PHANTUMP[] = +{ sAnim_GeneralFrame0, sAnim_PHANTUMP_1, }; -static const union AnimCmd *const sAnims_TREVENANT[] ={ +static const union AnimCmd *const sAnims_TREVENANT[] = +{ sAnim_GeneralFrame0, sAnim_TREVENANT_1, }; -static const union AnimCmd *const sAnims_PUMPKABOO[] ={ +static const union AnimCmd *const sAnims_PUMPKABOO[] = +{ sAnim_GeneralFrame0, sAnim_PUMPKABOO_1, }; -static const union AnimCmd *const sAnims_GOURGEIST[] ={ +static const union AnimCmd *const sAnims_GOURGEIST[] = +{ sAnim_GeneralFrame0, sAnim_GOURGEIST_1, }; -static const union AnimCmd *const sAnims_BERGMITE[] ={ +static const union AnimCmd *const sAnims_BERGMITE[] = +{ sAnim_GeneralFrame0, sAnim_BERGMITE_1, }; -static const union AnimCmd *const sAnims_AVALUGG[] ={ +static const union AnimCmd *const sAnims_AVALUGG[] = +{ sAnim_GeneralFrame0, sAnim_AVALUGG_1, }; -static const union AnimCmd *const sAnims_NOIBAT[] ={ +static const union AnimCmd *const sAnims_NOIBAT[] = +{ sAnim_GeneralFrame0, sAnim_NOIBAT_1, }; -static const union AnimCmd *const sAnims_NOIVERN[] ={ +static const union AnimCmd *const sAnims_NOIVERN[] = +{ sAnim_GeneralFrame0, sAnim_NOIVERN_1, }; -static const union AnimCmd *const sAnims_XERNEAS[] ={ +static const union AnimCmd *const sAnims_XERNEAS[] = +{ sAnim_GeneralFrame0, sAnim_XERNEAS_1, }; -static const union AnimCmd *const sAnims_YVELTAL[] ={ +static const union AnimCmd *const sAnims_YVELTAL[] = +{ sAnim_GeneralFrame0, sAnim_YVELTAL_1, }; -static const union AnimCmd *const sAnims_ZYGARDE[] ={ +static const union AnimCmd *const sAnims_ZYGARDE[] = +{ sAnim_GeneralFrame0, sAnim_ZYGARDE_1, }; -static const union AnimCmd *const sAnims_DIANCIE[] ={ +static const union AnimCmd *const sAnims_DIANCIE[] = +{ sAnim_GeneralFrame0, sAnim_DIANCIE_1, }; -static const union AnimCmd *const sAnims_HOOPA[] ={ +static const union AnimCmd *const sAnims_HOOPA[] = +{ sAnim_GeneralFrame0, sAnim_HOOPA_1, }; -static const union AnimCmd *const sAnims_VOLCANION[] ={ +static const union AnimCmd *const sAnims_VOLCANION[] = +{ sAnim_GeneralFrame0, sAnim_VOLCANION_1, }; +#endif -static const union AnimCmd *const sAnims_ROWLET[] ={ +#if P_NEW_POKEMON >= GEN_7 +static const union AnimCmd *const sAnims_ROWLET[] = +{ sAnim_GeneralFrame0, sAnim_ROWLET_1, }; -static const union AnimCmd *const sAnims_DARTRIX[] ={ +static const union AnimCmd *const sAnims_DARTRIX[] = +{ sAnim_GeneralFrame0, sAnim_DARTRIX_1, }; -static const union AnimCmd *const sAnims_DECIDUEYE[] ={ +static const union AnimCmd *const sAnims_DECIDUEYE[] = +{ sAnim_GeneralFrame0, sAnim_DECIDUEYE_1, }; -static const union AnimCmd *const sAnims_LITTEN[] ={ +static const union AnimCmd *const sAnims_LITTEN[] = +{ sAnim_GeneralFrame0, sAnim_LITTEN_1, }; -static const union AnimCmd *const sAnims_TORRACAT[] ={ +static const union AnimCmd *const sAnims_TORRACAT[] = +{ sAnim_GeneralFrame0, sAnim_TORRACAT_1, }; -static const union AnimCmd *const sAnims_INCINEROAR[] ={ +static const union AnimCmd *const sAnims_INCINEROAR[] = +{ sAnim_GeneralFrame0, sAnim_INCINEROAR_1, }; -static const union AnimCmd *const sAnims_POPPLIO[] ={ +static const union AnimCmd *const sAnims_POPPLIO[] = +{ sAnim_GeneralFrame0, sAnim_POPPLIO_1, }; -static const union AnimCmd *const sAnims_BRIONNE[] ={ +static const union AnimCmd *const sAnims_BRIONNE[] = +{ sAnim_GeneralFrame0, sAnim_BRIONNE_1, }; -static const union AnimCmd *const sAnims_PRIMARINA[] ={ +static const union AnimCmd *const sAnims_PRIMARINA[] = +{ sAnim_GeneralFrame0, sAnim_PRIMARINA_1, }; -static const union AnimCmd *const sAnims_PIKIPEK[] ={ +static const union AnimCmd *const sAnims_PIKIPEK[] = +{ sAnim_GeneralFrame0, sAnim_PIKIPEK_1, }; -static const union AnimCmd *const sAnims_TRUMBEAK[] ={ +static const union AnimCmd *const sAnims_TRUMBEAK[] = +{ sAnim_GeneralFrame0, sAnim_TRUMBEAK_1, }; -static const union AnimCmd *const sAnims_TOUCANNON[] ={ +static const union AnimCmd *const sAnims_TOUCANNON[] = +{ sAnim_GeneralFrame0, sAnim_TOUCANNON_1, }; -static const union AnimCmd *const sAnims_YUNGOOS[] ={ +static const union AnimCmd *const sAnims_YUNGOOS[] = +{ sAnim_GeneralFrame0, sAnim_YUNGOOS_1, }; -static const union AnimCmd *const sAnims_GUMSHOOS[] ={ +static const union AnimCmd *const sAnims_GUMSHOOS[] = +{ sAnim_GeneralFrame0, sAnim_GUMSHOOS_1, }; -static const union AnimCmd *const sAnims_GRUBBIN[] ={ +static const union AnimCmd *const sAnims_GRUBBIN[] = +{ sAnim_GeneralFrame0, sAnim_GRUBBIN_1, }; -static const union AnimCmd *const sAnims_CHARJABUG[] ={ +static const union AnimCmd *const sAnims_CHARJABUG[] = +{ sAnim_GeneralFrame0, sAnim_CHARJABUG_1, }; -static const union AnimCmd *const sAnims_VIKAVOLT[] ={ +static const union AnimCmd *const sAnims_VIKAVOLT[] = +{ sAnim_GeneralFrame0, sAnim_VIKAVOLT_1, }; -static const union AnimCmd *const sAnims_CRABRAWLER[] ={ +static const union AnimCmd *const sAnims_CRABRAWLER[] = +{ sAnim_GeneralFrame0, sAnim_CRABRAWLER_1, }; -static const union AnimCmd *const sAnims_CRABOMINABLE[] ={ +static const union AnimCmd *const sAnims_CRABOMINABLE[] = +{ sAnim_GeneralFrame0, sAnim_CRABOMINABLE_1, }; -static const union AnimCmd *const sAnims_ORICORIO[] ={ +static const union AnimCmd *const sAnims_ORICORIO[] = +{ sAnim_GeneralFrame0, sAnim_ORICORIO_1, }; -static const union AnimCmd *const sAnims_CUTIEFLY[] ={ +static const union AnimCmd *const sAnims_CUTIEFLY[] = +{ sAnim_GeneralFrame0, sAnim_CUTIEFLY_1, }; -static const union AnimCmd *const sAnims_RIBOMBEE[] ={ +static const union AnimCmd *const sAnims_RIBOMBEE[] = +{ sAnim_GeneralFrame0, sAnim_RIBOMBEE_1, }; -static const union AnimCmd *const sAnims_ROCKRUFF[] ={ +static const union AnimCmd *const sAnims_ROCKRUFF[] = +{ sAnim_GeneralFrame0, sAnim_ROCKRUFF_1, }; -static const union AnimCmd *const sAnims_LYCANROC[] ={ +static const union AnimCmd *const sAnims_LYCANROC[] = +{ sAnim_GeneralFrame0, sAnim_LYCANROC_1, }; -static const union AnimCmd *const sAnims_WISHIWASHI[] ={ +static const union AnimCmd *const sAnims_WISHIWASHI[] = +{ sAnim_GeneralFrame0, sAnim_WISHIWASHI_1, }; -static const union AnimCmd *const sAnims_MAREANIE[] ={ +static const union AnimCmd *const sAnims_MAREANIE[] = +{ sAnim_GeneralFrame0, sAnim_MAREANIE_1, }; -static const union AnimCmd *const sAnims_TOXAPEX[] ={ +static const union AnimCmd *const sAnims_TOXAPEX[] = +{ sAnim_GeneralFrame0, sAnim_TOXAPEX_1, }; -static const union AnimCmd *const sAnims_MUDBRAY[] ={ +static const union AnimCmd *const sAnims_MUDBRAY[] = +{ sAnim_GeneralFrame0, sAnim_MUDBRAY_1, }; -static const union AnimCmd *const sAnims_MUDSDALE[] ={ +static const union AnimCmd *const sAnims_MUDSDALE[] = +{ sAnim_GeneralFrame0, sAnim_MUDSDALE_1, }; -static const union AnimCmd *const sAnims_DEWPIDER[] ={ +static const union AnimCmd *const sAnims_DEWPIDER[] = +{ sAnim_GeneralFrame0, sAnim_DEWPIDER_1, }; -static const union AnimCmd *const sAnims_ARAQUANID[] ={ +static const union AnimCmd *const sAnims_ARAQUANID[] = +{ sAnim_GeneralFrame0, sAnim_ARAQUANID_1, }; -static const union AnimCmd *const sAnims_FOMANTIS[] ={ +static const union AnimCmd *const sAnims_FOMANTIS[] = +{ sAnim_GeneralFrame0, sAnim_FOMANTIS_1, }; -static const union AnimCmd *const sAnims_LURANTIS[] ={ +static const union AnimCmd *const sAnims_LURANTIS[] = +{ sAnim_GeneralFrame0, sAnim_LURANTIS_1, }; -static const union AnimCmd *const sAnims_MORELULL[] ={ +static const union AnimCmd *const sAnims_MORELULL[] = +{ sAnim_GeneralFrame0, sAnim_MORELULL_1, }; -static const union AnimCmd *const sAnims_SHIINOTIC[] ={ +static const union AnimCmd *const sAnims_SHIINOTIC[] = +{ sAnim_GeneralFrame0, sAnim_SHIINOTIC_1, }; -static const union AnimCmd *const sAnims_SALANDIT[] ={ +static const union AnimCmd *const sAnims_SALANDIT[] = +{ sAnim_GeneralFrame0, sAnim_SALANDIT_1, }; -static const union AnimCmd *const sAnims_SALAZZLE[] ={ +static const union AnimCmd *const sAnims_SALAZZLE[] = +{ sAnim_GeneralFrame0, sAnim_SALAZZLE_1, }; -static const union AnimCmd *const sAnims_STUFFUL[] ={ +static const union AnimCmd *const sAnims_STUFFUL[] = +{ sAnim_GeneralFrame0, sAnim_STUFFUL_1, }; -static const union AnimCmd *const sAnims_BEWEAR[] ={ +static const union AnimCmd *const sAnims_BEWEAR[] = +{ sAnim_GeneralFrame0, sAnim_BEWEAR_1, }; -static const union AnimCmd *const sAnims_BOUNSWEET[] ={ +static const union AnimCmd *const sAnims_BOUNSWEET[] = +{ sAnim_GeneralFrame0, sAnim_BOUNSWEET_1, }; -static const union AnimCmd *const sAnims_STEENEE[] ={ +static const union AnimCmd *const sAnims_STEENEE[] = +{ sAnim_GeneralFrame0, sAnim_STEENEE_1, }; -static const union AnimCmd *const sAnims_TSAREENA[] ={ +static const union AnimCmd *const sAnims_TSAREENA[] = +{ sAnim_GeneralFrame0, sAnim_TSAREENA_1, }; -static const union AnimCmd *const sAnims_COMFEY[] ={ +static const union AnimCmd *const sAnims_COMFEY[] = +{ sAnim_GeneralFrame0, sAnim_COMFEY_1, }; -static const union AnimCmd *const sAnims_ORANGURU[] ={ +static const union AnimCmd *const sAnims_ORANGURU[] = +{ sAnim_GeneralFrame0, sAnim_ORANGURU_1, }; -static const union AnimCmd *const sAnims_PASSIMIAN[] ={ +static const union AnimCmd *const sAnims_PASSIMIAN[] = +{ sAnim_GeneralFrame0, sAnim_PASSIMIAN_1, }; -static const union AnimCmd *const sAnims_WIMPOD[] ={ +static const union AnimCmd *const sAnims_WIMPOD[] = +{ sAnim_GeneralFrame0, sAnim_WIMPOD_1, }; -static const union AnimCmd *const sAnims_GOLISOPOD[] ={ +static const union AnimCmd *const sAnims_GOLISOPOD[] = +{ sAnim_GeneralFrame0, sAnim_GOLISOPOD_1, }; -static const union AnimCmd *const sAnims_SANDYGAST[] ={ +static const union AnimCmd *const sAnims_SANDYGAST[] = +{ sAnim_GeneralFrame0, sAnim_SANDYGAST_1, }; -static const union AnimCmd *const sAnims_PALOSSAND[] ={ +static const union AnimCmd *const sAnims_PALOSSAND[] = +{ sAnim_GeneralFrame0, sAnim_PALOSSAND_1, }; -static const union AnimCmd *const sAnims_PYUKUMUKU[] ={ +static const union AnimCmd *const sAnims_PYUKUMUKU[] = +{ sAnim_GeneralFrame0, sAnim_PYUKUMUKU_1, }; -static const union AnimCmd *const sAnims_TYPE_NULL[] ={ +static const union AnimCmd *const sAnims_TYPE_NULL[] = +{ sAnim_GeneralFrame0, sAnim_TYPE_NULL_1, }; -static const union AnimCmd *const sAnims_SILVALLY[] ={ +static const union AnimCmd *const sAnims_SILVALLY[] = +{ sAnim_GeneralFrame0, sAnim_SILVALLY_1, }; -static const union AnimCmd *const sAnims_MINIOR[] ={ +static const union AnimCmd *const sAnims_MINIOR[] = +{ sAnim_GeneralFrame0, sAnim_MINIOR_1, }; -static const union AnimCmd *const sAnims_KOMALA[] ={ +static const union AnimCmd *const sAnims_KOMALA[] = +{ sAnim_GeneralFrame0, sAnim_KOMALA_1, }; -static const union AnimCmd *const sAnims_TURTONATOR[] ={ +static const union AnimCmd *const sAnims_TURTONATOR[] = +{ sAnim_GeneralFrame0, sAnim_TURTONATOR_1, }; -static const union AnimCmd *const sAnims_TOGEDEMARU[] ={ +static const union AnimCmd *const sAnims_TOGEDEMARU[] = +{ sAnim_GeneralFrame0, sAnim_TOGEDEMARU_1, }; -static const union AnimCmd *const sAnims_MIMIKYU[] ={ +static const union AnimCmd *const sAnims_MIMIKYU[] = +{ sAnim_GeneralFrame0, sAnim_MIMIKYU_1, }; -static const union AnimCmd *const sAnims_BRUXISH[] ={ +static const union AnimCmd *const sAnims_BRUXISH[] = +{ sAnim_GeneralFrame0, sAnim_BRUXISH_1, }; -static const union AnimCmd *const sAnims_DRAMPA[] ={ +static const union AnimCmd *const sAnims_DRAMPA[] = +{ sAnim_GeneralFrame0, sAnim_DRAMPA_1, }; -static const union AnimCmd *const sAnims_DHELMISE[] ={ +static const union AnimCmd *const sAnims_DHELMISE[] = +{ sAnim_GeneralFrame0, sAnim_DHELMISE_1, }; -static const union AnimCmd *const sAnims_JANGMO_O[] ={ +static const union AnimCmd *const sAnims_JANGMO_O[] = +{ sAnim_GeneralFrame0, sAnim_JANGMO_O_1, }; -static const union AnimCmd *const sAnims_HAKAMO_O[] ={ +static const union AnimCmd *const sAnims_HAKAMO_O[] = +{ sAnim_GeneralFrame0, sAnim_HAKAMO_O_1, }; -static const union AnimCmd *const sAnims_KOMMO_O[] ={ +static const union AnimCmd *const sAnims_KOMMO_O[] = +{ sAnim_GeneralFrame0, sAnim_KOMMO_O_1, }; -static const union AnimCmd *const sAnims_TAPU_KOKO[] ={ +static const union AnimCmd *const sAnims_TAPU_KOKO[] = +{ sAnim_GeneralFrame0, sAnim_TAPU_KOKO_1, }; -static const union AnimCmd *const sAnims_TAPU_LELE[] ={ +static const union AnimCmd *const sAnims_TAPU_LELE[] = +{ sAnim_GeneralFrame0, sAnim_TAPU_LELE_1, }; -static const union AnimCmd *const sAnims_TAPU_BULU[] ={ +static const union AnimCmd *const sAnims_TAPU_BULU[] = +{ sAnim_GeneralFrame0, sAnim_TAPU_BULU_1, }; -static const union AnimCmd *const sAnims_TAPU_FINI[] ={ +static const union AnimCmd *const sAnims_TAPU_FINI[] = +{ sAnim_GeneralFrame0, sAnim_TAPU_FINI_1, }; -static const union AnimCmd *const sAnims_COSMOG[] ={ +static const union AnimCmd *const sAnims_COSMOG[] = +{ sAnim_GeneralFrame0, sAnim_COSMOG_1, }; -static const union AnimCmd *const sAnims_COSMOEM[] ={ +static const union AnimCmd *const sAnims_COSMOEM[] = +{ sAnim_GeneralFrame0, sAnim_COSMOEM_1, }; -static const union AnimCmd *const sAnims_SOLGALEO[] ={ +static const union AnimCmd *const sAnims_SOLGALEO[] = +{ sAnim_GeneralFrame0, sAnim_SOLGALEO_1, }; -static const union AnimCmd *const sAnims_LUNALA[] ={ +static const union AnimCmd *const sAnims_LUNALA[] = +{ sAnim_GeneralFrame0, sAnim_LUNALA_1, }; -static const union AnimCmd *const sAnims_NIHILEGO[] ={ +static const union AnimCmd *const sAnims_NIHILEGO[] = +{ sAnim_GeneralFrame0, sAnim_NIHILEGO_1, }; -static const union AnimCmd *const sAnims_BUZZWOLE[] ={ +static const union AnimCmd *const sAnims_BUZZWOLE[] = +{ sAnim_GeneralFrame0, sAnim_BUZZWOLE_1, }; -static const union AnimCmd *const sAnims_PHEROMOSA[] ={ +static const union AnimCmd *const sAnims_PHEROMOSA[] = +{ sAnim_GeneralFrame0, sAnim_PHEROMOSA_1, }; -static const union AnimCmd *const sAnims_XURKITREE[] ={ +static const union AnimCmd *const sAnims_XURKITREE[] = +{ sAnim_GeneralFrame0, sAnim_XURKITREE_1, }; -static const union AnimCmd *const sAnims_CELESTEELA[] ={ +static const union AnimCmd *const sAnims_CELESTEELA[] = +{ sAnim_GeneralFrame0, sAnim_CELESTEELA_1, }; -static const union AnimCmd *const sAnims_KARTANA[] ={ +static const union AnimCmd *const sAnims_KARTANA[] = +{ sAnim_GeneralFrame0, sAnim_KARTANA_1, }; -static const union AnimCmd *const sAnims_GUZZLORD[] ={ +static const union AnimCmd *const sAnims_GUZZLORD[] = +{ sAnim_GeneralFrame0, sAnim_GUZZLORD_1, }; -static const union AnimCmd *const sAnims_NECROZMA[] ={ +static const union AnimCmd *const sAnims_NECROZMA[] = +{ sAnim_GeneralFrame0, sAnim_NECROZMA_1, }; -static const union AnimCmd *const sAnims_MAGEARNA[] ={ +static const union AnimCmd *const sAnims_MAGEARNA[] = +{ sAnim_GeneralFrame0, sAnim_MAGEARNA_1, }; -static const union AnimCmd *const sAnims_MARSHADOW[] ={ +static const union AnimCmd *const sAnims_MARSHADOW[] = +{ sAnim_GeneralFrame0, sAnim_MARSHADOW_1, }; -static const union AnimCmd *const sAnims_POIPOLE[] ={ +static const union AnimCmd *const sAnims_POIPOLE[] = +{ sAnim_GeneralFrame0, sAnim_POIPOLE_1, }; -static const union AnimCmd *const sAnims_NAGANADEL[] ={ +static const union AnimCmd *const sAnims_NAGANADEL[] = +{ sAnim_GeneralFrame0, sAnim_NAGANADEL_1, }; -static const union AnimCmd *const sAnims_STAKATAKA[] ={ +static const union AnimCmd *const sAnims_STAKATAKA[] = +{ sAnim_GeneralFrame0, sAnim_STAKATAKA_1, }; -static const union AnimCmd *const sAnims_BLACEPHALON[] ={ +static const union AnimCmd *const sAnims_BLACEPHALON[] = +{ sAnim_GeneralFrame0, sAnim_BLACEPHALON_1, }; -static const union AnimCmd *const sAnims_ZERAORA[] ={ +static const union AnimCmd *const sAnims_ZERAORA[] = +{ sAnim_GeneralFrame0, sAnim_ZERAORA_1, }; -static const union AnimCmd *const sAnims_MELTAN[] ={ +static const union AnimCmd *const sAnims_MELTAN[] = +{ sAnim_GeneralFrame0, sAnim_MELTAN_1, }; -static const union AnimCmd *const sAnims_MELMETAL[] ={ +static const union AnimCmd *const sAnims_MELMETAL[] = +{ sAnim_GeneralFrame0, sAnim_MELMETAL_1, }; +#endif -static const union AnimCmd *const sAnims_GROOKEY[] ={ +#if P_NEW_POKEMON >= GEN_8 +static const union AnimCmd *const sAnims_GROOKEY[] = +{ sAnim_GeneralFrame0, sAnim_GROOKEY_1, }; -static const union AnimCmd *const sAnims_THWACKEY[] ={ +static const union AnimCmd *const sAnims_THWACKEY[] = +{ sAnim_GeneralFrame0, sAnim_THWACKEY_1, }; -static const union AnimCmd *const sAnims_RILLABOOM[] ={ +static const union AnimCmd *const sAnims_RILLABOOM[] = +{ sAnim_GeneralFrame0, sAnim_RILLABOOM_1, }; -static const union AnimCmd *const sAnims_SCORBUNNY[] ={ +static const union AnimCmd *const sAnims_SCORBUNNY[] = +{ sAnim_GeneralFrame0, sAnim_SCORBUNNY_1, }; -static const union AnimCmd *const sAnims_RABOOT[] ={ +static const union AnimCmd *const sAnims_RABOOT[] = +{ sAnim_GeneralFrame0, sAnim_RABOOT_1, }; -static const union AnimCmd *const sAnims_CINDERACE[] ={ +static const union AnimCmd *const sAnims_CINDERACE[] = +{ sAnim_GeneralFrame0, sAnim_CINDERACE_1, }; -static const union AnimCmd *const sAnims_SOBBLE[] ={ +static const union AnimCmd *const sAnims_SOBBLE[] = +{ sAnim_GeneralFrame0, sAnim_SOBBLE_1, }; -static const union AnimCmd *const sAnims_DRIZZILE[] ={ +static const union AnimCmd *const sAnims_DRIZZILE[] = +{ sAnim_GeneralFrame0, sAnim_DRIZZILE_1, }; -static const union AnimCmd *const sAnims_INTELEON[] ={ +static const union AnimCmd *const sAnims_INTELEON[] = +{ sAnim_GeneralFrame0, sAnim_INTELEON_1, }; -static const union AnimCmd *const sAnims_SKWOVET[] ={ +static const union AnimCmd *const sAnims_SKWOVET[] = +{ sAnim_GeneralFrame0, sAnim_SKWOVET_1, }; -static const union AnimCmd *const sAnims_GREEDENT[] ={ +static const union AnimCmd *const sAnims_GREEDENT[] = +{ sAnim_GeneralFrame0, sAnim_GREEDENT_1, }; -static const union AnimCmd *const sAnims_ROOKIDEE[] ={ +static const union AnimCmd *const sAnims_ROOKIDEE[] = +{ sAnim_GeneralFrame0, sAnim_ROOKIDEE_1, }; -static const union AnimCmd *const sAnims_CORVISQUIRE[] ={ +static const union AnimCmd *const sAnims_CORVISQUIRE[] = +{ sAnim_GeneralFrame0, sAnim_CORVISQUIRE_1, }; -static const union AnimCmd *const sAnims_CORVIKNIGHT[] ={ +static const union AnimCmd *const sAnims_CORVIKNIGHT[] = +{ sAnim_GeneralFrame0, sAnim_CORVIKNIGHT_1, }; -static const union AnimCmd *const sAnims_BLIPBUG[] ={ +static const union AnimCmd *const sAnims_BLIPBUG[] = +{ sAnim_GeneralFrame0, sAnim_BLIPBUG_1, }; -static const union AnimCmd *const sAnims_DOTTLER[] ={ +static const union AnimCmd *const sAnims_DOTTLER[] = +{ sAnim_GeneralFrame0, sAnim_DOTTLER_1, }; -static const union AnimCmd *const sAnims_ORBEETLE[] ={ +static const union AnimCmd *const sAnims_ORBEETLE[] = +{ sAnim_GeneralFrame0, sAnim_ORBEETLE_1, }; -static const union AnimCmd *const sAnims_NICKIT[] ={ +static const union AnimCmd *const sAnims_NICKIT[] = +{ sAnim_GeneralFrame0, sAnim_NICKIT_1, }; -static const union AnimCmd *const sAnims_THIEVUL[] ={ +static const union AnimCmd *const sAnims_THIEVUL[] = +{ sAnim_GeneralFrame0, sAnim_THIEVUL_1, }; -static const union AnimCmd *const sAnims_GOSSIFLEUR[] ={ +static const union AnimCmd *const sAnims_GOSSIFLEUR[] = +{ sAnim_GeneralFrame0, sAnim_GOSSIFLEUR_1, }; -static const union AnimCmd *const sAnims_ELDEGOSS[] ={ +static const union AnimCmd *const sAnims_ELDEGOSS[] = +{ sAnim_GeneralFrame0, sAnim_ELDEGOSS_1, }; -static const union AnimCmd *const sAnims_WOOLOO[] ={ +static const union AnimCmd *const sAnims_WOOLOO[] = +{ sAnim_GeneralFrame0, sAnim_WOOLOO_1, }; -static const union AnimCmd *const sAnims_DUBWOOL[] ={ +static const union AnimCmd *const sAnims_DUBWOOL[] = +{ sAnim_GeneralFrame0, sAnim_DUBWOOL_1, }; -static const union AnimCmd *const sAnims_CHEWTLE[] ={ +static const union AnimCmd *const sAnims_CHEWTLE[] = +{ sAnim_GeneralFrame0, sAnim_CHEWTLE_1, }; -static const union AnimCmd *const sAnims_DREDNAW[] ={ +static const union AnimCmd *const sAnims_DREDNAW[] = +{ sAnim_GeneralFrame0, sAnim_DREDNAW_1, }; -static const union AnimCmd *const sAnims_YAMPER[] ={ +static const union AnimCmd *const sAnims_YAMPER[] = +{ sAnim_GeneralFrame0, sAnim_YAMPER_1, }; -static const union AnimCmd *const sAnims_BOLTUND[] ={ +static const union AnimCmd *const sAnims_BOLTUND[] = +{ sAnim_GeneralFrame0, sAnim_BOLTUND_1, }; -static const union AnimCmd *const sAnims_ROLYCOLY[] ={ +static const union AnimCmd *const sAnims_ROLYCOLY[] = +{ sAnim_GeneralFrame0, sAnim_ROLYCOLY_1, }; -static const union AnimCmd *const sAnims_CARKOL[] ={ +static const union AnimCmd *const sAnims_CARKOL[] = +{ sAnim_GeneralFrame0, sAnim_CARKOL_1, }; -static const union AnimCmd *const sAnims_COALOSSAL[] ={ +static const union AnimCmd *const sAnims_COALOSSAL[] = +{ sAnim_GeneralFrame0, sAnim_COALOSSAL_1, }; -static const union AnimCmd *const sAnims_APPLIN[] ={ +static const union AnimCmd *const sAnims_APPLIN[] = +{ sAnim_GeneralFrame0, sAnim_APPLIN_1, }; -static const union AnimCmd *const sAnims_FLAPPLE[] ={ +static const union AnimCmd *const sAnims_FLAPPLE[] = +{ sAnim_GeneralFrame0, sAnim_FLAPPLE_1, }; -static const union AnimCmd *const sAnims_APPLETUN[] ={ +static const union AnimCmd *const sAnims_APPLETUN[] = +{ sAnim_GeneralFrame0, sAnim_APPLETUN_1, }; -static const union AnimCmd *const sAnims_SILICOBRA[] ={ +static const union AnimCmd *const sAnims_SILICOBRA[] = +{ sAnim_GeneralFrame0, sAnim_SILICOBRA_1, }; -static const union AnimCmd *const sAnims_SANDACONDA[] ={ +static const union AnimCmd *const sAnims_SANDACONDA[] = +{ sAnim_GeneralFrame0, sAnim_SANDACONDA_1, }; -static const union AnimCmd *const sAnims_CRAMORANT[] ={ +static const union AnimCmd *const sAnims_CRAMORANT[] = +{ sAnim_GeneralFrame0, sAnim_CRAMORANT_1, }; -static const union AnimCmd *const sAnims_ARROKUDA[] ={ +static const union AnimCmd *const sAnims_ARROKUDA[] = +{ sAnim_GeneralFrame0, sAnim_ARROKUDA_1, }; -static const union AnimCmd *const sAnims_BARRASKEWDA[] ={ +static const union AnimCmd *const sAnims_BARRASKEWDA[] = +{ sAnim_GeneralFrame0, sAnim_BARRASKEWDA_1, }; -static const union AnimCmd *const sAnims_TOXEL[] ={ +static const union AnimCmd *const sAnims_TOXEL[] = +{ sAnim_GeneralFrame0, sAnim_TOXEL_1, }; -static const union AnimCmd *const sAnims_TOXTRICITY[] ={ +static const union AnimCmd *const sAnims_TOXTRICITY[] = +{ sAnim_GeneralFrame0, sAnim_TOXTRICITY_1, }; -static const union AnimCmd *const sAnims_SIZZLIPEDE[] ={ +static const union AnimCmd *const sAnims_SIZZLIPEDE[] = +{ sAnim_GeneralFrame0, sAnim_SIZZLIPEDE_1, }; -static const union AnimCmd *const sAnims_CENTISKORCH[] ={ +static const union AnimCmd *const sAnims_CENTISKORCH[] = +{ sAnim_GeneralFrame0, sAnim_CENTISKORCH_1, }; -static const union AnimCmd *const sAnims_CLOBBOPUS[] ={ +static const union AnimCmd *const sAnims_CLOBBOPUS[] = +{ sAnim_GeneralFrame0, sAnim_CLOBBOPUS_1, }; -static const union AnimCmd *const sAnims_GRAPPLOCT[] ={ +static const union AnimCmd *const sAnims_GRAPPLOCT[] = +{ sAnim_GeneralFrame0, sAnim_GRAPPLOCT_1, }; -static const union AnimCmd *const sAnims_SINISTEA[] ={ +static const union AnimCmd *const sAnims_SINISTEA[] = +{ sAnim_GeneralFrame0, sAnim_SINISTEA_1, }; -static const union AnimCmd *const sAnims_POLTEAGEIST[] ={ +static const union AnimCmd *const sAnims_POLTEAGEIST[] = +{ sAnim_GeneralFrame0, sAnim_POLTEAGEIST_1, }; -static const union AnimCmd *const sAnims_HATENNA[] ={ +static const union AnimCmd *const sAnims_HATENNA[] = +{ sAnim_GeneralFrame0, sAnim_HATENNA_1, }; -static const union AnimCmd *const sAnims_HATTREM[] ={ +static const union AnimCmd *const sAnims_HATTREM[] = +{ sAnim_GeneralFrame0, sAnim_HATTREM_1, }; -static const union AnimCmd *const sAnims_HATTERENE[] ={ +static const union AnimCmd *const sAnims_HATTERENE[] = +{ sAnim_GeneralFrame0, sAnim_HATTERENE_1, }; -static const union AnimCmd *const sAnims_IMPIDIMP[] ={ +static const union AnimCmd *const sAnims_IMPIDIMP[] = +{ sAnim_GeneralFrame0, sAnim_IMPIDIMP_1, }; -static const union AnimCmd *const sAnims_MORGREM[] ={ +static const union AnimCmd *const sAnims_MORGREM[] = +{ sAnim_GeneralFrame0, sAnim_MORGREM_1, }; -static const union AnimCmd *const sAnims_GRIMMSNARL[] ={ +static const union AnimCmd *const sAnims_GRIMMSNARL[] = +{ sAnim_GeneralFrame0, sAnim_GRIMMSNARL_1, }; -static const union AnimCmd *const sAnims_OBSTAGOON[] ={ +static const union AnimCmd *const sAnims_OBSTAGOON[] = +{ sAnim_GeneralFrame0, sAnim_OBSTAGOON_1, }; -static const union AnimCmd *const sAnims_PERRSERKER[] ={ +static const union AnimCmd *const sAnims_PERRSERKER[] = +{ sAnim_GeneralFrame0, sAnim_PERRSERKER_1, }; -static const union AnimCmd *const sAnims_CURSOLA[] ={ +static const union AnimCmd *const sAnims_CURSOLA[] = +{ sAnim_GeneralFrame0, sAnim_CURSOLA_1, }; -static const union AnimCmd *const sAnims_SIRFETCHD[] ={ +static const union AnimCmd *const sAnims_SIRFETCHD[] = +{ sAnim_GeneralFrame0, sAnim_SIRFETCHD_1, }; -static const union AnimCmd *const sAnims_MR_RIME[] ={ +static const union AnimCmd *const sAnims_MR_RIME[] = +{ sAnim_GeneralFrame0, sAnim_MR_RIME_1, }; -static const union AnimCmd *const sAnims_RUNERIGUS[] ={ +static const union AnimCmd *const sAnims_RUNERIGUS[] = +{ sAnim_GeneralFrame0, sAnim_RUNERIGUS_1, }; -static const union AnimCmd *const sAnims_MILCERY[] ={ +static const union AnimCmd *const sAnims_MILCERY[] = +{ sAnim_GeneralFrame0, sAnim_MILCERY_1, }; -static const union AnimCmd *const sAnims_ALCREMIE[] ={ +static const union AnimCmd *const sAnims_ALCREMIE[] = +{ sAnim_GeneralFrame0, sAnim_ALCREMIE_1, }; -static const union AnimCmd *const sAnims_FALINKS[] ={ +static const union AnimCmd *const sAnims_FALINKS[] = +{ sAnim_GeneralFrame0, sAnim_FALINKS_1, }; -static const union AnimCmd *const sAnims_PINCURCHIN[] ={ +static const union AnimCmd *const sAnims_PINCURCHIN[] = +{ sAnim_GeneralFrame0, sAnim_PINCURCHIN_1, }; -static const union AnimCmd *const sAnims_SNOM[] ={ +static const union AnimCmd *const sAnims_SNOM[] = +{ sAnim_GeneralFrame0, sAnim_SNOM_1, }; -static const union AnimCmd *const sAnims_FROSMOTH[] ={ +static const union AnimCmd *const sAnims_FROSMOTH[] = +{ sAnim_GeneralFrame0, sAnim_FROSMOTH_1, }; -static const union AnimCmd *const sAnims_STONJOURNER[] ={ +static const union AnimCmd *const sAnims_STONJOURNER[] = +{ sAnim_GeneralFrame0, sAnim_STONJOURNER_1, }; -static const union AnimCmd *const sAnims_EISCUE[] ={ +static const union AnimCmd *const sAnims_EISCUE[] = +{ sAnim_GeneralFrame0, sAnim_EISCUE_1, }; -static const union AnimCmd *const sAnims_INDEEDEE[] ={ +static const union AnimCmd *const sAnims_INDEEDEE[] = +{ sAnim_GeneralFrame0, sAnim_INDEEDEE_1, }; -static const union AnimCmd *const sAnims_MORPEKO[] ={ +static const union AnimCmd *const sAnims_MORPEKO[] = +{ sAnim_GeneralFrame0, sAnim_MORPEKO_1, }; -static const union AnimCmd *const sAnims_CUFANT[] ={ +static const union AnimCmd *const sAnims_CUFANT[] = +{ sAnim_GeneralFrame0, sAnim_CUFANT_1, }; -static const union AnimCmd *const sAnims_COPPERAJAH[] ={ +static const union AnimCmd *const sAnims_COPPERAJAH[] = +{ sAnim_GeneralFrame0, sAnim_COPPERAJAH_1, }; -static const union AnimCmd *const sAnims_DRACOZOLT[] ={ +static const union AnimCmd *const sAnims_DRACOZOLT[] = +{ sAnim_GeneralFrame0, sAnim_DRACOZOLT_1, }; -static const union AnimCmd *const sAnims_ARCTOZOLT[] ={ +static const union AnimCmd *const sAnims_ARCTOZOLT[] = +{ sAnim_GeneralFrame0, sAnim_ARCTOZOLT_1, }; -static const union AnimCmd *const sAnims_DRACOVISH[] ={ +static const union AnimCmd *const sAnims_DRACOVISH[] = +{ sAnim_GeneralFrame0, sAnim_DRACOVISH_1, }; -static const union AnimCmd *const sAnims_ARCTOVISH[] ={ +static const union AnimCmd *const sAnims_ARCTOVISH[] = +{ sAnim_GeneralFrame0, sAnim_ARCTOVISH_1, }; -static const union AnimCmd *const sAnims_DURALUDON[] ={ +static const union AnimCmd *const sAnims_DURALUDON[] = +{ sAnim_GeneralFrame0, sAnim_DURALUDON_1, }; -static const union AnimCmd *const sAnims_DREEPY[] ={ +static const union AnimCmd *const sAnims_DREEPY[] = +{ sAnim_GeneralFrame0, sAnim_DREEPY_1, }; -static const union AnimCmd *const sAnims_DRAKLOAK[] ={ +static const union AnimCmd *const sAnims_DRAKLOAK[] = +{ sAnim_GeneralFrame0, sAnim_DRAKLOAK_1, }; -static const union AnimCmd *const sAnims_DRAGAPULT[] ={ +static const union AnimCmd *const sAnims_DRAGAPULT[] = +{ sAnim_GeneralFrame0, sAnim_DRAGAPULT_1, }; -static const union AnimCmd *const sAnims_ZACIAN[] ={ +static const union AnimCmd *const sAnims_ZACIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZACIAN_1, }; -static const union AnimCmd *const sAnims_ZAMAZENTA[] ={ +static const union AnimCmd *const sAnims_ZAMAZENTA[] = +{ sAnim_GeneralFrame0, sAnim_ZAMAZENTA_1, }; -static const union AnimCmd *const sAnims_ETERNATUS[] ={ +static const union AnimCmd *const sAnims_ETERNATUS[] = +{ sAnim_GeneralFrame0, sAnim_ETERNATUS_1, }; -static const union AnimCmd *const sAnims_KUBFU[] ={ +static const union AnimCmd *const sAnims_KUBFU[] = +{ sAnim_GeneralFrame0, sAnim_KUBFU_1, }; -static const union AnimCmd *const sAnims_URSHIFU[] ={ +static const union AnimCmd *const sAnims_URSHIFU[] = +{ sAnim_GeneralFrame0, sAnim_URSHIFU_1, }; -static const union AnimCmd *const sAnims_ZARUDE[] ={ +static const union AnimCmd *const sAnims_ZARUDE[] = +{ sAnim_GeneralFrame0, sAnim_ZARUDE_1, }; -static const union AnimCmd *const sAnims_REGIELEKI[] ={ +static const union AnimCmd *const sAnims_REGIELEKI[] = +{ sAnim_GeneralFrame0, sAnim_REGIELEKI_1, }; -static const union AnimCmd *const sAnims_REGIDRAGO[] ={ +static const union AnimCmd *const sAnims_REGIDRAGO[] = +{ sAnim_GeneralFrame0, sAnim_REGIDRAGO_1, }; -static const union AnimCmd *const sAnims_GLASTRIER[] ={ +static const union AnimCmd *const sAnims_GLASTRIER[] = +{ sAnim_GeneralFrame0, sAnim_GLASTRIER_1, }; -static const union AnimCmd *const sAnims_SPECTRIER[] ={ +static const union AnimCmd *const sAnims_SPECTRIER[] = +{ sAnim_GeneralFrame0, sAnim_SPECTRIER_1, }; -static const union AnimCmd *const sAnims_CALYREX[] ={ +static const union AnimCmd *const sAnims_CALYREX[] = +{ sAnim_GeneralFrame0, sAnim_CALYREX_1, }; -static const union AnimCmd *const sAnims_WYRDEER[] ={ +static const union AnimCmd *const sAnims_WYRDEER[] = +{ sAnim_GeneralFrame0, sAnim_WYRDEER_1, }; -static const union AnimCmd *const sAnims_KLEAVOR[] ={ +static const union AnimCmd *const sAnims_KLEAVOR[] = +{ sAnim_GeneralFrame0, sAnim_KLEAVOR_1, }; -static const union AnimCmd *const sAnims_URSALUNA[] ={ +static const union AnimCmd *const sAnims_URSALUNA[] = +{ sAnim_GeneralFrame0, sAnim_URSALUNA_1, }; -static const union AnimCmd *const sAnims_BASCULEGION[] ={ +static const union AnimCmd *const sAnims_BASCULEGION[] = +{ sAnim_GeneralFrame0, sAnim_BASCULEGION_1, }; -static const union AnimCmd *const sAnims_SNEASLER[] ={ +static const union AnimCmd *const sAnims_SNEASLER[] = +{ sAnim_GeneralFrame0, sAnim_SNEASLER_1, }; -static const union AnimCmd *const sAnims_OVERQWIL[] ={ +static const union AnimCmd *const sAnims_OVERQWIL[] = +{ sAnim_GeneralFrame0, sAnim_OVERQWIL_1, }; -static const union AnimCmd *const sAnims_ENAMORUS[] ={ +static const union AnimCmd *const sAnims_ENAMORUS[] = +{ sAnim_GeneralFrame0, sAnim_ENAMORUS_1, }; +#endif -static const union AnimCmd *const sAnims_VENUSAUR_MEGA[] ={ +static const union AnimCmd *const sAnims_VENUSAUR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_VENUSAUR_MEGA_1, }; -static const union AnimCmd *const sAnims_CHARIZARD_MEGA_X[] ={ +static const union AnimCmd *const sAnims_CHARIZARD_MEGA_X[] = +{ sAnim_GeneralFrame0, sAnim_CHARIZARD_MEGA_X_1, }; -static const union AnimCmd *const sAnims_CHARIZARD_MEGA_Y[] ={ +static const union AnimCmd *const sAnims_CHARIZARD_MEGA_Y[] = +{ sAnim_GeneralFrame0, sAnim_CHARIZARD_MEGA_Y_1, }; -static const union AnimCmd *const sAnims_BLASTOISE_MEGA[] ={ +static const union AnimCmd *const sAnims_BLASTOISE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_BLASTOISE_MEGA_1, }; -static const union AnimCmd *const sAnims_BEEDRILL_MEGA[] ={ +static const union AnimCmd *const sAnims_BEEDRILL_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_BEEDRILL_MEGA_1, }; -static const union AnimCmd *const sAnims_PIDGEOT_MEGA[] ={ +static const union AnimCmd *const sAnims_PIDGEOT_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_PIDGEOT_MEGA_1, }; -static const union AnimCmd *const sAnims_ALAKAZAM_MEGA[] ={ +static const union AnimCmd *const sAnims_ALAKAZAM_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_ALAKAZAM_MEGA_1, }; -static const union AnimCmd *const sAnims_SLOWBRO_MEGA[] ={ +static const union AnimCmd *const sAnims_SLOWBRO_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SLOWBRO_MEGA_1, }; -static const union AnimCmd *const sAnims_GENGAR_MEGA[] ={ +static const union AnimCmd *const sAnims_GENGAR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GENGAR_MEGA_1, }; -static const union AnimCmd *const sAnims_KANGASKHAN_MEGA[] ={ +static const union AnimCmd *const sAnims_KANGASKHAN_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_KANGASKHAN_MEGA_1, }; -static const union AnimCmd *const sAnims_PINSIR_MEGA[] ={ +static const union AnimCmd *const sAnims_PINSIR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_PINSIR_MEGA_1, }; -static const union AnimCmd *const sAnims_GYARADOS_MEGA[] ={ +static const union AnimCmd *const sAnims_GYARADOS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GYARADOS_MEGA_1, }; -static const union AnimCmd *const sAnims_AERODACTYL_MEGA[] ={ +static const union AnimCmd *const sAnims_AERODACTYL_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_AERODACTYL_MEGA_1, }; -static const union AnimCmd *const sAnims_MEWTWO_MEGA_X[] ={ +static const union AnimCmd *const sAnims_MEWTWO_MEGA_X[] = +{ sAnim_GeneralFrame0, sAnim_MEWTWO_MEGA_X_1, }; -static const union AnimCmd *const sAnims_MEWTWO_MEGA_Y[] ={ +static const union AnimCmd *const sAnims_MEWTWO_MEGA_Y[] = +{ sAnim_GeneralFrame0, sAnim_MEWTWO_MEGA_Y_1, }; -static const union AnimCmd *const sAnims_AMPHAROS_MEGA[] ={ +static const union AnimCmd *const sAnims_AMPHAROS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_AMPHAROS_MEGA_1, }; -static const union AnimCmd *const sAnims_STEELIX_MEGA[] ={ +static const union AnimCmd *const sAnims_STEELIX_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_STEELIX_MEGA_1, }; -static const union AnimCmd *const sAnims_SCIZOR_MEGA[] ={ +static const union AnimCmd *const sAnims_SCIZOR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SCIZOR_MEGA_1, }; -static const union AnimCmd *const sAnims_HERACROSS_MEGA[] ={ +static const union AnimCmd *const sAnims_HERACROSS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_HERACROSS_MEGA_1, }; -static const union AnimCmd *const sAnims_HOUNDOOM_MEGA[] ={ +static const union AnimCmd *const sAnims_HOUNDOOM_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_HOUNDOOM_MEGA_1, }; -static const union AnimCmd *const sAnims_TYRANITAR_MEGA[] ={ +static const union AnimCmd *const sAnims_TYRANITAR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_TYRANITAR_MEGA_1, }; -static const union AnimCmd *const sAnims_SCEPTILE_MEGA[] ={ +static const union AnimCmd *const sAnims_SCEPTILE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SCEPTILE_MEGA_1, }; -static const union AnimCmd *const sAnims_BLAZIKEN_MEGA[] ={ +static const union AnimCmd *const sAnims_BLAZIKEN_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_BLAZIKEN_MEGA_1, }; -static const union AnimCmd *const sAnims_SWAMPERT_MEGA[] ={ +static const union AnimCmd *const sAnims_SWAMPERT_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SWAMPERT_MEGA_1, }; -static const union AnimCmd *const sAnims_GARDEVOIR_MEGA[] ={ +static const union AnimCmd *const sAnims_GARDEVOIR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GARDEVOIR_MEGA_1, }; -static const union AnimCmd *const sAnims_SABLEYE_MEGA[] ={ +static const union AnimCmd *const sAnims_SABLEYE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SABLEYE_MEGA_1, }; -static const union AnimCmd *const sAnims_MAWILE_MEGA[] ={ +static const union AnimCmd *const sAnims_MAWILE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_MAWILE_MEGA_1, }; -static const union AnimCmd *const sAnims_AGGRON_MEGA[] ={ +static const union AnimCmd *const sAnims_AGGRON_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_AGGRON_MEGA_1, }; -static const union AnimCmd *const sAnims_MEDICHAM_MEGA[] ={ +static const union AnimCmd *const sAnims_MEDICHAM_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_MEDICHAM_MEGA_1, }; -static const union AnimCmd *const sAnims_MANECTRIC_MEGA[] ={ +static const union AnimCmd *const sAnims_MANECTRIC_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_MANECTRIC_MEGA_1, }; -static const union AnimCmd *const sAnims_SHARPEDO_MEGA[] ={ +static const union AnimCmd *const sAnims_SHARPEDO_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SHARPEDO_MEGA_1, }; -static const union AnimCmd *const sAnims_CAMERUPT_MEGA[] ={ +static const union AnimCmd *const sAnims_CAMERUPT_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_CAMERUPT_MEGA_1, }; -static const union AnimCmd *const sAnims_ALTARIA_MEGA[] ={ +static const union AnimCmd *const sAnims_ALTARIA_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_ALTARIA_MEGA_1, }; -static const union AnimCmd *const sAnims_BANETTE_MEGA[] ={ +static const union AnimCmd *const sAnims_BANETTE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_BANETTE_MEGA_1, }; -static const union AnimCmd *const sAnims_ABSOL_MEGA[] ={ +static const union AnimCmd *const sAnims_ABSOL_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_ABSOL_MEGA_1, }; -static const union AnimCmd *const sAnims_GLALIE_MEGA[] ={ +static const union AnimCmd *const sAnims_GLALIE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GLALIE_MEGA_1, }; -static const union AnimCmd *const sAnims_SALAMENCE_MEGA[] ={ +static const union AnimCmd *const sAnims_SALAMENCE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SALAMENCE_MEGA_1, }; -static const union AnimCmd *const sAnims_METAGROSS_MEGA[] ={ +static const union AnimCmd *const sAnims_METAGROSS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_METAGROSS_MEGA_1, }; -static const union AnimCmd *const sAnims_LATIAS_MEGA[] ={ +static const union AnimCmd *const sAnims_LATIAS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_LATIAS_MEGA_1, }; -static const union AnimCmd *const sAnims_LATIOS_MEGA[] ={ +static const union AnimCmd *const sAnims_LATIOS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_LATIOS_MEGA_1, }; -static const union AnimCmd *const sAnims_KYOGRE_PRIMAL[] ={ +static const union AnimCmd *const sAnims_KYOGRE_PRIMAL[] = +{ sAnim_GeneralFrame0, sAnim_KYOGRE_PRIMAL_1, }; -static const union AnimCmd *const sAnims_GROUDON_PRIMAL[] ={ +static const union AnimCmd *const sAnims_GROUDON_PRIMAL[] = +{ sAnim_GeneralFrame0, sAnim_GROUDON_PRIMAL_1, }; -static const union AnimCmd *const sAnims_RAYQUAZA_MEGA[] ={ +static const union AnimCmd *const sAnims_RAYQUAZA_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_RAYQUAZA_MEGA_1, }; -static const union AnimCmd *const sAnims_LOPUNNY_MEGA[] ={ +#if P_NEW_POKEMON >= GEN_4 +static const union AnimCmd *const sAnims_LOPUNNY_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_LOPUNNY_MEGA_1, }; -static const union AnimCmd *const sAnims_GARCHOMP_MEGA[] ={ +static const union AnimCmd *const sAnims_GARCHOMP_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GARCHOMP_MEGA_1, }; -static const union AnimCmd *const sAnims_LUCARIO_MEGA[] ={ +static const union AnimCmd *const sAnims_LUCARIO_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_LUCARIO_MEGA_1, }; -static const union AnimCmd *const sAnims_ABOMASNOW_MEGA[] ={ +static const union AnimCmd *const sAnims_ABOMASNOW_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_ABOMASNOW_MEGA_1, }; -static const union AnimCmd *const sAnims_GALLADE_MEGA[] ={ +static const union AnimCmd *const sAnims_GALLADE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GALLADE_MEGA_1, }; +#endif -static const union AnimCmd *const sAnims_AUDINO_MEGA[] ={ +#if P_NEW_POKEMON >= GEN_5 +static const union AnimCmd *const sAnims_AUDINO_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_AUDINO_MEGA_1, }; +#endif -static const union AnimCmd *const sAnims_DIANCIE_MEGA[] ={ +#if P_NEW_POKEMON >= GEN_6 +static const union AnimCmd *const sAnims_DIANCIE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_DIANCIE_MEGA_1, }; +#endif -static const union AnimCmd *const sAnims_RATTATA_ALOLAN[] ={ +static const union AnimCmd *const sAnims_RATTATA_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_RATTATA_ALOLAN_1, }; -static const union AnimCmd *const sAnims_RATICATE_ALOLAN[] ={ +static const union AnimCmd *const sAnims_RATICATE_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_RATICATE_ALOLAN_1, }; -static const union AnimCmd *const sAnims_RAICHU_ALOLAN[] ={ +static const union AnimCmd *const sAnims_RAICHU_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_RAICHU_ALOLAN_1, }; -static const union AnimCmd *const sAnims_SANDSHREW_ALOLAN[] ={ +static const union AnimCmd *const sAnims_SANDSHREW_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_SANDSHREW_ALOLAN_1, }; -static const union AnimCmd *const sAnims_SANDSLASH_ALOLAN[] ={ +static const union AnimCmd *const sAnims_SANDSLASH_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_SANDSLASH_ALOLAN_1, }; -static const union AnimCmd *const sAnims_VULPIX_ALOLAN[] ={ +static const union AnimCmd *const sAnims_VULPIX_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_VULPIX_ALOLAN_1, }; -static const union AnimCmd *const sAnims_NINETALES_ALOLAN[] ={ +static const union AnimCmd *const sAnims_NINETALES_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_NINETALES_ALOLAN_1, }; -static const union AnimCmd *const sAnims_DIGLETT_ALOLAN[] ={ +static const union AnimCmd *const sAnims_DIGLETT_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_DIGLETT_ALOLAN_1, }; -static const union AnimCmd *const sAnims_DUGTRIO_ALOLAN[] ={ +static const union AnimCmd *const sAnims_DUGTRIO_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_DUGTRIO_ALOLAN_1, }; -static const union AnimCmd *const sAnims_MEOWTH_ALOLAN[] ={ +static const union AnimCmd *const sAnims_MEOWTH_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_MEOWTH_ALOLAN_1, }; -static const union AnimCmd *const sAnims_PERSIAN_ALOLAN[] ={ +static const union AnimCmd *const sAnims_PERSIAN_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_PERSIAN_ALOLAN_1, }; -static const union AnimCmd *const sAnims_GEODUDE_ALOLAN[] ={ +static const union AnimCmd *const sAnims_GEODUDE_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_GEODUDE_ALOLAN_1, }; -static const union AnimCmd *const sAnims_GRAVELER_ALOLAN[] ={ +static const union AnimCmd *const sAnims_GRAVELER_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_GRAVELER_ALOLAN_1, }; -static const union AnimCmd *const sAnims_GOLEM_ALOLAN[] ={ +static const union AnimCmd *const sAnims_GOLEM_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_GOLEM_ALOLAN_1, }; -static const union AnimCmd *const sAnims_GRIMER_ALOLAN[] ={ +static const union AnimCmd *const sAnims_GRIMER_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_GRIMER_ALOLAN_1, }; -static const union AnimCmd *const sAnims_MUK_ALOLAN[] ={ +static const union AnimCmd *const sAnims_MUK_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_MUK_ALOLAN_1, }; -static const union AnimCmd *const sAnims_EXEGGUTOR_ALOLAN[] ={ +static const union AnimCmd *const sAnims_EXEGGUTOR_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_EXEGGUTOR_ALOLAN_1, }; -static const union AnimCmd *const sAnims_MAROWAK_ALOLAN[] ={ +static const union AnimCmd *const sAnims_MAROWAK_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_MAROWAK_ALOLAN_1, }; -static const union AnimCmd *const sAnims_MEOWTH_GALARIAN[] ={ +static const union AnimCmd *const sAnims_MEOWTH_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_MEOWTH_GALARIAN_1, }; -static const union AnimCmd *const sAnims_PONYTA_GALARIAN[] ={ +static const union AnimCmd *const sAnims_PONYTA_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_PONYTA_GALARIAN_1, }; -static const union AnimCmd *const sAnims_RAPIDASH_GALARIAN[] ={ +static const union AnimCmd *const sAnims_RAPIDASH_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_RAPIDASH_GALARIAN_1, }; -static const union AnimCmd *const sAnims_SLOWPOKE_GALARIAN[] ={ +static const union AnimCmd *const sAnims_SLOWPOKE_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_SLOWPOKE_GALARIAN_1, }; -static const union AnimCmd *const sAnims_SLOWBRO_GALARIAN[] ={ +static const union AnimCmd *const sAnims_SLOWBRO_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_SLOWBRO_GALARIAN_1, }; -static const union AnimCmd *const sAnims_FARFETCHD_GALARIAN[] ={ +static const union AnimCmd *const sAnims_FARFETCHD_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_FARFETCHD_GALARIAN_1, }; -static const union AnimCmd *const sAnims_WEEZING_GALARIAN[] ={ +static const union AnimCmd *const sAnims_WEEZING_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_WEEZING_GALARIAN_1, }; -static const union AnimCmd *const sAnims_MR_MIME_GALARIAN[] ={ +static const union AnimCmd *const sAnims_MR_MIME_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_MR_MIME_GALARIAN_1, }; -static const union AnimCmd *const sAnims_ARTICUNO_GALARIAN[] ={ +static const union AnimCmd *const sAnims_ARTICUNO_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_ARTICUNO_GALARIAN_1, }; -static const union AnimCmd *const sAnims_ZAPDOS_GALARIAN[] ={ +static const union AnimCmd *const sAnims_ZAPDOS_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZAPDOS_GALARIAN_1, }; -static const union AnimCmd *const sAnims_MOLTRES_GALARIAN[] ={ +static const union AnimCmd *const sAnims_MOLTRES_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_MOLTRES_GALARIAN_1, }; -static const union AnimCmd *const sAnims_SLOWKING_GALARIAN[] ={ +static const union AnimCmd *const sAnims_SLOWKING_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_SLOWKING_GALARIAN_1, }; -static const union AnimCmd *const sAnims_CORSOLA_GALARIAN[] ={ +static const union AnimCmd *const sAnims_CORSOLA_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_CORSOLA_GALARIAN_1, }; -static const union AnimCmd *const sAnims_ZIGZAGOON_GALARIAN[] ={ +static const union AnimCmd *const sAnims_ZIGZAGOON_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZIGZAGOON_GALARIAN_1, }; -static const union AnimCmd *const sAnims_LINOONE_GALARIAN[] ={ +static const union AnimCmd *const sAnims_LINOONE_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_LINOONE_GALARIAN_1, }; -static const union AnimCmd *const sAnims_DARUMAKA_GALARIAN[] ={ +#if P_NEW_POKEMON >= GEN_5 +static const union AnimCmd *const sAnims_DARUMAKA_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_DARUMAKA_GALARIAN_1, }; -static const union AnimCmd *const sAnims_DARMANITAN_GALARIAN[] ={ +static const union AnimCmd *const sAnims_DARMANITAN_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_DARMANITAN_GALARIAN_1, }; -static const union AnimCmd *const sAnims_YAMASK_GALARIAN[] ={ +static const union AnimCmd *const sAnims_YAMASK_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_YAMASK_GALARIAN_1, }; -static const union AnimCmd *const sAnims_STUNFISK_GALARIAN[] ={ +static const union AnimCmd *const sAnims_STUNFISK_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_STUNFISK_GALARIAN_1, }; +#endif -static const union AnimCmd *const sAnims_GROWLITHE_HISUIAN[] ={ +static const union AnimCmd *const sAnims_GROWLITHE_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_GROWLITHE_HISUIAN_1, }; -static const union AnimCmd *const sAnims_ARCANINE_HISUIAN[] ={ +static const union AnimCmd *const sAnims_ARCANINE_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_ARCANINE_HISUIAN_1, }; -static const union AnimCmd *const sAnims_VOLTORB_HISUIAN[] ={ +static const union AnimCmd *const sAnims_VOLTORB_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_VOLTORB_HISUIAN_1, }; -static const union AnimCmd *const sAnims_ELECTRODE_HISUIAN[] ={ +static const union AnimCmd *const sAnims_ELECTRODE_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_ELECTRODE_HISUIAN_1, }; -static const union AnimCmd *const sAnims_TYPHLOSION_HISUIAN[] ={ +static const union AnimCmd *const sAnims_TYPHLOSION_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_TYPHLOSION_HISUIAN_1, }; -static const union AnimCmd *const sAnims_QWILFISH_HISUIAN[] ={ +static const union AnimCmd *const sAnims_QWILFISH_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_QWILFISH_HISUIAN_1, }; -static const union AnimCmd *const sAnims_SNEASEL_HISUIAN[] ={ +static const union AnimCmd *const sAnims_SNEASEL_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_SNEASEL_HISUIAN_1, }; -static const union AnimCmd *const sAnims_SAMUROTT_HISUIAN[] ={ +#if P_NEW_POKEMON >= GEN_5 +static const union AnimCmd *const sAnims_SAMUROTT_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_SAMUROTT_HISUIAN_1, }; -static const union AnimCmd *const sAnims_LILLIGANT_HISUIAN[] ={ +static const union AnimCmd *const sAnims_LILLIGANT_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_LILLIGANT_HISUIAN_1, }; -static const union AnimCmd *const sAnims_ZORUA_HISUIAN[] ={ +static const union AnimCmd *const sAnims_ZORUA_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZORUA_HISUIAN_1, }; -static const union AnimCmd *const sAnims_ZOROARK_HISUIAN[] ={ +static const union AnimCmd *const sAnims_ZOROARK_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZOROARK_HISUIAN_1, }; -static const union AnimCmd *const sAnims_BRAVIARY_HISUIAN[] ={ +static const union AnimCmd *const sAnims_BRAVIARY_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_BRAVIARY_HISUIAN_1, }; +#endif -static const union AnimCmd *const sAnims_SLIGGOO_HISUIAN[] ={ +#if P_NEW_POKEMON >= GEN_6 +static const union AnimCmd *const sAnims_SLIGGOO_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_SLIGGOO_HISUIAN_1, }; -static const union AnimCmd *const sAnims_GOODRA_HISUIAN[] ={ +static const union AnimCmd *const sAnims_GOODRA_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_GOODRA_HISUIAN_1, }; -static const union AnimCmd *const sAnims_AVALUGG_HISUIAN[] ={ +static const union AnimCmd *const sAnims_AVALUGG_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_AVALUGG_HISUIAN_1, }; +#endif -static const union AnimCmd *const sAnims_DECIDUEYE_HISUIAN[] ={ +#if P_NEW_POKEMON >= GEN_7 +static const union AnimCmd *const sAnims_DECIDUEYE_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_DECIDUEYE_HISUIAN_1, }; - -static const union AnimCmd *const sAnims_SHAYMIN_SKY[] ={ - sAnim_GeneralFrame0, - sAnim_SHAYMIN_SKY_1, -}; - -static const union AnimCmd *const sAnims_DIALGA_ORIGIN[] ={ - sAnim_GeneralFrame0, - sAnim_DIALGA_ORIGIN_1, -}; - -static const union AnimCmd *const sAnims_PALKIA_ORIGIN[] ={ - sAnim_GeneralFrame0, - sAnim_PALKIA_ORIGIN_1, -}; - -static const union AnimCmd *const sAnims_GIRATINA_ORIGIN[] ={ - sAnim_GeneralFrame0, - sAnim_GIRATINA_ORIGIN_1, -}; - -static const union AnimCmd *const sAnims_DARMANITAN_ZEN_MODE[] ={ - sAnim_GeneralFrame0, - sAnim_DARMANITAN_ZEN_MODE_1, -}; - -static const union AnimCmd *const sAnims_DARMANITAN_ZEN_MODE_GALARIAN[] ={ - sAnim_GeneralFrame0, - sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_TORNADUS_THERIAN[] ={ - sAnim_GeneralFrame0, - sAnim_TORNADUS_THERIAN_1, -}; - -static const union AnimCmd *const sAnims_THUNDURUS_THERIAN[] ={ - sAnim_GeneralFrame0, - sAnim_THUNDURUS_THERIAN_1, -}; - -static const union AnimCmd *const sAnims_LANDORUS_THERIAN[] ={ - sAnim_GeneralFrame0, - sAnim_LANDORUS_THERIAN_1, -}; - -static const union AnimCmd *const sAnims_ENAMORUS_THERIAN[] ={ - sAnim_GeneralFrame0, - sAnim_ENAMORUS_THERIAN_1, -}; - -static const union AnimCmd *const sAnims_KELDEO_RESOLUTE[] ={ - sAnim_GeneralFrame0, - sAnim_KELDEO_RESOLUTE_1, -}; - -static const union AnimCmd *const sAnims_MELOETTA_PIROUETTE[] ={ - sAnim_GeneralFrame0, - sAnim_MELOETTA_PIROUETTE_1, -}; - -static const union AnimCmd *const sAnims_AEGISLASH_BLADE[] ={ - sAnim_GeneralFrame0, - sAnim_AEGISLASH_BLADE_1, -}; - -static const union AnimCmd *const sAnims_HOOPA_UNBOUND[] ={ - sAnim_GeneralFrame0, - sAnim_HOOPA_UNBOUND_1, -}; - -static const union AnimCmd *const sAnims_MINIOR_CORE[] ={ - sAnim_GeneralFrame0, - sAnim_MINIOR_CORE_1, -}; - -static const union AnimCmd *const sAnims_WISHIWASHI_SCHOOL[] ={ - sAnim_GeneralFrame0, - sAnim_WISHIWASHI_SCHOOL_1, -}; - -static const union AnimCmd *const sAnims_KYUREM_BLACK[] ={ - sAnim_GeneralFrame0, - sAnim_KYUREM_BLACK_1, -}; - -static const union AnimCmd *const sAnims_KYUREM_WHITE[] ={ - sAnim_GeneralFrame0, - sAnim_KYUREM_WHITE_1, -}; - -static const union AnimCmd *const sAnims_MIMIKYU_BUSTED[] ={ - sAnim_GeneralFrame0, - sAnim_MIMIKYU_BUSTED_1, -}; - -static const union AnimCmd *const sAnims_LYCANROC_MIDNIGHT[] ={ - sAnim_GeneralFrame0, - sAnim_LYCANROC_MIDNIGHT_1, -}; - -static const union AnimCmd *const sAnims_LYCANROC_DUSK[] ={ - sAnim_GeneralFrame0, - sAnim_LYCANROC_DUSK_1, -}; - -static const union AnimCmd *const sAnims_ZYGARDE_10[] ={ - sAnim_GeneralFrame0, - sAnim_ZYGARDE_10_1, -}; - -static const union AnimCmd *const sAnims_ZYGARDE_COMPLETE[] ={ - sAnim_GeneralFrame0, - sAnim_ZYGARDE_COMPLETE_1, -}; #endif -static const union AnimCmd *const sAnims_DEOXYS_ATTACK[] ={ + +static const union AnimCmd *const sAnims_PIKACHU_COSPLAY[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_COSPLAY_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_ROCK_STAR[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_ROCK_STAR_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_BELLE[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_BELLE_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_POP_STAR[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_POP_STAR_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_PH_D[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_PH_D_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_LIBRE[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_LIBRE_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_ORIGINAL_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_ORIGINAL_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_HOENN_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_HOENN_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_SINNOH_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_SINNOH_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_UNOVA_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_UNOVA_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_KALOS_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_KALOS_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_ALOLA_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_ALOLA_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_PARTNER_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_PARTNER_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_WORLD_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_WORLD_CAP_1, +}; + +static const union AnimCmd *const sAnims_PICHU_SPIKY_EARED[] = { + sAnim_GeneralFrame0, + sAnim_PICHU_SPIKY_EARED_1, +}; +static const union AnimCmd *const sAnims_DEOXYS_ATTACK[] = +{ sAnim_GeneralFrame0, sAnim_DEOXYS_ATTACK_1, sAnim_DEOXYS_ATTACK_2, }; -static const union AnimCmd *const sAnims_DEOXYS_DEFENSE[] ={ +static const union AnimCmd *const sAnims_DEOXYS_DEFENSE[] = +{ sAnim_GeneralFrame0, sAnim_DEOXYS_DEFENSE_1, sAnim_DEOXYS_DEFENSE_2, }; -static const union AnimCmd *const sAnims_DEOXYS_SPEED[] ={ +static const union AnimCmd *const sAnims_DEOXYS_SPEED[] = +{ sAnim_GeneralFrame0, sAnim_DEOXYS_SPEED_1, sAnim_DEOXYS_SPEED_2, }; -#if P_NEW_POKEMON == TRUE -static const union AnimCmd *const sAnims_PIKACHU_COSPLAY[] ={ +#if P_NEW_POKEMON >= GEN_4 +static const union AnimCmd *const sAnims_DIALGA_ORIGIN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_COSPLAY_1, + sAnim_DIALGA_ORIGIN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_ROCK_STAR[] ={ +static const union AnimCmd *const sAnims_PALKIA_ORIGIN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_ROCK_STAR_1, + sAnim_PALKIA_ORIGIN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_BELLE[] ={ +static const union AnimCmd *const sAnims_GIRATINA_ORIGIN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_BELLE_1, + sAnim_GIRATINA_ORIGIN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_POP_STAR[] ={ +static const union AnimCmd *const sAnims_SHAYMIN_SKY[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_POP_STAR_1, + sAnim_SHAYMIN_SKY_1, +}; +#endif + +#if P_NEW_POKEMON >= GEN_5 +static const union AnimCmd *const sAnims_DARMANITAN_ZEN_MODE[] = +{ + sAnim_GeneralFrame0, + sAnim_DARMANITAN_ZEN_MODE_1, }; -static const union AnimCmd *const sAnims_PIKACHU_PH_D[] ={ +static const union AnimCmd *const sAnims_DARMANITAN_ZEN_MODE_GALARIAN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_PH_D_1, + sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_LIBRE[] ={ +static const union AnimCmd *const sAnims_TORNADUS_THERIAN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_LIBRE_1, + sAnim_TORNADUS_THERIAN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_ORIGINAL_CAP[] ={ +static const union AnimCmd *const sAnims_THUNDURUS_THERIAN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_ORIGINAL_CAP_1, + sAnim_THUNDURUS_THERIAN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_HOENN_CAP[] ={ +static const union AnimCmd *const sAnims_LANDORUS_THERIAN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_HOENN_CAP_1, + sAnim_LANDORUS_THERIAN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_SINNOH_CAP[] ={ +static const union AnimCmd *const sAnims_KYUREM_BLACK[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_SINNOH_CAP_1, + sAnim_KYUREM_BLACK_1, }; -static const union AnimCmd *const sAnims_PIKACHU_UNOVA_CAP[] ={ +static const union AnimCmd *const sAnims_KYUREM_WHITE[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_UNOVA_CAP_1, + sAnim_KYUREM_WHITE_1, }; -static const union AnimCmd *const sAnims_PIKACHU_KALOS_CAP[] ={ +static const union AnimCmd *const sAnims_KELDEO_RESOLUTE[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_KALOS_CAP_1, + sAnim_KELDEO_RESOLUTE_1, }; -static const union AnimCmd *const sAnims_PIKACHU_ALOLA_CAP[] ={ +static const union AnimCmd *const sAnims_MELOETTA_PIROUETTE[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_ALOLA_CAP_1, + sAnim_MELOETTA_PIROUETTE_1, +}; +#endif + +#if P_NEW_POKEMON >= GEN_6 +static const union AnimCmd *const sAnims_AEGISLASH_BLADE[] = +{ + sAnim_GeneralFrame0, + sAnim_AEGISLASH_BLADE_1, }; -static const union AnimCmd *const sAnims_PIKACHU_PARTNER_CAP[] ={ +static const union AnimCmd *const sAnims_ZYGARDE_10[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_PARTNER_CAP_1, + sAnim_ZYGARDE_10_1, }; -static const union AnimCmd *const sAnims_PIKACHU_WORLD_CAP[] ={ +static const union AnimCmd *const sAnims_ZYGARDE_COMPLETE[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_WORLD_CAP_1, + sAnim_ZYGARDE_COMPLETE_1, }; -static const union AnimCmd *const sAnims_PICHU_SPIKY_EARED[] ={ +static const union AnimCmd *const sAnims_HOOPA_UNBOUND[] = +{ sAnim_GeneralFrame0, - sAnim_PICHU_SPIKY_EARED_1, + sAnim_HOOPA_UNBOUND_1, +}; +#endif + +#if P_NEW_POKEMON >= GEN_7 +static const union AnimCmd *const sAnims_MINIOR_CORE[] = +{ + sAnim_GeneralFrame0, + sAnim_MINIOR_CORE_1, +}; + +static const union AnimCmd *const sAnims_WISHIWASHI_SCHOOL[] = +{ + sAnim_GeneralFrame0, + sAnim_WISHIWASHI_SCHOOL_1, +}; + +static const union AnimCmd *const sAnims_MIMIKYU_BUSTED[] = +{ + sAnim_GeneralFrame0, + sAnim_MIMIKYU_BUSTED_1, +}; + +static const union AnimCmd *const sAnims_LYCANROC_MIDNIGHT[] = +{ + sAnim_GeneralFrame0, + sAnim_LYCANROC_MIDNIGHT_1, +}; + +static const union AnimCmd *const sAnims_LYCANROC_DUSK[] = +{ + sAnim_GeneralFrame0, + sAnim_LYCANROC_DUSK_1, +}; +#endif + +#if P_NEW_POKEMON >= GEN_8 +static const union AnimCmd *const sAnims_ENAMORUS_THERIAN[] = +{ + sAnim_GeneralFrame0, + sAnim_ENAMORUS_THERIAN_1, }; #endif @@ -15353,7 +16496,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(JIRACHI), ANIM_CMD(DEOXYS), ANIM_CMD(CHIMECHO), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 ANIM_CMD(TURTWIG), ANIM_CMD(GROTLE), ANIM_CMD(TORTERRA), @@ -15461,6 +16604,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(DARKRAI), ANIM_CMD(SHAYMIN), ANIM_CMD(ARCEUS), +#endif +#if P_NEW_POKEMON >= GEN_5 ANIM_CMD(VICTINI), ANIM_CMD(SNIVY), ANIM_CMD(SERVINE), @@ -15617,6 +16762,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(KELDEO), ANIM_CMD(MELOETTA), ANIM_CMD(GENESECT), +#endif +#if P_NEW_POKEMON >= GEN_6 ANIM_CMD(CHESPIN), ANIM_CMD(QUILLADIN), ANIM_CMD(CHESNAUGHT), @@ -15689,6 +16836,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(DIANCIE), ANIM_CMD(HOOPA), ANIM_CMD(VOLCANION), +#endif +#if P_NEW_POKEMON >= GEN_7 ANIM_CMD(ROWLET), ANIM_CMD(DARTRIX), ANIM_CMD(DECIDUEYE), @@ -15777,6 +16926,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(ZERAORA), ANIM_CMD(MELTAN), ANIM_CMD(MELMETAL), +#endif +#if P_NEW_POKEMON >= GEN_8 ANIM_CMD(GROOKEY), ANIM_CMD(THWACKEY), ANIM_CMD(RILLABOOM), @@ -15873,6 +17024,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(SNEASLER), ANIM_CMD(OVERQWIL), ANIM_CMD(ENAMORUS), +#endif ANIM_CMD(VENUSAUR_MEGA), ANIM_CMD(CHARIZARD_MEGA_X), ANIM_CMD(CHARIZARD_MEGA_Y), @@ -15913,13 +17065,19 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(METAGROSS_MEGA), ANIM_CMD(LATIAS_MEGA), ANIM_CMD(LATIOS_MEGA), +#if P_NEW_POKEMON >= GEN_4 ANIM_CMD(LOPUNNY_MEGA), ANIM_CMD(GARCHOMP_MEGA), ANIM_CMD(LUCARIO_MEGA), ANIM_CMD(ABOMASNOW_MEGA), ANIM_CMD(GALLADE_MEGA), +#endif +#if P_NEW_POKEMON >= GEN_5 ANIM_CMD(AUDINO_MEGA), +#endif +#if P_NEW_POKEMON >= GEN_6 ANIM_CMD(DIANCIE_MEGA), +#endif ANIM_CMD(RAYQUAZA_MEGA), ANIM_CMD(KYOGRE_PRIMAL), ANIM_CMD(GROUDON_PRIMAL), @@ -15956,10 +17114,12 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(CORSOLA_GALARIAN), ANIM_CMD(ZIGZAGOON_GALARIAN), ANIM_CMD(LINOONE_GALARIAN), +#if P_NEW_POKEMON >= GEN_5 ANIM_CMD(DARUMAKA_GALARIAN), ANIM_CMD(DARMANITAN_GALARIAN), ANIM_CMD(YAMASK_GALARIAN), ANIM_CMD(STUNFISK_GALARIAN), +#endif ANIM_CMD(GROWLITHE_HISUIAN), ANIM_CMD(ARCANINE_HISUIAN), ANIM_CMD(VOLTORB_HISUIAN), @@ -15967,15 +17127,21 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(TYPHLOSION_HISUIAN), ANIM_CMD(QWILFISH_HISUIAN), ANIM_CMD(SNEASEL_HISUIAN), +#if P_NEW_POKEMON >= GEN_5 ANIM_CMD(SAMUROTT_HISUIAN), ANIM_CMD(LILLIGANT_HISUIAN), ANIM_CMD(ZORUA_HISUIAN), ANIM_CMD(ZOROARK_HISUIAN), ANIM_CMD(BRAVIARY_HISUIAN), +#endif +#if P_NEW_POKEMON >= GEN_6 ANIM_CMD(SLIGGOO_HISUIAN), ANIM_CMD(GOODRA_HISUIAN), ANIM_CMD(AVALUGG_HISUIAN), +#endif +#if P_NEW_POKEMON >= GEN_7 ANIM_CMD(DECIDUEYE_HISUIAN), +#endif ANIM_CMD(PIKACHU_COSPLAY), ANIM_CMD(PIKACHU_ROCK_STAR), ANIM_CMD(PIKACHU_BELLE), @@ -15991,7 +17157,6 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(PIKACHU_PARTNER_CAP), ANIM_CMD(PIKACHU_WORLD_CAP), ANIM_CMD(PICHU_SPIKY_EARED), -#endif ANIM_CMD(UNOWN_B), ANIM_CMD(UNOWN_C), ANIM_CMD(UNOWN_D), @@ -16025,7 +17190,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(DEOXYS_ATTACK), ANIM_CMD(DEOXYS_DEFENSE), ANIM_CMD(DEOXYS_SPEED), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 ANIM_CMD_FULL(BURMY_SANDY_CLOAK, sAnims_BURMY), ANIM_CMD_FULL(BURMY_TRASH_CLOAK, sAnims_BURMY), ANIM_CMD_FULL(WORMADAM_SANDY_CLOAK, sAnims_WORMADAM), @@ -16059,6 +17224,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(ARCEUS_DRAGON, sAnims_ARCEUS), ANIM_CMD_FULL(ARCEUS_DARK, sAnims_ARCEUS), ANIM_CMD_FULL(ARCEUS_FAIRY, sAnims_ARCEUS), +#endif +#if P_NEW_POKEMON >= GEN_5 ANIM_CMD_FULL(BASCULIN_BLUE_STRIPED, sAnims_BASCULIN), ANIM_CMD_FULL(BASCULIN_WHITE_STRIPED, sAnims_BASCULIN), ANIM_CMD(DARMANITAN_ZEN_MODE), @@ -16072,7 +17239,6 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(TORNADUS_THERIAN), ANIM_CMD(THUNDURUS_THERIAN), ANIM_CMD(LANDORUS_THERIAN), - ANIM_CMD(ENAMORUS_THERIAN), ANIM_CMD(KYUREM_WHITE), ANIM_CMD(KYUREM_BLACK), ANIM_CMD(MELOETTA_PIROUETTE), @@ -16081,6 +17247,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(GENESECT_SHOCK_DRIVE, sAnims_GENESECT), ANIM_CMD_FULL(GENESECT_BURN_DRIVE, sAnims_GENESECT), ANIM_CMD_FULL(GENESECT_CHILL_DRIVE, sAnims_GENESECT), +#endif +#if P_NEW_POKEMON >= GEN_6 ANIM_CMD_FULL(GRENINJA_BATTLE_BOND, sAnims_GRENINJA), ANIM_CMD_FULL(GRENINJA_ASH, sAnims_GRENINJA), ANIM_CMD_FULL(VIVILLON_POLAR, sAnims_VIVILLON), @@ -16138,6 +17306,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(ZYGARDE_50_POWER_CONSTRUCT, sAnims_ZYGARDE), ANIM_CMD(ZYGARDE_COMPLETE), ANIM_CMD(HOOPA_UNBOUND), +#endif +#if P_NEW_POKEMON >= GEN_7 ANIM_CMD_FULL(ORICORIO_POM_POM, sAnims_ORICORIO), ANIM_CMD_FULL(ORICORIO_PAU, sAnims_ORICORIO), ANIM_CMD_FULL(ORICORIO_SENSU, sAnims_ORICORIO), @@ -16180,6 +17350,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(NECROZMA_DAWN_WINGS, sAnims_NECROZMA), ANIM_CMD_FULL(NECROZMA_ULTRA, sAnims_NECROZMA), ANIM_CMD_FULL(MAGEARNA_ORIGINAL_COLOR, sAnims_MAGEARNA), +#endif +#if P_NEW_POKEMON >= GEN_8 ANIM_CMD_FULL(CRAMORANT_GULPING, sAnims_CRAMORANT), ANIM_CMD_FULL(CRAMORANT_GORGING, sAnims_CRAMORANT), ANIM_CMD_FULL(TOXTRICITY_LOW_KEY, sAnims_TOXTRICITY), @@ -16203,6 +17375,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(ZARUDE_DADA, sAnims_ZARUDE), ANIM_CMD_FULL(CALYREX_ICE_RIDER, sAnims_CALYREX), ANIM_CMD_FULL(CALYREX_SHADOW_RIDER, sAnims_CALYREX), + ANIM_CMD(ENAMORUS_THERIAN), #endif ANIM_CMD(EGG), }; diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index 4c41a50e1..f508087df 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -1939,7 +1939,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(48, 48), .y_offset = 11, }, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TURTWIG] = { .size = MON_COORDS_SIZE(40, 48), @@ -2475,6 +2475,8 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_VICTINI] = { .size = MON_COORDS_SIZE(48, 56), @@ -3255,6 +3257,8 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(56, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_CHESPIN] = { .size = MON_COORDS_SIZE(40, 48), @@ -3615,6 +3619,8 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROWLET] = { .size = MON_COORDS_SIZE(32, 40), @@ -4055,6 +4061,8 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 56), .y_offset = 4, }, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_GROOKEY] = { .size = MON_COORDS_SIZE(40, 48), @@ -4535,6 +4543,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif // Megas [SPECIES_VENUSAUR_MEGA] = { @@ -4736,6 +4745,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LOPUNNY_MEGA] = { .size = MON_COORDS_SIZE(56, 64), @@ -4761,16 +4771,21 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 1, }, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_AUDINO_MEGA] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 6, }, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_DIANCIE_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = { @@ -4954,6 +4969,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 40), .y_offset = 13, }, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DARUMAKA_GALARIAN] = { .size = MON_COORDS_SIZE(40, 40), @@ -4974,6 +4990,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(48, 40), .y_offset = 14, }, +#endif // Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = { @@ -5010,6 +5027,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(56, 56), .y_offset = 7, }, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SAMUROTT_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), @@ -5035,6 +5053,8 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_SLIGGOO_HISUIAN] = { .size = MON_COORDS_SIZE(48, 56), @@ -5050,11 +5070,14 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 48), .y_offset = 5, }, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif // Misc Forms // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = @@ -5134,7 +5157,6 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(32, 40), .y_offset = 14, }, -#endif // Unown [SPECIES_UNOWN_B] = { @@ -5303,7 +5325,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 1, }, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 // Burmy [SPECIES_BURMY_SANDY_CLOAK] = { @@ -5478,6 +5500,8 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_5 // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = { @@ -5548,11 +5572,6 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, - [SPECIES_ENAMORUS_THERIAN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, // Kyurem [SPECIES_KYUREM_WHITE] = { @@ -5597,6 +5616,8 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(56, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_6 // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = { @@ -5895,6 +5916,8 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_7 // Oricorio [SPECIES_ORICORIO_POM_POM] = { @@ -6114,6 +6137,8 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(56, 64), .y_offset = 0, }, +#endif +#if P_NEW_POKEMON >= GEN_8 // Cramorant [SPECIES_CRAMORANT_GULPING] = { @@ -6243,6 +6268,11 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, + [SPECIES_ENAMORUS_THERIAN] = + { + .size = MON_COORDS_SIZE(64, 64), + .y_offset = 0, + }, #endif // Egg [SPECIES_EGG] = diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index d94162a4b..76fec7264 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -387,7 +387,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi), SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys), SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_SPRITE(TURTWIG, gMonFrontPic_Turtwig), SPECIES_SPRITE(GROTLE, gMonFrontPic_Grotle), SPECIES_SPRITE(TORTERRA, gMonFrontPic_Torterra), @@ -495,6 +495,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(DARKRAI, gMonFrontPic_Darkrai), SPECIES_SPRITE(SHAYMIN, gMonFrontPic_Shaymin), SPECIES_SPRITE(ARCEUS, gMonFrontPic_Arceus), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(VICTINI, gMonFrontPic_Victini), SPECIES_SPRITE(SNIVY, gMonFrontPic_Snivy), SPECIES_SPRITE(SERVINE, gMonFrontPic_Servine), @@ -651,6 +653,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(KELDEO, gMonFrontPic_Keldeo), SPECIES_SPRITE(MELOETTA, gMonFrontPic_Meloetta), SPECIES_SPRITE(GENESECT, gMonFrontPic_Genesect), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(CHESPIN, gMonFrontPic_Chespin), SPECIES_SPRITE(QUILLADIN, gMonFrontPic_Quilladin), SPECIES_SPRITE(CHESNAUGHT, gMonFrontPic_Chesnaught), @@ -723,6 +727,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(DIANCIE, gMonFrontPic_Diancie), SPECIES_SPRITE(HOOPA, gMonFrontPic_Hoopa), SPECIES_SPRITE(VOLCANION, gMonFrontPic_Volcanion), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_SPRITE(ROWLET, gMonFrontPic_Rowlet), SPECIES_SPRITE(DARTRIX, gMonFrontPic_Dartrix), SPECIES_SPRITE(DECIDUEYE, gMonFrontPic_Decidueye), @@ -811,6 +817,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(ZERAORA, gMonFrontPic_Zeraora), SPECIES_SPRITE(MELTAN, gMonFrontPic_Meltan), SPECIES_SPRITE(MELMETAL, gMonFrontPic_Melmetal), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_SPRITE(GROOKEY, gMonFrontPic_Grookey), SPECIES_SPRITE(THWACKEY, gMonFrontPic_Thwackey), SPECIES_SPRITE(RILLABOOM, gMonFrontPic_Rillaboom), @@ -907,7 +915,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(SNEASLER, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_Sneasler), SPECIES_SPRITE(OVERQWIL, gMonFrontPic_Overqwil), SPECIES_SPRITE(ENAMORUS, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_Enamorus), - +#endif SPECIES_SPRITE(VENUSAUR_MEGA, gMonFrontPic_VenusaurMega), SPECIES_SPRITE(CHARIZARD_MEGA_X, gMonFrontPic_CharizardMegaX), SPECIES_SPRITE(CHARIZARD_MEGA_Y, gMonFrontPic_CharizardMegaY), @@ -948,13 +956,19 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(METAGROSS_MEGA, gMonFrontPic_MetagrossMega), SPECIES_SPRITE(LATIAS_MEGA, gMonFrontPic_LatiasMega), SPECIES_SPRITE(LATIOS_MEGA, gMonFrontPic_LatiosMega), +#if P_NEW_POKEMON >= GEN_4 SPECIES_SPRITE(LOPUNNY_MEGA, gMonFrontPic_LopunnyMega), SPECIES_SPRITE(GARCHOMP_MEGA, gMonFrontPic_GarchompMega), SPECIES_SPRITE(LUCARIO_MEGA, gMonFrontPic_LucarioMega), SPECIES_SPRITE(ABOMASNOW_MEGA, gMonFrontPic_AbomasnowMega), SPECIES_SPRITE(GALLADE_MEGA, gMonFrontPic_GalladeMega), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(AUDINO_MEGA, gMonFrontPic_AudinoMega), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(DIANCIE_MEGA, gMonFrontPic_DiancieMega), +#endif SPECIES_SPRITE(RAYQUAZA_MEGA, gMonFrontPic_RayquazaMega), SPECIES_SPRITE(KYOGRE_PRIMAL, gMonFrontPic_KyogrePrimal), @@ -994,10 +1008,12 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(CORSOLA_GALARIAN, gMonFrontPic_CorsolaGalarian), SPECIES_SPRITE(ZIGZAGOON_GALARIAN, gMonFrontPic_ZigzagoonGalarian), SPECIES_SPRITE(LINOONE_GALARIAN, gMonFrontPic_LinooneGalarian), +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(DARUMAKA_GALARIAN, gMonFrontPic_DarumakaGalarian), SPECIES_SPRITE(DARMANITAN_GALARIAN, gMonFrontPic_DarmanitanGalarian), SPECIES_SPRITE(YAMASK_GALARIAN, gMonFrontPic_YamaskGalarian), SPECIES_SPRITE(STUNFISK_GALARIAN, gMonFrontPic_StunfiskGalarian), +#endif SPECIES_SPRITE(GROWLITHE_HISUIAN, gMonFrontPic_GrowlitheHisuian), SPECIES_SPRITE(ARCANINE_HISUIAN, gMonFrontPic_ArcanineHisuian), @@ -1006,15 +1022,21 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(TYPHLOSION_HISUIAN, gMonFrontPic_TyphlosionHisuian), SPECIES_SPRITE(QWILFISH_HISUIAN, gMonFrontPic_QwilfishHisuian), SPECIES_SPRITE(SNEASEL_HISUIAN, gMonFrontPic_SneaselHisuian), +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(SAMUROTT_HISUIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_SamurottHisuian), SPECIES_SPRITE(LILLIGANT_HISUIAN, gMonFrontPic_LilligantHisuian), SPECIES_SPRITE(ZORUA_HISUIAN, gMonFrontPic_ZoruaHisuian), SPECIES_SPRITE(ZOROARK_HISUIAN, gMonFrontPic_ZoroarkHisuian), SPECIES_SPRITE(BRAVIARY_HISUIAN, gMonFrontPic_BraviaryHisuian), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(SLIGGOO_HISUIAN, gMonFrontPic_SliggooHisuian), SPECIES_SPRITE(GOODRA_HISUIAN, gMonFrontPic_GoodraHisuian), SPECIES_SPRITE(AVALUGG_HISUIAN, gMonFrontPic_AvaluggHisuian), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_SPRITE(DECIDUEYE_HISUIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_DecidueyeHisuian), +#endif SPECIES_SPRITE(PIKACHU_COSPLAY, gMonFrontPic_PikachuCosplay), SPECIES_SPRITE(PIKACHU_ROCK_STAR, gMonFrontPic_PikachuRockStar), @@ -1033,7 +1055,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(PIKACHU_WORLD_CAP, gMonFrontPic_PikachuWorldCap), SPECIES_SPRITE(PICHU_SPIKY_EARED, gMonFrontPic_PichuSpikyEared), -#endif + SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB), SPECIES_SPRITE(UNOWN_C, gMonFrontPic_UnownC), SPECIES_SPRITE(UNOWN_D, gMonFrontPic_UnownD), @@ -1069,7 +1091,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(DEOXYS_ATTACK, gMonFrontPic_DeoxysAttack), SPECIES_SPRITE(DEOXYS_DEFENSE, gMonFrontPic_DeoxysDefense), SPECIES_SPRITE(DEOXYS_SPEED, gMonFrontPic_DeoxysSpeed), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_SPRITE(BURMY_SANDY_CLOAK, gMonFrontPic_BurmySandyCloak), SPECIES_SPRITE(BURMY_TRASH_CLOAK, gMonFrontPic_BurmyTrashCloak), @@ -1111,7 +1133,9 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(ARCEUS_DRAGON, gMonFrontPic_Arceus), SPECIES_SPRITE(ARCEUS_DARK, gMonFrontPic_Arceus), SPECIES_SPRITE(ARCEUS_FAIRY, gMonFrontPic_Arceus), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(BASCULIN_BLUE_STRIPED, gMonFrontPic_BasculinBlueStriped), SPECIES_SPRITE(BASCULIN_WHITE_STRIPED, gMonFrontPic_BasculinWhiteStriped), @@ -1129,7 +1153,6 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(TORNADUS_THERIAN, gMonFrontPic_TornadusTherian), SPECIES_SPRITE(THUNDURUS_THERIAN, gMonFrontPic_ThundurusTherian), SPECIES_SPRITE(LANDORUS_THERIAN, gMonFrontPic_LandorusTherian), - SPECIES_SPRITE(ENAMORUS_THERIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_EnamorusTherian), SPECIES_SPRITE(KYUREM_WHITE, gMonFrontPic_KyuremWhite), SPECIES_SPRITE(KYUREM_BLACK, gMonFrontPic_KyuremBlack), @@ -1142,7 +1165,9 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(GENESECT_SHOCK_DRIVE, gMonFrontPic_Genesect), SPECIES_SPRITE(GENESECT_BURN_DRIVE, gMonFrontPic_Genesect), SPECIES_SPRITE(GENESECT_CHILL_DRIVE, gMonFrontPic_Genesect), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(GRENINJA_BATTLE_BOND, gMonFrontPic_Greninja), SPECIES_SPRITE(GRENINJA_ASH, gMonFrontPic_GreninjaAsh), @@ -1212,7 +1237,9 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(ZYGARDE_COMPLETE, gMonFrontPic_ZygardeComplete), SPECIES_SPRITE(HOOPA_UNBOUND, gMonFrontPic_HoopaUnbound), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_SPRITE(ORICORIO_POM_POM, gMonFrontPic_OricorioPomPom), SPECIES_SPRITE(ORICORIO_PAU, gMonFrontPic_OricorioPau), SPECIES_SPRITE(ORICORIO_SENSU, gMonFrontPic_OricorioSensu), @@ -1263,7 +1290,9 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(NECROZMA_ULTRA, gMonFrontPic_NecrozmaUltra), SPECIES_SPRITE(MAGEARNA_ORIGINAL_COLOR, gMonFrontPic_MagearnaOriginalColor), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_SPRITE(CRAMORANT_GULPING, gMonFrontPic_CramorantGulping), SPECIES_SPRITE(CRAMORANT_GORGING, gMonFrontPic_CramorantGorging), @@ -1300,6 +1329,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(CALYREX_ICE_RIDER, gMonFrontPic_CalyrexIceRider), SPECIES_SPRITE(CALYREX_SHADOW_RIDER, gMonFrontPic_CalyrexShadowRider), + + SPECIES_SPRITE(ENAMORUS_THERIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_EnamorusTherian), #endif SPECIES_SPRITE(EGG, gMonFrontPic_Egg), }; @@ -1307,7 +1338,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = { SPECIES_SPRITE(EEVEE, gMonFrontPic_EeveeF), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_SPRITE(STARLY, gMonFrontPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonFrontPic_StaraviaF), SPECIES_SPRITE(STARAPTOR, gMonFrontPic_StaraptorF), @@ -1318,10 +1349,16 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = SPECIES_SPRITE(COMBEE, gMonFrontPic_CombeeF), SPECIES_SPRITE(HIPPOPOTAS, gMonFrontPic_HippopotasF), SPECIES_SPRITE(HIPPOWDON, gMonFrontPic_Hippowdon), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SPRITE(UNFEZANT, gMonFrontPic_UnfezantF), SPECIES_SPRITE(FRILLISH, gMonFrontPic_FrillishF), SPECIES_SPRITE(JELLICENT, gMonFrontPic_JellicentF), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SPRITE(PYROAR, gMonFrontPic_PyroarF), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_SPRITE(BASCULEGION, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_BasculegionF), #endif }; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 65fbf835b..7a5d2267c 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -387,7 +387,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(JIRACHI, gMonPalette_Jirachi), SPECIES_PAL(DEOXYS, gMonPalette_Deoxys), SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_PAL(TURTWIG, gMonPalette_Turtwig), SPECIES_PAL(GROTLE, gMonPalette_Grotle), SPECIES_PAL(TORTERRA, gMonPalette_Torterra), @@ -495,6 +495,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(DARKRAI, gMonPalette_Darkrai), SPECIES_PAL(SHAYMIN, gMonPalette_Shaymin), SPECIES_PAL(ARCEUS, gMonPalette_Arceus), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_PAL(VICTINI, gMonPalette_Victini), SPECIES_PAL(SNIVY, gMonPalette_Snivy), SPECIES_PAL(SERVINE, gMonPalette_Servine), @@ -651,6 +653,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(KELDEO, gMonPalette_Keldeo), SPECIES_PAL(MELOETTA, gMonPalette_Meloetta), SPECIES_PAL(GENESECT, gMonPalette_Genesect), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_PAL(CHESPIN, gMonPalette_Chespin), SPECIES_PAL(QUILLADIN, gMonPalette_Quilladin), SPECIES_PAL(CHESNAUGHT, gMonPalette_Chesnaught), @@ -723,6 +727,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(DIANCIE, gMonPalette_Diancie), SPECIES_PAL(HOOPA, gMonPalette_Hoopa), SPECIES_PAL(VOLCANION, gMonPalette_Volcanion), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_PAL(ROWLET, gMonPalette_Rowlet), SPECIES_PAL(DARTRIX, gMonPalette_Dartrix), SPECIES_PAL(DECIDUEYE, gMonPalette_Decidueye), @@ -811,6 +817,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ZERAORA, gMonPalette_Zeraora), SPECIES_PAL(MELTAN, gMonPalette_Meltan), SPECIES_PAL(MELMETAL, gMonPalette_Melmetal), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_PAL(GROOKEY, gMonPalette_Grookey), SPECIES_PAL(THWACKEY, gMonPalette_Thwackey), SPECIES_PAL(RILLABOOM, gMonPalette_Rillaboom), @@ -907,7 +915,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(SNEASLER, gMonPalette_CircledQuestionMark), // gMonPalette_Sneasler), SPECIES_PAL(OVERQWIL, gMonPalette_Overqwil), SPECIES_PAL(ENAMORUS, gMonPalette_CircledQuestionMark), // gMonPalette_Enamorus), - +#endif SPECIES_PAL(VENUSAUR_MEGA, gMonPalette_VenusaurMega), SPECIES_PAL(CHARIZARD_MEGA_X, gMonPalette_CharizardMegaX), SPECIES_PAL(CHARIZARD_MEGA_Y, gMonPalette_CharizardMegaY), @@ -948,13 +956,19 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(METAGROSS_MEGA, gMonPalette_MetagrossMega), SPECIES_PAL(LATIAS_MEGA, gMonPalette_LatiasMega), SPECIES_PAL(LATIOS_MEGA, gMonPalette_LatiosMega), +#if P_NEW_POKEMON >= GEN_4 SPECIES_PAL(LOPUNNY_MEGA, gMonPalette_LopunnyMega), SPECIES_PAL(GARCHOMP_MEGA, gMonPalette_GarchompMega), SPECIES_PAL(LUCARIO_MEGA, gMonPalette_LucarioMega), SPECIES_PAL(ABOMASNOW_MEGA, gMonPalette_AbomasnowMega), SPECIES_PAL(GALLADE_MEGA, gMonPalette_GalladeMega), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_PAL(AUDINO_MEGA, gMonPalette_AudinoMega), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_PAL(DIANCIE_MEGA, gMonPalette_DiancieMega), +#endif SPECIES_PAL(RAYQUAZA_MEGA, gMonPalette_RayquazaMega), SPECIES_PAL(KYOGRE_PRIMAL, gMonPalette_KyogrePrimal), @@ -994,10 +1008,12 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(CORSOLA_GALARIAN, gMonPalette_CorsolaGalarian), SPECIES_PAL(ZIGZAGOON_GALARIAN, gMonPalette_ZigzagoonGalarian), SPECIES_PAL(LINOONE_GALARIAN, gMonPalette_LinooneGalarian), +#if P_NEW_POKEMON >= GEN_5 SPECIES_PAL(DARUMAKA_GALARIAN, gMonPalette_DarumakaGalarian), SPECIES_PAL(DARMANITAN_GALARIAN, gMonPalette_DarmanitanGalarian), SPECIES_PAL(YAMASK_GALARIAN, gMonPalette_YamaskGalarian), SPECIES_PAL(STUNFISK_GALARIAN, gMonPalette_StunfiskGalarian), +#endif SPECIES_PAL(GROWLITHE_HISUIAN, gMonPalette_GrowlitheHisuian), SPECIES_PAL(ARCANINE_HISUIAN, gMonPalette_ArcanineHisuian), @@ -1005,16 +1021,22 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ELECTRODE_HISUIAN, gMonPalette_ElectrodeHisuian), SPECIES_PAL(TYPHLOSION_HISUIAN, gMonPalette_TyphlosionHisuian), SPECIES_PAL(QWILFISH_HISUIAN, gMonPalette_QwilfishHisuian), +#if P_NEW_POKEMON >= GEN_5 SPECIES_PAL(SNEASEL_HISUIAN, gMonPalette_SneaselHisuian), SPECIES_PAL(SAMUROTT_HISUIAN, gMonPalette_CircledQuestionMark), //gMonPalette_SamurottHisuian), SPECIES_PAL(LILLIGANT_HISUIAN, gMonPalette_LilligantHisuian), SPECIES_PAL(ZORUA_HISUIAN, gMonPalette_ZoruaHisuian), SPECIES_PAL(ZOROARK_HISUIAN, gMonPalette_ZoroarkHisuian), SPECIES_PAL(BRAVIARY_HISUIAN, gMonPalette_BraviaryHisuian), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_PAL(SLIGGOO_HISUIAN, gMonPalette_SliggooHisuian), SPECIES_PAL(GOODRA_HISUIAN, gMonPalette_GoodraHisuian), SPECIES_PAL(AVALUGG_HISUIAN, gMonPalette_AvaluggHisuian), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_PAL(DECIDUEYE_HISUIAN, gMonPalette_CircledQuestionMark), //gMonPalette_DecidueyeHisuian), +#endif SPECIES_PAL(PIKACHU_COSPLAY, gMonPalette_PikachuCosplay), SPECIES_PAL(PIKACHU_ROCK_STAR, gMonPalette_PikachuRockStar), @@ -1033,7 +1055,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(PIKACHU_WORLD_CAP, gMonPalette_PikachuWorldCap), SPECIES_PAL(PICHU_SPIKY_EARED, gMonPalette_PichuSpikyEared), -#endif + SPECIES_PAL(UNOWN_B, gMonPalette_Unown), SPECIES_PAL(UNOWN_C, gMonPalette_Unown), SPECIES_PAL(UNOWN_D, gMonPalette_Unown), @@ -1069,7 +1091,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(DEOXYS_ATTACK, gMonPalette_DeoxysAttack), SPECIES_PAL(DEOXYS_DEFENSE, gMonPalette_DeoxysDefense), SPECIES_PAL(DEOXYS_SPEED, gMonPalette_DeoxysSpeed), -#if P_NEW_POKEMON == TRUE + +#if P_NEW_POKEMON >= GEN_4 SPECIES_PAL(BURMY_SANDY_CLOAK, gMonPalette_BurmySandyCloak), SPECIES_PAL(BURMY_TRASH_CLOAK, gMonPalette_BurmyTrashCloak), @@ -1111,7 +1134,9 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ARCEUS_DRAGON, gMonPalette_ArceusDragon), SPECIES_PAL(ARCEUS_DARK, gMonPalette_ArceusDark), SPECIES_PAL(ARCEUS_FAIRY, gMonPalette_ArceusFairy), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_PAL(BASCULIN_BLUE_STRIPED, gMonPalette_BasculinBlueStriped), SPECIES_PAL(BASCULIN_WHITE_STRIPED, gMonPalette_BasculinWhiteStriped), @@ -1129,7 +1154,6 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(TORNADUS_THERIAN, gMonPalette_TornadusTherian), SPECIES_PAL(THUNDURUS_THERIAN, gMonPalette_ThundurusTherian), SPECIES_PAL(LANDORUS_THERIAN, gMonPalette_LandorusTherian), - SPECIES_PAL(ENAMORUS_THERIAN, gMonPalette_CircledQuestionMark), // gMonPalette_EnamorusTherian), SPECIES_PAL(KYUREM_WHITE, gMonPalette_KyuremWhite), SPECIES_PAL(KYUREM_BLACK, gMonPalette_KyuremBlack), @@ -1142,7 +1166,9 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(GENESECT_SHOCK_DRIVE, gMonPalette_GenesectShockDrive), SPECIES_PAL(GENESECT_BURN_DRIVE, gMonPalette_GenesectBurnDrive), SPECIES_PAL(GENESECT_CHILL_DRIVE, gMonPalette_GenesectChillDrive), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_PAL(GRENINJA_BATTLE_BOND, gMonPalette_Greninja), SPECIES_PAL(GRENINJA_ASH, gMonPalette_GreninjaAsh), @@ -1212,7 +1238,9 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ZYGARDE_COMPLETE, gMonPalette_ZygardeComplete), SPECIES_PAL(HOOPA_UNBOUND, gMonPalette_HoopaUnbound), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_PAL(ORICORIO_POM_POM, gMonPalette_OricorioPomPom), SPECIES_PAL(ORICORIO_PAU, gMonPalette_OricorioPau), SPECIES_PAL(ORICORIO_SENSU, gMonPalette_OricorioSensu), @@ -1263,7 +1291,9 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(NECROZMA_ULTRA, gMonPalette_NecrozmaUltra), SPECIES_PAL(MAGEARNA_ORIGINAL_COLOR, gMonPalette_MagearnaOriginalColor), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_PAL(CRAMORANT_GULPING, gMonPalette_CramorantGulping), SPECIES_PAL(CRAMORANT_GORGING, gMonPalette_CramorantGorging), @@ -1300,6 +1330,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(CALYREX_ICE_RIDER, gMonPalette_CalyrexIceRider), SPECIES_PAL(CALYREX_SHADOW_RIDER, gMonPalette_CalyrexShadowRider), + SPECIES_PAL(ENAMORUS_THERIAN, gMonPalette_CircledQuestionMark), // gMonPalette_EnamorusTherian), #endif SPECIES_PAL(EGG, gMonPalette_Egg), }; @@ -1307,7 +1338,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = const struct CompressedSpritePalette gMonPaletteTableFemale[] = { SPECIES_PAL(EEVEE, gMonPalette_Eevee), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_PAL(COMBEE, gMonPalette_Combee), SPECIES_PAL(STARLY, gMonPalette_Starly), SPECIES_PAL(STARAVIA, gMonPalette_Staravia), @@ -1318,10 +1349,16 @@ const struct CompressedSpritePalette gMonPaletteTableFemale[] = SPECIES_PAL(SHINX, gMonPalette_Shinx), SPECIES_PAL(HIPPOPOTAS, gMonPalette_HippopotasF), SPECIES_PAL(HIPPOWDON, gMonPalette_HippowdonF), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_PAL(UNFEZANT, gMonPalette_UnfezantF), SPECIES_PAL(FRILLISH, gMonPalette_FrillishF), SPECIES_PAL(JELLICENT, gMonPalette_JellicentF), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_PAL(PYROAR, gMonPalette_PyroarF), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_PAL(BASCULEGION, gMonPalette_CircledQuestionMark), // gMonPalette_BasculegionF), #endif }; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index c029e91e1..3723dc209 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -387,7 +387,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi), SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys), SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_SHINY_PAL(TURTWIG, gMonShinyPalette_Turtwig), SPECIES_SHINY_PAL(GROTLE, gMonShinyPalette_Grotle), SPECIES_SHINY_PAL(TORTERRA, gMonShinyPalette_Torterra), @@ -495,6 +495,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(DARKRAI, gMonShinyPalette_Darkrai), SPECIES_SHINY_PAL(SHAYMIN, gMonShinyPalette_Shaymin), SPECIES_SHINY_PAL(ARCEUS, gMonShinyPalette_Arceus), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SHINY_PAL(VICTINI, gMonShinyPalette_Victini), SPECIES_SHINY_PAL(SNIVY, gMonShinyPalette_Snivy), SPECIES_SHINY_PAL(SERVINE, gMonShinyPalette_Servine), @@ -651,6 +653,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(KELDEO, gMonShinyPalette_Keldeo), SPECIES_SHINY_PAL(MELOETTA, gMonShinyPalette_Meloetta), SPECIES_SHINY_PAL(GENESECT, gMonShinyPalette_Genesect), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SHINY_PAL(CHESPIN, gMonShinyPalette_Chespin), SPECIES_SHINY_PAL(QUILLADIN, gMonShinyPalette_Quilladin), SPECIES_SHINY_PAL(CHESNAUGHT, gMonShinyPalette_Chesnaught), @@ -723,6 +727,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(DIANCIE, gMonShinyPalette_Diancie), SPECIES_SHINY_PAL(HOOPA, gMonShinyPalette_Hoopa), SPECIES_SHINY_PAL(VOLCANION, gMonShinyPalette_Volcanion), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_SHINY_PAL(ROWLET, gMonShinyPalette_Rowlet), SPECIES_SHINY_PAL(DARTRIX, gMonShinyPalette_Dartrix), SPECIES_SHINY_PAL(DECIDUEYE, gMonShinyPalette_Decidueye), @@ -811,6 +817,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(ZERAORA, gMonShinyPalette_Zeraora), SPECIES_SHINY_PAL(MELTAN, gMonShinyPalette_Meltan), SPECIES_SHINY_PAL(MELMETAL, gMonShinyPalette_Melmetal), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_SHINY_PAL(GROOKEY, gMonShinyPalette_Grookey), SPECIES_SHINY_PAL(THWACKEY, gMonShinyPalette_Thwackey), SPECIES_SHINY_PAL(RILLABOOM, gMonShinyPalette_Rillaboom), @@ -907,6 +915,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(SNEASLER, gMonShinyPalette_CircledQuestionMark), // gMonShinyPalette_Sneasler), SPECIES_SHINY_PAL(OVERQWIL, gMonShinyPalette_Overqwil), SPECIES_SHINY_PAL(ENAMORUS, gMonShinyPalette_CircledQuestionMark), // gMonShinyPalette_Enamorus), +#endif SPECIES_SHINY_PAL(VENUSAUR_MEGA, gMonShinyPalette_VenusaurMega), SPECIES_SHINY_PAL(CHARIZARD_MEGA_X, gMonShinyPalette_CharizardMegaX), @@ -948,13 +957,19 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(METAGROSS_MEGA, gMonShinyPalette_MetagrossMega), SPECIES_SHINY_PAL(LATIAS_MEGA, gMonShinyPalette_LatiasMega), SPECIES_SHINY_PAL(LATIOS_MEGA, gMonShinyPalette_LatiosMega), +#if P_NEW_POKEMON >= GEN_4 SPECIES_SHINY_PAL(LOPUNNY_MEGA, gMonShinyPalette_LopunnyMega), SPECIES_SHINY_PAL(GARCHOMP_MEGA, gMonShinyPalette_GarchompMega), SPECIES_SHINY_PAL(LUCARIO_MEGA, gMonShinyPalette_LucarioMega), SPECIES_SHINY_PAL(ABOMASNOW_MEGA, gMonShinyPalette_AbomasnowMega), SPECIES_SHINY_PAL(GALLADE_MEGA, gMonShinyPalette_GalladeMega), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SHINY_PAL(AUDINO_MEGA, gMonShinyPalette_AudinoMega), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SHINY_PAL(DIANCIE_MEGA, gMonShinyPalette_DiancieMega), +#endif SPECIES_SHINY_PAL(RAYQUAZA_MEGA, gMonShinyPalette_RayquazaMega), SPECIES_SHINY_PAL(KYOGRE_PRIMAL, gMonShinyPalette_KyogrePrimal), @@ -994,10 +1009,12 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(CORSOLA_GALARIAN, gMonShinyPalette_CorsolaGalarian), SPECIES_SHINY_PAL(ZIGZAGOON_GALARIAN, gMonShinyPalette_ZigzagoonGalarian), SPECIES_SHINY_PAL(LINOONE_GALARIAN, gMonShinyPalette_LinooneGalarian), +#if P_NEW_POKEMON >= GEN_5 SPECIES_SHINY_PAL(DARUMAKA_GALARIAN, gMonShinyPalette_DarumakaGalarian), SPECIES_SHINY_PAL(DARMANITAN_GALARIAN, gMonShinyPalette_DarmanitanGalarian), SPECIES_SHINY_PAL(YAMASK_GALARIAN, gMonShinyPalette_YamaskGalarian), SPECIES_SHINY_PAL(STUNFISK_GALARIAN, gMonShinyPalette_StunfiskGalarian), +#endif SPECIES_SHINY_PAL(GROWLITHE_HISUIAN, gMonShinyPalette_GrowlitheHisuian), SPECIES_SHINY_PAL(ARCANINE_HISUIAN, gMonShinyPalette_ArcanineHisuian), @@ -1006,15 +1023,21 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(TYPHLOSION_HISUIAN, gMonShinyPalette_TyphlosionHisuian), SPECIES_SHINY_PAL(QWILFISH_HISUIAN, gMonShinyPalette_QwilfishHisuian), SPECIES_SHINY_PAL(SNEASEL_HISUIAN, gMonShinyPalette_SneaselHisuian), +#if P_NEW_POKEMON >= GEN_5 SPECIES_SHINY_PAL(SAMUROTT_HISUIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_SamurottHisuian), SPECIES_SHINY_PAL(LILLIGANT_HISUIAN, gMonShinyPalette_LilligantHisuian), SPECIES_SHINY_PAL(ZORUA_HISUIAN, gMonShinyPalette_ZoruaHisuian), SPECIES_SHINY_PAL(ZOROARK_HISUIAN, gMonShinyPalette_ZoroarkHisuian), SPECIES_SHINY_PAL(BRAVIARY_HISUIAN, gMonShinyPalette_BraviaryHisuian), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SHINY_PAL(SLIGGOO_HISUIAN, gMonShinyPalette_SliggooHisuian), SPECIES_SHINY_PAL(GOODRA_HISUIAN, gMonShinyPalette_GoodraHisuian), SPECIES_SHINY_PAL(AVALUGG_HISUIAN, gMonShinyPalette_AvaluggHisuian), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_SHINY_PAL(DECIDUEYE_HISUIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_DecidueyeHisuian), +#endif SPECIES_SHINY_PAL(PIKACHU_COSPLAY, gMonShinyPalette_PikachuCosplay), SPECIES_SHINY_PAL(PIKACHU_ROCK_STAR, gMonShinyPalette_PikachuRockStar), @@ -1033,7 +1056,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(PIKACHU_WORLD_CAP, gMonShinyPalette_PikachuWorldCap), SPECIES_SHINY_PAL(PICHU_SPIKY_EARED, gMonShinyPalette_PichuSpikyEared), -#endif + SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown), SPECIES_SHINY_PAL(UNOWN_C, gMonShinyPalette_Unown), SPECIES_SHINY_PAL(UNOWN_D, gMonShinyPalette_Unown), @@ -1069,7 +1092,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(DEOXYS_ATTACK, gMonShinyPalette_DeoxysAttack), SPECIES_SHINY_PAL(DEOXYS_DEFENSE, gMonShinyPalette_DeoxysDefense), SPECIES_SHINY_PAL(DEOXYS_SPEED, gMonShinyPalette_DeoxysSpeed), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_SHINY_PAL(BURMY_SANDY_CLOAK, gMonShinyPalette_BurmySandyCloak), SPECIES_SHINY_PAL(BURMY_TRASH_CLOAK, gMonShinyPalette_BurmyTrashCloak), @@ -1111,7 +1134,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(ARCEUS_DRAGON, gMonShinyPalette_ArceusDragon), SPECIES_SHINY_PAL(ARCEUS_DARK, gMonShinyPalette_ArceusDark), SPECIES_SHINY_PAL(ARCEUS_FAIRY, gMonShinyPalette_ArceusFairy), - +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SHINY_PAL(BASCULIN_BLUE_STRIPED, gMonShinyPalette_BasculinBlueStriped), SPECIES_SHINY_PAL(BASCULIN_WHITE_STRIPED, gMonShinyPalette_BasculinWhiteStriped), @@ -1129,7 +1153,6 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(TORNADUS_THERIAN, gMonShinyPalette_TornadusTherian), SPECIES_SHINY_PAL(THUNDURUS_THERIAN, gMonShinyPalette_ThundurusTherian), SPECIES_SHINY_PAL(LANDORUS_THERIAN, gMonShinyPalette_LandorusTherian), - SPECIES_SHINY_PAL(ENAMORUS_THERIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_EnamorusTherian), SPECIES_SHINY_PAL(KYUREM_WHITE, gMonShinyPalette_KyuremWhite), SPECIES_SHINY_PAL(KYUREM_BLACK, gMonShinyPalette_KyuremBlack), @@ -1142,7 +1165,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(GENESECT_SHOCK_DRIVE, gMonShinyPalette_GenesectShockDrive), SPECIES_SHINY_PAL(GENESECT_BURN_DRIVE, gMonShinyPalette_GenesectBurnDrive), SPECIES_SHINY_PAL(GENESECT_CHILL_DRIVE, gMonShinyPalette_GenesectChillDrive), - +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SHINY_PAL(GRENINJA_BATTLE_BOND, gMonShinyPalette_Greninja), SPECIES_SHINY_PAL(GRENINJA_ASH, gMonShinyPalette_GreninjaAsh), @@ -1212,7 +1236,9 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(ZYGARDE_COMPLETE, gMonShinyPalette_ZygardeComplete), SPECIES_SHINY_PAL(HOOPA_UNBOUND, gMonShinyPalette_HoopaUnbound), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_SHINY_PAL(ORICORIO_POM_POM, gMonShinyPalette_OricorioPomPom), SPECIES_SHINY_PAL(ORICORIO_PAU, gMonShinyPalette_OricorioPau), SPECIES_SHINY_PAL(ORICORIO_SENSU, gMonShinyPalette_OricorioSensu), @@ -1263,7 +1289,9 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(NECROZMA_ULTRA, gMonShinyPalette_NecrozmaUltra), SPECIES_SHINY_PAL(MAGEARNA_ORIGINAL_COLOR, gMonShinyPalette_MagearnaOriginalColor), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_SHINY_PAL(CRAMORANT_GULPING, gMonShinyPalette_CramorantGulping), SPECIES_SHINY_PAL(CRAMORANT_GORGING, gMonShinyPalette_CramorantGorging), @@ -1300,6 +1328,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(CALYREX_ICE_RIDER, gMonShinyPalette_CalyrexIceRider), SPECIES_SHINY_PAL(CALYREX_SHADOW_RIDER, gMonShinyPalette_CalyrexShadowRider), + + SPECIES_SHINY_PAL(ENAMORUS_THERIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_EnamorusTherian), #endif SPECIES_SHINY_PAL(EGG, gMonPalette_Egg), }; @@ -1307,7 +1337,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = { SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_SHINY_PAL(STARLY, gMonShinyPalette_Starly), SPECIES_SHINY_PAL(STARAVIA, gMonShinyPalette_Staravia), SPECIES_SHINY_PAL(STARAPTOR, gMonShinyPalette_Staraptor), @@ -1318,10 +1348,16 @@ const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = SPECIES_SHINY_PAL(COMBEE, gMonShinyPalette_Combee), SPECIES_SHINY_PAL(HIPPOPOTAS, gMonShinyPalette_HippopotasF), SPECIES_SHINY_PAL(HIPPOWDON, gMonShinyPalette_HippowdonF), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_SHINY_PAL(UNFEZANT, gMonShinyPalette_UnfezantF), SPECIES_SHINY_PAL(FRILLISH, gMonShinyPalette_FrillishF), SPECIES_SHINY_PAL(JELLICENT, gMonShinyPalette_JellicentF), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_SHINY_PAL(PYROAR, gMonShinyPalette_PyroarF), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_SHINY_PAL(BASCULEGION, gMonShinyPalette_CircledQuestionMark), // gMonShinyPalette_BasculegionF), #endif }; diff --git a/src/data/text/species_names.h b/src/data/text/species_names.h index ad0a1ba7c..4f6d700a3 100644 --- a/src/data/text/species_names.h +++ b/src/data/text/species_names.h @@ -386,7 +386,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_RAYQUAZA] = _("Rayquaza"), [SPECIES_JIRACHI] = _("Jirachi"), [SPECIES_DEOXYS] = _("Deoxys"), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TURTWIG] = _("Turtwig"), [SPECIES_GROTLE] = _("Grotle"), [SPECIES_TORTERRA] = _("Torterra"), @@ -494,6 +494,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_DARKRAI] = _("Darkrai"), [SPECIES_SHAYMIN] = _("Shaymin"), [SPECIES_ARCEUS] = _("Arceus"), +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_VICTINI] = _("Victini"), [SPECIES_SNIVY] = _("Snivy"), [SPECIES_SERVINE] = _("Servine"), @@ -650,6 +652,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_KELDEO] = _("Keldeo"), [SPECIES_MELOETTA] = _("Meloetta"), [SPECIES_GENESECT] = _("Genesect"), +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_CHESPIN] = _("Chespin"), [SPECIES_QUILLADIN] = _("Quilladin"), [SPECIES_CHESNAUGHT] = _("Chesnaught"), @@ -722,6 +726,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_DIANCIE] = _("Diancie"), [SPECIES_HOOPA] = _("Hoopa"), [SPECIES_VOLCANION] = _("Volcanion"), +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROWLET] = _("Rowlet"), [SPECIES_DARTRIX] = _("Dartrix"), [SPECIES_DECIDUEYE] = _("Decidueye"), @@ -810,6 +816,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_ZERAORA] = _("Zeraora"), [SPECIES_MELTAN] = _("Meltan"), [SPECIES_MELMETAL] = _("Melmetal"), +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_GROOKEY] = _("Grookey"), [SPECIES_THWACKEY] = _("Thwackey"), [SPECIES_RILLABOOM] = _("Rillaboom"), @@ -906,6 +914,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_SNEASLER] = _("Sneasler"), [SPECIES_OVERQWIL] = _("Overqwil"), [SPECIES_ENAMORUS] = _("Enamorus"), +#endif // Megas [SPECIES_VENUSAUR_MEGA] = _("Venusaur"), @@ -948,13 +957,19 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_METAGROSS_MEGA] = _("Metagross"), [SPECIES_LATIAS_MEGA] = _("Latias"), [SPECIES_LATIOS_MEGA] = _("Latios"), +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LOPUNNY_MEGA] = _("Lopunny"), [SPECIES_GARCHOMP_MEGA] = _("Garchomp"), [SPECIES_LUCARIO_MEGA] = _("Lucario"), [SPECIES_ABOMASNOW_MEGA] = _("Abomasnow"), [SPECIES_GALLADE_MEGA] = _("Gallade"), +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_AUDINO_MEGA] = _("Audino"), +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_DIANCIE_MEGA] = _("Diancie"), +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = _("Rayquaza"), [SPECIES_KYOGRE_PRIMAL] = _("Kyogre"), @@ -996,10 +1011,12 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_CORSOLA_GALARIAN] = _("Corsola"), [SPECIES_ZIGZAGOON_GALARIAN] = _("Zigzagoon"), [SPECIES_LINOONE_GALARIAN] = _("Linoone"), +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DARUMAKA_GALARIAN] = _("Darumaka"), [SPECIES_DARMANITAN_GALARIAN] = _("Darmanitan"), [SPECIES_YAMASK_GALARIAN] = _("Yamask"), [SPECIES_STUNFISK_GALARIAN] = _("Stunfisk"), +#endif //Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = _("Growlithe"), @@ -1009,15 +1026,21 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_TYPHLOSION_HISUIAN] = _("Typhlosion"), [SPECIES_QWILFISH_HISUIAN] = _("Qwilfish"), [SPECIES_SNEASEL_HISUIAN] = _("Sneasel"), +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SAMUROTT_HISUIAN] = _("Samurott"), [SPECIES_LILLIGANT_HISUIAN] = _("Lilligant"), [SPECIES_ZORUA_HISUIAN] = _("Zorua"), [SPECIES_ZOROARK_HISUIAN] = _("Zoroark"), [SPECIES_BRAVIARY_HISUIAN] = _("Braviary"), +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_SLIGGOO_HISUIAN] = _("Sliggoo"), [SPECIES_GOODRA_HISUIAN] = _("Goodra"), [SPECIES_AVALUGG_HISUIAN] = _("Avalugg"), +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE_HISUIAN] = _("Decidueye"), +#endif // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = _("Pikachu"), @@ -1037,7 +1060,6 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_PIKACHU_WORLD_CAP] = _("Pikachu"), // Pichu [SPECIES_PICHU_SPIKY_EARED] = _("Pichu"), -#endif // Unown [SPECIES_UNOWN_B] = _("Unown"), [SPECIES_UNOWN_C] = _("Unown"), @@ -1074,7 +1096,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_DEOXYS_ATTACK] = _("Deoxys"), [SPECIES_DEOXYS_DEFENSE] = _("Deoxys"), [SPECIES_DEOXYS_SPEED] = _("Deoxys"), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 // Burmy [SPECIES_BURMY_SANDY_CLOAK] = _("Burmy"), [SPECIES_BURMY_TRASH_CLOAK] = _("Burmy"), @@ -1117,6 +1139,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_ARCEUS_DRAGON] = _("Arceus"), [SPECIES_ARCEUS_DARK] = _("Arceus"), [SPECIES_ARCEUS_FAIRY] = _("Arceus"), +#endif +#if P_NEW_POKEMON >= GEN_5 // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = _("Basculin"), [SPECIES_BASCULIN_WHITE_STRIPED] = _("Basculin"), @@ -1148,6 +1172,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_GENESECT_SHOCK_DRIVE] = _("Genesect"), [SPECIES_GENESECT_BURN_DRIVE] = _("Genesect"), [SPECIES_GENESECT_CHILL_DRIVE] = _("Genesect"), +#endif +#if P_NEW_POKEMON >= GEN_6 // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = _("Greninja"), [SPECIES_GRENINJA_ASH] = _("Greninja"), @@ -1218,6 +1244,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_ZYGARDE_COMPLETE] = _("Zygarde"), // Hoopa [SPECIES_HOOPA_UNBOUND] = _("Hoopa"), +#endif +#if P_NEW_POKEMON >= GEN_7 // Oricorio [SPECIES_ORICORIO_POM_POM] = _("Oricorio"), [SPECIES_ORICORIO_PAU] = _("Oricorio"), @@ -1269,6 +1297,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_NECROZMA_ULTRA] = _("Necrozma"), // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = _("Magearna"), +#endif +#if P_NEW_POKEMON >= GEN_8 // Cramorant [SPECIES_CRAMORANT_GULPING] = _("Cramorant"), [SPECIES_CRAMORANT_GORGING] = _("Cramorant"), diff --git a/src/pokemon.c b/src/pokemon.c index 350aebf0b..8e8e60b68 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -136,7 +136,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(RALTS), SPECIES_TO_HOENN(KIRLIA), SPECIES_TO_HOENN(GARDEVOIR), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_TO_HOENN(GALLADE), #endif SPECIES_TO_HOENN(SURSKIT), @@ -168,7 +168,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(GRAVELER), SPECIES_TO_HOENN(GOLEM), SPECIES_TO_HOENN(NOSEPASS), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_TO_HOENN(PROBOPASS), #endif SPECIES_TO_HOENN(SKITTY), @@ -194,7 +194,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(MINUN), SPECIES_TO_HOENN(MAGNEMITE), SPECIES_TO_HOENN(MAGNETON), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_TO_HOENN(MAGNEZONE), #endif SPECIES_TO_HOENN(VOLTORB), @@ -207,7 +207,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(BELLOSSOM), SPECIES_TO_HOENN(DODUO), SPECIES_TO_HOENN(DODRIO), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_TO_HOENN(BUDEW), SPECIES_TO_HOENN(ROSELIA), SPECIES_TO_HOENN(ROSERADE), @@ -269,7 +269,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(BANETTE), SPECIES_TO_HOENN(DUSKULL), SPECIES_TO_HOENN(DUSCLOPS), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_TO_HOENN(DUSKNOIR), SPECIES_TO_HOENN(TROPIUS), SPECIES_TO_HOENN(CHINGLING), @@ -296,12 +296,12 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(HERACROSS), SPECIES_TO_HOENN(RHYHORN), SPECIES_TO_HOENN(RHYDON), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_TO_HOENN(RHYPERIOR), #endif SPECIES_TO_HOENN(SNORUNT), SPECIES_TO_HOENN(GLALIE), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_TO_HOENN(FROSLASS), #endif SPECIES_TO_HOENN(SPHEAL), @@ -725,7 +725,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(RAYQUAZA), SPECIES_TO_NATIONAL(JIRACHI), SPECIES_TO_NATIONAL(DEOXYS), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 SPECIES_TO_NATIONAL(TURTWIG), SPECIES_TO_NATIONAL(GROTLE), SPECIES_TO_NATIONAL(TORTERRA), @@ -833,6 +833,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(DARKRAI), SPECIES_TO_NATIONAL(SHAYMIN), SPECIES_TO_NATIONAL(ARCEUS), +#endif +#if P_NEW_POKEMON >= GEN_5 SPECIES_TO_NATIONAL(VICTINI), SPECIES_TO_NATIONAL(SNIVY), SPECIES_TO_NATIONAL(SERVINE), @@ -989,6 +991,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(KELDEO), SPECIES_TO_NATIONAL(MELOETTA), SPECIES_TO_NATIONAL(GENESECT), +#endif +#if P_NEW_POKEMON >= GEN_6 SPECIES_TO_NATIONAL(CHESPIN), SPECIES_TO_NATIONAL(QUILLADIN), SPECIES_TO_NATIONAL(CHESNAUGHT), @@ -1061,6 +1065,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(DIANCIE), SPECIES_TO_NATIONAL(HOOPA), SPECIES_TO_NATIONAL(VOLCANION), +#endif +#if P_NEW_POKEMON >= GEN_7 SPECIES_TO_NATIONAL(ROWLET), SPECIES_TO_NATIONAL(DARTRIX), SPECIES_TO_NATIONAL(DECIDUEYE), @@ -1149,6 +1155,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(ZERAORA), SPECIES_TO_NATIONAL(MELTAN), SPECIES_TO_NATIONAL(MELMETAL), +#endif +#if P_NEW_POKEMON >= GEN_8 SPECIES_TO_NATIONAL(GROOKEY), SPECIES_TO_NATIONAL(THWACKEY), SPECIES_TO_NATIONAL(RILLABOOM), @@ -1245,6 +1253,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(SNEASLER), SPECIES_TO_NATIONAL(OVERQWIL), SPECIES_TO_NATIONAL(ENAMORUS), +#endif // Megas [SPECIES_VENUSAUR_MEGA - 1] = NATIONAL_DEX_VENUSAUR, @@ -1287,13 +1296,19 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_METAGROSS_MEGA - 1] = NATIONAL_DEX_METAGROSS, [SPECIES_LATIAS_MEGA - 1] = NATIONAL_DEX_LATIAS, [SPECIES_LATIOS_MEGA - 1] = NATIONAL_DEX_LATIOS, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LOPUNNY_MEGA - 1] = NATIONAL_DEX_LOPUNNY, [SPECIES_GARCHOMP_MEGA - 1] = NATIONAL_DEX_GARCHOMP, [SPECIES_LUCARIO_MEGA - 1] = NATIONAL_DEX_LUCARIO, [SPECIES_ABOMASNOW_MEGA - 1] = NATIONAL_DEX_ABOMASNOW, [SPECIES_GALLADE_MEGA - 1] = NATIONAL_DEX_GALLADE, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_AUDINO_MEGA - 1] = NATIONAL_DEX_AUDINO, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_DIANCIE_MEGA - 1] = NATIONAL_DEX_DIANCIE, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA - 1] = NATIONAL_DEX_RAYQUAZA, [SPECIES_KYOGRE_PRIMAL - 1] = NATIONAL_DEX_KYOGRE, @@ -1333,10 +1348,12 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_CORSOLA_GALARIAN - 1] = NATIONAL_DEX_CORSOLA, [SPECIES_ZIGZAGOON_GALARIAN - 1] = NATIONAL_DEX_ZIGZAGOON, [SPECIES_LINOONE_GALARIAN - 1] = NATIONAL_DEX_LINOONE, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DARUMAKA_GALARIAN - 1] = NATIONAL_DEX_DARUMAKA, [SPECIES_DARMANITAN_GALARIAN - 1] = NATIONAL_DEX_DARMANITAN, [SPECIES_YAMASK_GALARIAN - 1] = NATIONAL_DEX_YAMASK, [SPECIES_STUNFISK_GALARIAN - 1] = NATIONAL_DEX_STUNFISK, +#endif //Hisuian Forms [SPECIES_GROWLITHE_HISUIAN - 1] = NATIONAL_DEX_GROWLITHE, [SPECIES_ARCANINE_HISUIAN - 1] = NATIONAL_DEX_ARCANINE, @@ -1345,15 +1362,21 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_TYPHLOSION_HISUIAN - 1] = NATIONAL_DEX_TYPHLOSION, [SPECIES_QWILFISH_HISUIAN - 1] = NATIONAL_DEX_QWILFISH, [SPECIES_SNEASEL_HISUIAN - 1] = NATIONAL_DEX_SNEASEL, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SAMUROTT_HISUIAN - 1] = NATIONAL_DEX_SAMUROTT, [SPECIES_LILLIGANT_HISUIAN - 1] = NATIONAL_DEX_LILLIGANT, [SPECIES_ZORUA_HISUIAN - 1] = NATIONAL_DEX_ZORUA, [SPECIES_ZOROARK_HISUIAN - 1] = NATIONAL_DEX_ZOROARK, [SPECIES_BRAVIARY_HISUIAN - 1] = NATIONAL_DEX_BRAVIARY, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_SLIGGOO_HISUIAN - 1] = NATIONAL_DEX_SLIGGOO, [SPECIES_GOODRA_HISUIAN - 1] = NATIONAL_DEX_GOODRA, [SPECIES_AVALUGG_HISUIAN - 1] = NATIONAL_DEX_AVALUGG, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE_HISUIAN - 1] = NATIONAL_DEX_DECIDUEYE, +#endif // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY - 1] = NATIONAL_DEX_PIKACHU, [SPECIES_PIKACHU_ROCK_STAR - 1] = NATIONAL_DEX_PIKACHU, @@ -1372,7 +1395,6 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_PIKACHU_WORLD_CAP - 1] = NATIONAL_DEX_PIKACHU, // Pichu [SPECIES_PICHU_SPIKY_EARED - 1] = NATIONAL_DEX_PICHU, -#endif // Unown [SPECIES_UNOWN_B - 1] = NATIONAL_DEX_UNOWN, [SPECIES_UNOWN_C - 1] = NATIONAL_DEX_UNOWN, @@ -1409,7 +1431,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_DEOXYS_ATTACK - 1] = NATIONAL_DEX_DEOXYS, [SPECIES_DEOXYS_DEFENSE - 1] = NATIONAL_DEX_DEOXYS, [SPECIES_DEOXYS_SPEED - 1] = NATIONAL_DEX_DEOXYS, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 // Burmy [SPECIES_BURMY_SANDY_CLOAK - 1] = NATIONAL_DEX_BURMY, [SPECIES_BURMY_TRASH_CLOAK - 1] = NATIONAL_DEX_BURMY, @@ -1452,6 +1474,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_ARCEUS_DRAGON - 1] = NATIONAL_DEX_ARCEUS, [SPECIES_ARCEUS_DARK - 1] = NATIONAL_DEX_ARCEUS, [SPECIES_ARCEUS_FAIRY - 1] = NATIONAL_DEX_ARCEUS, +#endif +#if P_NEW_POKEMON >= GEN_5 // Basculin [SPECIES_BASCULIN_BLUE_STRIPED - 1] = NATIONAL_DEX_BASCULIN, [SPECIES_BASCULIN_WHITE_STRIPED - 1] = NATIONAL_DEX_BASCULIN, @@ -1470,7 +1494,6 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_TORNADUS_THERIAN - 1] = NATIONAL_DEX_TORNADUS, [SPECIES_THUNDURUS_THERIAN - 1] = NATIONAL_DEX_THUNDURUS, [SPECIES_LANDORUS_THERIAN - 1] = NATIONAL_DEX_LANDORUS, - [SPECIES_ENAMORUS_THERIAN - 1] = NATIONAL_DEX_ENAMORUS, // Kyurem [SPECIES_KYUREM_BLACK - 1] = NATIONAL_DEX_KYUREM, [SPECIES_KYUREM_WHITE - 1] = NATIONAL_DEX_KYUREM, @@ -1483,6 +1506,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_GENESECT_SHOCK_DRIVE - 1] = NATIONAL_DEX_GENESECT, [SPECIES_GENESECT_BURN_DRIVE - 1] = NATIONAL_DEX_GENESECT, [SPECIES_GENESECT_CHILL_DRIVE - 1] = NATIONAL_DEX_GENESECT, +#endif +#if P_NEW_POKEMON >= GEN_6 // Greninja [SPECIES_GRENINJA_BATTLE_BOND - 1] = NATIONAL_DEX_GRENINJA, [SPECIES_GRENINJA_ASH - 1] = NATIONAL_DEX_GRENINJA, @@ -1553,6 +1578,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_ZYGARDE_COMPLETE - 1] = NATIONAL_DEX_ZYGARDE, // Hoopa [SPECIES_HOOPA_UNBOUND - 1] = NATIONAL_DEX_HOOPA, +#endif +#if P_NEW_POKEMON >= GEN_7 // Oricorio [SPECIES_ORICORIO_POM_POM - 1] = NATIONAL_DEX_ORICORIO, [SPECIES_ORICORIO_PAU - 1] = NATIONAL_DEX_ORICORIO, @@ -1604,6 +1631,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_NECROZMA_ULTRA - 1] = NATIONAL_DEX_NECROZMA, // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR - 1] = NATIONAL_DEX_MAGEARNA, +#endif +#if P_NEW_POKEMON >= GEN_8 // Cramorant [SPECIES_CRAMORANT_GULPING - 1] = NATIONAL_DEX_CRAMORANT, [SPECIES_CRAMORANT_GORGING - 1] = NATIONAL_DEX_CRAMORANT, @@ -1641,6 +1670,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = // Calyrex [SPECIES_CALYREX_ICE_RIDER - 1] = NATIONAL_DEX_CALYREX, [SPECIES_CALYREX_SHADOW_RIDER - 1] = NATIONAL_DEX_CALYREX, + [SPECIES_ENAMORUS_THERIAN - 1] = NATIONAL_DEX_ENAMORUS, #endif }; @@ -1678,7 +1708,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(RALTS), HOENN_TO_NATIONAL(KIRLIA), HOENN_TO_NATIONAL(GARDEVOIR), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_TO_NATIONAL(GALLADE), #endif HOENN_TO_NATIONAL(SURSKIT), @@ -1710,7 +1740,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(GRAVELER), HOENN_TO_NATIONAL(GOLEM), HOENN_TO_NATIONAL(NOSEPASS), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_TO_NATIONAL(PROBOPASS), #endif HOENN_TO_NATIONAL(SKITTY), @@ -1736,7 +1766,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(MINUN), HOENN_TO_NATIONAL(MAGNEMITE), HOENN_TO_NATIONAL(MAGNETON), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_TO_NATIONAL(MAGNEZONE), #endif HOENN_TO_NATIONAL(VOLTORB), @@ -1749,7 +1779,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(BELLOSSOM), HOENN_TO_NATIONAL(DODUO), HOENN_TO_NATIONAL(DODRIO), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_TO_NATIONAL(BUDEW), HOENN_TO_NATIONAL(ROSELIA), HOENN_TO_NATIONAL(ROSERADE), @@ -1811,7 +1841,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(BANETTE), HOENN_TO_NATIONAL(DUSKULL), HOENN_TO_NATIONAL(DUSCLOPS), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_TO_NATIONAL(DUSKNOIR), HOENN_TO_NATIONAL(TROPIUS), HOENN_TO_NATIONAL(CHINGLING), @@ -1838,12 +1868,12 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(HERACROSS), HOENN_TO_NATIONAL(RHYHORN), HOENN_TO_NATIONAL(RHYDON), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_TO_NATIONAL(RHYPERIOR), #endif HOENN_TO_NATIONAL(SNORUNT), HOENN_TO_NATIONAL(GLALIE), -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 HOENN_TO_NATIONAL(FROSLASS), #endif HOENN_TO_NATIONAL(SPHEAL), @@ -1923,11 +1953,7 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] = #include "data/pokemon/base_stats.h" #include "data/pokemon/level_up_learnsets.h" #include "data/pokemon/teachable_learnsets.h" -#if P_NEW_POKEMON == TRUE #include "data/pokemon/evolution.h" -#else -#include "data/pokemon/evolution_old.h" -#endif #include "data/pokemon/level_up_learnset_pointers.h" #include "data/pokemon/teachable_learnset_pointers.h" #include "data/pokemon/form_species_tables.h" @@ -2329,7 +2355,6 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_JIRACHI - 1] = ANIM_SWING_CONVEX, [SPECIES_DEOXYS - 1] = ANIM_H_PIVOT, -#if P_NEW_POKEMON == TRUE // Gen 4 [SPECIES_TURTWIG - 1] = ANIM_V_SLIDE, [SPECIES_GROTLE - 1] = ANIM_H_SLIDE, @@ -2882,7 +2907,6 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_ARCEUS_DRAGON - 1] = ANIM_CIRCULAR_VIBRATE, [SPECIES_ARCEUS_DARK - 1] = ANIM_CIRCULAR_VIBRATE, [SPECIES_ARCEUS_FAIRY - 1] = ANIM_CIRCULAR_VIBRATE, -#endif }; static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = @@ -2942,8 +2966,10 @@ static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = [SPECIES_SALAMENCE - 1] = 70, [SPECIES_KYOGRE - 1] = 60, [SPECIES_RAYQUAZA - 1] = 60, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_7 [SPECIES_TAPU_FINI - 1] = 5, +#endif +#if P_NEW_POKEMON >= GEN_4 [SPECIES_ROTOM_FAN - 1] = 7, #endif }; diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 4bbdf07b0..fe71f51ce 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -413,7 +413,7 @@ const u8 *const gMonIconTable[] = [SPECIES_JIRACHI] = gMonIcon_Jirachi, [SPECIES_DEOXYS] = gMonIcon_Deoxys, [SPECIES_CHIMECHO] = gMonIcon_Chimecho, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_TURTWIG] = gMonIcon_Turtwig, [SPECIES_GROTLE] = gMonIcon_Grotle, [SPECIES_TORTERRA] = gMonIcon_Torterra, @@ -521,6 +521,8 @@ const u8 *const gMonIconTable[] = [SPECIES_DARKRAI] = gMonIcon_Darkrai, [SPECIES_SHAYMIN] = gMonIcon_Shaymin, [SPECIES_ARCEUS] = gMonIcon_Arceus, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_VICTINI] = gMonIcon_Victini, [SPECIES_SNIVY] = gMonIcon_Snivy, [SPECIES_SERVINE] = gMonIcon_Servine, @@ -677,6 +679,8 @@ const u8 *const gMonIconTable[] = [SPECIES_KELDEO] = gMonIcon_Keldeo, [SPECIES_MELOETTA] = gMonIcon_Meloetta, [SPECIES_GENESECT] = gMonIcon_Genesect, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_CHESPIN] = gMonIcon_Chespin, [SPECIES_QUILLADIN] = gMonIcon_Quilladin, [SPECIES_CHESNAUGHT] = gMonIcon_Chesnaught, @@ -749,6 +753,8 @@ const u8 *const gMonIconTable[] = [SPECIES_DIANCIE] = gMonIcon_Diancie, [SPECIES_HOOPA] = gMonIcon_Hoopa, [SPECIES_VOLCANION] = gMonIcon_Volcanion, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ROWLET] = gMonIcon_Rowlet, [SPECIES_DARTRIX] = gMonIcon_Dartrix, [SPECIES_DECIDUEYE] = gMonIcon_Decidueye, @@ -837,6 +843,8 @@ const u8 *const gMonIconTable[] = [SPECIES_ZERAORA] = gMonIcon_Zeraora, [SPECIES_MELTAN] = gMonIcon_Meltan, [SPECIES_MELMETAL] = gMonIcon_Melmetal, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_GROOKEY] = gMonIcon_Grookey, [SPECIES_THWACKEY] = gMonIcon_Thwackey, [SPECIES_RILLABOOM] = gMonIcon_Rillaboom, @@ -933,6 +941,7 @@ const u8 *const gMonIconTable[] = [SPECIES_SNEASLER] = gMonIcon_Sneasler, [SPECIES_OVERQWIL] = gMonIcon_Overqwil, [SPECIES_ENAMORUS] = gMonIcon_Enamorus, +#endif [SPECIES_VENUSAUR_MEGA] = gMonIcon_VenusaurMega, [SPECIES_CHARIZARD_MEGA_X] = gMonIcon_CharizardMegaX, [SPECIES_CHARIZARD_MEGA_Y] = gMonIcon_CharizardMegaY, @@ -973,13 +982,19 @@ const u8 *const gMonIconTable[] = [SPECIES_METAGROSS_MEGA] = gMonIcon_MetagrossMega, [SPECIES_LATIAS_MEGA] = gMonIcon_LatiasMega, [SPECIES_LATIOS_MEGA] = gMonIcon_LatiosMega, +#if P_NEW_POKEMON >= GEN_4 [SPECIES_LOPUNNY_MEGA] = gMonIcon_LopunnyMega, [SPECIES_GARCHOMP_MEGA] = gMonIcon_GarchompMega, [SPECIES_LUCARIO_MEGA] = gMonIcon_LucarioMega, [SPECIES_ABOMASNOW_MEGA] = gMonIcon_AbomasnowMega, [SPECIES_GALLADE_MEGA] = gMonIcon_GalladeMega, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_AUDINO_MEGA] = gMonIcon_AudinoMega, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_DIANCIE_MEGA] = gMonIcon_DiancieMega, +#endif [SPECIES_RAYQUAZA_MEGA] = gMonIcon_RayquazaMega, [SPECIES_KYOGRE_PRIMAL] = gMonIcon_KyogrePrimal, [SPECIES_GROUDON_PRIMAL] = gMonIcon_GroudonPrimal, @@ -1016,10 +1031,12 @@ const u8 *const gMonIconTable[] = [SPECIES_CORSOLA_GALARIAN] = gMonIcon_CorsolaGalarian, [SPECIES_ZIGZAGOON_GALARIAN] = gMonIcon_ZigzagoonGalarian, [SPECIES_LINOONE_GALARIAN] = gMonIcon_LinooneGalarian, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_DARUMAKA_GALARIAN] = gMonIcon_DarumakaGalarian, [SPECIES_DARMANITAN_GALARIAN] = gMonIcon_DarmanitanGalarian, [SPECIES_YAMASK_GALARIAN] = gMonIcon_YamaskGalarian, [SPECIES_STUNFISK_GALARIAN] = gMonIcon_StunfiskGalarian, +#endif [SPECIES_GROWLITHE_HISUIAN] = gMonIcon_GrowlitheHisuian, [SPECIES_ARCANINE_HISUIAN] = gMonIcon_ArcanineHisuian, [SPECIES_VOLTORB_HISUIAN] = gMonIcon_VoltorbHisuian, @@ -1027,15 +1044,21 @@ const u8 *const gMonIconTable[] = [SPECIES_TYPHLOSION_HISUIAN] = gMonIcon_TyphlosionHisuian, [SPECIES_QWILFISH_HISUIAN] = gMonIcon_QwilfishHisuian, [SPECIES_SNEASEL_HISUIAN] = gMonIcon_SneaselHisuian, +#if P_NEW_POKEMON >= GEN_5 [SPECIES_SAMUROTT_HISUIAN] = gMonIcon_SamurottHisuian, [SPECIES_LILLIGANT_HISUIAN] = gMonIcon_LilligantHisuian, [SPECIES_ZORUA_HISUIAN] = gMonIcon_ZoruaHisuian, [SPECIES_ZOROARK_HISUIAN] = gMonIcon_ZoroarkHisuian, [SPECIES_BRAVIARY_HISUIAN] = gMonIcon_BraviaryHisuian, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_SLIGGOO_HISUIAN] = gMonIcon_SliggooHisuian, [SPECIES_GOODRA_HISUIAN] = gMonIcon_GoodraHisuian, [SPECIES_AVALUGG_HISUIAN] = gMonIcon_AvaluggHisuian, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_DECIDUEYE_HISUIAN] = gMonIcon_DecidueyeHisuian, +#endif [SPECIES_PIKACHU_COSPLAY] = gMonIcon_PikachuCosplay, [SPECIES_PIKACHU_ROCK_STAR] = gMonIcon_PikachuRockStar, [SPECIES_PIKACHU_BELLE] = gMonIcon_PikachuBelle, @@ -1051,7 +1074,6 @@ const u8 *const gMonIconTable[] = [SPECIES_PIKACHU_PARTNER_CAP] = gMonIcon_PikachuPartnerCap, [SPECIES_PIKACHU_WORLD_CAP] = gMonIcon_QuestionMark, [SPECIES_PICHU_SPIKY_EARED] = gMonIcon_PichuSpikyEared, -#endif [SPECIES_UNOWN_B] = gMonIcon_UnownB, [SPECIES_UNOWN_C] = gMonIcon_UnownC, [SPECIES_UNOWN_D] = gMonIcon_UnownD, @@ -1085,7 +1107,7 @@ const u8 *const gMonIconTable[] = [SPECIES_DEOXYS_ATTACK] = gMonIcon_DeoxysAttack, [SPECIES_DEOXYS_DEFENSE] = gMonIcon_DeoxysDefense, [SPECIES_DEOXYS_SPEED] = gMonIcon_DeoxysSpeed, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_BURMY_SANDY_CLOAK] = gMonIcon_BurmySandyCloak, [SPECIES_BURMY_TRASH_CLOAK] = gMonIcon_BurmyTrashCloak, [SPECIES_WORMADAM_SANDY_CLOAK] = gMonIcon_WormadamSandyCloak, @@ -1119,6 +1141,8 @@ const u8 *const gMonIconTable[] = [SPECIES_ARCEUS_DRAGON] = gMonIcon_Arceus, [SPECIES_ARCEUS_DARK] = gMonIcon_Arceus, [SPECIES_ARCEUS_FAIRY] = gMonIcon_Arceus, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_BASCULIN_BLUE_STRIPED] = gMonIcon_BasculinBlueStriped, [SPECIES_BASCULIN_WHITE_STRIPED] = gMonIcon_BasculinWhiteStriped, [SPECIES_DARMANITAN_ZEN_MODE] = gMonIcon_DarmanitanZenMode, @@ -1132,7 +1156,6 @@ const u8 *const gMonIconTable[] = [SPECIES_TORNADUS_THERIAN] = gMonIcon_TornadusTherian, [SPECIES_THUNDURUS_THERIAN] = gMonIcon_ThundurusTherian, [SPECIES_LANDORUS_THERIAN] = gMonIcon_LandorusTherian, - [SPECIES_ENAMORUS_THERIAN] = gMonIcon_EnamorusTherian, [SPECIES_KYUREM_WHITE] = gMonIcon_KyuremWhite, [SPECIES_KYUREM_BLACK] = gMonIcon_KyuremBlack, [SPECIES_KELDEO_RESOLUTE] = gMonIcon_KeldeoResolute, @@ -1141,6 +1164,8 @@ const u8 *const gMonIconTable[] = [SPECIES_GENESECT_SHOCK_DRIVE] = gMonIcon_Genesect, [SPECIES_GENESECT_BURN_DRIVE] = gMonIcon_Genesect, [SPECIES_GENESECT_CHILL_DRIVE] = gMonIcon_Genesect, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_GRENINJA_BATTLE_BOND] = gMonIcon_Greninja, [SPECIES_GRENINJA_ASH] = gMonIcon_GreninjaAsh, [SPECIES_VIVILLON_POLAR] = gMonIcon_VivillonPolar, @@ -1198,6 +1223,8 @@ const u8 *const gMonIconTable[] = [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = gMonIcon_Zygarde, [SPECIES_ZYGARDE_COMPLETE] = gMonIcon_ZygardeComplete, [SPECIES_HOOPA_UNBOUND] = gMonIcon_HoopaUnbound, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ORICORIO_POM_POM] = gMonIcon_OricorioPomPom, [SPECIES_ORICORIO_PAU] = gMonIcon_OricorioPau, [SPECIES_ORICORIO_SENSU] = gMonIcon_OricorioSensu, @@ -1240,6 +1267,8 @@ const u8 *const gMonIconTable[] = [SPECIES_NECROZMA_DAWN_WINGS] = gMonIcon_NecrozmaDawnWings, [SPECIES_NECROZMA_ULTRA] = gMonIcon_NecrozmaUltra, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = gMonIcon_MagearnaOriginalColor, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_CRAMORANT_GULPING] = gMonIcon_CramorantGulping, [SPECIES_CRAMORANT_GORGING] = gMonIcon_CramorantGorging, [SPECIES_TOXTRICITY_LOW_KEY] = gMonIcon_ToxtricityLowKey, @@ -1263,6 +1292,7 @@ const u8 *const gMonIconTable[] = [SPECIES_ZARUDE_DADA] = gMonIcon_ZarudeDada, [SPECIES_CALYREX_ICE_RIDER] = gMonIcon_CalyrexIceRider, [SPECIES_CALYREX_SHADOW_RIDER] = gMonIcon_CalyrexShadowRider, + [SPECIES_ENAMORUS_THERIAN] = gMonIcon_EnamorusTherian, #endif [SPECIES_EGG] = gMonIcon_Egg, }; @@ -1270,7 +1300,7 @@ const u8 *const gMonIconTable[] = const u8 *const gMonIconTableFemale[] = { [SPECIES_EEVEE] = gMonIcon_Eevee, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_STARLY] = gMonIcon_Starly, [SPECIES_STARAVIA] = gMonIcon_Staravia, [SPECIES_STARAPTOR] = gMonIcon_Staraptor, @@ -1281,10 +1311,16 @@ const u8 *const gMonIconTableFemale[] = [SPECIES_COMBEE] = gMonIcon_Combee, [SPECIES_HIPPOPOTAS] = gMonIcon_Hippopotas, [SPECIES_HIPPOWDON] = gMonIcon_Hippowdon, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_UNFEZANT] = gMonIcon_UnfezantF, [SPECIES_FRILLISH] = gMonIcon_FrillishF, [SPECIES_JELLICENT] = gMonIcon_JellicentF, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_PYROAR] = gMonIcon_PyroarF, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_BASCULEGION] = gMonIcon_BasculegionF, #endif }; @@ -1677,7 +1713,6 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_JIRACHI] = 0, [SPECIES_DEOXYS] = 0, [SPECIES_CHIMECHO] = 0, -#if P_NEW_POKEMON == TRUE [SPECIES_TURTWIG] = 1, [SPECIES_GROTLE] = 1, [SPECIES_TORTERRA] = 1, @@ -2315,7 +2350,6 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_PIKACHU_PARTNER_CAP] = 0, [SPECIES_PIKACHU_WORLD_CAP] = 0, [SPECIES_PICHU_SPIKY_EARED] = 1, -#endif [SPECIES_UNOWN_B ... SPECIES_UNOWN_QMARK] = 0, [SPECIES_CASTFORM_SUNNY] = 0, [SPECIES_CASTFORM_RAINY] = 0, @@ -2323,7 +2357,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_DEOXYS_ATTACK] = 0, [SPECIES_DEOXYS_DEFENSE] = 0, [SPECIES_DEOXYS_SPEED] = 0, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_BURMY_SANDY_CLOAK] = 1, [SPECIES_BURMY_TRASH_CLOAK] = 0, [SPECIES_WORMADAM_SANDY_CLOAK] = 1, @@ -2357,6 +2391,8 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_ARCEUS_DRAGON] = 1, [SPECIES_ARCEUS_DARK] = 1, [SPECIES_ARCEUS_FAIRY] = 1, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_BASCULIN_BLUE_STRIPED] = 0, [SPECIES_BASCULIN_WHITE_STRIPED] = 0, [SPECIES_DARMANITAN_ZEN_MODE] = 0, @@ -2370,7 +2406,6 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_TORNADUS_THERIAN] = 1, [SPECIES_THUNDURUS_THERIAN] = 0, [SPECIES_LANDORUS_THERIAN] = 0, - [SPECIES_ENAMORUS_THERIAN] = 1, [SPECIES_KYUREM_WHITE] = 0, [SPECIES_KYUREM_BLACK] = 0, [SPECIES_KELDEO_RESOLUTE] = 0, @@ -2379,6 +2414,8 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_GENESECT_SHOCK_DRIVE] = 2, [SPECIES_GENESECT_BURN_DRIVE] = 2, [SPECIES_GENESECT_CHILL_DRIVE] = 2, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_GRENINJA_BATTLE_BOND] = 0, [SPECIES_GRENINJA_ASH] = 0, [SPECIES_VIVILLON_POLAR] = 0, @@ -2436,6 +2473,8 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = 1, [SPECIES_ZYGARDE_COMPLETE] = 1, [SPECIES_HOOPA_UNBOUND] = 0, +#endif +#if P_NEW_POKEMON >= GEN_7 [SPECIES_ORICORIO_POM_POM] = 1, [SPECIES_ORICORIO_PAU] = 1, [SPECIES_ORICORIO_SENSU] = 0, @@ -2472,6 +2511,8 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_NECROZMA_DAWN_WINGS] = 0, [SPECIES_NECROZMA_ULTRA] = 2, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = 0, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_CRAMORANT_GULPING] = 0, [SPECIES_CRAMORANT_GORGING] = 0, [SPECIES_TOXTRICITY_LOW_KEY] = 2, @@ -2495,6 +2536,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_ZARUDE_DADA] = 1, [SPECIES_CALYREX_ICE_RIDER] = 0, [SPECIES_CALYREX_SHADOW_RIDER] = 0, + [SPECIES_ENAMORUS_THERIAN] = 1, #endif [SPECIES_EGG] = 1, }; @@ -2502,7 +2544,7 @@ const u8 gMonIconPaletteIndices[] = const u8 gMonIconPaletteIndicesFemale[] = { [SPECIES_EEVEE] = 2, -#if P_NEW_POKEMON == TRUE +#if P_NEW_POKEMON >= GEN_4 [SPECIES_STARLY] = 0, [SPECIES_STARAVIA] = 0, [SPECIES_BIDOOF] = 2, @@ -2512,10 +2554,16 @@ const u8 gMonIconPaletteIndicesFemale[] = [SPECIES_COMBEE] = 0, [SPECIES_HIPPOPOTAS] = 1, [SPECIES_HIPPOWDON] = 1, +#endif +#if P_NEW_POKEMON >= GEN_5 [SPECIES_UNFEZANT] = 1, [SPECIES_FRILLISH] = 1, [SPECIES_JELLICENT] = 1, +#endif +#if P_NEW_POKEMON >= GEN_6 [SPECIES_PYROAR] = 2, +#endif +#if P_NEW_POKEMON >= GEN_8 [SPECIES_BASCULEGION] = 0, #endif }; From e9a5442be571c2760de530a54c7e8c4555fa846e Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 30 Aug 2022 08:18:33 -0400 Subject: [PATCH 026/147] Removed unused ITEM_EXPANSION constants from base stats --- src/data/pokemon/base_stats.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 274d3faad..8c93d2c60 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -25261,9 +25261,7 @@ const struct BaseStats gBaseStats[] = .catchRate = 75, .expYield = 168, .evYield_Attack = 2, - #ifdef ITEM_EXPANSION - .itemRare = ITEM_ABSORB_BULB, - #endif + .itemRare = ITEM_ABSORB_BULB, .genderRatio = MON_FEMALE, .eggCycles = 20, .friendship = 70, @@ -25366,9 +25364,7 @@ const struct BaseStats gBaseStats[] = .catchRate = 45, .expYield = 158, .evYield_SpDefense = 2, - #ifdef ITEM_EXPANSION - .itemRare = ITEM_SHED_SHELL, - #endif + .itemRare = ITEM_SHED_SHELL, .genderRatio = PERCENT_FEMALE(50), .eggCycles = 40, .friendship = 35, From 925384eedc6bd39bdb428ad54384b0223a3d0ef9 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 30 Aug 2022 12:26:53 -0400 Subject: [PATCH 027/147] =?UTF-8?q?Generations=20of=20Pok=C3=A9mon=20can?= =?UTF-8?q?=20now=20be=20disabled=20individually?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/constants/pokedex.h | 41 ++-- include/constants/pokemon_config.h | 10 +- include/graphics.h | 182 +++++++++--------- sound/cry_tables.inc | 68 +++---- sound/direct_sound_data.inc | 26 +-- src/data/graphics/pokemon.h | 180 ++++++++--------- src/data/pokemon/base_stats.h | 34 ++-- src/data/pokemon/egg_moves.h | 12 +- src/data/pokemon/evolution.h | 60 +++--- src/data/pokemon/form_change_table_pointers.h | 10 +- src/data/pokemon/form_change_tables.h | 10 +- .../pokemon/form_species_table_pointers.h | 37 ++-- src/data/pokemon/form_species_tables.h | 23 +-- src/data/pokemon/level_up_learnset_pointers.h | 34 ++-- src/data/pokemon/level_up_learnsets.h | 28 +-- src/data/pokemon/pokedex_entries.h | 10 +- src/data/pokemon/pokedex_text.h | 10 +- .../pokemon/teachable_learnset_pointers.h | 34 ++-- src/data/pokemon/teachable_learnsets.h | 26 +-- .../pokemon_graphics/back_pic_coordinates.h | 34 ++-- src/data/pokemon_graphics/back_pic_table.h | 42 ++-- src/data/pokemon_graphics/footprint_table.h | 10 +- src/data/pokemon_graphics/front_pic_anims.h | 102 +++++----- .../pokemon_graphics/front_pic_coordinates.h | 34 ++-- src/data/pokemon_graphics/front_pic_table.h | 42 ++-- src/data/pokemon_graphics/palette_table.h | 42 ++-- .../pokemon_graphics/shiny_palette_table.h | 42 ++-- src/data/text/species_names.h | 34 ++-- src/pokemon.c | 66 +++---- src/pokemon_icon.c | 60 +++--- 30 files changed, 681 insertions(+), 662 deletions(-) diff --git a/include/constants/pokedex.h b/include/constants/pokedex.h index 93306a7c3..39c09c312 100644 --- a/include/constants/pokedex.h +++ b/include/constants/pokedex.h @@ -2,7 +2,8 @@ #define GUARD_CONSTANTS_POKEDEX_H #include "constants/pokemon_config.h" -// National Pokedex order. Gen 4+ mon are not disabled by P_NEW_POKEMON to keep pokedex_orders.h clean. +// National Pokedex order. +// These constants are NOT disabled by P_GEN_X_POKEMON to keep pokedex_orders.h clean. enum { NATIONAL_DEX_NONE, // Kanto @@ -923,19 +924,21 @@ enum { #define KANTO_DEX_COUNT NATIONAL_DEX_MEW #define JOHTO_DEX_COUNT NATIONAL_DEX_CELEBI -#if P_NEW_POKEMON >= GEN_8 -#define NATIONAL_DEX_COUNT NATIONAL_DEX_ENAMORUS -#elif P_NEW_POKEMON >= GEN_7 -#define NATIONAL_DEX_COUNT NATIONAL_DEX_MELMETAL -#elif P_NEW_POKEMON >= GEN_6 -#define NATIONAL_DEX_COUNT NATIONAL_DEX_VOLCANION -#elif P_NEW_POKEMON >= GEN_5 -#define NATIONAL_DEX_COUNT NATIONAL_DEX_GENESECT -#elif P_NEW_POKEMON >= GEN_4 -#define NATIONAL_DEX_COUNT NATIONAL_DEX_ARCEUS + +#if P_GEN_8_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_ENAMORUS +#elif P_GEN_7_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_MELMETAL +#elif P_GEN_6_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_VOLCANION +#elif P_GEN_5_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_GENESECT +#elif P_GEN_4_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_ARCEUS #else -#define NATIONAL_DEX_COUNT NATIONAL_DEX_DEOXYS + #define NATIONAL_DEX_COUNT NATIONAL_DEX_DEOXYS #endif + #define POKEMON_SLOTS_NUMBER (NATIONAL_DEX_COUNT + 1) // Hoenn Pokedex order @@ -972,7 +975,7 @@ enum { HOENN_DEX_RALTS, HOENN_DEX_KIRLIA, HOENN_DEX_GARDEVOIR, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_GALLADE, #endif HOENN_DEX_SURSKIT, @@ -1004,7 +1007,7 @@ enum { HOENN_DEX_GRAVELER, HOENN_DEX_GOLEM, HOENN_DEX_NOSEPASS, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_PROBOPASS, #endif HOENN_DEX_SKITTY, @@ -1030,7 +1033,7 @@ enum { HOENN_DEX_MINUN, HOENN_DEX_MAGNEMITE, HOENN_DEX_MAGNETON, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_MAGNEZONE, #endif HOENN_DEX_VOLTORB, @@ -1043,7 +1046,7 @@ enum { HOENN_DEX_BELLOSSOM, HOENN_DEX_DODUO, HOENN_DEX_DODRIO, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_BUDEW, HOENN_DEX_ROSELIA, HOENN_DEX_ROSERADE, @@ -1105,7 +1108,7 @@ enum { HOENN_DEX_BANETTE, HOENN_DEX_DUSKULL, HOENN_DEX_DUSCLOPS, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_DUSKNOIR, HOENN_DEX_TROPIUS, HOENN_DEX_CHINGLING, @@ -1132,12 +1135,12 @@ enum { HOENN_DEX_HERACROSS, HOENN_DEX_RHYHORN, HOENN_DEX_RHYDON, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_RHYPERIOR, #endif HOENN_DEX_SNORUNT, HOENN_DEX_GLALIE, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_FROSLASS, #endif HOENN_DEX_SPHEAL, diff --git a/include/constants/pokemon_config.h b/include/constants/pokemon_config.h index 830975500..4826a7c46 100644 --- a/include/constants/pokemon_config.h +++ b/include/constants/pokemon_config.h @@ -19,7 +19,15 @@ #define P_KADABRA_EVERSTONE GEN_8 // Since Gen 4, Kadabra can evolve even when holding an Everstone. #define P_NIDORAN_M_DITTO_BREED GEN_8 // Since Gen 5, when Nidoran♂ breeds with Ditto it can produce Nidoran♀ offspring. Before, it would only yield male offspring. This change also applies to Volbeat. -#define P_NEW_POKEMON GEN_8 // Changing this will disable Pokémon added past the Generation set here. Eg: Setting it to GEN_4 will ignore all Gen5+ mon. All forms of a mon are kept. Eg: GEN_3 will have all Pikachu Forms. +// Modifying the latest generation WILL change the saveblock due to Dex flags and will require a new save file. +// Forms are kept based on the base species, Eg: Meowth and Persian will keep all of their forms, but Perrserker will not be available if P_GEN_8_POKEMON is set to FALSE. +// If you're disabling a generation previous to others (eg: Gen 5 but not Gen 6, 7 and 8), +// remember to update NATIONAL_DEX enum in include/constants/pokedex.h to avoid players from softlocking in the non-existant entries. +#define P_GEN_4_POKEMON TRUE // Generation 4 Pokémon (DPPt, HGSS) +#define P_GEN_5_POKEMON TRUE // Generation 5 Pokémon (BW, B2W2) +#define P_GEN_6_POKEMON TRUE // Generation 6 Pokémon (XY, ORAS) +#define P_GEN_7_POKEMON TRUE // Generation 7 Pokémon (SM, USUM) +#define P_GEN_8_POKEMON TRUE // Generation 8 Pokémon (SwSh, BDSP, LA) #define P_ENABLE_DEBUG TRUE // Enables a debug menu for pokemon sprites and icons, accessed by pressing SELECT in the summary screen. diff --git a/include/graphics.h b/include/graphics.h index d41318c06..a55832da7 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -454,7 +454,7 @@ extern const u32 gMonFrontPic_Groudon[]; extern const u32 gMonFrontPic_Rayquaza[]; extern const u32 gMonFrontPic_Jirachi[]; extern const u32 gMonFrontPic_Deoxys[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonFrontPic_Turtwig[]; extern const u32 gMonFrontPic_Grotle[]; extern const u32 gMonFrontPic_Torterra[]; @@ -572,7 +572,7 @@ extern const u32 gMonFrontPic_Darkrai[]; extern const u32 gMonFrontPic_Shaymin[]; extern const u32 gMonFrontPic_Arceus[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_Victini[]; extern const u32 gMonFrontPic_Snivy[]; extern const u32 gMonFrontPic_Servine[]; @@ -733,7 +733,7 @@ extern const u32 gMonFrontPic_Keldeo[]; extern const u32 gMonFrontPic_Meloetta[]; extern const u32 gMonFrontPic_Genesect[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonFrontPic_Chespin[]; extern const u32 gMonFrontPic_Quilladin[]; extern const u32 gMonFrontPic_Chesnaught[]; @@ -808,7 +808,7 @@ extern const u32 gMonFrontPic_Diancie[]; extern const u32 gMonFrontPic_Hoopa[]; extern const u32 gMonFrontPic_Volcanion[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonFrontPic_Rowlet[]; extern const u32 gMonFrontPic_Dartrix[]; extern const u32 gMonFrontPic_Decidueye[]; @@ -898,7 +898,7 @@ extern const u32 gMonFrontPic_Zeraora[]; extern const u32 gMonFrontPic_Meltan[]; extern const u32 gMonFrontPic_Melmetal[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonFrontPic_Grookey[]; extern const u32 gMonFrontPic_Thwackey[]; extern const u32 gMonFrontPic_Rillaboom[]; @@ -1037,17 +1037,17 @@ extern const u32 gMonFrontPic_SalamenceMega[]; extern const u32 gMonFrontPic_MetagrossMega[]; extern const u32 gMonFrontPic_LatiasMega[]; extern const u32 gMonFrontPic_LatiosMega[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonFrontPic_LopunnyMega[]; extern const u32 gMonFrontPic_GarchompMega[]; extern const u32 gMonFrontPic_LucarioMega[]; extern const u32 gMonFrontPic_AbomasnowMega[]; extern const u32 gMonFrontPic_GalladeMega[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_AudinoMega[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonFrontPic_DiancieMega[]; #endif extern const u32 gMonFrontPic_RayquazaMega[]; @@ -1086,7 +1086,7 @@ extern const u32 gMonFrontPic_SlowkingGalarian[]; extern const u32 gMonFrontPic_CorsolaGalarian[]; extern const u32 gMonFrontPic_ZigzagoonGalarian[]; extern const u32 gMonFrontPic_LinooneGalarian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_DarumakaGalarian[]; extern const u32 gMonFrontPic_DarmanitanGalarian[]; extern const u32 gMonFrontPic_YamaskGalarian[]; @@ -1099,19 +1099,19 @@ extern const u32 gMonFrontPic_ElectrodeHisuian[]; extern const u32 gMonFrontPic_TyphlosionHisuian[]; extern const u32 gMonFrontPic_QwilfishHisuian[]; extern const u32 gMonFrontPic_SneaselHisuian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE //extern const u32 gMonFrontPic_SamurottHisuian[]; extern const u32 gMonFrontPic_LilligantHisuian[]; extern const u32 gMonFrontPic_ZoruaHisuian[]; extern const u32 gMonFrontPic_ZoroarkHisuian[]; extern const u32 gMonFrontPic_BraviaryHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonFrontPic_SliggooHisuian[]; extern const u32 gMonFrontPic_GoodraHisuian[]; extern const u32 gMonFrontPic_AvaluggHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE //extern const u32 gMonFrontPic_DecidueyeHisuian[]; #endif extern const u32 gMonFrontPic_PikachuCosplay[]; @@ -1162,7 +1162,7 @@ extern const u32 gMonFrontPic_CastformSnowy[]; extern const u32 gMonFrontPic_DeoxysAttack[]; extern const u32 gMonFrontPic_DeoxysDefense[]; extern const u32 gMonFrontPic_DeoxysSpeed[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonFrontPic_BurmySandyCloak[]; extern const u32 gMonFrontPic_BurmyTrashCloak[]; extern const u32 gMonFrontPic_WormadamSandyCloak[]; @@ -1180,7 +1180,7 @@ extern const u32 gMonFrontPic_PalkiaOrigin[]; extern const u32 gMonFrontPic_GiratinaOrigin[]; extern const u32 gMonFrontPic_ShayminSky[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_BasculinBlueStriped[]; extern const u32 gMonFrontPic_BasculinWhiteStriped[]; extern const u32 gMonFrontPic_DarmanitanZenMode[]; @@ -1192,13 +1192,13 @@ extern const u32 gMonFrontPic_TornadusTherian[]; extern const u32 gMonFrontPic_ThundurusTherian[]; extern const u32 gMonFrontPic_LandorusTherian[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_KyuremWhite[]; extern const u32 gMonFrontPic_KyuremBlack[]; extern const u32 gMonFrontPic_KeldeoResolute[]; extern const u32 gMonFrontPic_MeloettaPirouette[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonFrontPic_GreninjaAsh[]; extern const u32 gMonFrontPic_VivillonPolar[]; extern const u32 gMonFrontPic_VivillonTundra[]; @@ -1242,7 +1242,7 @@ extern const u32 gMonFrontPic_Zygarde10[]; extern const u32 gMonFrontPic_ZygardeComplete[]; extern const u32 gMonFrontPic_HoopaUnbound[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonFrontPic_OricorioPomPom[]; extern const u32 gMonFrontPic_OricorioPau[]; extern const u32 gMonFrontPic_OricorioSensu[]; @@ -1256,7 +1256,7 @@ extern const u32 gMonFrontPic_NecrozmaDawnWings[]; extern const u32 gMonFrontPic_NecrozmaUltra[]; extern const u32 gMonFrontPic_MagearnaOriginalColor[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonFrontPic_CramorantGulping[]; extern const u32 gMonFrontPic_CramorantGorging[]; extern const u32 gMonFrontPic_ToxtricityLowKey[]; @@ -1671,7 +1671,7 @@ extern const u32 gMonBackPic_Groudon[]; extern const u32 gMonBackPic_Rayquaza[]; extern const u32 gMonBackPic_Jirachi[]; extern const u32 gMonBackPic_Deoxys[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonBackPic_Turtwig[]; extern const u32 gMonBackPic_Grotle[]; extern const u32 gMonBackPic_Torterra[]; @@ -1788,7 +1788,7 @@ extern const u32 gMonBackPic_Darkrai[]; extern const u32 gMonBackPic_Shaymin[]; extern const u32 gMonBackPic_Arceus[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonBackPic_Victini[]; extern const u32 gMonBackPic_Snivy[]; extern const u32 gMonBackPic_Servine[]; @@ -1949,7 +1949,7 @@ extern const u32 gMonBackPic_Keldeo[]; extern const u32 gMonBackPic_Meloetta[]; extern const u32 gMonBackPic_Genesect[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonBackPic_Chespin[]; extern const u32 gMonBackPic_Quilladin[]; extern const u32 gMonBackPic_Chesnaught[]; @@ -2024,7 +2024,7 @@ extern const u32 gMonBackPic_Diancie[]; extern const u32 gMonBackPic_Hoopa[]; extern const u32 gMonBackPic_Volcanion[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonBackPic_Rowlet[]; extern const u32 gMonBackPic_Dartrix[]; extern const u32 gMonBackPic_Decidueye[]; @@ -2114,7 +2114,7 @@ extern const u32 gMonBackPic_Zeraora[]; extern const u32 gMonBackPic_Meltan[]; extern const u32 gMonBackPic_Melmetal[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonBackPic_Grookey[]; extern const u32 gMonBackPic_Thwackey[]; extern const u32 gMonBackPic_Rillaboom[]; @@ -2253,17 +2253,17 @@ extern const u32 gMonBackPic_SalamenceMega[]; extern const u32 gMonBackPic_MetagrossMega[]; extern const u32 gMonBackPic_LatiasMega[]; extern const u32 gMonBackPic_LatiosMega[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonBackPic_LopunnyMega[]; extern const u32 gMonBackPic_GarchompMega[]; extern const u32 gMonBackPic_LucarioMega[]; extern const u32 gMonBackPic_AbomasnowMega[]; extern const u32 gMonBackPic_GalladeMega[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonBackPic_AudinoMega[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonBackPic_DiancieMega[]; #endif extern const u32 gMonBackPic_RayquazaMega[]; @@ -2302,7 +2302,7 @@ extern const u32 gMonBackPic_SlowkingGalarian[]; extern const u32 gMonBackPic_CorsolaGalarian[]; extern const u32 gMonBackPic_ZigzagoonGalarian[]; extern const u32 gMonBackPic_LinooneGalarian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonBackPic_DarumakaGalarian[]; extern const u32 gMonBackPic_DarmanitanGalarian[]; extern const u32 gMonBackPic_YamaskGalarian[]; @@ -2315,19 +2315,19 @@ extern const u32 gMonBackPic_ElectrodeHisuian[]; extern const u32 gMonBackPic_TyphlosionHisuian[]; extern const u32 gMonBackPic_QwilfishHisuian[]; extern const u32 gMonBackPic_SneaselHisuian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE //extern const u32 gMonBackPic_SamurottHisuian[]; extern const u32 gMonBackPic_LilligantHisuian[]; extern const u32 gMonBackPic_ZoruaHisuian[]; extern const u32 gMonBackPic_ZoroarkHisuian[]; extern const u32 gMonBackPic_BraviaryHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonBackPic_SliggooHisuian[]; extern const u32 gMonBackPic_GoodraHisuian[]; extern const u32 gMonBackPic_AvaluggHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE //extern const u32 gMonBackPic_DecidueyeHisuian[]; #endif extern const u32 gMonBackPic_PikachuCosplay[]; @@ -2378,7 +2378,7 @@ extern const u32 gMonBackPic_CastformSnowy[]; extern const u32 gMonBackPic_DeoxysAttack[]; extern const u32 gMonBackPic_DeoxysDefense[]; extern const u32 gMonBackPic_DeoxysSpeed[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonBackPic_BurmySandyCloak[]; extern const u32 gMonBackPic_BurmyTrashCloak[]; extern const u32 gMonBackPic_WormadamSandyCloak[]; @@ -2396,7 +2396,7 @@ extern const u32 gMonBackPic_PalkiaOrigin[]; extern const u32 gMonBackPic_GiratinaOrigin[]; extern const u32 gMonBackPic_ShayminSky[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonBackPic_BasculinBlueStriped[]; extern const u32 gMonBackPic_BasculinWhiteStriped[]; extern const u32 gMonBackPic_DarmanitanZenMode[]; @@ -2412,7 +2412,7 @@ extern const u32 gMonBackPic_KyuremBlack[]; extern const u32 gMonBackPic_KeldeoResolute[]; extern const u32 gMonBackPic_MeloettaPirouette[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonBackPic_GreninjaAsh[]; extern const u32 gMonBackPic_VivillonPolar[]; extern const u32 gMonBackPic_VivillonTundra[]; @@ -2456,7 +2456,7 @@ extern const u32 gMonBackPic_Zygarde10[]; extern const u32 gMonBackPic_ZygardeComplete[]; extern const u32 gMonBackPic_HoopaUnbound[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonBackPic_OricorioPomPom[]; extern const u32 gMonBackPic_OricorioPau[]; extern const u32 gMonBackPic_OricorioSensu[]; @@ -2470,7 +2470,7 @@ extern const u32 gMonBackPic_NecrozmaDawnWings[]; extern const u32 gMonBackPic_NecrozmaUltra[]; extern const u32 gMonBackPic_MagearnaOriginalColor[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonBackPic_CramorantGulping[]; extern const u32 gMonBackPic_CramorantGorging[]; extern const u32 gMonBackPic_ToxtricityLowKey[]; @@ -2883,7 +2883,7 @@ extern const u32 gMonPalette_Groudon[]; extern const u32 gMonPalette_Rayquaza[]; extern const u32 gMonPalette_Jirachi[]; extern const u32 gMonPalette_Deoxys[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonPalette_Turtwig[]; extern const u32 gMonPalette_Grotle[]; extern const u32 gMonPalette_Torterra[]; @@ -2994,7 +2994,7 @@ extern const u32 gMonPalette_Darkrai[]; extern const u32 gMonPalette_Shaymin[]; extern const u32 gMonPalette_Arceus[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonPalette_Victini[]; extern const u32 gMonPalette_Snivy[]; extern const u32 gMonPalette_Servine[]; @@ -3155,7 +3155,7 @@ extern const u32 gMonPalette_Keldeo[]; extern const u32 gMonPalette_Meloetta[]; extern const u32 gMonPalette_Genesect[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonPalette_Chespin[]; extern const u32 gMonPalette_Quilladin[]; extern const u32 gMonPalette_Chesnaught[]; @@ -3230,7 +3230,7 @@ extern const u32 gMonPalette_Diancie[]; extern const u32 gMonPalette_Hoopa[]; extern const u32 gMonPalette_Volcanion[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonPalette_Rowlet[]; extern const u32 gMonPalette_Dartrix[]; extern const u32 gMonPalette_Decidueye[]; @@ -3320,7 +3320,7 @@ extern const u32 gMonPalette_Zeraora[]; extern const u32 gMonPalette_Meltan[]; extern const u32 gMonPalette_Melmetal[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonPalette_Grookey[]; extern const u32 gMonPalette_Thwackey[]; extern const u32 gMonPalette_Rillaboom[]; @@ -3459,17 +3459,17 @@ extern const u32 gMonPalette_SalamenceMega[]; extern const u32 gMonPalette_MetagrossMega[]; extern const u32 gMonPalette_LatiasMega[]; extern const u32 gMonPalette_LatiosMega[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonPalette_LopunnyMega[]; extern const u32 gMonPalette_GarchompMega[]; extern const u32 gMonPalette_LucarioMega[]; extern const u32 gMonPalette_AbomasnowMega[]; extern const u32 gMonPalette_GalladeMega[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonPalette_AudinoMega[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonPalette_DiancieMega[]; #endif extern const u32 gMonPalette_RayquazaMega[]; @@ -3508,7 +3508,7 @@ extern const u32 gMonPalette_SlowkingGalarian[]; extern const u32 gMonPalette_CorsolaGalarian[]; extern const u32 gMonPalette_ZigzagoonGalarian[]; extern const u32 gMonPalette_LinooneGalarian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonPalette_DarumakaGalarian[]; extern const u32 gMonPalette_DarmanitanGalarian[]; extern const u32 gMonPalette_YamaskGalarian[]; @@ -3521,19 +3521,19 @@ extern const u32 gMonPalette_ElectrodeHisuian[]; extern const u32 gMonPalette_TyphlosionHisuian[]; extern const u32 gMonPalette_QwilfishHisuian[]; extern const u32 gMonPalette_SneaselHisuian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE //extern const u32 gMonPalette_SamurottHisuian[]; extern const u32 gMonPalette_LilligantHisuian[]; extern const u32 gMonPalette_ZoruaHisuian[]; extern const u32 gMonPalette_ZoroarkHisuian[]; extern const u32 gMonPalette_BraviaryHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonPalette_SliggooHisuian[]; extern const u32 gMonPalette_GoodraHisuian[]; extern const u32 gMonPalette_AvaluggHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE //extern const u32 gMonPalette_DecidueyeHisuian[]; #endif extern const u32 gMonPalette_PikachuCosplay[]; @@ -3557,7 +3557,7 @@ extern const u32 gMonPalette_CastformSnowy[]; extern const u32 gMonPalette_DeoxysAttack[]; extern const u32 gMonPalette_DeoxysDefense[]; extern const u32 gMonPalette_DeoxysSpeed[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonPalette_BurmySandyCloak[]; extern const u32 gMonPalette_BurmyTrashCloak[]; extern const u32 gMonPalette_WormadamSandyCloak[]; @@ -3592,7 +3592,7 @@ extern const u32 gMonPalette_ArceusDragon[]; extern const u32 gMonPalette_ArceusDark[]; extern const u32 gMonPalette_ArceusFairy[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonPalette_BasculinBlueStriped[]; extern const u32 gMonPalette_BasculinWhiteStriped[]; extern const u32 gMonPalette_DarmanitanZenMode[]; @@ -3615,7 +3615,7 @@ extern const u32 gMonPalette_GenesectShockDrive[]; extern const u32 gMonPalette_GenesectBurnDrive[]; extern const u32 gMonPalette_GenesectChillDrive[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonPalette_GreninjaAsh[]; extern const u32 gMonPalette_VivillonPolar[]; extern const u32 gMonPalette_VivillonTundra[]; @@ -3665,7 +3665,7 @@ extern const u32 gMonPalette_Zygarde10[]; extern const u32 gMonPalette_ZygardeComplete[]; extern const u32 gMonPalette_HoopaUnbound[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonPalette_OricorioPomPom[]; extern const u32 gMonPalette_OricorioPau[]; extern const u32 gMonPalette_OricorioSensu[]; @@ -3702,7 +3702,7 @@ extern const u32 gMonPalette_NecrozmaDawnWings[]; extern const u32 gMonPalette_NecrozmaUltra[]; extern const u32 gMonPalette_MagearnaOriginalColor[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonPalette_CramorantGulping[]; extern const u32 gMonPalette_CramorantGorging[]; extern const u32 gMonPalette_ToxtricityLowKey[]; @@ -4116,7 +4116,7 @@ extern const u32 gMonShinyPalette_Groudon[]; extern const u32 gMonShinyPalette_Rayquaza[]; extern const u32 gMonShinyPalette_Jirachi[]; extern const u32 gMonShinyPalette_Deoxys[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonShinyPalette_Turtwig[]; extern const u32 gMonShinyPalette_Grotle[]; extern const u32 gMonShinyPalette_Torterra[]; @@ -4228,7 +4228,7 @@ extern const u32 gMonShinyPalette_Darkrai[]; extern const u32 gMonShinyPalette_Shaymin[]; extern const u32 gMonShinyPalette_Arceus[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonShinyPalette_Victini[]; extern const u32 gMonShinyPalette_Snivy[]; extern const u32 gMonShinyPalette_Servine[]; @@ -4389,7 +4389,7 @@ extern const u32 gMonShinyPalette_Keldeo[]; extern const u32 gMonShinyPalette_Meloetta[]; extern const u32 gMonShinyPalette_Genesect[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonShinyPalette_Chespin[]; extern const u32 gMonShinyPalette_Quilladin[]; extern const u32 gMonShinyPalette_Chesnaught[]; @@ -4464,7 +4464,7 @@ extern const u32 gMonShinyPalette_Diancie[]; extern const u32 gMonShinyPalette_Hoopa[]; extern const u32 gMonShinyPalette_Volcanion[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonShinyPalette_Rowlet[]; extern const u32 gMonShinyPalette_Dartrix[]; extern const u32 gMonShinyPalette_Decidueye[]; @@ -4554,7 +4554,7 @@ extern const u32 gMonShinyPalette_Zeraora[]; extern const u32 gMonShinyPalette_Meltan[]; extern const u32 gMonShinyPalette_Melmetal[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonShinyPalette_Grookey[]; extern const u32 gMonShinyPalette_Thwackey[]; extern const u32 gMonShinyPalette_Rillaboom[]; @@ -4693,17 +4693,17 @@ extern const u32 gMonShinyPalette_SalamenceMega[]; extern const u32 gMonShinyPalette_MetagrossMega[]; extern const u32 gMonShinyPalette_LatiasMega[]; extern const u32 gMonShinyPalette_LatiosMega[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonShinyPalette_LopunnyMega[]; extern const u32 gMonShinyPalette_GarchompMega[]; extern const u32 gMonShinyPalette_LucarioMega[]; extern const u32 gMonShinyPalette_AbomasnowMega[]; extern const u32 gMonShinyPalette_GalladeMega[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonShinyPalette_AudinoMega[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonShinyPalette_DiancieMega[]; #endif extern const u32 gMonShinyPalette_RayquazaMega[]; @@ -4742,7 +4742,7 @@ extern const u32 gMonShinyPalette_SlowkingGalarian[]; extern const u32 gMonShinyPalette_CorsolaGalarian[]; extern const u32 gMonShinyPalette_ZigzagoonGalarian[]; extern const u32 gMonShinyPalette_LinooneGalarian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonShinyPalette_DarumakaGalarian[]; extern const u32 gMonShinyPalette_DarmanitanGalarian[]; extern const u32 gMonShinyPalette_YamaskGalarian[]; @@ -4755,19 +4755,19 @@ extern const u32 gMonShinyPalette_ElectrodeHisuian[]; extern const u32 gMonShinyPalette_TyphlosionHisuian[]; extern const u32 gMonShinyPalette_QwilfishHisuian[]; extern const u32 gMonShinyPalette_SneaselHisuian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE //extern const u32 gMonShinyPalette_SamurottHisuian[]; extern const u32 gMonShinyPalette_LilligantHisuian[]; extern const u32 gMonShinyPalette_ZoruaHisuian[]; extern const u32 gMonShinyPalette_ZoroarkHisuian[]; extern const u32 gMonShinyPalette_BraviaryHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonShinyPalette_SliggooHisuian[]; extern const u32 gMonShinyPalette_GoodraHisuian[]; extern const u32 gMonShinyPalette_AvaluggHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE //extern const u32 gMonShinyPalette_DecidueyeHisuian[]; #endif extern const u32 gMonShinyPalette_PikachuCosplay[]; @@ -4791,7 +4791,7 @@ extern const u32 gMonShinyPalette_CastformSnowy[]; extern const u32 gMonShinyPalette_DeoxysAttack[]; extern const u32 gMonShinyPalette_DeoxysDefense[]; extern const u32 gMonShinyPalette_DeoxysSpeed[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonShinyPalette_BurmySandyCloak[]; extern const u32 gMonShinyPalette_BurmyTrashCloak[]; extern const u32 gMonShinyPalette_WormadamSandyCloak[]; @@ -4826,7 +4826,7 @@ extern const u32 gMonShinyPalette_ArceusDragon[]; extern const u32 gMonShinyPalette_ArceusDark[]; extern const u32 gMonShinyPalette_ArceusFairy[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonShinyPalette_BasculinBlueStriped[]; extern const u32 gMonShinyPalette_BasculinWhiteStriped[]; extern const u32 gMonShinyPalette_DarmanitanZenMode[]; @@ -4849,7 +4849,7 @@ extern const u32 gMonShinyPalette_GenesectShockDrive[]; extern const u32 gMonShinyPalette_GenesectBurnDrive[]; extern const u32 gMonShinyPalette_GenesectChillDrive[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonShinyPalette_GreninjaAsh[]; extern const u32 gMonShinyPalette_VivillonPolar[]; extern const u32 gMonShinyPalette_VivillonTundra[]; @@ -4899,7 +4899,7 @@ extern const u32 gMonShinyPalette_Zygarde10[]; extern const u32 gMonShinyPalette_ZygardeComplete[]; extern const u32 gMonShinyPalette_HoopaUnbound[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonShinyPalette_OricorioPomPom[]; extern const u32 gMonShinyPalette_OricorioPau[]; extern const u32 gMonShinyPalette_OricorioSensu[]; @@ -4930,7 +4930,7 @@ extern const u32 gMonShinyPalette_NecrozmaDawnWings[]; extern const u32 gMonShinyPalette_NecrozmaUltra[]; extern const u32 gMonShinyPalette_MagearnaOriginalColor[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonShinyPalette_CramorantGulping[]; extern const u32 gMonShinyPalette_CramorantGorging[]; extern const u32 gMonShinyPalette_ToxtricityLowKey[]; @@ -5342,7 +5342,7 @@ extern const u8 gMonIcon_Groudon[]; extern const u8 gMonIcon_Rayquaza[]; extern const u8 gMonIcon_Jirachi[]; extern const u8 gMonIcon_Deoxys[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u8 gMonIcon_Turtwig[]; extern const u8 gMonIcon_Grotle[]; extern const u8 gMonIcon_Torterra[]; @@ -5451,7 +5451,7 @@ extern const u8 gMonIcon_Darkrai[]; extern const u8 gMonIcon_Shaymin[]; extern const u8 gMonIcon_Arceus[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_Victini[]; extern const u8 gMonIcon_Snivy[]; extern const u8 gMonIcon_Servine[]; @@ -5612,7 +5612,7 @@ extern const u8 gMonIcon_Keldeo[]; extern const u8 gMonIcon_Meloetta[]; extern const u8 gMonIcon_Genesect[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonIcon_Chespin[]; extern const u8 gMonIcon_Quilladin[]; extern const u8 gMonIcon_Chesnaught[]; @@ -5687,7 +5687,7 @@ extern const u8 gMonIcon_Diancie[]; extern const u8 gMonIcon_Hoopa[]; extern const u8 gMonIcon_Volcanion[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u8 gMonIcon_Rowlet[]; extern const u8 gMonIcon_Dartrix[]; extern const u8 gMonIcon_Decidueye[]; @@ -5777,7 +5777,7 @@ extern const u8 gMonIcon_Zeraora[]; extern const u8 gMonIcon_Meltan[]; extern const u8 gMonIcon_Melmetal[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u8 gMonIcon_Grookey[]; extern const u8 gMonIcon_Thwackey[]; extern const u8 gMonIcon_Rillaboom[]; @@ -5916,17 +5916,17 @@ extern const u8 gMonIcon_SalamenceMega[]; extern const u8 gMonIcon_MetagrossMega[]; extern const u8 gMonIcon_LatiasMega[]; extern const u8 gMonIcon_LatiosMega[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u8 gMonIcon_LopunnyMega[]; extern const u8 gMonIcon_GarchompMega[]; extern const u8 gMonIcon_LucarioMega[]; extern const u8 gMonIcon_AbomasnowMega[]; extern const u8 gMonIcon_GalladeMega[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_AudinoMega[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonIcon_DiancieMega[]; #endif extern const u8 gMonIcon_RayquazaMega[]; @@ -5965,7 +5965,7 @@ extern const u8 gMonIcon_SlowkingGalarian[]; extern const u8 gMonIcon_CorsolaGalarian[]; extern const u8 gMonIcon_ZigzagoonGalarian[]; extern const u8 gMonIcon_LinooneGalarian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_DarumakaGalarian[]; extern const u8 gMonIcon_DarmanitanGalarian[]; extern const u8 gMonIcon_YamaskGalarian[]; @@ -5978,19 +5978,19 @@ extern const u8 gMonIcon_ElectrodeHisuian[]; extern const u8 gMonIcon_TyphlosionHisuian[]; extern const u8 gMonIcon_QwilfishHisuian[]; extern const u8 gMonIcon_SneaselHisuian[]; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_SamurottHisuian[]; extern const u8 gMonIcon_LilligantHisuian[]; extern const u8 gMonIcon_ZoruaHisuian[]; extern const u8 gMonIcon_ZoroarkHisuian[]; extern const u8 gMonIcon_BraviaryHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonIcon_SliggooHisuian[]; extern const u8 gMonIcon_GoodraHisuian[]; extern const u8 gMonIcon_AvaluggHisuian[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u8 gMonIcon_DecidueyeHisuian[]; #endif extern const u8 gMonIcon_PikachuCosplay[]; @@ -6040,7 +6040,7 @@ extern const u8 gMonIcon_CastformSnowy[]; extern const u8 gMonIcon_DeoxysAttack[]; extern const u8 gMonIcon_DeoxysDefense[]; extern const u8 gMonIcon_DeoxysSpeed[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u8 gMonIcon_BurmySandyCloak[]; extern const u8 gMonIcon_BurmyTrashCloak[]; extern const u8 gMonIcon_WormadamSandyCloak[]; @@ -6058,7 +6058,7 @@ extern const u8 gMonIcon_PalkiaOrigin[]; extern const u8 gMonIcon_GiratinaOrigin[]; extern const u8 gMonIcon_ShayminSky[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_BasculinBlueStriped[]; extern const u8 gMonIcon_BasculinWhiteStriped[]; extern const u8 gMonIcon_DarmanitanZenMode[]; @@ -6077,7 +6077,7 @@ extern const u8 gMonIcon_KyuremBlack[]; extern const u8 gMonIcon_KeldeoResolute[]; extern const u8 gMonIcon_MeloettaPirouette[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonIcon_GreninjaAsh[]; extern const u8 gMonIcon_VivillonPolar[]; extern const u8 gMonIcon_VivillonTundra[]; @@ -6127,7 +6127,7 @@ extern const u8 gMonIcon_Zygarde10[]; extern const u8 gMonIcon_ZygardeComplete[]; extern const u8 gMonIcon_HoopaUnbound[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u8 gMonIcon_OricorioPomPom[]; extern const u8 gMonIcon_OricorioPau[]; extern const u8 gMonIcon_OricorioSensu[]; @@ -6147,7 +6147,7 @@ extern const u8 gMonIcon_NecrozmaDawnWings[]; extern const u8 gMonIcon_NecrozmaUltra[]; extern const u8 gMonIcon_MagearnaOriginalColor[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u8 gMonIcon_CramorantGulping[]; extern const u8 gMonIcon_CramorantGorging[]; extern const u8 gMonIcon_ToxtricityLowKey[]; @@ -6559,7 +6559,7 @@ extern const u8 gMonFootprint_Latios[]; extern const u8 gMonFootprint_Jirachi[]; extern const u8 gMonFootprint_Deoxys[]; extern const u8 gMonFootprint_Chimecho[]; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE extern const u8 gMonFootprint_Turtwig[]; extern const u8 gMonFootprint_Grotle[]; extern const u8 gMonFootprint_Torterra[]; @@ -6668,7 +6668,7 @@ extern const u8 gMonFootprint_Darkrai[]; extern const u8 gMonFootprint_Shaymin[]; extern const u8 gMonFootprint_Arceus[]; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonFootprint_Victini[]; extern const u8 gMonFootprint_Snivy[]; extern const u8 gMonFootprint_Servine[]; @@ -6826,7 +6826,7 @@ extern const u8 gMonFootprint_Keldeo[]; extern const u8 gMonFootprint_Meloetta[]; extern const u8 gMonFootprint_Genesect[]; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonFootprint_Chespin[]; extern const u8 gMonFootprint_Quilladin[]; extern const u8 gMonFootprint_Chesnaught[]; @@ -6900,7 +6900,7 @@ extern const u8 gMonFootprint_Diancie[]; extern const u8 gMonFootprint_Hoopa[]; extern const u8 gMonFootprint_Volcanion[]; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE extern const u8 gMonFootprint_Rowlet[]; extern const u8 gMonFootprint_Dartrix[]; extern const u8 gMonFootprint_Decidueye[]; @@ -6990,7 +6990,7 @@ extern const u8 gMonFootprint_Zeraora[]; extern const u8 gMonFootprint_Meltan[]; extern const u8 gMonFootprint_Melmetal[]; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE extern const u8 gMonFootprint_Grookey[]; extern const u8 gMonFootprint_Thwackey[]; extern const u8 gMonFootprint_Rillaboom[]; diff --git a/sound/cry_tables.inc b/sound/cry_tables.inc index b0a030c43..b2eef2d02 100644 --- a/sound/cry_tables.inc +++ b/sound/cry_tables.inc @@ -386,7 +386,7 @@ gCryTable:: cry Cry_Rayquaza cry Cry_Jirachi cry Cry_Deoxys -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_4_POKEMON == TRUE cry Cry_Turtwig cry Cry_Grotle cry Cry_Torterra @@ -603,7 +603,7 @@ gCryTable:: cry Cry_Unown cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE cry Cry_Victini cry Cry_Snivy cry Cry_Servine @@ -918,7 +918,7 @@ gCryTable:: cry Cry_Unown cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE cry Cry_Chespin cry Cry_Quilladin cry Cry_Chesnaught @@ -1065,7 +1065,7 @@ gCryTable:: cry Cry_Unown cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_7 +.if P_GEN_7_POKEMON == TRUE cry Cry_Rowlet cry Cry_Dartrix cry Cry_Decidueye @@ -1244,7 +1244,7 @@ gCryTable:: cry Cry_Unown cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_8 +.if P_GEN_8_POKEMON == TRUE cry Cry_Grookey cry Cry_Thwackey cry Cry_Rillaboom @@ -1480,7 +1480,7 @@ gCryTable:: cry Cry_MetagrossMega cry Cry_LatiasMega cry Cry_LatiosMega -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_4_POKEMON == TRUE cry Cry_LopunnyMega cry Cry_GarchompMega cry Cry_LucarioMega @@ -1493,12 +1493,12 @@ gCryTable:: cry Cry_Unown cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE cry Cry_AudinoMega .else cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE cry Cry_DiancieMega .else cry Cry_Unown @@ -1542,7 +1542,7 @@ gCryTable:: cry Cry_Corsola cry Cry_Zigzagoon cry Cry_Linoone -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE cry Cry_Darumaka cry Cry_Darmanitan cry Cry_Yamask @@ -1561,7 +1561,7 @@ gCryTable:: cry Cry_Typhlosion cry Cry_Qwilfish cry Cry_Sneasel -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE cry Cry_Samurott cry Cry_Lilligant cry Cry_Zorua @@ -1574,7 +1574,7 @@ gCryTable:: cry Cry_Unown cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE cry Cry_Sliggoo cry Cry_Goodra cry Cry_Avalugg @@ -1583,7 +1583,7 @@ gCryTable:: cry Cry_Unown cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_7 +.if P_GEN_7_POKEMON == TRUE cry Cry_Decidueye .else cry Cry_Unown @@ -1643,7 +1643,7 @@ gCryTable:: cry Cry_Deoxys cry Cry_Deoxys cry Cry_Deoxys -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_4_POKEMON == TRUE @ Burmy cry Cry_Burmy cry Cry_Burmy @@ -1730,7 +1730,7 @@ gCryTable:: cry Cry_Unown cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE @ Basculin cry Cry_Basculin cry Cry_Basculin @@ -1793,7 +1793,7 @@ gCryTable:: cry Cry_Unown cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE @ Greninja cry Cry_Greninja cry Cry_Greninja @@ -1936,7 +1936,7 @@ gCryTable:: @ Hoopa cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_7 +.if P_GEN_7_POKEMON == TRUE @ Oricorio cry Cry_OricorioPomPom cry Cry_OricorioPau @@ -2041,7 +2041,7 @@ gCryTable:: @ Magearna cry Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_8 +.if P_GEN_8_POKEMON == TRUE @ Cramorant cry Cry_Cramorant cry Cry_Cramorant @@ -2507,7 +2507,7 @@ gCryTable_Reverse:: cry_reverse Cry_Rayquaza cry_reverse Cry_Jirachi cry_reverse Cry_Deoxys -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_4_POKEMON == TRUE cry_reverse Cry_Turtwig cry_reverse Cry_Grotle cry_reverse Cry_Torterra @@ -2724,7 +2724,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE cry_reverse Cry_Victini cry_reverse Cry_Snivy cry_reverse Cry_Servine @@ -3039,7 +3039,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE cry_reverse Cry_Chespin cry_reverse Cry_Quilladin cry_reverse Cry_Chesnaught @@ -3186,7 +3186,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_7 +.if P_GEN_7_POKEMON == TRUE cry_reverse Cry_Rowlet cry_reverse Cry_Dartrix cry_reverse Cry_Decidueye @@ -3365,7 +3365,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_8 +.if P_GEN_8_POKEMON == TRUE cry_reverse Cry_Grookey cry_reverse Cry_Thwackey cry_reverse Cry_Rillaboom @@ -3601,7 +3601,7 @@ gCryTable_Reverse:: cry_reverse Cry_MetagrossMega cry_reverse Cry_LatiasMega cry_reverse Cry_LatiosMega -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_4_POKEMON == TRUE cry_reverse Cry_LopunnyMega cry_reverse Cry_GarchompMega cry_reverse Cry_LucarioMega @@ -3614,12 +3614,12 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE cry_reverse Cry_AudinoMega .else cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE cry_reverse Cry_DiancieMega .else cry_reverse Cry_Unown @@ -3663,7 +3663,7 @@ gCryTable_Reverse:: cry_reverse Cry_Corsola cry_reverse Cry_Zigzagoon cry_reverse Cry_Linoone -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE cry_reverse Cry_Darumaka cry_reverse Cry_Darmanitan cry_reverse Cry_Yamask @@ -3682,7 +3682,7 @@ gCryTable_Reverse:: cry_reverse Cry_Typhlosion cry_reverse Cry_Qwilfish cry_reverse Cry_Sneasel -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE cry_reverse Cry_Samurott cry_reverse Cry_Lilligant cry_reverse Cry_Zorua @@ -3695,7 +3695,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE cry_reverse Cry_Sliggoo cry_reverse Cry_Goodra cry_reverse Cry_Avalugg @@ -3704,7 +3704,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_7 +.if P_GEN_7_POKEMON == TRUE cry_reverse Cry_Decidueye .else cry_reverse Cry_Unown @@ -3764,7 +3764,7 @@ gCryTable_Reverse:: cry_reverse Cry_Deoxys cry_reverse Cry_Deoxys cry_reverse Cry_Deoxys -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_4_POKEMON == TRUE @ Burmy cry_reverse Cry_Burmy cry_reverse Cry_Burmy @@ -3842,7 +3842,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE @ Basculin cry_reverse Cry_Basculin cry_reverse Cry_Basculin @@ -3898,7 +3898,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE @ Greninja cry_reverse Cry_Greninja cry_reverse Cry_Greninja @@ -4028,7 +4028,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_7 +.if P_GEN_7_POKEMON == TRUE @ Oricorio cry_reverse Cry_OricorioPomPom cry_reverse Cry_OricorioPau @@ -4124,7 +4124,7 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown .endif -.if P_NEW_POKEMON >= GEN_8 +.if P_GEN_8_POKEMON == TRUE @ Cramorant cry_reverse Cry_Cramorant cry_reverse Cry_Cramorant diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc index b4f6ded82..b518fe16a 100644 --- a/sound/direct_sound_data.inc +++ b/sound/direct_sound_data.inc @@ -1930,7 +1930,7 @@ Cry_Jirachi:: Cry_Deoxys:: .incbin "sound/direct_sound_samples/cries/deoxys.bin" -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_4_POKEMON == TRUE .align 2 Cry_Turtwig:: .incbin "sound/direct_sound_samples/cries/turtwig.bin" @@ -2360,7 +2360,7 @@ Cry_Arceus:: .incbin "sound/direct_sound_samples/cries/arceus.bin" .endif -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE .align 2 Cry_Victini:: .incbin "sound/direct_sound_samples/cries/victini.bin" @@ -2986,7 +2986,7 @@ Cry_Genesect:: .incbin "sound/direct_sound_samples/cries/genesect.bin" .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE .align 2 Cry_Chespin:: .incbin "sound/direct_sound_samples/cries/chespin.bin" @@ -3276,7 +3276,7 @@ Cry_Volcanion:: .incbin "sound/direct_sound_samples/cries/volcanion.bin" .endif -.if P_NEW_POKEMON >= GEN_7 +.if P_GEN_7_POKEMON == TRUE .align 2 Cry_Rowlet:: .incbin "sound/direct_sound_samples/cries/rowlet.bin" @@ -3630,7 +3630,7 @@ Cry_Melmetal:: .incbin "sound/direct_sound_samples/cries/melmetal.bin" .endif -.if P_NEW_POKEMON >= GEN_8 +.if P_GEN_8_POKEMON == TRUE .align 2 Cry_Grookey:: .incbin "sound/direct_sound_samples/cries/grookey.bin" @@ -4177,7 +4177,7 @@ Cry_LatiasMega:: Cry_LatiosMega:: .incbin "sound/direct_sound_samples/cries/mega_latios.bin" -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_4_POKEMON == TRUE .align 2 Cry_LopunnyMega:: .incbin "sound/direct_sound_samples/cries/mega_lopunny.bin" @@ -4199,13 +4199,13 @@ Cry_GalladeMega:: .incbin "sound/direct_sound_samples/cries/mega_gallade.bin" .endif -.if P_NEW_POKEMON >= GEN_5 +.if P_GEN_5_POKEMON == TRUE .align 2 Cry_AudinoMega:: .incbin "sound/direct_sound_samples/cries/mega_audino.bin" .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE .align 2 Cry_DiancieMega:: .incbin "sound/direct_sound_samples/cries/mega_diancie.bin" @@ -4227,13 +4227,13 @@ Cry_GroudonPrimal:: Cry_SlowpokeGalarian:: .incbin "sound/direct_sound_samples/cries/slowpoke_galarian.bin" -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_4_POKEMON == TRUE .align 2 Cry_ShayminSky:: .incbin "sound/direct_sound_samples/cries/shaymin_sky.bin" .endif -.if P_NEW_POKEMON >= GEN_4 +.if P_GEN_5_POKEMON == TRUE .align 2 Cry_TornadusTherian:: .incbin "sound/direct_sound_samples/cries/tornadus_therian.bin" @@ -4255,7 +4255,7 @@ Cry_KyuremBlack:: .incbin "sound/direct_sound_samples/cries/kyurem_black.bin" .endif -.if P_NEW_POKEMON >= GEN_6 +.if P_GEN_6_POKEMON == TRUE .align 2 Cry_FloetteEternalFlower:: .incbin "sound/direct_sound_samples/cries/floette_eternal_flower.bin" @@ -4279,7 +4279,9 @@ Cry_ZygardeComplete:: .align 2 Cry_HoopaUnbound:: .incbin "sound/direct_sound_samples/cries/hoopa_unbound.bin" +.endif +.if P_GEN_7_POKEMON == TRUE .align 2 Cry_OricorioPomPom:: .incbin "sound/direct_sound_samples/cries/oricorio_pom_pom.bin" @@ -4317,7 +4319,7 @@ Cry_NecrozmaUltra:: .incbin "sound/direct_sound_samples/cries/necrozma_ultra.bin" .endif -.if P_NEW_POKEMON >= GEN_8 +.if P_GEN_8_POKEMON == TRUE .align 2 Cry_ToxtricityLowKey:: .incbin "sound/direct_sound_samples/cries/toxtricity_low_key.bin" diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index b67a2f0b3..ec7f079f7 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -387,7 +387,7 @@ const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/anim_fro const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/anim_front.4bpp.lz"); const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/anim_front.4bpp.lz"); const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonFrontPic_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/anim_front.4bpp.lz"); const u32 gMonFrontPic_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/anim_front.4bpp.lz"); const u32 gMonFrontPic_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/anim_front.4bpp.lz"); @@ -505,7 +505,7 @@ const u32 gMonFrontPic_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/anim_fro const u32 gMonFrontPic_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/anim_front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonFrontPic_Victini[] = INCBIN_U32("graphics/pokemon/victini/anim_front.4bpp.lz"); const u32 gMonFrontPic_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/anim_front.4bpp.lz"); const u32 gMonFrontPic_Servine[] = INCBIN_U32("graphics/pokemon/servine/anim_front.4bpp.lz"); @@ -666,7 +666,7 @@ const u32 gMonFrontPic_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/anim_front const u32 gMonFrontPic_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/anim_front.4bpp.lz"); const u32 gMonFrontPic_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/anim_front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonFrontPic_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/anim_front.4bpp.lz"); @@ -741,7 +741,7 @@ const u32 gMonFrontPic_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/anim_fro const u32 gMonFrontPic_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/anim_front.4bpp.lz"); const u32 gMonFrontPic_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/anim_front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u32 gMonFrontPic_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/front.4bpp.lz"); const u32 gMonFrontPic_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/front.4bpp.lz"); const u32 gMonFrontPic_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/front.4bpp.lz"); @@ -831,7 +831,7 @@ const u32 gMonFrontPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/front.4b const u32 gMonFrontPic_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/front.4bpp.lz"); const u32 gMonFrontPic_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_8_POKEMON == TRUE const u32 gMonFrontPic_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/front.4bpp.lz"); const u32 gMonFrontPic_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/front.4bpp.lz"); const u32 gMonFrontPic_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/front.4bpp.lz"); @@ -970,17 +970,17 @@ const u32 gMonFrontPic_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salamence/ const u32 gMonFrontPic_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/front.4bpp.lz"); const u32 gMonFrontPic_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/front.4bpp.lz"); const u32 gMonFrontPic_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/front.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonFrontPic_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/front.4bpp.lz"); const u32 gMonFrontPic_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/front.4bpp.lz"); const u32 gMonFrontPic_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/front.4bpp.lz"); const u32 gMonFrontPic_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/front.4bpp.lz"); const u32 gMonFrontPic_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonFrontPic_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonFrontPic_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/front.4bpp.lz"); #endif const u32 gMonFrontPic_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/front.4bpp.lz"); @@ -1019,7 +1019,7 @@ const u32 gMonFrontPic_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowkin const u32 gMonFrontPic_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/front.4bpp.lz"); const u32 gMonFrontPic_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/front.4bpp.lz"); const u32 gMonFrontPic_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/front.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonFrontPic_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/front.4bpp.lz"); const u32 gMonFrontPic_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/front.4bpp.lz"); const u32 gMonFrontPic_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/front.4bpp.lz"); @@ -1032,19 +1032,19 @@ const u32 gMonFrontPic_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electro const u32 gMonFrontPic_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/front.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE //const u32 gMonFrontPic_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonFrontPic_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE //const u32 gMonFrontPic_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/front.4bpp.lz"); #endif const u32 gMonFrontPic_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/front.4bpp.lz"); @@ -1095,7 +1095,7 @@ const u32 gMonFrontPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/s const u32 gMonFrontPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/anim_front.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonFrontPic_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/anim_front.4bpp.lz"); const u32 gMonFrontPic_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/anim_front.4bpp.lz"); const u32 gMonFrontPic_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/anim_front.4bpp.lz"); @@ -1113,7 +1113,7 @@ const u32 gMonFrontPic_PalkiaOrigin[] = INCBIN_U32("graphics/pokemon/palkia/orig const u32 gMonFrontPic_GiratinaOrigin[] = INCBIN_U32("graphics/pokemon/giratina/origin/anim_front.4bpp.lz"); const u32 gMonFrontPic_ShayminSky[] = INCBIN_U32("graphics/pokemon/shaymin/sky/anim_front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonFrontPic_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/front.4bpp.lz"); const u32 gMonFrontPic_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/front.4bpp.lz"); const u32 gMonFrontPic_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/anim_front.4bpp.lz"); @@ -1129,7 +1129,7 @@ const u32 gMonFrontPic_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black const u32 gMonFrontPic_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/front.4bpp.lz"); const u32 gMonFrontPic_MeloettaPirouette[] = INCBIN_U32("graphics/pokemon/meloetta/pirouette/front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonFrontPic_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/anim_front.4bpp.lz"); const u32 gMonFrontPic_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/anim_front.4bpp.lz"); const u32 gMonFrontPic_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/anim_front.4bpp.lz"); @@ -1173,7 +1173,7 @@ const u32 gMonFrontPic_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_per const u32 gMonFrontPic_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/anim_front.4bpp.lz"); const u32 gMonFrontPic_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/anim_front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u32 gMonFrontPic_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/front.4bpp.lz"); const u32 gMonFrontPic_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/front.4bpp.lz"); const u32 gMonFrontPic_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/front.4bpp.lz"); @@ -1187,7 +1187,7 @@ const u32 gMonFrontPic_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necroz const u32 gMonFrontPic_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/front.4bpp.lz"); const u32 gMonFrontPic_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/front.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u32 gMonFrontPic_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/front.4bpp.lz"); const u32 gMonFrontPic_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/front.4bpp.lz"); const u32 gMonFrontPic_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/front.4bpp.lz"); @@ -1602,7 +1602,7 @@ const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/back.4bpp const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/back.4bpp.lz"); const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/back.4bpp.lz"); const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonBackPic_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/back.4bpp.lz"); const u32 gMonBackPic_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/back.4bpp.lz"); const u32 gMonBackPic_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/back.4bpp.lz"); @@ -1718,6 +1718,8 @@ const u32 gMonBackPic_Manaphy[] = INCBIN_U32("graphics/pokemon/manaphy/back.4bpp const u32 gMonBackPic_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/back.4bpp.lz"); const u32 gMonBackPic_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/back.4bpp.lz"); const u32 gMonBackPic_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/back.4bpp.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonBackPic_Victini[] = INCBIN_U32("graphics/pokemon/victini/back.4bpp.lz"); const u32 gMonBackPic_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/back.4bpp.lz"); const u32 gMonBackPic_Servine[] = INCBIN_U32("graphics/pokemon/servine/back.4bpp.lz"); @@ -1878,7 +1880,7 @@ const u32 gMonBackPic_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/back.4bpp.l const u32 gMonBackPic_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/back.4bpp.lz"); const u32 gMonBackPic_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonBackPic_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/back.4bpp.lz"); const u32 gMonBackPic_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/back.4bpp.lz"); const u32 gMonBackPic_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/back.4bpp.lz"); @@ -1953,7 +1955,7 @@ const u32 gMonBackPic_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/back.4bpp const u32 gMonBackPic_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/back.4bpp.lz"); const u32 gMonBackPic_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u32 gMonBackPic_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/back.4bpp.lz"); const u32 gMonBackPic_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/back.4bpp.lz"); const u32 gMonBackPic_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/back.4bpp.lz"); @@ -2043,7 +2045,7 @@ const u32 gMonBackPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/back.4bpp const u32 gMonBackPic_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/back.4bpp.lz"); const u32 gMonBackPic_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u32 gMonBackPic_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/back.4bpp.lz"); const u32 gMonBackPic_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/back.4bpp.lz"); const u32 gMonBackPic_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/back.4bpp.lz"); @@ -2182,17 +2184,17 @@ const u32 gMonBackPic_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salamence/m const u32 gMonBackPic_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/back.4bpp.lz"); const u32 gMonBackPic_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/back.4bpp.lz"); const u32 gMonBackPic_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/back.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonBackPic_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/back.4bpp.lz"); const u32 gMonBackPic_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/back.4bpp.lz"); const u32 gMonBackPic_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/back.4bpp.lz"); const u32 gMonBackPic_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/back.4bpp.lz"); const u32 gMonBackPic_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonBackPic_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonBackPic_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/back.4bpp.lz"); #endif const u32 gMonBackPic_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/back.4bpp.lz"); @@ -2231,7 +2233,7 @@ const u32 gMonBackPic_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking const u32 gMonBackPic_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/back.4bpp.lz"); const u32 gMonBackPic_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/back.4bpp.lz"); const u32 gMonBackPic_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/back.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonBackPic_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/back.4bpp.lz"); const u32 gMonBackPic_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/back.4bpp.lz"); const u32 gMonBackPic_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/back.4bpp.lz"); @@ -2244,19 +2246,19 @@ const u32 gMonBackPic_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrod const u32 gMonBackPic_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/back.4bpp.lz"); const u32 gMonBackPic_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/back.4bpp.lz"); const u32 gMonBackPic_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/back.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE //const u32 gMonBackPic_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/back.4bpp.lz"); const u32 gMonBackPic_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/back.4bpp.lz"); const u32 gMonBackPic_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/back.4bpp.lz"); const u32 gMonBackPic_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/back.4bpp.lz"); const u32 gMonBackPic_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonBackPic_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/back.4bpp.lz"); const u32 gMonBackPic_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/back.4bpp.lz"); const u32 gMonBackPic_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE //const u32 gMonBackPic_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/back.4bpp.lz"); #endif const u32 gMonBackPic_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/back.4bpp.lz"); @@ -2307,7 +2309,7 @@ const u32 gMonBackPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/sn const u32 gMonBackPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/back.4bpp.lz"); const u32 gMonBackPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/back.4bpp.lz"); const u32 gMonBackPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/back.4bpp.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonBackPic_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/back.4bpp.lz"); const u32 gMonBackPic_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/back.4bpp.lz"); const u32 gMonBackPic_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/back.4bpp.lz"); @@ -2325,7 +2327,7 @@ const u32 gMonBackPic_PalkiaOrigin[] = INCBIN_U32("graphics/pokemon/palkia/origi const u32 gMonBackPic_GiratinaOrigin[] = INCBIN_U32("graphics/pokemon/giratina/origin/back.4bpp.lz"); const u32 gMonBackPic_ShayminSky[] = INCBIN_U32("graphics/pokemon/shaymin/sky/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonBackPic_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/back.4bpp.lz"); const u32 gMonBackPic_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/back.4bpp.lz"); const u32 gMonBackPic_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/back.4bpp.lz"); @@ -2341,7 +2343,7 @@ const u32 gMonBackPic_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black/ const u32 gMonBackPic_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/back.4bpp.lz"); const u32 gMonBackPic_MeloettaPirouette[] = INCBIN_U32("graphics/pokemon/meloetta/pirouette/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonBackPic_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/back.4bpp.lz"); const u32 gMonBackPic_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/back.4bpp.lz"); const u32 gMonBackPic_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/back.4bpp.lz"); @@ -2385,7 +2387,7 @@ const u32 gMonBackPic_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_perc const u32 gMonBackPic_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/back.4bpp.lz"); const u32 gMonBackPic_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u32 gMonBackPic_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/back.4bpp.lz"); const u32 gMonBackPic_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/back.4bpp.lz"); const u32 gMonBackPic_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/back.4bpp.lz"); @@ -2399,7 +2401,7 @@ const u32 gMonBackPic_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozm const u32 gMonBackPic_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/back.4bpp.lz"); const u32 gMonBackPic_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/back.4bpp.lz"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u32 gMonBackPic_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/back.4bpp.lz"); const u32 gMonBackPic_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/back.4bpp.lz"); const u32 gMonBackPic_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/back.4bpp.lz"); @@ -2812,7 +2814,7 @@ const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/normal.gb const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/normal.gbapal.lz"); const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/normal.gbapal.lz"); const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonPalette_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/normal.gbapal.lz"); const u32 gMonPalette_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/normal.gbapal.lz"); const u32 gMonPalette_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/normal.gbapal.lz"); @@ -2923,7 +2925,7 @@ const u32 gMonPalette_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/normal.gb const u32 gMonPalette_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/normal.gbapal.lz"); const u32 gMonPalette_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonPalette_Victini[] = INCBIN_U32("graphics/pokemon/victini/normal.gbapal.lz"); const u32 gMonPalette_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/normal.gbapal.lz"); const u32 gMonPalette_Servine[] = INCBIN_U32("graphics/pokemon/servine/normal.gbapal.lz"); @@ -3084,7 +3086,7 @@ const u32 gMonPalette_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/normal.gbap const u32 gMonPalette_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/normal.gbapal.lz"); const u32 gMonPalette_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonPalette_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/normal.gbapal.lz"); const u32 gMonPalette_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/normal.gbapal.lz"); const u32 gMonPalette_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/normal.gbapal.lz"); @@ -3159,7 +3161,7 @@ const u32 gMonPalette_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/normal.gb const u32 gMonPalette_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/normal.gbapal.lz"); const u32 gMonPalette_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u32 gMonPalette_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/normal.gbapal.lz"); const u32 gMonPalette_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/normal.gbapal.lz"); const u32 gMonPalette_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/normal.gbapal.lz"); @@ -3249,7 +3251,7 @@ const u32 gMonPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/normal.gb const u32 gMonPalette_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/normal.gbapal.lz"); const u32 gMonPalette_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u32 gMonPalette_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/normal.gbapal.lz"); const u32 gMonPalette_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/normal.gbapal.lz"); const u32 gMonPalette_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/normal.gbapal.lz"); @@ -3388,17 +3390,17 @@ const u32 gMonPalette_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salamence/m const u32 gMonPalette_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/normal.gbapal.lz"); const u32 gMonPalette_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/normal.gbapal.lz"); const u32 gMonPalette_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/normal.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonPalette_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/normal.gbapal.lz"); const u32 gMonPalette_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/normal.gbapal.lz"); const u32 gMonPalette_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/normal.gbapal.lz"); const u32 gMonPalette_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/normal.gbapal.lz"); const u32 gMonPalette_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonPalette_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonPalette_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/normal.gbapal.lz"); #endif const u32 gMonPalette_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/normal.gbapal.lz"); @@ -3437,7 +3439,7 @@ const u32 gMonPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking const u32 gMonPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/normal.gbapal.lz"); const u32 gMonPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/normal.gbapal.lz"); const u32 gMonPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/normal.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/normal.gbapal.lz"); const u32 gMonPalette_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/normal.gbapal.lz"); const u32 gMonPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/normal.gbapal.lz"); @@ -3450,19 +3452,19 @@ const u32 gMonPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrod const u32 gMonPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/normal.gbapal.lz"); const u32 gMonPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/normal.gbapal.lz"); const u32 gMonPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/normal.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE //const u32 gMonPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/normal.gbapal.lz"); const u32 gMonPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/normal.gbapal.lz"); const u32 gMonPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/normal.gbapal.lz"); const u32 gMonPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/normal.gbapal.lz"); const u32 gMonPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/normal.gbapal.lz"); const u32 gMonPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/normal.gbapal.lz"); const u32 gMonPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE //const u32 gMonPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/normal.gbapal.lz"); #endif const u32 gMonPalette_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/normal.gbapal.lz"); @@ -3486,7 +3488,7 @@ const u32 gMonPalette_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/sn const u32 gMonPalette_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/normal.gbapal.lz"); const u32 gMonPalette_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/normal.gbapal.lz"); const u32 gMonPalette_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/normal.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/normal.gbapal.lz"); const u32 gMonPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/normal.gbapal.lz"); const u32 gMonPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/normal.gbapal.lz"); @@ -3521,7 +3523,7 @@ const u32 gMonPalette_ArceusDragon[] = INCBIN_U32("graphics/pokemon/arceus/drago const u32 gMonPalette_ArceusDark[] = INCBIN_U32("graphics/pokemon/arceus/dark/normal.gbapal.lz"); const u32 gMonPalette_ArceusFairy[] = INCBIN_U32("graphics/pokemon/arceus/fairy/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/normal.gbapal.lz"); const u32 gMonPalette_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/normal.gbapal.lz"); const u32 gMonPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/normal.gbapal.lz"); @@ -3544,7 +3546,7 @@ const u32 gMonPalette_GenesectShockDrive[] = INCBIN_U32("graphics/pokemon/genese const u32 gMonPalette_GenesectBurnDrive[] = INCBIN_U32("graphics/pokemon/genesect/burn_drive/normal.gbapal.lz"); const u32 gMonPalette_GenesectChillDrive[] = INCBIN_U32("graphics/pokemon/genesect/chill_drive/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonPalette_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/normal.gbapal.lz"); const u32 gMonPalette_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/normal.gbapal.lz"); const u32 gMonPalette_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/normal.gbapal.lz"); @@ -3594,7 +3596,7 @@ const u32 gMonPalette_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_perc const u32 gMonPalette_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/normal.gbapal.lz"); const u32 gMonPalette_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u32 gMonPalette_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/normal.gbapal.lz"); const u32 gMonPalette_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/normal.gbapal.lz"); const u32 gMonPalette_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/normal.gbapal.lz"); @@ -3631,7 +3633,7 @@ const u32 gMonPalette_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozm const u32 gMonPalette_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/normal.gbapal.lz"); const u32 gMonPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/normal.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u32 gMonPalette_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/normal.gbapal.lz"); const u32 gMonPalette_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/normal.gbapal.lz"); const u32 gMonPalette_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/normal.gbapal.lz"); @@ -4045,7 +4047,7 @@ const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/shin const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/shiny.gbapal.lz"); const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/shiny.gbapal.lz"); const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonShinyPalette_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/shiny.gbapal.lz"); const u32 gMonShinyPalette_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/shiny.gbapal.lz"); const u32 gMonShinyPalette_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/shiny.gbapal.lz"); @@ -4156,7 +4158,7 @@ const u32 gMonShinyPalette_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/shin const u32 gMonShinyPalette_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/shiny.gbapal.lz"); const u32 gMonShinyPalette_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonShinyPalette_Victini[] = INCBIN_U32("graphics/pokemon/victini/shiny.gbapal.lz"); const u32 gMonShinyPalette_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/shiny.gbapal.lz"); const u32 gMonShinyPalette_Servine[] = INCBIN_U32("graphics/pokemon/servine/shiny.gbapal.lz"); @@ -4317,7 +4319,7 @@ const u32 gMonShinyPalette_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/shiny. const u32 gMonShinyPalette_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/shiny.gbapal.lz"); const u32 gMonShinyPalette_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonShinyPalette_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/shiny.gbapal.lz"); const u32 gMonShinyPalette_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/shiny.gbapal.lz"); const u32 gMonShinyPalette_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/shiny.gbapal.lz"); @@ -4392,7 +4394,7 @@ const u32 gMonShinyPalette_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/shin const u32 gMonShinyPalette_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/shiny.gbapal.lz"); const u32 gMonShinyPalette_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u32 gMonShinyPalette_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/shiny.gbapal.lz"); const u32 gMonShinyPalette_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/shiny.gbapal.lz"); const u32 gMonShinyPalette_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/shiny.gbapal.lz"); @@ -4482,7 +4484,7 @@ const u32 gMonShinyPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/shin const u32 gMonShinyPalette_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/shiny.gbapal.lz"); const u32 gMonShinyPalette_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u32 gMonShinyPalette_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/shiny.gbapal.lz"); const u32 gMonShinyPalette_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/shiny.gbapal.lz"); const u32 gMonShinyPalette_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/shiny.gbapal.lz"); @@ -4621,17 +4623,17 @@ const u32 gMonShinyPalette_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salame const u32 gMonShinyPalette_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/shiny.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonShinyPalette_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonShinyPalette_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonShinyPalette_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/shiny.gbapal.lz"); #endif const u32 gMonShinyPalette_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/shiny.gbapal.lz"); @@ -4670,7 +4672,7 @@ const u32 gMonShinyPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slo const u32 gMonShinyPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/shiny.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonShinyPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/shiny.gbapal.lz"); @@ -4683,19 +4685,19 @@ const u32 gMonShinyPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/ele const u32 gMonShinyPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/shiny.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE //const u32 gMonShinyPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonShinyPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE //const u32 gMonShinyPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/shiny.gbapal.lz"); #endif const u32 gMonShinyPalette_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/shiny.gbapal.lz"); @@ -4719,7 +4721,7 @@ const u32 gMonShinyPalette_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castfo const u32 gMonShinyPalette_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/shiny.gbapal.lz"); const u32 gMonShinyPalette_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/shiny.gbapal.lz"); const u32 gMonShinyPalette_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/shiny.gbapal.lz"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u32 gMonShinyPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/shiny.gbapal.lz"); const u32 gMonShinyPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/shiny.gbapal.lz"); const u32 gMonShinyPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/shiny.gbapal.lz"); @@ -4754,7 +4756,7 @@ const u32 gMonShinyPalette_ArceusDragon[] = INCBIN_U32("graphics/pokemon/arceus/ const u32 gMonShinyPalette_ArceusDark[] = INCBIN_U32("graphics/pokemon/arceus/dark/shiny.gbapal.lz"); const u32 gMonShinyPalette_ArceusFairy[] = INCBIN_U32("graphics/pokemon/arceus/fairy/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u32 gMonShinyPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/shiny.gbapal.lz"); const u32 gMonShinyPalette_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/shiny.gbapal.lz"); const u32 gMonShinyPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/shiny.gbapal.lz"); @@ -4777,7 +4779,7 @@ const u32 gMonShinyPalette_GenesectShockDrive[] = INCBIN_U32("graphics/pokemon/g const u32 gMonShinyPalette_GenesectBurnDrive[] = INCBIN_U32("graphics/pokemon/genesect/burn_drive/shiny.gbapal.lz"); const u32 gMonShinyPalette_GenesectChillDrive[] = INCBIN_U32("graphics/pokemon/genesect/chill_drive/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u32 gMonShinyPalette_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/shiny.gbapal.lz"); const u32 gMonShinyPalette_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/shiny.gbapal.lz"); const u32 gMonShinyPalette_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/shiny.gbapal.lz"); @@ -4827,7 +4829,7 @@ const u32 gMonShinyPalette_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10 const u32 gMonShinyPalette_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/shiny.gbapal.lz"); const u32 gMonShinyPalette_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u32 gMonShinyPalette_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/shiny.gbapal.lz"); const u32 gMonShinyPalette_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/shiny.gbapal.lz"); const u32 gMonShinyPalette_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/shiny.gbapal.lz"); @@ -4858,7 +4860,7 @@ const u32 gMonShinyPalette_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/ne const u32 gMonShinyPalette_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/shiny.gbapal.lz"); const u32 gMonShinyPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/shiny.gbapal.lz"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u32 gMonShinyPalette_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/shiny.gbapal.lz"); const u32 gMonShinyPalette_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/shiny.gbapal.lz"); const u32 gMonShinyPalette_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/shiny.gbapal.lz"); @@ -5270,7 +5272,7 @@ const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/icon.4bpp"); const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/icon.4bpp"); const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/icon.4bpp"); const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u8 gMonIcon_Turtwig[] = INCBIN_U8("graphics/pokemon/turtwig/icon.4bpp"); const u8 gMonIcon_Grotle[] = INCBIN_U8("graphics/pokemon/grotle/icon.4bpp"); const u8 gMonIcon_Torterra[] = INCBIN_U8("graphics/pokemon/torterra/icon.4bpp"); @@ -5379,7 +5381,7 @@ const u8 gMonIcon_Darkrai[] = INCBIN_U8("graphics/pokemon/darkrai/icon.4bpp"); const u8 gMonIcon_Shaymin[] = INCBIN_U8("graphics/pokemon/shaymin/icon.4bpp"); const u8 gMonIcon_Arceus[] = INCBIN_U8("graphics/pokemon/arceus/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_Victini[] = INCBIN_U8("graphics/pokemon/victini/icon.4bpp"); const u8 gMonIcon_Snivy[] = INCBIN_U8("graphics/pokemon/snivy/icon.4bpp"); const u8 gMonIcon_Servine[] = INCBIN_U8("graphics/pokemon/servine/icon.4bpp"); @@ -5540,7 +5542,7 @@ const u8 gMonIcon_Keldeo[] = INCBIN_U8("graphics/pokemon/keldeo/icon.4bpp"); const u8 gMonIcon_Meloetta[] = INCBIN_U8("graphics/pokemon/meloetta/icon.4bpp"); const u8 gMonIcon_Genesect[] = INCBIN_U8("graphics/pokemon/genesect/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u8 gMonIcon_Chespin[] = INCBIN_U8("graphics/pokemon/chespin/icon.4bpp"); const u8 gMonIcon_Quilladin[] = INCBIN_U8("graphics/pokemon/quilladin/icon.4bpp"); const u8 gMonIcon_Chesnaught[] = INCBIN_U8("graphics/pokemon/chesnaught/icon.4bpp"); @@ -5615,7 +5617,7 @@ const u8 gMonIcon_Diancie[] = INCBIN_U8("graphics/pokemon/diancie/icon.4bpp"); const u8 gMonIcon_Hoopa[] = INCBIN_U8("graphics/pokemon/hoopa/icon.4bpp"); const u8 gMonIcon_Volcanion[] = INCBIN_U8("graphics/pokemon/volcanion/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u8 gMonIcon_Rowlet[] = INCBIN_U8("graphics/pokemon/rowlet/icon.4bpp"); const u8 gMonIcon_Dartrix[] = INCBIN_U8("graphics/pokemon/dartrix/icon.4bpp"); const u8 gMonIcon_Decidueye[] = INCBIN_U8("graphics/pokemon/decidueye/icon.4bpp"); @@ -5705,7 +5707,7 @@ const u8 gMonIcon_Zeraora[] = INCBIN_U8("graphics/pokemon/zeraora/icon.4bpp"); const u8 gMonIcon_Meltan[] = INCBIN_U8("graphics/pokemon/meltan/icon.4bpp"); const u8 gMonIcon_Melmetal[] = INCBIN_U8("graphics/pokemon/melmetal/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u8 gMonIcon_Grookey[] = INCBIN_U8("graphics/pokemon/grookey/icon.4bpp"); const u8 gMonIcon_Thwackey[] = INCBIN_U8("graphics/pokemon/thwackey/icon.4bpp"); const u8 gMonIcon_Rillaboom[] = INCBIN_U8("graphics/pokemon/rillaboom/icon.4bpp"); @@ -5844,17 +5846,17 @@ const u8 gMonIcon_SalamenceMega[] = INCBIN_U8("graphics/pokemon/salamence/mega/i const u8 gMonIcon_MetagrossMega[] = INCBIN_U8("graphics/pokemon/metagross/mega/icon.4bpp"); const u8 gMonIcon_LatiasMega[] = INCBIN_U8("graphics/pokemon/latias/mega/icon.4bpp"); const u8 gMonIcon_LatiosMega[] = INCBIN_U8("graphics/pokemon/latios/mega/icon.4bpp"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u8 gMonIcon_LopunnyMega[] = INCBIN_U8("graphics/pokemon/lopunny/mega/icon.4bpp"); const u8 gMonIcon_GarchompMega[] = INCBIN_U8("graphics/pokemon/garchomp/mega/icon.4bpp"); const u8 gMonIcon_LucarioMega[] = INCBIN_U8("graphics/pokemon/lucario/mega/icon.4bpp"); const u8 gMonIcon_AbomasnowMega[] = INCBIN_U8("graphics/pokemon/abomasnow/mega/icon.4bpp"); const u8 gMonIcon_GalladeMega[] = INCBIN_U8("graphics/pokemon/gallade/mega/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_AudinoMega[] = INCBIN_U8("graphics/pokemon/audino/mega/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u8 gMonIcon_DiancieMega[] = INCBIN_U8("graphics/pokemon/diancie/mega/icon.4bpp"); #endif const u8 gMonIcon_RayquazaMega[] = INCBIN_U8("graphics/pokemon/rayquaza/mega/icon.4bpp"); @@ -5893,7 +5895,7 @@ const u8 gMonIcon_SlowkingGalarian[] = INCBIN_U8("graphics/pokemon/slowking/gala const u8 gMonIcon_CorsolaGalarian[] = INCBIN_U8("graphics/pokemon/corsola/galarian/icon.4bpp"); const u8 gMonIcon_ZigzagoonGalarian[] = INCBIN_U8("graphics/pokemon/zigzagoon/galarian/icon.4bpp"); const u8 gMonIcon_LinooneGalarian[] = INCBIN_U8("graphics/pokemon/linoone/galarian/icon.4bpp"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_DarumakaGalarian[] = INCBIN_U8("graphics/pokemon/darumaka/galarian/icon.4bpp"); const u8 gMonIcon_DarmanitanGalarian[] = INCBIN_U8("graphics/pokemon/darmanitan/galarian/icon.4bpp"); const u8 gMonIcon_YamaskGalarian[] = INCBIN_U8("graphics/pokemon/yamask/galarian/icon.4bpp"); @@ -5906,19 +5908,19 @@ const u8 gMonIcon_ElectrodeHisuian[] = INCBIN_U8("graphics/pokemon/electrode/his const u8 gMonIcon_TyphlosionHisuian[] = INCBIN_U8("graphics/pokemon/typhlosion/hisuian/icon.4bpp"); const u8 gMonIcon_QwilfishHisuian[] = INCBIN_U8("graphics/pokemon/qwilfish/hisuian/icon.4bpp"); const u8 gMonIcon_SneaselHisuian[] = INCBIN_U8("graphics/pokemon/sneasel/hisuian/icon.4bpp"); -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_SamurottHisuian[] = INCBIN_U8("graphics/pokemon/samurott/hisuian/icon.4bpp"); const u8 gMonIcon_LilligantHisuian[] = INCBIN_U8("graphics/pokemon/lilligant/hisuian/icon.4bpp"); const u8 gMonIcon_ZoruaHisuian[] = INCBIN_U8("graphics/pokemon/zorua/hisuian/icon.4bpp"); const u8 gMonIcon_ZoroarkHisuian[] = INCBIN_U8("graphics/pokemon/zoroark/hisuian/icon.4bpp"); const u8 gMonIcon_BraviaryHisuian[] = INCBIN_U8("graphics/pokemon/braviary/hisuian/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u8 gMonIcon_SliggooHisuian[] = INCBIN_U8("graphics/pokemon/sliggoo/hisuian/icon.4bpp"); const u8 gMonIcon_GoodraHisuian[] = INCBIN_U8("graphics/pokemon/goodra/hisuian/icon.4bpp"); const u8 gMonIcon_AvaluggHisuian[] = INCBIN_U8("graphics/pokemon/avalugg/hisuian/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u8 gMonIcon_DecidueyeHisuian[] = INCBIN_U8("graphics/pokemon/decidueye/hisuian/icon.4bpp"); #endif const u8 gMonIcon_PikachuCosplay[] = INCBIN_U8("graphics/pokemon/pikachu/cosplay/icon.4bpp"); @@ -5968,7 +5970,7 @@ const u8 gMonIcon_CastformSnowy[] = INCBIN_U8("graphics/pokemon/castform/snowy/i const u8 gMonIcon_DeoxysAttack[] = INCBIN_U8("graphics/pokemon/deoxys/attack/icon.4bpp"); const u8 gMonIcon_DeoxysDefense[] = INCBIN_U8("graphics/pokemon/deoxys/defense/icon.4bpp"); const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/deoxys/speed/icon.4bpp"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u8 gMonIcon_BurmySandyCloak[] = INCBIN_U8("graphics/pokemon/burmy/sandy_cloak/icon.4bpp"); const u8 gMonIcon_BurmyTrashCloak[] = INCBIN_U8("graphics/pokemon/burmy/trash_cloak/icon.4bpp"); const u8 gMonIcon_WormadamSandyCloak[] = INCBIN_U8("graphics/pokemon/wormadam/sandy_cloak/icon.4bpp"); @@ -5986,7 +5988,7 @@ const u8 gMonIcon_PalkiaOrigin[] = INCBIN_U8("graphics/pokemon/palkia/origin/ico const u8 gMonIcon_GiratinaOrigin[] = INCBIN_U8("graphics/pokemon/giratina/origin/icon.4bpp"); const u8 gMonIcon_ShayminSky[] = INCBIN_U8("graphics/pokemon/shaymin/sky/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_BasculinBlueStriped[] = INCBIN_U8("graphics/pokemon/basculin/blue_striped/icon.4bpp"); const u8 gMonIcon_BasculinWhiteStriped[] = INCBIN_U8("graphics/pokemon/basculin/white_striped/icon.4bpp"); const u8 gMonIcon_DarmanitanZenMode[] = INCBIN_U8("graphics/pokemon/darmanitan/zen_mode/icon.4bpp"); @@ -6005,7 +6007,7 @@ const u8 gMonIcon_KyuremBlack[] = INCBIN_U8("graphics/pokemon/kyurem/black/icon. const u8 gMonIcon_KeldeoResolute[] = INCBIN_U8("graphics/pokemon/keldeo/resolute/icon.4bpp"); const u8 gMonIcon_MeloettaPirouette[] = INCBIN_U8("graphics/pokemon/meloetta/pirouette/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u8 gMonIcon_GreninjaAsh[] = INCBIN_U8("graphics/pokemon/greninja/ash/icon.4bpp"); const u8 gMonIcon_VivillonPolar[] = INCBIN_U8("graphics/pokemon/vivillon/polar/icon.4bpp"); const u8 gMonIcon_VivillonTundra[] = INCBIN_U8("graphics/pokemon/vivillon/tundra/icon.4bpp"); @@ -6055,7 +6057,7 @@ const u8 gMonIcon_Zygarde10[] = INCBIN_U8("graphics/pokemon/zygarde/10_percent/i const u8 gMonIcon_ZygardeComplete[] = INCBIN_U8("graphics/pokemon/zygarde/complete/icon.4bpp"); const u8 gMonIcon_HoopaUnbound[] = INCBIN_U8("graphics/pokemon/hoopa/unbound/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u8 gMonIcon_OricorioPomPom[] = INCBIN_U8("graphics/pokemon/oricorio/pom_pom/icon.4bpp"); const u8 gMonIcon_OricorioPau[] = INCBIN_U8("graphics/pokemon/oricorio/pau/icon.4bpp"); const u8 gMonIcon_OricorioSensu[] = INCBIN_U8("graphics/pokemon/oricorio/sensu/icon.4bpp"); @@ -6075,7 +6077,7 @@ const u8 gMonIcon_NecrozmaDawnWings[] = INCBIN_U8("graphics/pokemon/necrozma/daw const u8 gMonIcon_NecrozmaUltra[] = INCBIN_U8("graphics/pokemon/necrozma/ultra/icon.4bpp"); const u8 gMonIcon_MagearnaOriginalColor[] = INCBIN_U8("graphics/pokemon/magearna/original_color/icon.4bpp"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u8 gMonIcon_CramorantGulping[] = INCBIN_U8("graphics/pokemon/cramorant/gulping/icon.4bpp"); const u8 gMonIcon_CramorantGorging[] = INCBIN_U8("graphics/pokemon/cramorant/gorging/icon.4bpp"); const u8 gMonIcon_ToxtricityLowKey[] = INCBIN_U8("graphics/pokemon/toxtricity/low_key/icon.4bpp"); @@ -6487,7 +6489,7 @@ const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/latios/footprint.1 const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/footprint.1bpp"); const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp"); const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/footprint.1bpp"); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u8 gMonFootprint_Turtwig[] = INCBIN_U8("graphics/pokemon/turtwig/footprint.1bpp"); const u8 gMonFootprint_Grotle[] = INCBIN_U8("graphics/pokemon/grotle/footprint.1bpp"); const u8 gMonFootprint_Torterra[] = INCBIN_U8("graphics/pokemon/torterra/footprint.1bpp"); @@ -6596,7 +6598,7 @@ const u8 gMonFootprint_Darkrai[] = INCBIN_U8("graphics/pokemon/darkrai/footprint const u8 gMonFootprint_Shaymin[] = INCBIN_U8("graphics/pokemon/shaymin/footprint.1bpp"); const u8 gMonFootprint_Arceus[] = INCBIN_U8("graphics/pokemon/arceus/footprint.1bpp"); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u8 gMonFootprint_Victini[] = INCBIN_U8("graphics/pokemon/victini/footprint.1bpp"); const u8 gMonFootprint_Snivy[] = INCBIN_U8("graphics/pokemon/snivy/footprint.1bpp"); const u8 gMonFootprint_Servine[] = INCBIN_U8("graphics/pokemon/servine/footprint.1bpp"); @@ -6754,7 +6756,7 @@ const u8 gMonFootprint_Keldeo[] = INCBIN_U8("graphics/pokemon/keldeo/footprint.1 const u8 gMonFootprint_Meloetta[] = INCBIN_U8("graphics/pokemon/meloetta/footprint.1bpp"); const u8 gMonFootprint_Genesect[] = INCBIN_U8("graphics/pokemon/genesect/footprint.1bpp"); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u8 gMonFootprint_Chespin[] = INCBIN_U8("graphics/pokemon/chespin/footprint.1bpp"); const u8 gMonFootprint_Quilladin[] = INCBIN_U8("graphics/pokemon/quilladin/footprint.1bpp"); const u8 gMonFootprint_Chesnaught[] = INCBIN_U8("graphics/pokemon/chesnaught/footprint.1bpp"); @@ -6828,7 +6830,7 @@ const u8 gMonFootprint_Diancie[] = INCBIN_U8("graphics/pokemon/diancie/footprint const u8 gMonFootprint_Hoopa[] = INCBIN_U8("graphics/pokemon/hoopa/footprint.1bpp"); const u8 gMonFootprint_Volcanion[] = INCBIN_U8("graphics/pokemon/volcanion/footprint.1bpp"); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u8 gMonFootprint_Rowlet[] = INCBIN_U8("graphics/pokemon/rowlet/footprint.1bpp"); const u8 gMonFootprint_Dartrix[] = INCBIN_U8("graphics/pokemon/dartrix/footprint.1bpp"); const u8 gMonFootprint_Decidueye[] = INCBIN_U8("graphics/pokemon/decidueye/footprint.1bpp"); @@ -6918,7 +6920,7 @@ const u8 gMonFootprint_Zeraora[] = INCBIN_U8("graphics/pokemon/zeraora/footprint const u8 gMonFootprint_Meltan[] = INCBIN_U8("graphics/pokemon/meltan/footprint.1bpp"); const u8 gMonFootprint_Melmetal[] = INCBIN_U8("graphics/pokemon/melmetal/footprint.1bpp"); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u8 gMonFootprint_Grookey[] = INCBIN_U8("graphics/pokemon/grookey/footprint.1bpp"); const u8 gMonFootprint_Thwackey[] = INCBIN_U8("graphics/pokemon/thwackey/footprint.1bpp"); const u8 gMonFootprint_Rillaboom[] = INCBIN_U8("graphics/pokemon/rillaboom/footprint.1bpp"); diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 8c93d2c60..65d63be56 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -10637,7 +10637,7 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_MYTHICAL, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = { .baseHP = 55, @@ -13218,7 +13218,7 @@ const struct BaseStats gBaseStats[] = }, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = { .baseHP = 100, @@ -17050,7 +17050,7 @@ const struct BaseStats gBaseStats[] = [SPECIES_GENESECT] = GENESECT_BASE_STATS, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = { .baseHP = 56, @@ -18639,7 +18639,7 @@ const struct BaseStats gBaseStats[] = }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = { .baseHP = 68, @@ -20689,7 +20689,7 @@ const struct BaseStats gBaseStats[] = }, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = { .baseHP = 50, @@ -23846,7 +23846,7 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_LEGENDARY, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = { .baseHP = 65, @@ -23971,7 +23971,7 @@ const struct BaseStats gBaseStats[] = }, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = { .baseHP = 103, @@ -23999,7 +23999,7 @@ const struct BaseStats gBaseStats[] = }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = { .baseHP = 50, @@ -24943,7 +24943,7 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_GALARIAN_FORM, }, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = { .baseHP = 70, @@ -25222,7 +25222,7 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_HISUIAN_FORM, }, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = { .baseHP = 90, @@ -25350,7 +25350,7 @@ const struct BaseStats gBaseStats[] = }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = { .baseHP = 58, @@ -25428,7 +25428,7 @@ const struct BaseStats gBaseStats[] = }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = { .baseHP = 88, @@ -25579,7 +25579,7 @@ const struct BaseStats gBaseStats[] = .noFlip = TRUE, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY_SANDY_CLOAK] = BURMY_BASE_STATS(BODY_COLOR_BROWN), [SPECIES_BURMY_TRASH_CLOAK] = BURMY_BASE_STATS(BODY_COLOR_RED), @@ -25765,7 +25765,7 @@ const struct BaseStats gBaseStats[] = [SPECIES_ARCEUS_FAIRY] = ARCEUS_BASE_STATS(TYPE_FAIRY), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_BASCULIN_BLUE_STRIPED] = { .baseHP = 70, @@ -26058,7 +26058,7 @@ const struct BaseStats gBaseStats[] = [SPECIES_GENESECT_CHILL_DRIVE] = GENESECT_BASE_STATS, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_GRENINJA_BATTLE_BOND] = { .baseHP = 72, @@ -26357,7 +26357,7 @@ const struct BaseStats gBaseStats[] = }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ORICORIO_POM_POM] = ORICORIO_BASE_STATS(TYPE_ELECTRIC, BODY_COLOR_YELLOW), [SPECIES_ORICORIO_PAU] = ORICORIO_BASE_STATS(TYPE_PSYCHIC, BODY_COLOR_PINK), [SPECIES_ORICORIO_SENSU] = ORICORIO_BASE_STATS(TYPE_GHOST, BODY_COLOR_PURPLE), @@ -26551,7 +26551,7 @@ const struct BaseStats gBaseStats[] = [SPECIES_MAGEARNA_ORIGINAL_COLOR] = MAGEARNA_BASE_STATS(BODY_COLOR_RED), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_CRAMORANT_GULPING] = CRAMORANT_BASE_STATS, [SPECIES_CRAMORANT_GORGING] = CRAMORANT_BASE_STATS, diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h index 896332649..b6cc938b7 100644 --- a/src/data/pokemon/egg_moves.h +++ b/src/data/pokemon/egg_moves.h @@ -2387,7 +2387,7 @@ const u16 gEggMoves[] = { MOVE_ENDURE, MOVE_DEFENSE_CURL), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE egg_moves(TURTWIG, MOVE_WORRY_SEED, MOVE_GROWTH, @@ -2879,7 +2879,7 @@ const u16 gEggMoves[] = { MOVE_BULLET_SEED), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE egg_moves(SNIVY, MOVE_CAPTIVATE, MOVE_NATURAL_GIFT, @@ -3604,7 +3604,7 @@ const u16 gEggMoves[] = { MOVE_MAGNET_RISE), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE egg_moves(CHESPIN, MOVE_SYNTHESIS, MOVE_BELLY_DRUM, @@ -3813,7 +3813,7 @@ const u16 gEggMoves[] = { MOVE_TAILWIND), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE egg_moves(ROWLET, MOVE_CURSE, MOVE_CONFUSE_RAY, @@ -4042,7 +4042,7 @@ const u16 gEggMoves[] = { MOVE_DRAGON_BREATH), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE egg_moves(GROOKEY, MOVE_GROWTH, MOVE_HAMMER_ARM, @@ -4391,7 +4391,7 @@ const u16 gEggMoves[] = { MOVE_QUICK_GUARD, MOVE_KNOCK_OFF), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE egg_moves(DARUMAKA_GALARIAN, MOVE_FOCUS_PUNCH, MOVE_HAMMER_ARM, diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index 766a25cb6..4f09867a6 100644 --- a/src/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h @@ -61,7 +61,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}}, [SPECIES_SLOWBRO] = {{EVO_MEGA_EVOLUTION, ITEM_SLOWBRONITE, SPECIES_SLOWBRO_MEGA}}, [SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_MAGNETON] = {{EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_MAGNEZONE}, {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_MAGNEZONE}}, #endif @@ -80,16 +80,16 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR_ALOLAN}}, [SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}, {EVO_LEVEL_NIGHT, 28, SPECIES_MAROWAK_ALOLAN}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LICKITUNG] = {{EVO_MOVE, MOVE_ROLLOUT, SPECIES_LICKILICKY}}, #endif [SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}}, [SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_RHYDON] = {{EVO_TRADE_ITEM, ITEM_PROTECTOR, SPECIES_RHYPERIOR}}, #endif [SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TANGELA] = {{EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_TANGROWTH}}, #endif [SPECIES_KANGASKHAN] = {{EVO_MEGA_EVOLUTION, ITEM_KANGASKHANITE, SPECIES_KANGASKHAN_MEGA}}, @@ -98,7 +98,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}}, [SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}}, [SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_ELECTABUZZ] = {{EVO_TRADE_ITEM, ITEM_ELECTIRIZER, SPECIES_ELECTIVIRE}}, [SPECIES_MAGMAR] = {{EVO_TRADE_ITEM, ITEM_MAGMARIZER, SPECIES_MAGMORTAR}}, #endif @@ -110,13 +110,13 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}, - #if P_NEW_POKEMON >= GEN_4 + #if P_GEN_4_POKEMON == TRUE {EVO_SPECIFIC_MAP, MAP_PETALBURG_WOODS, SPECIES_LEAFEON}, {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_LEAFEON}, {EVO_SPECIFIC_MAP, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM, SPECIES_GLACEON}, {EVO_ITEM, ITEM_ICE_STONE, SPECIES_GLACEON}, #endif - #if P_NEW_POKEMON >= GEN_6 + #if P_GEN_6_POKEMON == TRUE {EVO_MOVE_TYPE, TYPE_FAIRY, SPECIES_SYLVEON} #endif }, @@ -143,7 +143,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}}, [SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}}, [SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TOGETIC] = {{EVO_ITEM, ITEM_SHINY_STONE, SPECIES_TOGEKISS}}, #endif [SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}}, @@ -155,36 +155,36 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}}, [SPECIES_AIPOM] = {{EVO_MOVE, MOVE_DOUBLE_HIT, SPECIES_AMBIPOM}}, [SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_YANMA] = {{EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_YANMEGA}}, #endif [SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_MURKROW] = {{EVO_ITEM, ITEM_DUSK_STONE, SPECIES_HONCHKROW}}, [SPECIES_MISDREAVUS] = {{EVO_ITEM, ITEM_DUSK_STONE, SPECIES_MISMAGIUS}}, #endif [SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_GLIGAR] = {{EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_FANG, SPECIES_GLISCOR}}, #endif [SPECIES_STEELIX] = {{EVO_MEGA_EVOLUTION, ITEM_STEELIXITE, SPECIES_STEELIX_MEGA}}, [SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}}, [SPECIES_SCIZOR] = {{EVO_MEGA_EVOLUTION, ITEM_SCIZORITE, SPECIES_SCIZOR_MEGA}}, [SPECIES_HERACROSS] = {{EVO_MEGA_EVOLUTION, ITEM_HERACRONITE, SPECIES_HERACROSS_MEGA}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_SNEASEL] = {{EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_CLAW, SPECIES_WEAVILE}}, #endif [SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}}, [SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}}, [SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_PILOSWINE] = {{EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_MAMOSWINE}}, #endif [SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}}, [SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}}, [SPECIES_HOUNDOOM] = {{EVO_MEGA_EVOLUTION, ITEM_HOUNDOOMINITE, SPECIES_HOUNDOOM_MEGA}}, [SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_PORYGON2] = {{EVO_TRADE_ITEM, ITEM_DUBIOUS_DISC, SPECIES_PORYGON_Z}}, #endif [SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, @@ -224,7 +224,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}}, [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}}, [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_NOSEPASS] = {{EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_PROBOPASS}}, #endif [SPECIES_SABLEYE] = {{EVO_MEGA_EVOLUTION, ITEM_SABLENITE, SPECIES_SABLEYE_MEGA}}, @@ -245,7 +245,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}}, [SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}}, [SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}, - #if P_NEW_POKEMON >= GEN_4 + #if P_GEN_4_POKEMON == TRUE {EVO_ITEM_FEMALE, ITEM_DAWN_STONE, SPECIES_FROSLASS} #endif }, @@ -259,7 +259,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_ALTARIA] = {{EVO_MEGA_EVOLUTION, ITEM_ALTARIANITE, SPECIES_ALTARIA_MEGA}}, [SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}}, [SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_DUSCLOPS] = {{EVO_TRADE_ITEM, ITEM_REAPER_CLOTH, SPECIES_DUSKNOIR}}, [SPECIES_ROSELIA] = {{EVO_ITEM, ITEM_SHINY_STONE, SPECIES_ROSERADE}}, #endif @@ -280,7 +280,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}}, [SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}}, [SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}, - #if P_NEW_POKEMON >= GEN_4 + #if P_GEN_4_POKEMON == TRUE {EVO_ITEM_MALE, ITEM_DAWN_STONE, SPECIES_GALLADE} #endif }, @@ -297,7 +297,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_GROUDON] = {{EVO_PRIMAL_REVERSION, ITEM_RED_ORB, SPECIES_GROUDON_PRIMAL}}, [SPECIES_RAYQUAZA] = {{EVO_MOVE_MEGA_EVOLUTION, MOVE_DRAGON_ASCENT, SPECIES_RAYQUAZA_MEGA}}, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE // Gens 4-7 [SPECIES_TURTWIG] = {{EVO_LEVEL, 18, SPECIES_GROTLE}}, [SPECIES_GROTLE] = {{EVO_LEVEL, 32, SPECIES_TORTERRA}}, @@ -345,7 +345,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_ABOMASNOW] = {{EVO_MEGA_EVOLUTION, ITEM_ABOMASITE, SPECIES_ABOMASNOW_MEGA}}, [SPECIES_GALLADE] = {{EVO_MEGA_EVOLUTION, ITEM_GALLADITE, SPECIES_GALLADE_MEGA}}, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SNIVY] = {{EVO_LEVEL, 17, SPECIES_SERVINE}}, [SPECIES_SERVINE] = {{EVO_LEVEL, 36, SPECIES_SERPERIOR}}, [SPECIES_TEPIG] = {{EVO_LEVEL, 17, SPECIES_PIGNITE}}, @@ -422,7 +422,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_ZWEILOUS] = {{EVO_LEVEL, 64, SPECIES_HYDREIGON}}, [SPECIES_LARVESTA] = {{EVO_LEVEL, 59, SPECIES_VOLCARONA}}, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = {{EVO_LEVEL, 16, SPECIES_QUILLADIN}}, [SPECIES_QUILLADIN] = {{EVO_LEVEL, 36, SPECIES_CHESNAUGHT}}, [SPECIES_FENNEKIN] = {{EVO_LEVEL, 16, SPECIES_BRAIXEN}}, @@ -460,7 +460,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_NOIBAT] = {{EVO_LEVEL, 48, SPECIES_NOIVERN}}, [SPECIES_DIANCIE] = {{EVO_MEGA_EVOLUTION, ITEM_DIANCITE, SPECIES_DIANCIE_MEGA}}, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = {{EVO_LEVEL, 17, SPECIES_DARTRIX}}, [SPECIES_DARTRIX] = {{EVO_LEVEL, 34, SPECIES_DECIDUEYE}}, [SPECIES_LITTEN] = {{EVO_LEVEL, 17, SPECIES_TORRACAT}}, @@ -496,7 +496,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_LEVEL_NIGHT, 53, SPECIES_LUNALA}}, [SPECIES_POIPOLE] = {{EVO_MOVE, MOVE_DRAGON_PULSE, SPECIES_NAGANADEL}}, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = {{EVO_LEVEL, 16, SPECIES_THWACKEY}}, [SPECIES_THWACKEY] = {{EVO_LEVEL, 35, SPECIES_RILLABOOM}}, [SPECIES_SCORBUNNY] = {{EVO_LEVEL, 16, SPECIES_RABOOT}}, @@ -552,13 +552,13 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_GEODUDE_ALOLAN] = {{EVO_LEVEL, 25, SPECIES_GRAVELER_ALOLAN}}, [SPECIES_GRAVELER_ALOLAN] = {{EVO_TRADE, 0, SPECIES_GOLEM_ALOLAN}}, [SPECIES_GRIMER_ALOLAN] = {{EVO_LEVEL, 38, SPECIES_MUK_ALOLAN}}, -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_MEOWTH_GALARIAN] = {{EVO_LEVEL, 28, SPECIES_PERRSERKER}}, #endif [SPECIES_PONYTA_GALARIAN] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH_GALARIAN}}, [SPECIES_SLOWPOKE_GALARIAN] = {{EVO_ITEM, ITEM_GALARICA_CUFF, SPECIES_SLOWBRO_GALARIAN}, {EVO_ITEM, ITEM_GALARICA_WREATH, SPECIES_SLOWKING_GALARIAN}}, -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_FARFETCHD_GALARIAN] = {{EVO_CRITICAL_HITS, 3, SPECIES_SIRFETCHD}}, [SPECIES_MR_MIME_GALARIAN] = {{EVO_LEVEL, 42, SPECIES_MR_RIME}}, [SPECIES_CORSOLA_GALARIAN] = {{EVO_LEVEL, 38, SPECIES_CURSOLA}}, @@ -570,19 +570,19 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_ZIGZAGOON_GALARIAN] = {{EVO_LEVEL, 20, SPECIES_LINOONE_GALARIAN}}, [SPECIES_DARUMAKA_GALARIAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_DARMANITAN_GALARIAN}}, #endif -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY_SANDY_CLOAK] = {{EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_SANDY_CLOAK}, {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}}, [SPECIES_BURMY_TRASH_CLOAK] = {{EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_TRASH_CLOAK}, {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}}, [SPECIES_SHELLOS_EAST_SEA] = {{EVO_LEVEL, 30, SPECIES_GASTRODON_EAST_SEA}}, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DEERLING_SUMMER] = {{EVO_LEVEL, 34, SPECIES_SAWSBUCK_SUMMER}}, [SPECIES_DEERLING_AUTUMN] = {{EVO_LEVEL, 34, SPECIES_SAWSBUCK_AUTUMN}}, [SPECIES_DEERLING_WINTER] = {{EVO_LEVEL, 34, SPECIES_SAWSBUCK_WINTER}}, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_FLABEBE_YELLOW_FLOWER] = {{EVO_LEVEL, 19, SPECIES_FLOETTE_YELLOW_FLOWER}}, [SPECIES_FLABEBE_ORANGE_FLOWER] = {{EVO_LEVEL, 19, SPECIES_FLOETTE_ORANGE_FLOWER}}, [SPECIES_FLABEBE_BLUE_FLOWER] = {{EVO_LEVEL, 19, SPECIES_FLOETTE_BLUE_FLOWER}}, @@ -595,10 +595,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_PUMPKABOO_LARGE] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_LARGE}}, [SPECIES_PUMPKABOO_SUPER] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SUPER}}, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROCKRUFF_OWN_TEMPO] = {{EVO_LEVEL_DUSK, 25, SPECIES_LYCANROC_DUSK}}, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_SINISTEA_ANTIQUE] = {{EVO_ITEM, ITEM_CHIPPED_POT, SPECIES_POLTEAGEIST_ANTIQUE}}, #endif }; diff --git a/src/data/pokemon/form_change_table_pointers.h b/src/data/pokemon/form_change_table_pointers.h index f627de89e..8b593d116 100644 --- a/src/data/pokemon/form_change_table_pointers.h +++ b/src/data/pokemon/form_change_table_pointers.h @@ -1,6 +1,6 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = { -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_GIRATINA] = sGiratinaFormChangeTable, [SPECIES_GIRATINA_ORIGIN] = sGiratinaFormChangeTable, [SPECIES_SHAYMIN] = sShayminFormChangeTable, @@ -24,7 +24,7 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_ARCEUS_DARK] = sArceusFormChangeTable, [SPECIES_ARCEUS_FAIRY] = sArceusFormChangeTable, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_TORNADUS] = sTornadusFormChangeTable, [SPECIES_TORNADUS_THERIAN] = sTornadusTherianFormChangeTable, [SPECIES_THUNDURUS] = sThundurusFormChangeTable, @@ -39,11 +39,11 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_GENESECT_BURN_DRIVE] = sGenesectFormChangeTable, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectFormChangeTable, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_HOOPA] = sHoopaFormChangeTable, [SPECIES_HOOPA_UNBOUND] = sHoopaUnboundFormChangeTable, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ORICORIO] = sOricorioFormChangeTable, [SPECIES_ORICORIO_POM_POM] = sOricorioFormChangeTable, [SPECIES_ORICORIO_PAU] = sOricorioFormChangeTable, @@ -67,7 +67,7 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_SILVALLY_STEEL] = sSilvallyFormChangeTable, [SPECIES_SILVALLY_WATER] = sSilvallyFormChangeTable, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_ENAMORUS] = sEnamorusFormChangeTable, [SPECIES_ENAMORUS_THERIAN] = sEnamorusTherianFormChangeTable, #endif diff --git a/src/data/pokemon/form_change_tables.h b/src/data/pokemon/form_change_tables.h index 2f658faa9..6a662c35d 100644 --- a/src/data/pokemon/form_change_tables.h +++ b/src/data/pokemon/form_change_tables.h @@ -43,7 +43,7 @@ FORM_ITEM_USE_TIME: #define DAY 0 #define NIGHT 1 -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const struct FormChange sGiratinaFormChangeTable[] = { {FORM_ITEM_HOLD, SPECIES_GIRATINA, ITEM_NONE}, {FORM_ITEM_HOLD, SPECIES_GIRATINA_ORIGIN, ITEM_GRISEOUS_ORB}, @@ -96,7 +96,7 @@ static const struct FormChange sArceusFormChangeTable[] = { }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const struct FormChange sTornadusFormChangeTable[] = { {FORM_ITEM_USE, SPECIES_TORNADUS_THERIAN, ITEM_REVEAL_GLASS}, {FORM_CHANGE_END}, @@ -147,7 +147,7 @@ static const struct FormChange sGenesectFormChangeTable[] = { }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const struct FormChange sHoopaFormChangeTable[] = { // {FORM_ITEM_USE, SPECIES_HOOPA_UNBOUND, ITEM_PRISON_BOTTLE, SPECIES_HOOPA}, {FORM_CHANGE_END}, @@ -159,7 +159,7 @@ static const struct FormChange sHoopaUnboundFormChangeTable[] = { }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const struct FormChange sOricorioFormChangeTable[] = { {FORM_ITEM_USE, SPECIES_ORICORIO, ITEM_RED_NECTAR}, {FORM_ITEM_USE, SPECIES_ORICORIO_POM_POM, ITEM_YELLOW_NECTAR}, @@ -191,7 +191,7 @@ static const struct FormChange sSilvallyFormChangeTable[] = { }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const struct FormChange sEnamorusFormChangeTable[] = { {FORM_ITEM_USE, SPECIES_ENAMORUS, ITEM_REVEAL_GLASS}, {FORM_CHANGE_END}, diff --git a/src/data/pokemon/form_species_table_pointers.h b/src/data/pokemon/form_species_table_pointers.h index 6d931190b..602efea1c 100644 --- a/src/data/pokemon/form_species_table_pointers.h +++ b/src/data/pokemon/form_species_table_pointers.h @@ -84,7 +84,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_GROUDON] = sGroudonFormSpeciesIdTable, [SPECIES_RAYQUAZA] = sRayquazaFormSpeciesIdTable, [SPECIES_DEOXYS] = sDeoxysFormSpeciesIdTable, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY] = sBurmyFormSpeciesIdTable, [SPECIES_WORMADAM] = sWormadamFormSpeciesIdTable, [SPECIES_CHERRIM] = sCherrimFormSpeciesIdTable, @@ -102,7 +102,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_SHAYMIN] = sShayminFormSpeciesIdTable, [SPECIES_ARCEUS] = sArceusFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT] = sSamurottFormSpeciesIdTable, [SPECIES_AUDINO] = sAudinoFormSpeciesIdTable, [SPECIES_BASCULIN] = sBasculinFormSpeciesIdTable, @@ -124,7 +124,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_MELOETTA] = sMeloettaFormSpeciesIdTable, [SPECIES_GENESECT] = sGenesectFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_GRENINJA] = sGreninjaFormSpeciesIdTable, [SPECIES_VIVILLON] = sVivillonFormSpeciesIdTable, [SPECIES_FLABEBE] = sFlabebeFormSpeciesIdTable, @@ -143,7 +143,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_DIANCIE] = sDiancieFormSpeciesIdTable, [SPECIES_HOOPA] = sHoopaFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE] = sDecidueyeFormSpeciesIdTable, [SPECIES_ORICORIO] = sOricorioFormSpeciesIdTable, [SPECIES_ROCKRUFF] = sRockruffFormSpeciesIdTable, @@ -155,7 +155,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_NECROZMA] = sNecrozmaFormSpeciesIdTable, [SPECIES_MAGEARNA] = sMagearnaFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_CRAMORANT] = sCramorantFormSpeciesIdTable, [SPECIES_TOXTRICITY] = sToxtricityFormSpeciesIdTable, [SPECIES_SINISTEA] = sSinisteaFormSpeciesIdTable, @@ -213,17 +213,17 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_METAGROSS_MEGA] = sMetagrossFormSpeciesIdTable, [SPECIES_LATIAS_MEGA] = sLatiasFormSpeciesIdTable, [SPECIES_LATIOS_MEGA] = sLatiosFormSpeciesIdTable, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = sLopunnyFormSpeciesIdTable, [SPECIES_GARCHOMP_MEGA] = sGarchompFormSpeciesIdTable, [SPECIES_LUCARIO_MEGA] = sLucarioFormSpeciesIdTable, [SPECIES_ABOMASNOW_MEGA] = sAbomasnowFormSpeciesIdTable, [SPECIES_GALLADE_MEGA] = sGalladeFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = sAudinoFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = sDiancieFormSpeciesIdTable, #endif // Special Mega + Primals @@ -265,7 +265,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_CORSOLA_GALARIAN] = sCorsolaFormSpeciesIdTable, [SPECIES_ZIGZAGOON_GALARIAN] = sZigzagoonFormSpeciesIdTable, [SPECIES_LINOONE_GALARIAN] = sLinooneFormSpeciesIdTable, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = sDarumakaFormSpeciesIdTable, [SPECIES_DARMANITAN_GALARIAN] = sDarmanitanFormSpeciesIdTable, [SPECIES_YAMASK_GALARIAN] = sYamaskFormSpeciesIdTable, @@ -279,19 +279,19 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_TYPHLOSION_HISUIAN] = sTyphlosionFormSpeciesIdTable, [SPECIES_QWILFISH_HISUIAN] = sQwilfishFormSpeciesIdTable, [SPECIES_SNEASEL_HISUIAN] = sSneaselFormSpeciesIdTable, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = sSamurottFormSpeciesIdTable, [SPECIES_LILLIGANT_HISUIAN] = sLilligantFormSpeciesIdTable, [SPECIES_ZORUA_HISUIAN] = sZoruaFormSpeciesIdTable, [SPECIES_ZOROARK_HISUIAN] = sZoroarkFormSpeciesIdTable, [SPECIES_BRAVIARY_HISUIAN] = sBraviaryFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = sSliggooFormSpeciesIdTable, [SPECIES_GOODRA_HISUIAN] = sGoodraFormSpeciesIdTable, [SPECIES_AVALUGG_HISUIAN] = sAvaluggFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = sDecidueyeFormSpeciesIdTable, #endif // Misc Forms @@ -349,7 +349,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_DEOXYS_ATTACK] = sDeoxysFormSpeciesIdTable, [SPECIES_DEOXYS_DEFENSE] = sDeoxysFormSpeciesIdTable, [SPECIES_DEOXYS_SPEED] = sDeoxysFormSpeciesIdTable, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = sBurmyFormSpeciesIdTable, [SPECIES_BURMY_TRASH_CLOAK] = sBurmyFormSpeciesIdTable, @@ -393,7 +393,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_ARCEUS_DARK] = sArceusFormSpeciesIdTable, [SPECIES_ARCEUS_FAIRY] = sArceusFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = sBasculinFormSpeciesIdTable, [SPECIES_BASCULIN_WHITE_STRIPED] = sBasculinFormSpeciesIdTable, @@ -412,7 +412,6 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_TORNADUS_THERIAN] = sTornadusFormSpeciesIdTable, [SPECIES_THUNDURUS_THERIAN] = sThundurusFormSpeciesIdTable, [SPECIES_LANDORUS_THERIAN] = sLandorusFormSpeciesIdTable, - [SPECIES_ENAMORUS_THERIAN] = sEnamorusFormSpeciesIdTable, // Kyurem [SPECIES_KYUREM_WHITE] = sKyuremFormSpeciesIdTable, [SPECIES_KYUREM_BLACK] = sKyuremFormSpeciesIdTable, @@ -426,7 +425,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_GENESECT_BURN_DRIVE] = sGenesectFormSpeciesIdTable, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = sGreninjaFormSpeciesIdTable, [SPECIES_GRENINJA_ASH] = sGreninjaFormSpeciesIdTable, @@ -498,7 +497,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = // Hoopa [SPECIES_HOOPA_UNBOUND] = sHoopaFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = sOricorioFormSpeciesIdTable, [SPECIES_ORICORIO_PAU] = sOricorioFormSpeciesIdTable, @@ -551,7 +550,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sMagearnaFormSpeciesIdTable, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = sCramorantFormSpeciesIdTable, [SPECIES_CRAMORANT_GORGING] = sCramorantFormSpeciesIdTable, @@ -589,5 +588,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = // Calyrex [SPECIES_CALYREX_ICE_RIDER] = sCalyrexFormSpeciesIdTable, [SPECIES_CALYREX_SHADOW_RIDER] = sCalyrexFormSpeciesIdTable, + // Enamorus + [SPECIES_ENAMORUS_THERIAN] = sEnamorusFormSpeciesIdTable, #endif }; diff --git a/src/data/pokemon/form_species_tables.h b/src/data/pokemon/form_species_tables.h index d329dfab3..545201c5a 100644 --- a/src/data/pokemon/form_species_tables.h +++ b/src/data/pokemon/form_species_tables.h @@ -549,7 +549,7 @@ static const u16 sDeoxysFormSpeciesIdTable[] = { FORM_SPECIES_END, }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const u16 sBurmyFormSpeciesIdTable[] = { SPECIES_BURMY, SPECIES_BURMY_SANDY_CLOAK, @@ -669,7 +669,7 @@ static const u16 sArceusFormSpeciesIdTable[] = { }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const u16 sSamurottFormSpeciesIdTable[] = { SPECIES_SAMUROTT, SPECIES_SAMUROTT_HISUIAN, @@ -773,12 +773,6 @@ static const u16 sLandorusFormSpeciesIdTable[] = { FORM_SPECIES_END, }; -static const u16 sEnamorusFormSpeciesIdTable[] = { - SPECIES_ENAMORUS, - SPECIES_ENAMORUS_THERIAN, - FORM_SPECIES_END, -}; - static const u16 sKyuremFormSpeciesIdTable[] = { SPECIES_KYUREM, SPECIES_KYUREM_WHITE, @@ -808,7 +802,7 @@ static const u16 sGenesectFormSpeciesIdTable[] = { }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const u16 sGreninjaFormSpeciesIdTable[] = { SPECIES_GRENINJA, SPECIES_GRENINJA_BATTLE_BOND, @@ -956,7 +950,7 @@ static const u16 sHoopaFormSpeciesIdTable[] = { }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const u16 sDecidueyeFormSpeciesIdTable[] = { SPECIES_DECIDUEYE, SPECIES_DECIDUEYE_HISUIAN, @@ -1051,7 +1045,7 @@ static const u16 sMagearnaFormSpeciesIdTable[] = { }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const u16 sCramorantFormSpeciesIdTable[] = { SPECIES_CRAMORANT, SPECIES_CRAMORANT_GULPING, @@ -1144,4 +1138,11 @@ static const u16 sCalyrexFormSpeciesIdTable[] = { SPECIES_CALYREX_SHADOW_RIDER, FORM_SPECIES_END, }; + +static const u16 sEnamorusFormSpeciesIdTable[] = { + SPECIES_ENAMORUS, + SPECIES_ENAMORUS_THERIAN, + FORM_SPECIES_END, +}; + #endif diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index d1659be02..0ecfa59cc 100644 --- a/src/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -387,7 +387,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_JIRACHI] = sJirachiLevelUpLearnset, [SPECIES_DEOXYS] = sDeoxysLevelUpLearnset, [SPECIES_CHIMECHO] = sChimechoLevelUpLearnset, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = sTurtwigLevelUpLearnset, [SPECIES_GROTLE] = sGrotleLevelUpLearnset, [SPECIES_TORTERRA] = sTorterraLevelUpLearnset, @@ -496,7 +496,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_SHAYMIN] = sShayminLevelUpLearnset, [SPECIES_ARCEUS] = sArceusLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = sVictiniLevelUpLearnset, [SPECIES_SNIVY] = sSnivyLevelUpLearnset, [SPECIES_SERVINE] = sServineLevelUpLearnset, @@ -654,7 +654,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_MELOETTA] = sMeloettaLevelUpLearnset, [SPECIES_GENESECT] = sGenesectLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = sChespinLevelUpLearnset, [SPECIES_QUILLADIN] = sQuilladinLevelUpLearnset, [SPECIES_CHESNAUGHT] = sChesnaughtLevelUpLearnset, @@ -728,7 +728,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_HOOPA] = sHoopaLevelUpLearnset, [SPECIES_VOLCANION] = sVolcanionLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = sRowletLevelUpLearnset, [SPECIES_DARTRIX] = sDartrixLevelUpLearnset, [SPECIES_DECIDUEYE] = sDecidueyeLevelUpLearnset, @@ -818,7 +818,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_MELTAN] = sMeltanLevelUpLearnset, [SPECIES_MELMETAL] = sMelmetalLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = sGrookeyLevelUpLearnset, [SPECIES_THWACKEY] = sThwackeyLevelUpLearnset, [SPECIES_RILLABOOM] = sRillaboomLevelUpLearnset, @@ -957,17 +957,17 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_METAGROSS_MEGA] = sMetagrossLevelUpLearnset, [SPECIES_LATIAS_MEGA] = sLatiasLevelUpLearnset, [SPECIES_LATIOS_MEGA] = sLatiosLevelUpLearnset, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = sLopunnyLevelUpLearnset, [SPECIES_GARCHOMP_MEGA] = sGarchompLevelUpLearnset, [SPECIES_LUCARIO_MEGA] = sLucarioLevelUpLearnset, [SPECIES_ABOMASNOW_MEGA] = sAbomasnowLevelUpLearnset, [SPECIES_GALLADE_MEGA] = sGalladeLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = sAudinoLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = sDiancieLevelUpLearnset, #endif // Special Mega + Primals @@ -1009,7 +1009,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_CORSOLA_GALARIAN] = sCorsolaGalarianLevelUpLearnset, [SPECIES_ZIGZAGOON_GALARIAN] = sZigzagoonGalarianLevelUpLearnset, [SPECIES_LINOONE_GALARIAN] = sLinooneGalarianLevelUpLearnset, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = sDarumakaGalarianLevelUpLearnset, [SPECIES_DARMANITAN_GALARIAN] = sDarmanitanGalarianLevelUpLearnset, [SPECIES_YAMASK_GALARIAN] = sYamaskGalarianLevelUpLearnset, @@ -1023,19 +1023,19 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_TYPHLOSION_HISUIAN] = sTyphlosionHisuianLevelUpLearnset, [SPECIES_QWILFISH_HISUIAN] = sQwilfishHisuianLevelUpLearnset, [SPECIES_SNEASEL_HISUIAN] = sSneaselHisuianLevelUpLearnset, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = sSamurottHisuianLevelUpLearnset, [SPECIES_LILLIGANT_HISUIAN] = sLilligantHisuianLevelUpLearnset, [SPECIES_ZORUA_HISUIAN] = sZoruaHisuianLevelUpLearnset, [SPECIES_ZOROARK_HISUIAN] = sZoroarkHisuianLevelUpLearnset, [SPECIES_BRAVIARY_HISUIAN] = sBraviaryHisuianLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = sSliggooHisuianLevelUpLearnset, [SPECIES_GOODRA_HISUIAN] = sGoodraHisuianLevelUpLearnset, [SPECIES_AVALUGG_HISUIAN] = sAvaluggHisuianLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = sDecidueyeHisuianLevelUpLearnset, #endif // Misc Forms @@ -1093,7 +1093,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_DEOXYS_ATTACK] = sDeoxysAttackLevelUpLearnset, [SPECIES_DEOXYS_DEFENSE] = sDeoxysDefenseLevelUpLearnset, [SPECIES_DEOXYS_SPEED] = sDeoxysSpeedLevelUpLearnset, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = sBurmyLevelUpLearnset, [SPECIES_BURMY_TRASH_CLOAK] = sBurmyLevelUpLearnset, @@ -1137,7 +1137,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_ARCEUS_DARK] = sArceusLevelUpLearnset, [SPECIES_ARCEUS_FAIRY] = sArceusLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = sBasculinLevelUpLearnset, [SPECIES_BASCULIN_WHITE_STRIPED] = sBasculinLevelUpLearnset, @@ -1169,7 +1169,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_GENESECT_BURN_DRIVE] = sGenesectLevelUpLearnset, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = sGreninjaLevelUpLearnset, [SPECIES_GRENINJA_ASH] = sGreninjaLevelUpLearnset, @@ -1241,7 +1241,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = // Hoopa [SPECIES_HOOPA_UNBOUND] = sHoopaUnboundLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = sOricorioLevelUpLearnset, [SPECIES_ORICORIO_PAU] = sOricorioLevelUpLearnset, @@ -1294,7 +1294,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sMagearnaLevelUpLearnset, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = sCramorantLevelUpLearnset, [SPECIES_CRAMORANT_GORGING] = sCramorantLevelUpLearnset, diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index a7f70b525..8f8f8f038 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -7903,7 +7903,7 @@ static const struct LevelUpMove sChimechoLevelUpLearnset[] = { LEVEL_UP_END }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const struct LevelUpMove sTurtwigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), @@ -9993,7 +9993,7 @@ static const struct LevelUpMove sArceusLevelUpLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sVictiniLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SEARING_SHOT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -13254,7 +13254,7 @@ static const struct LevelUpMove sGenesectLevelUpLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const struct LevelUpMove sChespinLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), @@ -14751,7 +14751,7 @@ static const struct LevelUpMove sVolcanionLevelUpLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sRowletLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), @@ -16531,7 +16531,7 @@ static const struct LevelUpMove sMelmetalLevelUpLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const struct LevelUpMove sGrookeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -18865,7 +18865,7 @@ static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { LEVEL_UP_END }; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19033,7 +19033,7 @@ static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { LEVEL_UP_END }; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19105,7 +19105,7 @@ static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), //LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), @@ -19146,7 +19146,7 @@ static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), @@ -19220,7 +19220,7 @@ static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { LEVEL_UP_END }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), @@ -19283,7 +19283,9 @@ static const struct LevelUpMove sShayminSkyLevelUpLearnset[] = { LEVEL_UP_MOVE(100, MOVE_SEED_FLARE), LEVEL_UP_END }; +#endif +#if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sKyuremWhiteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_DRAGON_RAGE), @@ -19323,7 +19325,7 @@ static const struct LevelUpMove sKyuremBlackLevelUpLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), @@ -19394,7 +19396,7 @@ static const struct LevelUpMove sHoopaUnboundLevelUpLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_REVERSAL), @@ -19440,7 +19442,7 @@ static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const struct LevelUpMove sToxtricityLowKeyLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_SPARK), diff --git a/src/data/pokemon/pokedex_entries.h b/src/data/pokemon/pokedex_entries.h index 2ab164784..492538260 100644 --- a/src/data/pokemon/pokedex_entries.h +++ b/src/data/pokemon/pokedex_entries.h @@ -4644,7 +4644,7 @@ const struct PokedexEntry gPokedexEntries[] = .trainerOffset = 2, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [NATIONAL_DEX_TURTWIG] = { .categoryName = _("Tiny Leaf"), @@ -5930,7 +5930,7 @@ const struct PokedexEntry gPokedexEntries[] = }, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [NATIONAL_DEX_VICTINI] = { .categoryName = _("Victory"), @@ -7804,7 +7804,7 @@ const struct PokedexEntry gPokedexEntries[] = }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [NATIONAL_DEX_CHESPIN] = { .categoryName = _("Spiny Nut"), @@ -8670,7 +8670,7 @@ const struct PokedexEntry gPokedexEntries[] = }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [NATIONAL_DEX_ROWLET] = { .categoryName = _("Grass Quill"), @@ -9728,7 +9728,7 @@ const struct PokedexEntry gPokedexEntries[] = }, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [NATIONAL_DEX_GROOKEY] = { .categoryName = _("Chimp"), diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h index 2eb0407e9..6048d2121 100644 --- a/src/data/pokemon/pokedex_text.h +++ b/src/data/pokemon/pokedex_text.h @@ -2320,7 +2320,7 @@ const u8 gChimechoPokedexText[] = _( "themselves using seven different and\n" "distinguishing cries."); -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE const u8 gTurtwigPokedexText[] = _( "The shell on its back is made of soil. \n" "On a very healthy Turtwig, the shell \n" @@ -2964,7 +2964,7 @@ const u8 gArceusPokedexText[] = _( "even existed."); #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE const u8 gVictiniPokedexText[] = _( "This Pokémon brings victory.\n" "It is said that Trainers with Victini\n" @@ -3902,7 +3902,7 @@ const u8 gGenesectPokedexText[] = _( "a cannon to its back."); #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE const u8 gChespinPokedexText[] = _( "The quills on its head are usually soft.\n" "When it flexes them, the points become\n" @@ -4336,7 +4336,7 @@ const u8 gVolcanionPokedexText[] = _( "humans do not tread."); #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE const u8 gRowletPokedexText[] = _( "This wary Pokémon uses photosynthesis\n" "to store up energy during the day, while\n" @@ -4859,7 +4859,7 @@ const u8 gMelmetalPokedexText[] = _( "come back to life after 3,000 years."); #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE const u8 gGrookeyPokedexText[] = _( "When it uses its special stick to strike up\n" "a beat, the sound waves produced carry\n" diff --git a/src/data/pokemon/teachable_learnset_pointers.h b/src/data/pokemon/teachable_learnset_pointers.h index f238684c6..28998aae1 100644 --- a/src/data/pokemon/teachable_learnset_pointers.h +++ b/src/data/pokemon/teachable_learnset_pointers.h @@ -387,7 +387,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_JIRACHI] = sJirachiTeachableLearnset, [SPECIES_DEOXYS] = sDeoxysTeachableLearnset, [SPECIES_CHIMECHO] = sChimechoTeachableLearnset, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = sTurtwigTeachableLearnset, [SPECIES_GROTLE] = sGrotleTeachableLearnset, [SPECIES_TORTERRA] = sTorterraTeachableLearnset, @@ -496,7 +496,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_SHAYMIN] = sShayminTeachableLearnset, [SPECIES_ARCEUS] = sArceusTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = sVictiniTeachableLearnset, [SPECIES_SNIVY] = sSnivyTeachableLearnset, [SPECIES_SERVINE] = sServineTeachableLearnset, @@ -654,7 +654,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_MELOETTA] = sMeloettaTeachableLearnset, [SPECIES_GENESECT] = sGenesectTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = sChespinTeachableLearnset, [SPECIES_QUILLADIN] = sQuilladinTeachableLearnset, [SPECIES_CHESNAUGHT] = sChesnaughtTeachableLearnset, @@ -728,7 +728,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_HOOPA] = sHoopaTeachableLearnset, [SPECIES_VOLCANION] = sVolcanionTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = sRowletTeachableLearnset, [SPECIES_DARTRIX] = sDartrixTeachableLearnset, [SPECIES_DECIDUEYE] = sDecidueyeTeachableLearnset, @@ -818,7 +818,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_MELTAN] = sMeltanTeachableLearnset, [SPECIES_MELMETAL] = sMelmetalTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = sGrookeyTeachableLearnset, [SPECIES_THWACKEY] = sThwackeyTeachableLearnset, [SPECIES_RILLABOOM] = sRillaboomTeachableLearnset, @@ -957,17 +957,17 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_METAGROSS_MEGA] = sMetagrossTeachableLearnset, [SPECIES_LATIAS_MEGA] = sLatiasTeachableLearnset, [SPECIES_LATIOS_MEGA] = sLatiosTeachableLearnset, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = sLopunnyTeachableLearnset, [SPECIES_GARCHOMP_MEGA] = sGarchompTeachableLearnset, [SPECIES_LUCARIO_MEGA] = sLucarioTeachableLearnset, [SPECIES_ABOMASNOW_MEGA] = sAbomasnowTeachableLearnset, [SPECIES_GALLADE_MEGA] = sGalladeTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = sAudinoTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = sDiancieTeachableLearnset, #endif // Special Mega + Primals @@ -1009,7 +1009,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_CORSOLA_GALARIAN] = sCorsolaGalarianTeachableLearnset, [SPECIES_ZIGZAGOON_GALARIAN] = sZigzagoonGalarianTeachableLearnset, [SPECIES_LINOONE_GALARIAN] = sLinooneGalarianTeachableLearnset, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = sDarumakaGalarianTeachableLearnset, [SPECIES_DARMANITAN_GALARIAN] = sDarmanitanGalarianTeachableLearnset, [SPECIES_YAMASK_GALARIAN] = sYamaskGalarianTeachableLearnset, @@ -1023,19 +1023,19 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_TYPHLOSION_HISUIAN] = sTyphlosionHisuianTeachableLearnset, [SPECIES_QWILFISH_HISUIAN] = sQwilfishHisuianTeachableLearnset, [SPECIES_SNEASEL_HISUIAN] = sSneaselHisuianTeachableLearnset, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = sSamurottHisuianTeachableLearnset, [SPECIES_LILLIGANT_HISUIAN] = sLilligantHisuianTeachableLearnset, [SPECIES_ZORUA_HISUIAN] = sZoruaHisuianTeachableLearnset, [SPECIES_ZOROARK_HISUIAN] = sZoroarkHisuianTeachableLearnset, [SPECIES_BRAVIARY_HISUIAN] = sBraviaryHisuianTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = sSliggooHisuianTeachableLearnset, [SPECIES_GOODRA_HISUIAN] = sGoodraHisuianTeachableLearnset, [SPECIES_AVALUGG_HISUIAN] = sAvaluggHisuianTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = sDecidueyeHisuianTeachableLearnset, #endif // Misc Forms @@ -1093,7 +1093,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_DEOXYS_ATTACK] = sDeoxysAttackTeachableLearnset, [SPECIES_DEOXYS_DEFENSE] = sDeoxysDefenseTeachableLearnset, [SPECIES_DEOXYS_SPEED] = sDeoxysSpeedTeachableLearnset, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = sBurmyTeachableLearnset, [SPECIES_BURMY_TRASH_CLOAK] = sBurmyTeachableLearnset, @@ -1137,7 +1137,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_ARCEUS_DARK] = sArceusTeachableLearnset, [SPECIES_ARCEUS_FAIRY] = sArceusTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = sBasculinTeachableLearnset, [SPECIES_BASCULIN_WHITE_STRIPED] = sBasculinTeachableLearnset, @@ -1169,7 +1169,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_GENESECT_BURN_DRIVE] = sGenesectTeachableLearnset, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = sGreninjaTeachableLearnset, [SPECIES_GRENINJA_ASH] = sGreninjaTeachableLearnset, @@ -1241,7 +1241,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = // Hoopa [SPECIES_HOOPA_UNBOUND] = sHoopaUnboundTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = sOricorioTeachableLearnset, [SPECIES_ORICORIO_PAU] = sOricorioTeachableLearnset, @@ -1294,7 +1294,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sMagearnaTeachableLearnset, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = sCramorantTeachableLearnset, [SPECIES_CRAMORANT_GORGING] = sCramorantTeachableLearnset, diff --git a/src/data/pokemon/teachable_learnsets.h b/src/data/pokemon/teachable_learnsets.h index 8a3b89293..623647275 100644 --- a/src/data/pokemon/teachable_learnsets.h +++ b/src/data/pokemon/teachable_learnsets.h @@ -16203,7 +16203,7 @@ static const u16 sDeoxysTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const u16 sTurtwigTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, @@ -20327,7 +20327,7 @@ static const u16 sArceusTeachableLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const u16 sVictiniTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM, @@ -25420,7 +25420,7 @@ static const u16 sGenesectTeachableLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const u16 sChespinTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, @@ -27831,7 +27831,7 @@ static const u16 sVolcanionTeachableLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const u16 sRowletTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, @@ -30215,7 +30215,7 @@ static const u16 sMelmetalTeachableLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const u16 sGrookeyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_FACADE, @@ -32857,7 +32857,7 @@ static const u16 sLinooneGalarianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const u16 sDarumakaGalarianTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, @@ -32997,7 +32997,7 @@ static const u16 sSneaselHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const u16 sSamurottHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; @@ -33019,7 +33019,7 @@ static const u16 sBraviaryHisuianTeachableLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const u16 sSliggooHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; @@ -33033,7 +33033,7 @@ static const u16 sAvaluggHisuianTeachableLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const u16 sDecidueyeHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; @@ -33159,7 +33159,7 @@ static const u16 sDeoxysSpeedTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const u16 sBurmySandyCloakTeachableLearnset[] = { MOVE_HIDDEN_POWER, MOVE_PROTECT, @@ -33295,7 +33295,7 @@ static const u16 sShayminSkyTeachableLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const u16 sFloetteEternalFlowerTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, @@ -33390,7 +33390,7 @@ static const u16 sMeowsticFemaleTeachableLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const u16 sLycanrocMidnightTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, @@ -33430,7 +33430,7 @@ static const u16 sLycanrocDuskTeachableLearnset[] = { }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const u16 sToxtricityLowKeyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_FACADE, diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index 487c49347..e21e6f32e 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -1954,7 +1954,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 56), .y_offset = 9, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = { .size = MON_COORDS_SIZE(48, 56), @@ -2487,7 +2487,7 @@ const struct MonCoords gMonBackPicCoords[] = }, [SPECIES_ARCEUS] = ARCEUS_BACK_PIC_COORDS, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = { .size = MON_COORDS_SIZE(40, 64), @@ -3265,7 +3265,7 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 8, }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = { .size = MON_COORDS_SIZE(56, 64), @@ -3627,7 +3627,7 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 3, }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = { .size = MON_COORDS_SIZE(48, 40), @@ -4069,7 +4069,7 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 13, }, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = { .size = MON_COORDS_SIZE(48, 56), @@ -4752,7 +4752,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 1, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = { .size = MON_COORDS_SIZE(64, 64), @@ -4779,14 +4779,14 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 3, }, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = { .size = MON_COORDS_SIZE(64, 56), @@ -4976,7 +4976,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 40), .y_offset = 13, }, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = { .size = MON_COORDS_SIZE(56, 48), @@ -5034,7 +5034,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(56, 64), .y_offset = 3, }, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), @@ -5061,7 +5061,7 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), @@ -5078,7 +5078,7 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 17, }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), @@ -5276,7 +5276,7 @@ const struct MonCoords gMonBackPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = { @@ -5384,7 +5384,7 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_ARCEUS_DARK] = ARCEUS_BACK_PIC_COORDS, [SPECIES_ARCEUS_FAIRY] = ARCEUS_BACK_PIC_COORDS, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = { @@ -5488,7 +5488,7 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 8, }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = { @@ -5788,7 +5788,7 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = { @@ -6009,7 +6009,7 @@ const struct MonCoords gMonBackPicCoords[] = .y_offset = 4, }, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = { diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 4de33b79a..398cf2875 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -387,7 +387,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi), SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys), SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(TURTWIG, gMonBackPic_Turtwig), SPECIES_SPRITE(GROTLE, gMonBackPic_Grotle), SPECIES_SPRITE(TORTERRA, gMonBackPic_Torterra), @@ -496,7 +496,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(SHAYMIN, gMonBackPic_Shaymin), SPECIES_SPRITE(ARCEUS, gMonBackPic_Arceus), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(VICTINI, gMonBackPic_Victini), SPECIES_SPRITE(SNIVY, gMonBackPic_Snivy), SPECIES_SPRITE(SERVINE, gMonBackPic_Servine), @@ -654,7 +654,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(MELOETTA, gMonBackPic_Meloetta), SPECIES_SPRITE(GENESECT, gMonBackPic_Genesect), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(CHESPIN, gMonBackPic_Chespin), SPECIES_SPRITE(QUILLADIN, gMonBackPic_Quilladin), SPECIES_SPRITE(CHESNAUGHT, gMonBackPic_Chesnaught), @@ -728,7 +728,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(HOOPA, gMonBackPic_Hoopa), SPECIES_SPRITE(VOLCANION, gMonBackPic_Volcanion), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(ROWLET, gMonBackPic_Rowlet), SPECIES_SPRITE(DARTRIX, gMonBackPic_Dartrix), SPECIES_SPRITE(DECIDUEYE, gMonBackPic_Decidueye), @@ -818,7 +818,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(MELTAN, gMonBackPic_Meltan), SPECIES_SPRITE(MELMETAL, gMonBackPic_Melmetal), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(GROOKEY, gMonBackPic_Grookey), SPECIES_SPRITE(THWACKEY, gMonBackPic_Thwackey), SPECIES_SPRITE(RILLABOOM, gMonBackPic_Rillaboom), @@ -957,17 +957,17 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(METAGROSS_MEGA, gMonBackPic_MetagrossMega), SPECIES_SPRITE(LATIAS_MEGA, gMonBackPic_LatiasMega), SPECIES_SPRITE(LATIOS_MEGA, gMonBackPic_LatiosMega), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(LOPUNNY_MEGA, gMonBackPic_LopunnyMega), SPECIES_SPRITE(GARCHOMP_MEGA, gMonBackPic_GarchompMega), SPECIES_SPRITE(LUCARIO_MEGA, gMonBackPic_LucarioMega), SPECIES_SPRITE(ABOMASNOW_MEGA, gMonBackPic_AbomasnowMega), SPECIES_SPRITE(GALLADE_MEGA, gMonBackPic_GalladeMega), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(AUDINO_MEGA, gMonBackPic_AudinoMega), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(DIANCIE_MEGA, gMonBackPic_DiancieMega), #endif @@ -1009,7 +1009,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(CORSOLA_GALARIAN, gMonBackPic_CorsolaGalarian), SPECIES_SPRITE(ZIGZAGOON_GALARIAN, gMonBackPic_ZigzagoonGalarian), SPECIES_SPRITE(LINOONE_GALARIAN, gMonBackPic_LinooneGalarian), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(DARUMAKA_GALARIAN, gMonBackPic_DarumakaGalarian), SPECIES_SPRITE(DARMANITAN_GALARIAN, gMonBackPic_DarmanitanGalarian), SPECIES_SPRITE(YAMASK_GALARIAN, gMonBackPic_YamaskGalarian), @@ -1023,19 +1023,19 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(TYPHLOSION_HISUIAN, gMonBackPic_TyphlosionHisuian), SPECIES_SPRITE(QWILFISH_HISUIAN, gMonBackPic_QwilfishHisuian), SPECIES_SPRITE(SNEASEL_HISUIAN, gMonBackPic_SneaselHisuian), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(SAMUROTT_HISUIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_SamurottHisuian), SPECIES_SPRITE(LILLIGANT_HISUIAN, gMonBackPic_LilligantHisuian), SPECIES_SPRITE(ZORUA_HISUIAN, gMonBackPic_ZoruaHisuian), SPECIES_SPRITE(ZOROARK_HISUIAN, gMonBackPic_ZoroarkHisuian), SPECIES_SPRITE(BRAVIARY_HISUIAN, gMonBackPic_BraviaryHisuian), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(SLIGGOO_HISUIAN, gMonBackPic_SliggooHisuian), SPECIES_SPRITE(GOODRA_HISUIAN, gMonBackPic_GoodraHisuian), SPECIES_SPRITE(AVALUGG_HISUIAN, gMonBackPic_AvaluggHisuian), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(DECIDUEYE_HISUIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_DecidueyeHisuian), #endif @@ -1092,7 +1092,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(DEOXYS_ATTACK, gMonBackPic_DeoxysAttack), SPECIES_SPRITE(DEOXYS_DEFENSE, gMonBackPic_DeoxysDefense), SPECIES_SPRITE(DEOXYS_SPEED, gMonBackPic_DeoxysSpeed), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(BURMY_SANDY_CLOAK, gMonBackPic_BurmySandyCloak), SPECIES_SPRITE(BURMY_TRASH_CLOAK, gMonBackPic_BurmyTrashCloak), @@ -1136,7 +1136,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(ARCEUS_FAIRY, gMonBackPic_Arceus), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(BASCULIN_BLUE_STRIPED, gMonBackPic_BasculinBlueStriped), SPECIES_SPRITE(BASCULIN_WHITE_STRIPED, gMonBackPic_BasculinWhiteStriped), @@ -1168,7 +1168,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(GENESECT_CHILL_DRIVE, gMonBackPic_Genesect), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(GRENINJA_BATTLE_BOND, gMonBackPic_Greninja), SPECIES_SPRITE(GRENINJA_ASH, gMonBackPic_GreninjaAsh), @@ -1240,7 +1240,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(HOOPA_UNBOUND, gMonBackPic_HoopaUnbound), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(ORICORIO_POM_POM, gMonBackPic_OricorioPomPom), SPECIES_SPRITE(ORICORIO_PAU, gMonBackPic_OricorioPau), SPECIES_SPRITE(ORICORIO_SENSU, gMonBackPic_OricorioSensu), @@ -1293,7 +1293,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(MAGEARNA_ORIGINAL_COLOR, gMonBackPic_MagearnaOriginalColor), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(CRAMORANT_GULPING, gMonBackPic_CramorantGulping), SPECIES_SPRITE(CRAMORANT_GORGING, gMonBackPic_CramorantGorging), @@ -1339,7 +1339,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = const struct CompressedSpriteSheet gMonBackPicTableFemale[] = { SPECIES_SPRITE(EEVEE, gMonBackPic_EeveeF), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(STARLY, gMonBackPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonBackPic_StaraviaF), SPECIES_SPRITE(STARAPTOR, gMonBackPic_Staraptor), @@ -1351,15 +1351,15 @@ const struct CompressedSpriteSheet gMonBackPicTableFemale[] = SPECIES_SPRITE(HIPPOPOTAS, gMonBackPic_HippopotasF), SPECIES_SPRITE(HIPPOWDON, gMonBackPic_HippowdonF), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(UNFEZANT, gMonBackPic_UnfezantF), SPECIES_SPRITE(FRILLISH, gMonBackPic_FrillishF), SPECIES_SPRITE(JELLICENT, gMonBackPic_JellicentF), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(PYROAR, gMonBackPic_PyroarF), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(BASCULEGION, gMonBackPic_CircledQuestionMark), //gMonBackPic_BasculegionF), #endif }; diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index c49471f80..2b0dd0a4f 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -387,7 +387,7 @@ const u8 *const gMonFootprintTable[] = [SPECIES_JIRACHI] = gMonFootprint_Jirachi, [SPECIES_DEOXYS] = gMonFootprint_Deoxys, [SPECIES_CHIMECHO] = gMonFootprint_Chimecho, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = gMonFootprint_Turtwig, [SPECIES_GROTLE] = gMonFootprint_Grotle, [SPECIES_TORTERRA] = gMonFootprint_Torterra, @@ -496,7 +496,7 @@ const u8 *const gMonFootprintTable[] = [SPECIES_SHAYMIN] = gMonFootprint_Shaymin, [SPECIES_ARCEUS] = gMonFootprint_Arceus, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = gMonFootprint_Victini, [SPECIES_SNIVY] = gMonFootprint_Snivy, [SPECIES_SERVINE] = gMonFootprint_Servine, @@ -654,7 +654,7 @@ const u8 *const gMonFootprintTable[] = [SPECIES_MELOETTA] = gMonFootprint_Meloetta, [SPECIES_GENESECT] = gMonFootprint_Genesect, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = gMonFootprint_Chespin, [SPECIES_QUILLADIN] = gMonFootprint_Quilladin, [SPECIES_CHESNAUGHT] = gMonFootprint_Chesnaught, @@ -728,7 +728,7 @@ const u8 *const gMonFootprintTable[] = [SPECIES_HOOPA] = gMonFootprint_Hoopa, [SPECIES_VOLCANION] = gMonFootprint_Volcanion, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = gMonFootprint_Rowlet, [SPECIES_DARTRIX] = gMonFootprint_Dartrix, [SPECIES_DECIDUEYE] = gMonFootprint_Decidueye, @@ -818,7 +818,7 @@ const u8 *const gMonFootprintTable[] = [SPECIES_MELTAN] = gMonFootprint_Meltan, [SPECIES_MELMETAL] = gMonFootprint_Melmetal, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = gMonFootprint_Grookey, [SPECIES_THWACKEY] = gMonFootprint_Thwackey, [SPECIES_RILLABOOM] = gMonFootprint_Rillaboom, diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index ec0531120..6d2ab461e 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -4805,7 +4805,7 @@ static const union AnimCmd sAnim_UNOWN_QMARK_1[] = ANIMCMD_END, }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const union AnimCmd sAnim_TURTWIG_1[] = { ANIMCMD_FRAME(0, 15), @@ -5768,7 +5768,7 @@ static const union AnimCmd sAnim_ARCEUS_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_VICTINI_1[] = { ANIMCMD_FRAME(0, 30), @@ -7017,7 +7017,7 @@ static const union AnimCmd sAnim_GENESECT_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd sAnim_CHESPIN_1[] = { ANIMCMD_FRAME(0, 8), @@ -7455,7 +7455,7 @@ static const union AnimCmd sAnim_VOLCANION_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const union AnimCmd sAnim_ROWLET_1[] = { ANIMCMD_FRAME(0, 1), @@ -8001,7 +8001,7 @@ static const union AnimCmd sAnim_MELMETAL_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const union AnimCmd sAnim_GROOKEY_1[] = { ANIMCMD_FRAME(0, 1), @@ -8837,7 +8837,7 @@ static const union AnimCmd sAnim_RAYQUAZA_MEGA_1[] = ANIMCMD_END, }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const union AnimCmd sAnim_LOPUNNY_MEGA_1[] = { ANIMCMD_FRAME(0, 1), @@ -8869,7 +8869,7 @@ static const union AnimCmd sAnim_GALLADE_MEGA_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_AUDINO_MEGA_1[] = { ANIMCMD_FRAME(0, 1), @@ -8877,7 +8877,7 @@ static const union AnimCmd sAnim_AUDINO_MEGA_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd sAnim_DIANCIE_MEGA_1[] = { ANIMCMD_FRAME(0, 1), @@ -9083,7 +9083,7 @@ static const union AnimCmd sAnim_LINOONE_GALARIAN_1[] = ANIMCMD_END, }; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_DARUMAKA_GALARIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9151,7 +9151,7 @@ static const union AnimCmd sAnim_SNEASEL_HISUIAN_1[] = ANIMCMD_END, }; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_SAMUROTT_HISUIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9183,7 +9183,7 @@ static const union AnimCmd sAnim_BRAVIARY_HISUIAN_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd sAnim_SLIGGOO_HISUIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9203,7 +9203,7 @@ static const union AnimCmd sAnim_AVALUGG_HISUIAN_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const union AnimCmd sAnim_DECIDUEYE_HISUIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9357,7 +9357,7 @@ static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = ANIMCMD_END, }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const union AnimCmd sAnim_SHAYMIN_SKY_1[] = { ANIMCMD_FRAME(0, 1), @@ -9383,7 +9383,7 @@ static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_1[] = { ANIMCMD_FRAME(0, 1), @@ -9439,7 +9439,7 @@ static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd sAnim_AEGISLASH_BLADE_1[] = { ANIMCMD_FRAME(0, 1), @@ -9465,7 +9465,7 @@ static const union AnimCmd sAnim_HOOPA_UNBOUND_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const union AnimCmd sAnim_MINIOR_CORE_1[] = { ANIMCMD_FRAME(0, 1), @@ -9497,7 +9497,7 @@ static const union AnimCmd sAnim_LYCANROC_DUSK_1[] = }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const union AnimCmd sAnim_ENAMORUS_THERIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -12061,7 +12061,7 @@ static const union AnimCmd *const sAnims_UNOWN_QMARK[] = sAnim_UNOWN_QMARK_1, }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const union AnimCmd *const sAnims_TURTWIG[] = { sAnim_GeneralFrame0, @@ -12735,7 +12735,7 @@ static const union AnimCmd *const sAnims_ARCEUS[] = }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd *const sAnims_VICTINI[] = { sAnim_GeneralFrame0, @@ -13673,7 +13673,7 @@ static const union AnimCmd *const sAnims_GENESECT[] = }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd *const sAnims_CHESPIN[] = { sAnim_GeneralFrame0, @@ -14107,7 +14107,7 @@ static const union AnimCmd *const sAnims_VOLCANION[] = }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const union AnimCmd *const sAnims_ROWLET[] = { sAnim_GeneralFrame0, @@ -14637,7 +14637,7 @@ static const union AnimCmd *const sAnims_MELMETAL[] = }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const union AnimCmd *const sAnims_GROOKEY[] = { sAnim_GeneralFrame0, @@ -15473,7 +15473,7 @@ static const union AnimCmd *const sAnims_RAYQUAZA_MEGA[] = sAnim_RAYQUAZA_MEGA_1, }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const union AnimCmd *const sAnims_LOPUNNY_MEGA[] = { sAnim_GeneralFrame0, @@ -15505,7 +15505,7 @@ static const union AnimCmd *const sAnims_GALLADE_MEGA[] = }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd *const sAnims_AUDINO_MEGA[] = { sAnim_GeneralFrame0, @@ -15513,7 +15513,7 @@ static const union AnimCmd *const sAnims_AUDINO_MEGA[] = }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd *const sAnims_DIANCIE_MEGA[] = { sAnim_GeneralFrame0, @@ -15719,7 +15719,7 @@ static const union AnimCmd *const sAnims_LINOONE_GALARIAN[] = sAnim_LINOONE_GALARIAN_1, }; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd *const sAnims_DARUMAKA_GALARIAN[] = { sAnim_GeneralFrame0, @@ -15787,7 +15787,7 @@ static const union AnimCmd *const sAnims_SNEASEL_HISUIAN[] = sAnim_SNEASEL_HISUIAN_1, }; -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd *const sAnims_SAMUROTT_HISUIAN[] = { sAnim_GeneralFrame0, @@ -15819,7 +15819,7 @@ static const union AnimCmd *const sAnims_BRAVIARY_HISUIAN[] = }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd *const sAnims_SLIGGOO_HISUIAN[] = { sAnim_GeneralFrame0, @@ -15839,7 +15839,7 @@ static const union AnimCmd *const sAnims_AVALUGG_HISUIAN[] = }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const union AnimCmd *const sAnims_DECIDUEYE_HISUIAN[] = { sAnim_GeneralFrame0, @@ -15956,7 +15956,7 @@ static const union AnimCmd *const sAnims_DEOXYS_SPEED[] = sAnim_DEOXYS_SPEED_2, }; -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE static const union AnimCmd *const sAnims_DIALGA_ORIGIN[] = { sAnim_GeneralFrame0, @@ -15982,7 +15982,7 @@ static const union AnimCmd *const sAnims_SHAYMIN_SKY[] = }; #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd *const sAnims_DARMANITAN_ZEN_MODE[] = { sAnim_GeneralFrame0, @@ -16038,7 +16038,7 @@ static const union AnimCmd *const sAnims_MELOETTA_PIROUETTE[] = }; #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd *const sAnims_AEGISLASH_BLADE[] = { sAnim_GeneralFrame0, @@ -16064,7 +16064,7 @@ static const union AnimCmd *const sAnims_HOOPA_UNBOUND[] = }; #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE static const union AnimCmd *const sAnims_MINIOR_CORE[] = { sAnim_GeneralFrame0, @@ -16096,7 +16096,7 @@ static const union AnimCmd *const sAnims_LYCANROC_DUSK[] = }; #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE static const union AnimCmd *const sAnims_ENAMORUS_THERIAN[] = { sAnim_GeneralFrame0, @@ -16496,7 +16496,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(JIRACHI), ANIM_CMD(DEOXYS), ANIM_CMD(CHIMECHO), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE ANIM_CMD(TURTWIG), ANIM_CMD(GROTLE), ANIM_CMD(TORTERRA), @@ -16605,7 +16605,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(SHAYMIN), ANIM_CMD(ARCEUS), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE ANIM_CMD(VICTINI), ANIM_CMD(SNIVY), ANIM_CMD(SERVINE), @@ -16763,7 +16763,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(MELOETTA), ANIM_CMD(GENESECT), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE ANIM_CMD(CHESPIN), ANIM_CMD(QUILLADIN), ANIM_CMD(CHESNAUGHT), @@ -16837,7 +16837,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(HOOPA), ANIM_CMD(VOLCANION), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE ANIM_CMD(ROWLET), ANIM_CMD(DARTRIX), ANIM_CMD(DECIDUEYE), @@ -16927,7 +16927,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(MELTAN), ANIM_CMD(MELMETAL), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE ANIM_CMD(GROOKEY), ANIM_CMD(THWACKEY), ANIM_CMD(RILLABOOM), @@ -17065,17 +17065,17 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(METAGROSS_MEGA), ANIM_CMD(LATIAS_MEGA), ANIM_CMD(LATIOS_MEGA), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE ANIM_CMD(LOPUNNY_MEGA), ANIM_CMD(GARCHOMP_MEGA), ANIM_CMD(LUCARIO_MEGA), ANIM_CMD(ABOMASNOW_MEGA), ANIM_CMD(GALLADE_MEGA), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE ANIM_CMD(AUDINO_MEGA), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE ANIM_CMD(DIANCIE_MEGA), #endif ANIM_CMD(RAYQUAZA_MEGA), @@ -17114,7 +17114,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(CORSOLA_GALARIAN), ANIM_CMD(ZIGZAGOON_GALARIAN), ANIM_CMD(LINOONE_GALARIAN), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE ANIM_CMD(DARUMAKA_GALARIAN), ANIM_CMD(DARMANITAN_GALARIAN), ANIM_CMD(YAMASK_GALARIAN), @@ -17127,19 +17127,19 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(TYPHLOSION_HISUIAN), ANIM_CMD(QWILFISH_HISUIAN), ANIM_CMD(SNEASEL_HISUIAN), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE ANIM_CMD(SAMUROTT_HISUIAN), ANIM_CMD(LILLIGANT_HISUIAN), ANIM_CMD(ZORUA_HISUIAN), ANIM_CMD(ZOROARK_HISUIAN), ANIM_CMD(BRAVIARY_HISUIAN), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE ANIM_CMD(SLIGGOO_HISUIAN), ANIM_CMD(GOODRA_HISUIAN), ANIM_CMD(AVALUGG_HISUIAN), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE ANIM_CMD(DECIDUEYE_HISUIAN), #endif ANIM_CMD(PIKACHU_COSPLAY), @@ -17190,7 +17190,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(DEOXYS_ATTACK), ANIM_CMD(DEOXYS_DEFENSE), ANIM_CMD(DEOXYS_SPEED), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE ANIM_CMD_FULL(BURMY_SANDY_CLOAK, sAnims_BURMY), ANIM_CMD_FULL(BURMY_TRASH_CLOAK, sAnims_BURMY), ANIM_CMD_FULL(WORMADAM_SANDY_CLOAK, sAnims_WORMADAM), @@ -17225,7 +17225,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(ARCEUS_DARK, sAnims_ARCEUS), ANIM_CMD_FULL(ARCEUS_FAIRY, sAnims_ARCEUS), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE ANIM_CMD_FULL(BASCULIN_BLUE_STRIPED, sAnims_BASCULIN), ANIM_CMD_FULL(BASCULIN_WHITE_STRIPED, sAnims_BASCULIN), ANIM_CMD(DARMANITAN_ZEN_MODE), @@ -17248,7 +17248,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(GENESECT_BURN_DRIVE, sAnims_GENESECT), ANIM_CMD_FULL(GENESECT_CHILL_DRIVE, sAnims_GENESECT), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE ANIM_CMD_FULL(GRENINJA_BATTLE_BOND, sAnims_GRENINJA), ANIM_CMD_FULL(GRENINJA_ASH, sAnims_GRENINJA), ANIM_CMD_FULL(VIVILLON_POLAR, sAnims_VIVILLON), @@ -17307,7 +17307,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(ZYGARDE_COMPLETE), ANIM_CMD(HOOPA_UNBOUND), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE ANIM_CMD_FULL(ORICORIO_POM_POM, sAnims_ORICORIO), ANIM_CMD_FULL(ORICORIO_PAU, sAnims_ORICORIO), ANIM_CMD_FULL(ORICORIO_SENSU, sAnims_ORICORIO), @@ -17351,7 +17351,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(NECROZMA_ULTRA, sAnims_NECROZMA), ANIM_CMD_FULL(MAGEARNA_ORIGINAL_COLOR, sAnims_MAGEARNA), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE ANIM_CMD_FULL(CRAMORANT_GULPING, sAnims_CRAMORANT), ANIM_CMD_FULL(CRAMORANT_GORGING, sAnims_CRAMORANT), ANIM_CMD_FULL(TOXTRICITY_LOW_KEY, sAnims_TOXTRICITY), diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index f508087df..b444907ca 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -1939,7 +1939,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(48, 48), .y_offset = 11, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = { .size = MON_COORDS_SIZE(40, 48), @@ -2476,7 +2476,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = { .size = MON_COORDS_SIZE(48, 56), @@ -3258,7 +3258,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = { .size = MON_COORDS_SIZE(40, 48), @@ -3620,7 +3620,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = { .size = MON_COORDS_SIZE(32, 40), @@ -4062,7 +4062,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 4, }, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = { .size = MON_COORDS_SIZE(40, 48), @@ -4745,7 +4745,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 0, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = { .size = MON_COORDS_SIZE(56, 64), @@ -4772,14 +4772,14 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 1, }, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 6, }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = { .size = MON_COORDS_SIZE(64, 64), @@ -4969,7 +4969,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 40), .y_offset = 13, }, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = { .size = MON_COORDS_SIZE(40, 40), @@ -5027,7 +5027,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(56, 56), .y_offset = 7, }, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), @@ -5054,7 +5054,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = { .size = MON_COORDS_SIZE(48, 56), @@ -5071,7 +5071,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 5, }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), @@ -5325,7 +5325,7 @@ const struct MonCoords gMonFrontPicCoords[] = .size = MON_COORDS_SIZE(64, 64), .y_offset = 1, }, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = { @@ -5501,7 +5501,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = { @@ -5617,7 +5617,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = { @@ -5917,7 +5917,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = { @@ -6138,7 +6138,7 @@ const struct MonCoords gMonFrontPicCoords[] = .y_offset = 0, }, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = { diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 76fec7264..7629834ad 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -387,7 +387,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi), SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys), SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(TURTWIG, gMonFrontPic_Turtwig), SPECIES_SPRITE(GROTLE, gMonFrontPic_Grotle), SPECIES_SPRITE(TORTERRA, gMonFrontPic_Torterra), @@ -496,7 +496,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(SHAYMIN, gMonFrontPic_Shaymin), SPECIES_SPRITE(ARCEUS, gMonFrontPic_Arceus), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(VICTINI, gMonFrontPic_Victini), SPECIES_SPRITE(SNIVY, gMonFrontPic_Snivy), SPECIES_SPRITE(SERVINE, gMonFrontPic_Servine), @@ -654,7 +654,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(MELOETTA, gMonFrontPic_Meloetta), SPECIES_SPRITE(GENESECT, gMonFrontPic_Genesect), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(CHESPIN, gMonFrontPic_Chespin), SPECIES_SPRITE(QUILLADIN, gMonFrontPic_Quilladin), SPECIES_SPRITE(CHESNAUGHT, gMonFrontPic_Chesnaught), @@ -728,7 +728,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(HOOPA, gMonFrontPic_Hoopa), SPECIES_SPRITE(VOLCANION, gMonFrontPic_Volcanion), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(ROWLET, gMonFrontPic_Rowlet), SPECIES_SPRITE(DARTRIX, gMonFrontPic_Dartrix), SPECIES_SPRITE(DECIDUEYE, gMonFrontPic_Decidueye), @@ -818,7 +818,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(MELTAN, gMonFrontPic_Meltan), SPECIES_SPRITE(MELMETAL, gMonFrontPic_Melmetal), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(GROOKEY, gMonFrontPic_Grookey), SPECIES_SPRITE(THWACKEY, gMonFrontPic_Thwackey), SPECIES_SPRITE(RILLABOOM, gMonFrontPic_Rillaboom), @@ -956,17 +956,17 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(METAGROSS_MEGA, gMonFrontPic_MetagrossMega), SPECIES_SPRITE(LATIAS_MEGA, gMonFrontPic_LatiasMega), SPECIES_SPRITE(LATIOS_MEGA, gMonFrontPic_LatiosMega), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(LOPUNNY_MEGA, gMonFrontPic_LopunnyMega), SPECIES_SPRITE(GARCHOMP_MEGA, gMonFrontPic_GarchompMega), SPECIES_SPRITE(LUCARIO_MEGA, gMonFrontPic_LucarioMega), SPECIES_SPRITE(ABOMASNOW_MEGA, gMonFrontPic_AbomasnowMega), SPECIES_SPRITE(GALLADE_MEGA, gMonFrontPic_GalladeMega), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(AUDINO_MEGA, gMonFrontPic_AudinoMega), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(DIANCIE_MEGA, gMonFrontPic_DiancieMega), #endif @@ -1008,7 +1008,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(CORSOLA_GALARIAN, gMonFrontPic_CorsolaGalarian), SPECIES_SPRITE(ZIGZAGOON_GALARIAN, gMonFrontPic_ZigzagoonGalarian), SPECIES_SPRITE(LINOONE_GALARIAN, gMonFrontPic_LinooneGalarian), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(DARUMAKA_GALARIAN, gMonFrontPic_DarumakaGalarian), SPECIES_SPRITE(DARMANITAN_GALARIAN, gMonFrontPic_DarmanitanGalarian), SPECIES_SPRITE(YAMASK_GALARIAN, gMonFrontPic_YamaskGalarian), @@ -1022,19 +1022,19 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(TYPHLOSION_HISUIAN, gMonFrontPic_TyphlosionHisuian), SPECIES_SPRITE(QWILFISH_HISUIAN, gMonFrontPic_QwilfishHisuian), SPECIES_SPRITE(SNEASEL_HISUIAN, gMonFrontPic_SneaselHisuian), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(SAMUROTT_HISUIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_SamurottHisuian), SPECIES_SPRITE(LILLIGANT_HISUIAN, gMonFrontPic_LilligantHisuian), SPECIES_SPRITE(ZORUA_HISUIAN, gMonFrontPic_ZoruaHisuian), SPECIES_SPRITE(ZOROARK_HISUIAN, gMonFrontPic_ZoroarkHisuian), SPECIES_SPRITE(BRAVIARY_HISUIAN, gMonFrontPic_BraviaryHisuian), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(SLIGGOO_HISUIAN, gMonFrontPic_SliggooHisuian), SPECIES_SPRITE(GOODRA_HISUIAN, gMonFrontPic_GoodraHisuian), SPECIES_SPRITE(AVALUGG_HISUIAN, gMonFrontPic_AvaluggHisuian), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(DECIDUEYE_HISUIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_DecidueyeHisuian), #endif @@ -1091,7 +1091,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(DEOXYS_ATTACK, gMonFrontPic_DeoxysAttack), SPECIES_SPRITE(DEOXYS_DEFENSE, gMonFrontPic_DeoxysDefense), SPECIES_SPRITE(DEOXYS_SPEED, gMonFrontPic_DeoxysSpeed), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(BURMY_SANDY_CLOAK, gMonFrontPic_BurmySandyCloak), SPECIES_SPRITE(BURMY_TRASH_CLOAK, gMonFrontPic_BurmyTrashCloak), @@ -1135,7 +1135,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(ARCEUS_FAIRY, gMonFrontPic_Arceus), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(BASCULIN_BLUE_STRIPED, gMonFrontPic_BasculinBlueStriped), SPECIES_SPRITE(BASCULIN_WHITE_STRIPED, gMonFrontPic_BasculinWhiteStriped), @@ -1167,7 +1167,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(GENESECT_CHILL_DRIVE, gMonFrontPic_Genesect), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(GRENINJA_BATTLE_BOND, gMonFrontPic_Greninja), SPECIES_SPRITE(GRENINJA_ASH, gMonFrontPic_GreninjaAsh), @@ -1239,7 +1239,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(HOOPA_UNBOUND, gMonFrontPic_HoopaUnbound), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(ORICORIO_POM_POM, gMonFrontPic_OricorioPomPom), SPECIES_SPRITE(ORICORIO_PAU, gMonFrontPic_OricorioPau), SPECIES_SPRITE(ORICORIO_SENSU, gMonFrontPic_OricorioSensu), @@ -1292,7 +1292,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(MAGEARNA_ORIGINAL_COLOR, gMonFrontPic_MagearnaOriginalColor), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(CRAMORANT_GULPING, gMonFrontPic_CramorantGulping), SPECIES_SPRITE(CRAMORANT_GORGING, gMonFrontPic_CramorantGorging), @@ -1338,7 +1338,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = { SPECIES_SPRITE(EEVEE, gMonFrontPic_EeveeF), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(STARLY, gMonFrontPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonFrontPic_StaraviaF), SPECIES_SPRITE(STARAPTOR, gMonFrontPic_StaraptorF), @@ -1350,15 +1350,15 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = SPECIES_SPRITE(HIPPOPOTAS, gMonFrontPic_HippopotasF), SPECIES_SPRITE(HIPPOWDON, gMonFrontPic_Hippowdon), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(UNFEZANT, gMonFrontPic_UnfezantF), SPECIES_SPRITE(FRILLISH, gMonFrontPic_FrillishF), SPECIES_SPRITE(JELLICENT, gMonFrontPic_JellicentF), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(PYROAR, gMonFrontPic_PyroarF), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(BASCULEGION, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_BasculegionF), #endif }; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 7a5d2267c..8ef3b3231 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -387,7 +387,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(JIRACHI, gMonPalette_Jirachi), SPECIES_PAL(DEOXYS, gMonPalette_Deoxys), SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_PAL(TURTWIG, gMonPalette_Turtwig), SPECIES_PAL(GROTLE, gMonPalette_Grotle), SPECIES_PAL(TORTERRA, gMonPalette_Torterra), @@ -496,7 +496,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(SHAYMIN, gMonPalette_Shaymin), SPECIES_PAL(ARCEUS, gMonPalette_Arceus), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(VICTINI, gMonPalette_Victini), SPECIES_PAL(SNIVY, gMonPalette_Snivy), SPECIES_PAL(SERVINE, gMonPalette_Servine), @@ -654,7 +654,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(MELOETTA, gMonPalette_Meloetta), SPECIES_PAL(GENESECT, gMonPalette_Genesect), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(CHESPIN, gMonPalette_Chespin), SPECIES_PAL(QUILLADIN, gMonPalette_Quilladin), SPECIES_PAL(CHESNAUGHT, gMonPalette_Chesnaught), @@ -728,7 +728,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(HOOPA, gMonPalette_Hoopa), SPECIES_PAL(VOLCANION, gMonPalette_Volcanion), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_PAL(ROWLET, gMonPalette_Rowlet), SPECIES_PAL(DARTRIX, gMonPalette_Dartrix), SPECIES_PAL(DECIDUEYE, gMonPalette_Decidueye), @@ -818,7 +818,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(MELTAN, gMonPalette_Meltan), SPECIES_PAL(MELMETAL, gMonPalette_Melmetal), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_PAL(GROOKEY, gMonPalette_Grookey), SPECIES_PAL(THWACKEY, gMonPalette_Thwackey), SPECIES_PAL(RILLABOOM, gMonPalette_Rillaboom), @@ -956,17 +956,17 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(METAGROSS_MEGA, gMonPalette_MetagrossMega), SPECIES_PAL(LATIAS_MEGA, gMonPalette_LatiasMega), SPECIES_PAL(LATIOS_MEGA, gMonPalette_LatiosMega), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_PAL(LOPUNNY_MEGA, gMonPalette_LopunnyMega), SPECIES_PAL(GARCHOMP_MEGA, gMonPalette_GarchompMega), SPECIES_PAL(LUCARIO_MEGA, gMonPalette_LucarioMega), SPECIES_PAL(ABOMASNOW_MEGA, gMonPalette_AbomasnowMega), SPECIES_PAL(GALLADE_MEGA, gMonPalette_GalladeMega), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(AUDINO_MEGA, gMonPalette_AudinoMega), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(DIANCIE_MEGA, gMonPalette_DiancieMega), #endif @@ -1008,7 +1008,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(CORSOLA_GALARIAN, gMonPalette_CorsolaGalarian), SPECIES_PAL(ZIGZAGOON_GALARIAN, gMonPalette_ZigzagoonGalarian), SPECIES_PAL(LINOONE_GALARIAN, gMonPalette_LinooneGalarian), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(DARUMAKA_GALARIAN, gMonPalette_DarumakaGalarian), SPECIES_PAL(DARMANITAN_GALARIAN, gMonPalette_DarmanitanGalarian), SPECIES_PAL(YAMASK_GALARIAN, gMonPalette_YamaskGalarian), @@ -1021,7 +1021,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ELECTRODE_HISUIAN, gMonPalette_ElectrodeHisuian), SPECIES_PAL(TYPHLOSION_HISUIAN, gMonPalette_TyphlosionHisuian), SPECIES_PAL(QWILFISH_HISUIAN, gMonPalette_QwilfishHisuian), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(SNEASEL_HISUIAN, gMonPalette_SneaselHisuian), SPECIES_PAL(SAMUROTT_HISUIAN, gMonPalette_CircledQuestionMark), //gMonPalette_SamurottHisuian), SPECIES_PAL(LILLIGANT_HISUIAN, gMonPalette_LilligantHisuian), @@ -1029,12 +1029,12 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ZOROARK_HISUIAN, gMonPalette_ZoroarkHisuian), SPECIES_PAL(BRAVIARY_HISUIAN, gMonPalette_BraviaryHisuian), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(SLIGGOO_HISUIAN, gMonPalette_SliggooHisuian), SPECIES_PAL(GOODRA_HISUIAN, gMonPalette_GoodraHisuian), SPECIES_PAL(AVALUGG_HISUIAN, gMonPalette_AvaluggHisuian), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_PAL(DECIDUEYE_HISUIAN, gMonPalette_CircledQuestionMark), //gMonPalette_DecidueyeHisuian), #endif @@ -1092,7 +1092,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(DEOXYS_DEFENSE, gMonPalette_DeoxysDefense), SPECIES_PAL(DEOXYS_SPEED, gMonPalette_DeoxysSpeed), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_PAL(BURMY_SANDY_CLOAK, gMonPalette_BurmySandyCloak), SPECIES_PAL(BURMY_TRASH_CLOAK, gMonPalette_BurmyTrashCloak), @@ -1136,7 +1136,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ARCEUS_FAIRY, gMonPalette_ArceusFairy), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(BASCULIN_BLUE_STRIPED, gMonPalette_BasculinBlueStriped), SPECIES_PAL(BASCULIN_WHITE_STRIPED, gMonPalette_BasculinWhiteStriped), @@ -1168,7 +1168,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(GENESECT_CHILL_DRIVE, gMonPalette_GenesectChillDrive), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(GRENINJA_BATTLE_BOND, gMonPalette_Greninja), SPECIES_PAL(GRENINJA_ASH, gMonPalette_GreninjaAsh), @@ -1240,7 +1240,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(HOOPA_UNBOUND, gMonPalette_HoopaUnbound), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_PAL(ORICORIO_POM_POM, gMonPalette_OricorioPomPom), SPECIES_PAL(ORICORIO_PAU, gMonPalette_OricorioPau), SPECIES_PAL(ORICORIO_SENSU, gMonPalette_OricorioSensu), @@ -1293,7 +1293,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(MAGEARNA_ORIGINAL_COLOR, gMonPalette_MagearnaOriginalColor), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_PAL(CRAMORANT_GULPING, gMonPalette_CramorantGulping), SPECIES_PAL(CRAMORANT_GORGING, gMonPalette_CramorantGorging), @@ -1338,7 +1338,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = const struct CompressedSpritePalette gMonPaletteTableFemale[] = { SPECIES_PAL(EEVEE, gMonPalette_Eevee), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_PAL(COMBEE, gMonPalette_Combee), SPECIES_PAL(STARLY, gMonPalette_Starly), SPECIES_PAL(STARAVIA, gMonPalette_Staravia), @@ -1350,15 +1350,15 @@ const struct CompressedSpritePalette gMonPaletteTableFemale[] = SPECIES_PAL(HIPPOPOTAS, gMonPalette_HippopotasF), SPECIES_PAL(HIPPOWDON, gMonPalette_HippowdonF), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(UNFEZANT, gMonPalette_UnfezantF), SPECIES_PAL(FRILLISH, gMonPalette_FrillishF), SPECIES_PAL(JELLICENT, gMonPalette_JellicentF), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(PYROAR, gMonPalette_PyroarF), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_PAL(BASCULEGION, gMonPalette_CircledQuestionMark), // gMonPalette_BasculegionF), #endif }; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index 3723dc209..64a999c49 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -387,7 +387,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi), SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys), SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SHINY_PAL(TURTWIG, gMonShinyPalette_Turtwig), SPECIES_SHINY_PAL(GROTLE, gMonShinyPalette_Grotle), SPECIES_SHINY_PAL(TORTERRA, gMonShinyPalette_Torterra), @@ -496,7 +496,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(SHAYMIN, gMonShinyPalette_Shaymin), SPECIES_SHINY_PAL(ARCEUS, gMonShinyPalette_Arceus), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(VICTINI, gMonShinyPalette_Victini), SPECIES_SHINY_PAL(SNIVY, gMonShinyPalette_Snivy), SPECIES_SHINY_PAL(SERVINE, gMonShinyPalette_Servine), @@ -654,7 +654,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(MELOETTA, gMonShinyPalette_Meloetta), SPECIES_SHINY_PAL(GENESECT, gMonShinyPalette_Genesect), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(CHESPIN, gMonShinyPalette_Chespin), SPECIES_SHINY_PAL(QUILLADIN, gMonShinyPalette_Quilladin), SPECIES_SHINY_PAL(CHESNAUGHT, gMonShinyPalette_Chesnaught), @@ -728,7 +728,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(HOOPA, gMonShinyPalette_Hoopa), SPECIES_SHINY_PAL(VOLCANION, gMonShinyPalette_Volcanion), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_SHINY_PAL(ROWLET, gMonShinyPalette_Rowlet), SPECIES_SHINY_PAL(DARTRIX, gMonShinyPalette_Dartrix), SPECIES_SHINY_PAL(DECIDUEYE, gMonShinyPalette_Decidueye), @@ -818,7 +818,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(MELTAN, gMonShinyPalette_Meltan), SPECIES_SHINY_PAL(MELMETAL, gMonShinyPalette_Melmetal), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_SHINY_PAL(GROOKEY, gMonShinyPalette_Grookey), SPECIES_SHINY_PAL(THWACKEY, gMonShinyPalette_Thwackey), SPECIES_SHINY_PAL(RILLABOOM, gMonShinyPalette_Rillaboom), @@ -957,17 +957,17 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(METAGROSS_MEGA, gMonShinyPalette_MetagrossMega), SPECIES_SHINY_PAL(LATIAS_MEGA, gMonShinyPalette_LatiasMega), SPECIES_SHINY_PAL(LATIOS_MEGA, gMonShinyPalette_LatiosMega), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SHINY_PAL(LOPUNNY_MEGA, gMonShinyPalette_LopunnyMega), SPECIES_SHINY_PAL(GARCHOMP_MEGA, gMonShinyPalette_GarchompMega), SPECIES_SHINY_PAL(LUCARIO_MEGA, gMonShinyPalette_LucarioMega), SPECIES_SHINY_PAL(ABOMASNOW_MEGA, gMonShinyPalette_AbomasnowMega), SPECIES_SHINY_PAL(GALLADE_MEGA, gMonShinyPalette_GalladeMega), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(AUDINO_MEGA, gMonShinyPalette_AudinoMega), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(DIANCIE_MEGA, gMonShinyPalette_DiancieMega), #endif @@ -1009,7 +1009,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(CORSOLA_GALARIAN, gMonShinyPalette_CorsolaGalarian), SPECIES_SHINY_PAL(ZIGZAGOON_GALARIAN, gMonShinyPalette_ZigzagoonGalarian), SPECIES_SHINY_PAL(LINOONE_GALARIAN, gMonShinyPalette_LinooneGalarian), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(DARUMAKA_GALARIAN, gMonShinyPalette_DarumakaGalarian), SPECIES_SHINY_PAL(DARMANITAN_GALARIAN, gMonShinyPalette_DarmanitanGalarian), SPECIES_SHINY_PAL(YAMASK_GALARIAN, gMonShinyPalette_YamaskGalarian), @@ -1023,19 +1023,19 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(TYPHLOSION_HISUIAN, gMonShinyPalette_TyphlosionHisuian), SPECIES_SHINY_PAL(QWILFISH_HISUIAN, gMonShinyPalette_QwilfishHisuian), SPECIES_SHINY_PAL(SNEASEL_HISUIAN, gMonShinyPalette_SneaselHisuian), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(SAMUROTT_HISUIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_SamurottHisuian), SPECIES_SHINY_PAL(LILLIGANT_HISUIAN, gMonShinyPalette_LilligantHisuian), SPECIES_SHINY_PAL(ZORUA_HISUIAN, gMonShinyPalette_ZoruaHisuian), SPECIES_SHINY_PAL(ZOROARK_HISUIAN, gMonShinyPalette_ZoroarkHisuian), SPECIES_SHINY_PAL(BRAVIARY_HISUIAN, gMonShinyPalette_BraviaryHisuian), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(SLIGGOO_HISUIAN, gMonShinyPalette_SliggooHisuian), SPECIES_SHINY_PAL(GOODRA_HISUIAN, gMonShinyPalette_GoodraHisuian), SPECIES_SHINY_PAL(AVALUGG_HISUIAN, gMonShinyPalette_AvaluggHisuian), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_SHINY_PAL(DECIDUEYE_HISUIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_DecidueyeHisuian), #endif @@ -1092,7 +1092,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(DEOXYS_ATTACK, gMonShinyPalette_DeoxysAttack), SPECIES_SHINY_PAL(DEOXYS_DEFENSE, gMonShinyPalette_DeoxysDefense), SPECIES_SHINY_PAL(DEOXYS_SPEED, gMonShinyPalette_DeoxysSpeed), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SHINY_PAL(BURMY_SANDY_CLOAK, gMonShinyPalette_BurmySandyCloak), SPECIES_SHINY_PAL(BURMY_TRASH_CLOAK, gMonShinyPalette_BurmyTrashCloak), @@ -1135,7 +1135,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(ARCEUS_DARK, gMonShinyPalette_ArceusDark), SPECIES_SHINY_PAL(ARCEUS_FAIRY, gMonShinyPalette_ArceusFairy), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(BASCULIN_BLUE_STRIPED, gMonShinyPalette_BasculinBlueStriped), SPECIES_SHINY_PAL(BASCULIN_WHITE_STRIPED, gMonShinyPalette_BasculinWhiteStriped), @@ -1166,7 +1166,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(GENESECT_BURN_DRIVE, gMonShinyPalette_GenesectBurnDrive), SPECIES_SHINY_PAL(GENESECT_CHILL_DRIVE, gMonShinyPalette_GenesectChillDrive), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(GRENINJA_BATTLE_BOND, gMonShinyPalette_Greninja), SPECIES_SHINY_PAL(GRENINJA_ASH, gMonShinyPalette_GreninjaAsh), @@ -1238,7 +1238,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(HOOPA_UNBOUND, gMonShinyPalette_HoopaUnbound), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_SHINY_PAL(ORICORIO_POM_POM, gMonShinyPalette_OricorioPomPom), SPECIES_SHINY_PAL(ORICORIO_PAU, gMonShinyPalette_OricorioPau), SPECIES_SHINY_PAL(ORICORIO_SENSU, gMonShinyPalette_OricorioSensu), @@ -1291,7 +1291,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(MAGEARNA_ORIGINAL_COLOR, gMonShinyPalette_MagearnaOriginalColor), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_SHINY_PAL(CRAMORANT_GULPING, gMonShinyPalette_CramorantGulping), SPECIES_SHINY_PAL(CRAMORANT_GORGING, gMonShinyPalette_CramorantGorging), @@ -1337,7 +1337,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = { SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_SHINY_PAL(STARLY, gMonShinyPalette_Starly), SPECIES_SHINY_PAL(STARAVIA, gMonShinyPalette_Staravia), SPECIES_SHINY_PAL(STARAPTOR, gMonShinyPalette_Staraptor), @@ -1349,15 +1349,15 @@ const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = SPECIES_SHINY_PAL(HIPPOPOTAS, gMonShinyPalette_HippopotasF), SPECIES_SHINY_PAL(HIPPOWDON, gMonShinyPalette_HippowdonF), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(UNFEZANT, gMonShinyPalette_UnfezantF), SPECIES_SHINY_PAL(FRILLISH, gMonShinyPalette_FrillishF), SPECIES_SHINY_PAL(JELLICENT, gMonShinyPalette_JellicentF), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(PYROAR, gMonShinyPalette_PyroarF), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_SHINY_PAL(BASCULEGION, gMonShinyPalette_CircledQuestionMark), // gMonShinyPalette_BasculegionF), #endif }; diff --git a/src/data/text/species_names.h b/src/data/text/species_names.h index 4f6d700a3..ec452b31b 100644 --- a/src/data/text/species_names.h +++ b/src/data/text/species_names.h @@ -386,7 +386,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_RAYQUAZA] = _("Rayquaza"), [SPECIES_JIRACHI] = _("Jirachi"), [SPECIES_DEOXYS] = _("Deoxys"), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = _("Turtwig"), [SPECIES_GROTLE] = _("Grotle"), [SPECIES_TORTERRA] = _("Torterra"), @@ -495,7 +495,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_SHAYMIN] = _("Shaymin"), [SPECIES_ARCEUS] = _("Arceus"), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = _("Victini"), [SPECIES_SNIVY] = _("Snivy"), [SPECIES_SERVINE] = _("Servine"), @@ -653,7 +653,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_MELOETTA] = _("Meloetta"), [SPECIES_GENESECT] = _("Genesect"), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = _("Chespin"), [SPECIES_QUILLADIN] = _("Quilladin"), [SPECIES_CHESNAUGHT] = _("Chesnaught"), @@ -727,7 +727,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_HOOPA] = _("Hoopa"), [SPECIES_VOLCANION] = _("Volcanion"), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = _("Rowlet"), [SPECIES_DARTRIX] = _("Dartrix"), [SPECIES_DECIDUEYE] = _("Decidueye"), @@ -817,7 +817,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_MELTAN] = _("Meltan"), [SPECIES_MELMETAL] = _("Melmetal"), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = _("Grookey"), [SPECIES_THWACKEY] = _("Thwackey"), [SPECIES_RILLABOOM] = _("Rillaboom"), @@ -957,17 +957,17 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_METAGROSS_MEGA] = _("Metagross"), [SPECIES_LATIAS_MEGA] = _("Latias"), [SPECIES_LATIOS_MEGA] = _("Latios"), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = _("Lopunny"), [SPECIES_GARCHOMP_MEGA] = _("Garchomp"), [SPECIES_LUCARIO_MEGA] = _("Lucario"), [SPECIES_ABOMASNOW_MEGA] = _("Abomasnow"), [SPECIES_GALLADE_MEGA] = _("Gallade"), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = _("Audino"), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = _("Diancie"), #endif // Special Mega + Primals @@ -1011,7 +1011,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_CORSOLA_GALARIAN] = _("Corsola"), [SPECIES_ZIGZAGOON_GALARIAN] = _("Zigzagoon"), [SPECIES_LINOONE_GALARIAN] = _("Linoone"), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = _("Darumaka"), [SPECIES_DARMANITAN_GALARIAN] = _("Darmanitan"), [SPECIES_YAMASK_GALARIAN] = _("Yamask"), @@ -1026,19 +1026,19 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_TYPHLOSION_HISUIAN] = _("Typhlosion"), [SPECIES_QWILFISH_HISUIAN] = _("Qwilfish"), [SPECIES_SNEASEL_HISUIAN] = _("Sneasel"), -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = _("Samurott"), [SPECIES_LILLIGANT_HISUIAN] = _("Lilligant"), [SPECIES_ZORUA_HISUIAN] = _("Zorua"), [SPECIES_ZOROARK_HISUIAN] = _("Zoroark"), [SPECIES_BRAVIARY_HISUIAN] = _("Braviary"), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = _("Sliggoo"), [SPECIES_GOODRA_HISUIAN] = _("Goodra"), [SPECIES_AVALUGG_HISUIAN] = _("Avalugg"), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = _("Decidueye"), #endif @@ -1096,7 +1096,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_DEOXYS_ATTACK] = _("Deoxys"), [SPECIES_DEOXYS_DEFENSE] = _("Deoxys"), [SPECIES_DEOXYS_SPEED] = _("Deoxys"), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = _("Burmy"), [SPECIES_BURMY_TRASH_CLOAK] = _("Burmy"), @@ -1140,7 +1140,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_ARCEUS_DARK] = _("Arceus"), [SPECIES_ARCEUS_FAIRY] = _("Arceus"), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = _("Basculin"), [SPECIES_BASCULIN_WHITE_STRIPED] = _("Basculin"), @@ -1173,7 +1173,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_GENESECT_BURN_DRIVE] = _("Genesect"), [SPECIES_GENESECT_CHILL_DRIVE] = _("Genesect"), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = _("Greninja"), [SPECIES_GRENINJA_ASH] = _("Greninja"), @@ -1245,7 +1245,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { // Hoopa [SPECIES_HOOPA_UNBOUND] = _("Hoopa"), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = _("Oricorio"), [SPECIES_ORICORIO_PAU] = _("Oricorio"), @@ -1298,7 +1298,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = _("Magearna"), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = _("Cramorant"), [SPECIES_CRAMORANT_GORGING] = _("Cramorant"), diff --git a/src/pokemon.c b/src/pokemon.c index 8e8e60b68..319198425 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -136,7 +136,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(RALTS), SPECIES_TO_HOENN(KIRLIA), SPECIES_TO_HOENN(GARDEVOIR), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(GALLADE), #endif SPECIES_TO_HOENN(SURSKIT), @@ -168,7 +168,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(GRAVELER), SPECIES_TO_HOENN(GOLEM), SPECIES_TO_HOENN(NOSEPASS), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(PROBOPASS), #endif SPECIES_TO_HOENN(SKITTY), @@ -194,7 +194,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(MINUN), SPECIES_TO_HOENN(MAGNEMITE), SPECIES_TO_HOENN(MAGNETON), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(MAGNEZONE), #endif SPECIES_TO_HOENN(VOLTORB), @@ -207,7 +207,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(BELLOSSOM), SPECIES_TO_HOENN(DODUO), SPECIES_TO_HOENN(DODRIO), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(BUDEW), SPECIES_TO_HOENN(ROSELIA), SPECIES_TO_HOENN(ROSERADE), @@ -269,7 +269,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(BANETTE), SPECIES_TO_HOENN(DUSKULL), SPECIES_TO_HOENN(DUSCLOPS), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(DUSKNOIR), SPECIES_TO_HOENN(TROPIUS), SPECIES_TO_HOENN(CHINGLING), @@ -296,12 +296,12 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(HERACROSS), SPECIES_TO_HOENN(RHYHORN), SPECIES_TO_HOENN(RHYDON), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(RHYPERIOR), #endif SPECIES_TO_HOENN(SNORUNT), SPECIES_TO_HOENN(GLALIE), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(FROSLASS), #endif SPECIES_TO_HOENN(SPHEAL), @@ -725,7 +725,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(RAYQUAZA), SPECIES_TO_NATIONAL(JIRACHI), SPECIES_TO_NATIONAL(DEOXYS), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_NATIONAL(TURTWIG), SPECIES_TO_NATIONAL(GROTLE), SPECIES_TO_NATIONAL(TORTERRA), @@ -834,7 +834,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(SHAYMIN), SPECIES_TO_NATIONAL(ARCEUS), #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE SPECIES_TO_NATIONAL(VICTINI), SPECIES_TO_NATIONAL(SNIVY), SPECIES_TO_NATIONAL(SERVINE), @@ -992,7 +992,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(MELOETTA), SPECIES_TO_NATIONAL(GENESECT), #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE SPECIES_TO_NATIONAL(CHESPIN), SPECIES_TO_NATIONAL(QUILLADIN), SPECIES_TO_NATIONAL(CHESNAUGHT), @@ -1066,7 +1066,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(HOOPA), SPECIES_TO_NATIONAL(VOLCANION), #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE SPECIES_TO_NATIONAL(ROWLET), SPECIES_TO_NATIONAL(DARTRIX), SPECIES_TO_NATIONAL(DECIDUEYE), @@ -1156,7 +1156,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(MELTAN), SPECIES_TO_NATIONAL(MELMETAL), #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE SPECIES_TO_NATIONAL(GROOKEY), SPECIES_TO_NATIONAL(THWACKEY), SPECIES_TO_NATIONAL(RILLABOOM), @@ -1296,17 +1296,17 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_METAGROSS_MEGA - 1] = NATIONAL_DEX_METAGROSS, [SPECIES_LATIAS_MEGA - 1] = NATIONAL_DEX_LATIAS, [SPECIES_LATIOS_MEGA - 1] = NATIONAL_DEX_LATIOS, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA - 1] = NATIONAL_DEX_LOPUNNY, [SPECIES_GARCHOMP_MEGA - 1] = NATIONAL_DEX_GARCHOMP, [SPECIES_LUCARIO_MEGA - 1] = NATIONAL_DEX_LUCARIO, [SPECIES_ABOMASNOW_MEGA - 1] = NATIONAL_DEX_ABOMASNOW, [SPECIES_GALLADE_MEGA - 1] = NATIONAL_DEX_GALLADE, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA - 1] = NATIONAL_DEX_AUDINO, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA - 1] = NATIONAL_DEX_DIANCIE, #endif // Special Mega + Primals @@ -1348,7 +1348,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_CORSOLA_GALARIAN - 1] = NATIONAL_DEX_CORSOLA, [SPECIES_ZIGZAGOON_GALARIAN - 1] = NATIONAL_DEX_ZIGZAGOON, [SPECIES_LINOONE_GALARIAN - 1] = NATIONAL_DEX_LINOONE, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN - 1] = NATIONAL_DEX_DARUMAKA, [SPECIES_DARMANITAN_GALARIAN - 1] = NATIONAL_DEX_DARMANITAN, [SPECIES_YAMASK_GALARIAN - 1] = NATIONAL_DEX_YAMASK, @@ -1362,19 +1362,19 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_TYPHLOSION_HISUIAN - 1] = NATIONAL_DEX_TYPHLOSION, [SPECIES_QWILFISH_HISUIAN - 1] = NATIONAL_DEX_QWILFISH, [SPECIES_SNEASEL_HISUIAN - 1] = NATIONAL_DEX_SNEASEL, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN - 1] = NATIONAL_DEX_SAMUROTT, [SPECIES_LILLIGANT_HISUIAN - 1] = NATIONAL_DEX_LILLIGANT, [SPECIES_ZORUA_HISUIAN - 1] = NATIONAL_DEX_ZORUA, [SPECIES_ZOROARK_HISUIAN - 1] = NATIONAL_DEX_ZOROARK, [SPECIES_BRAVIARY_HISUIAN - 1] = NATIONAL_DEX_BRAVIARY, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN - 1] = NATIONAL_DEX_SLIGGOO, [SPECIES_GOODRA_HISUIAN - 1] = NATIONAL_DEX_GOODRA, [SPECIES_AVALUGG_HISUIAN - 1] = NATIONAL_DEX_AVALUGG, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN - 1] = NATIONAL_DEX_DECIDUEYE, #endif // Cosplay Pikachu @@ -1431,7 +1431,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_DEOXYS_ATTACK - 1] = NATIONAL_DEX_DEOXYS, [SPECIES_DEOXYS_DEFENSE - 1] = NATIONAL_DEX_DEOXYS, [SPECIES_DEOXYS_SPEED - 1] = NATIONAL_DEX_DEOXYS, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK - 1] = NATIONAL_DEX_BURMY, [SPECIES_BURMY_TRASH_CLOAK - 1] = NATIONAL_DEX_BURMY, @@ -1475,7 +1475,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_ARCEUS_DARK - 1] = NATIONAL_DEX_ARCEUS, [SPECIES_ARCEUS_FAIRY - 1] = NATIONAL_DEX_ARCEUS, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED - 1] = NATIONAL_DEX_BASCULIN, [SPECIES_BASCULIN_WHITE_STRIPED - 1] = NATIONAL_DEX_BASCULIN, @@ -1507,7 +1507,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_GENESECT_BURN_DRIVE - 1] = NATIONAL_DEX_GENESECT, [SPECIES_GENESECT_CHILL_DRIVE - 1] = NATIONAL_DEX_GENESECT, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND - 1] = NATIONAL_DEX_GRENINJA, [SPECIES_GRENINJA_ASH - 1] = NATIONAL_DEX_GRENINJA, @@ -1579,7 +1579,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = // Hoopa [SPECIES_HOOPA_UNBOUND - 1] = NATIONAL_DEX_HOOPA, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM - 1] = NATIONAL_DEX_ORICORIO, [SPECIES_ORICORIO_PAU - 1] = NATIONAL_DEX_ORICORIO, @@ -1632,7 +1632,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR - 1] = NATIONAL_DEX_MAGEARNA, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING - 1] = NATIONAL_DEX_CRAMORANT, [SPECIES_CRAMORANT_GORGING - 1] = NATIONAL_DEX_CRAMORANT, @@ -1708,7 +1708,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(RALTS), HOENN_TO_NATIONAL(KIRLIA), HOENN_TO_NATIONAL(GARDEVOIR), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(GALLADE), #endif HOENN_TO_NATIONAL(SURSKIT), @@ -1740,7 +1740,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(GRAVELER), HOENN_TO_NATIONAL(GOLEM), HOENN_TO_NATIONAL(NOSEPASS), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(PROBOPASS), #endif HOENN_TO_NATIONAL(SKITTY), @@ -1766,7 +1766,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(MINUN), HOENN_TO_NATIONAL(MAGNEMITE), HOENN_TO_NATIONAL(MAGNETON), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(MAGNEZONE), #endif HOENN_TO_NATIONAL(VOLTORB), @@ -1779,7 +1779,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(BELLOSSOM), HOENN_TO_NATIONAL(DODUO), HOENN_TO_NATIONAL(DODRIO), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(BUDEW), HOENN_TO_NATIONAL(ROSELIA), HOENN_TO_NATIONAL(ROSERADE), @@ -1841,7 +1841,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(BANETTE), HOENN_TO_NATIONAL(DUSKULL), HOENN_TO_NATIONAL(DUSCLOPS), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(DUSKNOIR), HOENN_TO_NATIONAL(TROPIUS), HOENN_TO_NATIONAL(CHINGLING), @@ -1868,12 +1868,12 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(HERACROSS), HOENN_TO_NATIONAL(RHYHORN), HOENN_TO_NATIONAL(RHYDON), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(RHYPERIOR), #endif HOENN_TO_NATIONAL(SNORUNT), HOENN_TO_NATIONAL(GLALIE), -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(FROSLASS), #endif HOENN_TO_NATIONAL(SPHEAL), @@ -2966,10 +2966,10 @@ static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = [SPECIES_SALAMENCE - 1] = 70, [SPECIES_KYOGRE - 1] = 60, [SPECIES_RAYQUAZA - 1] = 60, -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_TAPU_FINI - 1] = 5, #endif -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_ROTOM_FAN - 1] = 7, #endif }; diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index fe71f51ce..a6088607a 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -413,7 +413,7 @@ const u8 *const gMonIconTable[] = [SPECIES_JIRACHI] = gMonIcon_Jirachi, [SPECIES_DEOXYS] = gMonIcon_Deoxys, [SPECIES_CHIMECHO] = gMonIcon_Chimecho, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = gMonIcon_Turtwig, [SPECIES_GROTLE] = gMonIcon_Grotle, [SPECIES_TORTERRA] = gMonIcon_Torterra, @@ -522,7 +522,7 @@ const u8 *const gMonIconTable[] = [SPECIES_SHAYMIN] = gMonIcon_Shaymin, [SPECIES_ARCEUS] = gMonIcon_Arceus, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = gMonIcon_Victini, [SPECIES_SNIVY] = gMonIcon_Snivy, [SPECIES_SERVINE] = gMonIcon_Servine, @@ -680,7 +680,7 @@ const u8 *const gMonIconTable[] = [SPECIES_MELOETTA] = gMonIcon_Meloetta, [SPECIES_GENESECT] = gMonIcon_Genesect, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = gMonIcon_Chespin, [SPECIES_QUILLADIN] = gMonIcon_Quilladin, [SPECIES_CHESNAUGHT] = gMonIcon_Chesnaught, @@ -754,7 +754,7 @@ const u8 *const gMonIconTable[] = [SPECIES_HOOPA] = gMonIcon_Hoopa, [SPECIES_VOLCANION] = gMonIcon_Volcanion, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = gMonIcon_Rowlet, [SPECIES_DARTRIX] = gMonIcon_Dartrix, [SPECIES_DECIDUEYE] = gMonIcon_Decidueye, @@ -844,7 +844,7 @@ const u8 *const gMonIconTable[] = [SPECIES_MELTAN] = gMonIcon_Meltan, [SPECIES_MELMETAL] = gMonIcon_Melmetal, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = gMonIcon_Grookey, [SPECIES_THWACKEY] = gMonIcon_Thwackey, [SPECIES_RILLABOOM] = gMonIcon_Rillaboom, @@ -982,17 +982,17 @@ const u8 *const gMonIconTable[] = [SPECIES_METAGROSS_MEGA] = gMonIcon_MetagrossMega, [SPECIES_LATIAS_MEGA] = gMonIcon_LatiasMega, [SPECIES_LATIOS_MEGA] = gMonIcon_LatiosMega, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = gMonIcon_LopunnyMega, [SPECIES_GARCHOMP_MEGA] = gMonIcon_GarchompMega, [SPECIES_LUCARIO_MEGA] = gMonIcon_LucarioMega, [SPECIES_ABOMASNOW_MEGA] = gMonIcon_AbomasnowMega, [SPECIES_GALLADE_MEGA] = gMonIcon_GalladeMega, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = gMonIcon_AudinoMega, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = gMonIcon_DiancieMega, #endif [SPECIES_RAYQUAZA_MEGA] = gMonIcon_RayquazaMega, @@ -1031,7 +1031,7 @@ const u8 *const gMonIconTable[] = [SPECIES_CORSOLA_GALARIAN] = gMonIcon_CorsolaGalarian, [SPECIES_ZIGZAGOON_GALARIAN] = gMonIcon_ZigzagoonGalarian, [SPECIES_LINOONE_GALARIAN] = gMonIcon_LinooneGalarian, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = gMonIcon_DarumakaGalarian, [SPECIES_DARMANITAN_GALARIAN] = gMonIcon_DarmanitanGalarian, [SPECIES_YAMASK_GALARIAN] = gMonIcon_YamaskGalarian, @@ -1044,19 +1044,19 @@ const u8 *const gMonIconTable[] = [SPECIES_TYPHLOSION_HISUIAN] = gMonIcon_TyphlosionHisuian, [SPECIES_QWILFISH_HISUIAN] = gMonIcon_QwilfishHisuian, [SPECIES_SNEASEL_HISUIAN] = gMonIcon_SneaselHisuian, -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = gMonIcon_SamurottHisuian, [SPECIES_LILLIGANT_HISUIAN] = gMonIcon_LilligantHisuian, [SPECIES_ZORUA_HISUIAN] = gMonIcon_ZoruaHisuian, [SPECIES_ZOROARK_HISUIAN] = gMonIcon_ZoroarkHisuian, [SPECIES_BRAVIARY_HISUIAN] = gMonIcon_BraviaryHisuian, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = gMonIcon_SliggooHisuian, [SPECIES_GOODRA_HISUIAN] = gMonIcon_GoodraHisuian, [SPECIES_AVALUGG_HISUIAN] = gMonIcon_AvaluggHisuian, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = gMonIcon_DecidueyeHisuian, #endif [SPECIES_PIKACHU_COSPLAY] = gMonIcon_PikachuCosplay, @@ -1107,7 +1107,7 @@ const u8 *const gMonIconTable[] = [SPECIES_DEOXYS_ATTACK] = gMonIcon_DeoxysAttack, [SPECIES_DEOXYS_DEFENSE] = gMonIcon_DeoxysDefense, [SPECIES_DEOXYS_SPEED] = gMonIcon_DeoxysSpeed, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY_SANDY_CLOAK] = gMonIcon_BurmySandyCloak, [SPECIES_BURMY_TRASH_CLOAK] = gMonIcon_BurmyTrashCloak, [SPECIES_WORMADAM_SANDY_CLOAK] = gMonIcon_WormadamSandyCloak, @@ -1142,7 +1142,7 @@ const u8 *const gMonIconTable[] = [SPECIES_ARCEUS_DARK] = gMonIcon_Arceus, [SPECIES_ARCEUS_FAIRY] = gMonIcon_Arceus, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_BASCULIN_BLUE_STRIPED] = gMonIcon_BasculinBlueStriped, [SPECIES_BASCULIN_WHITE_STRIPED] = gMonIcon_BasculinWhiteStriped, [SPECIES_DARMANITAN_ZEN_MODE] = gMonIcon_DarmanitanZenMode, @@ -1165,7 +1165,7 @@ const u8 *const gMonIconTable[] = [SPECIES_GENESECT_BURN_DRIVE] = gMonIcon_Genesect, [SPECIES_GENESECT_CHILL_DRIVE] = gMonIcon_Genesect, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_GRENINJA_BATTLE_BOND] = gMonIcon_Greninja, [SPECIES_GRENINJA_ASH] = gMonIcon_GreninjaAsh, [SPECIES_VIVILLON_POLAR] = gMonIcon_VivillonPolar, @@ -1224,7 +1224,7 @@ const u8 *const gMonIconTable[] = [SPECIES_ZYGARDE_COMPLETE] = gMonIcon_ZygardeComplete, [SPECIES_HOOPA_UNBOUND] = gMonIcon_HoopaUnbound, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ORICORIO_POM_POM] = gMonIcon_OricorioPomPom, [SPECIES_ORICORIO_PAU] = gMonIcon_OricorioPau, [SPECIES_ORICORIO_SENSU] = gMonIcon_OricorioSensu, @@ -1268,7 +1268,7 @@ const u8 *const gMonIconTable[] = [SPECIES_NECROZMA_ULTRA] = gMonIcon_NecrozmaUltra, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = gMonIcon_MagearnaOriginalColor, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_CRAMORANT_GULPING] = gMonIcon_CramorantGulping, [SPECIES_CRAMORANT_GORGING] = gMonIcon_CramorantGorging, [SPECIES_TOXTRICITY_LOW_KEY] = gMonIcon_ToxtricityLowKey, @@ -1300,7 +1300,7 @@ const u8 *const gMonIconTable[] = const u8 *const gMonIconTableFemale[] = { [SPECIES_EEVEE] = gMonIcon_Eevee, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_STARLY] = gMonIcon_Starly, [SPECIES_STARAVIA] = gMonIcon_Staravia, [SPECIES_STARAPTOR] = gMonIcon_Staraptor, @@ -1312,15 +1312,15 @@ const u8 *const gMonIconTableFemale[] = [SPECIES_HIPPOPOTAS] = gMonIcon_Hippopotas, [SPECIES_HIPPOWDON] = gMonIcon_Hippowdon, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = gMonIcon_UnfezantF, [SPECIES_FRILLISH] = gMonIcon_FrillishF, [SPECIES_JELLICENT] = gMonIcon_JellicentF, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_PYROAR] = gMonIcon_PyroarF, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_BASCULEGION] = gMonIcon_BasculegionF, #endif }; @@ -2357,7 +2357,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_DEOXYS_ATTACK] = 0, [SPECIES_DEOXYS_DEFENSE] = 0, [SPECIES_DEOXYS_SPEED] = 0, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY_SANDY_CLOAK] = 1, [SPECIES_BURMY_TRASH_CLOAK] = 0, [SPECIES_WORMADAM_SANDY_CLOAK] = 1, @@ -2392,7 +2392,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_ARCEUS_DARK] = 1, [SPECIES_ARCEUS_FAIRY] = 1, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_BASCULIN_BLUE_STRIPED] = 0, [SPECIES_BASCULIN_WHITE_STRIPED] = 0, [SPECIES_DARMANITAN_ZEN_MODE] = 0, @@ -2415,7 +2415,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_GENESECT_BURN_DRIVE] = 2, [SPECIES_GENESECT_CHILL_DRIVE] = 2, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_GRENINJA_BATTLE_BOND] = 0, [SPECIES_GRENINJA_ASH] = 0, [SPECIES_VIVILLON_POLAR] = 0, @@ -2474,7 +2474,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_ZYGARDE_COMPLETE] = 1, [SPECIES_HOOPA_UNBOUND] = 0, #endif -#if P_NEW_POKEMON >= GEN_7 +#if P_GEN_7_POKEMON == TRUE [SPECIES_ORICORIO_POM_POM] = 1, [SPECIES_ORICORIO_PAU] = 1, [SPECIES_ORICORIO_SENSU] = 0, @@ -2512,7 +2512,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_NECROZMA_ULTRA] = 2, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = 0, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_CRAMORANT_GULPING] = 0, [SPECIES_CRAMORANT_GORGING] = 0, [SPECIES_TOXTRICITY_LOW_KEY] = 2, @@ -2544,7 +2544,7 @@ const u8 gMonIconPaletteIndices[] = const u8 gMonIconPaletteIndicesFemale[] = { [SPECIES_EEVEE] = 2, -#if P_NEW_POKEMON >= GEN_4 +#if P_GEN_4_POKEMON == TRUE [SPECIES_STARLY] = 0, [SPECIES_STARAVIA] = 0, [SPECIES_BIDOOF] = 2, @@ -2555,15 +2555,15 @@ const u8 gMonIconPaletteIndicesFemale[] = [SPECIES_HIPPOPOTAS] = 1, [SPECIES_HIPPOWDON] = 1, #endif -#if P_NEW_POKEMON >= GEN_5 +#if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = 1, [SPECIES_FRILLISH] = 1, [SPECIES_JELLICENT] = 1, #endif -#if P_NEW_POKEMON >= GEN_6 +#if P_GEN_6_POKEMON == TRUE [SPECIES_PYROAR] = 2, #endif -#if P_NEW_POKEMON >= GEN_8 +#if P_GEN_8_POKEMON == TRUE [SPECIES_BASCULEGION] = 0, #endif }; From c2c18444b15fe4841effbf7ad41712939d3a9252 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 30 Aug 2022 12:36:40 -0400 Subject: [PATCH 028/147] =?UTF-8?q?Updated=20HasAllMons=20to=20account=20f?= =?UTF-8?q?or=20all=20Pok=C3=A9mon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pokedex.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/src/pokedex.c b/src/pokedex.c index 4b6ce78ca..74bebbffd 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -4377,26 +4377,12 @@ bool16 HasAllMons(void) { u16 i; - // -1 excludes Mew - for (i = 0; i < KANTO_DEX_COUNT - 1; i++) + for (i = 1; i < NATIONAL_DEX_COUNT + 1; i++) { - if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT)) + if (!(gBaseStats[i].flags & FLAG_MYTHICAL) && !GetSetPokedexFlag(i, FLAG_GET_CAUGHT)) return FALSE; } - // -3 excludes Lugia, Ho-Oh, and Celebi - for (i = KANTO_DEX_COUNT; i < JOHTO_DEX_COUNT - 3; i++) - { - if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT)) - return FALSE; - } - - // -2 excludes Jirachi and Deoxys - for (i = JOHTO_DEX_COUNT; i < NATIONAL_DEX_COUNT - 2; i++) - { - if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT)) - return FALSE; - } return TRUE; } From 494e8791d742f72273f65bf7edef9b240f05d38e Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 30 Aug 2022 21:18:54 -0400 Subject: [PATCH 029/147] Fixed tutors changing levels --- src/party_menu.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/party_menu.c b/src/party_menu.c index 00224f6bd..4d7f24883 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -5040,7 +5040,8 @@ static void CB2_ShowSummaryScreenToForgetMove(void) static void CB2_ReturnToPartyMenuWhileLearningMove(void) { - SetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_LEVEL, &sFinalLevel); // to avoid displaying incorrect level + if (sFinalLevel != 0) + SetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_LEVEL, &sFinalLevel); // to avoid displaying incorrect level InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, TRUE, PARTY_MSG_NONE, Task_ReturnToPartyMenuWhileLearningMove, gPartyMenu.exitCallback); } @@ -5313,6 +5314,10 @@ static void PartyMenuTryEvolution(u8 taskId) struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_NORMAL, ITEM_NONE, NULL); + // Resets values to 0 so other means of teaching moves doesn't overwrite levels + sInitialLevel = 0; + sFinalLevel = 0; + if (targetSpecies != SPECIES_NONE) { FreePartyPointers(); From 29448b6acca364feb4476e9d72270bb6bf98ffbe Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 30 Aug 2022 22:05:47 -0400 Subject: [PATCH 030/147] Fixed XL Candy going out of bounds. Also added failsafe in case an invalid param is used. --- src/pokemon.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/pokemon.c b/src/pokemon.c index 350aebf0b..8b3938aa5 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5714,20 +5714,26 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov && GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_LEVEL) { u8 param = ItemId_GetHoldEffectParam(item); + dataUnsigned = 0; + if (param == 0) // Rare Candy { dataUnsigned = gExperienceTables[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1]; } - else if (param < ARRAY_COUNT(sExpCandyExperienceTable)) // EXP Candies + else if (param - 1 < ARRAY_COUNT(sExpCandyExperienceTable)) // EXP Candies { u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); dataUnsigned = sExpCandyExperienceTable[param - 1] + GetMonData(mon, MON_DATA_EXP, NULL); if (dataUnsigned > gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL]) dataUnsigned = gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL]; } - SetMonData(mon, MON_DATA_EXP, &dataUnsigned); - CalculateMonStats(mon); - retVal = FALSE; + + if (dataUnsigned != 0) // Failsafe + { + SetMonData(mon, MON_DATA_EXP, &dataUnsigned); + CalculateMonStats(mon); + retVal = FALSE; + } } // Cure status From fe5f30c2005bd668febfd1568c511eddbf0527e8 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 30 Aug 2022 22:50:20 -0400 Subject: [PATCH 031/147] Fixed moves learned at the same level being skipped while using exp candies --- src/party_menu.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/party_menu.c b/src/party_menu.c index 4d7f24883..73937b966 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -5292,11 +5292,14 @@ static void Task_TryLearningNextMove(u8 taskId) switch (result) { case 0: // No moves to learn + if (sInitialLevel >= sFinalLevel) + PartyMenuTryEvolution(taskId); break; case MON_HAS_MAX_MOVES: DisplayMonNeedsToReplaceMove(taskId); break; case MON_ALREADY_KNOWS_MOVE: + gTasks[taskId].func = Task_TryLearningNextMove; return; default: DisplayMonLearnedMove(taskId, result); @@ -5305,8 +5308,6 @@ static void Task_TryLearningNextMove(u8 taskId) if (result) break; } - if (sInitialLevel >= sFinalLevel) - PartyMenuTryEvolution(taskId); } static void PartyMenuTryEvolution(u8 taskId) From 3264c3c87a3dc68d1aac4c549ba12b729a25303e Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 31 Aug 2022 09:05:51 -0400 Subject: [PATCH 032/147] Shows amount of Exp gained. --- include/pokemon.h | 1 + src/party_menu.c | 1 + src/pokemon.c | 2 +- src/strings.c | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/pokemon.h b/include/pokemon.h index 94fdff91d..34065c6cc 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -406,6 +406,7 @@ extern const u16 gLinkPlayerFacilityClasses[]; extern const struct SpriteTemplate gBattlerSpriteTemplates[]; extern const s8 gNatureStatTable[][5]; extern const u16 *const gFormSpeciesIdTables[NUM_SPECIES]; +extern const u32 sExpCandyExperienceTable[]; void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroMonData(struct Pokemon *mon); diff --git a/src/party_menu.c b/src/party_menu.c index 73937b966..e94bfb928 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -5187,6 +5187,7 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc task) { PlaySE(SE_USE_ITEM); gPartyMenuUseExitCallback = FALSE; + ConvertIntToDecimalStringN(gStringVar2, sExpCandyExperienceTable[ItemId_GetHoldEffectParam(*itemPtr)], STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_PkmnGainedExp); DisplayPartyMenuMessage(gStringVar4, FALSE); ScheduleBgCopyTilemapToVram(2); diff --git a/src/pokemon.c b/src/pokemon.c index 8b3938aa5..bca560175 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5507,7 +5507,7 @@ bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, } // EXP candies store an index for this table in their holdEffectParam. -static const u32 sExpCandyExperienceTable[] = { +const u32 sExpCandyExperienceTable[] = { [EXP_100 - 1] = 100, [EXP_800 - 1] = 800, [EXP_3000 - 1] = 3000, diff --git a/src/strings.c b/src/strings.c index d199b92d4..52f1b6be7 100644 --- a/src/strings.c +++ b/src/strings.c @@ -417,7 +417,7 @@ const u8 gText_PkmnRegainhedHealth[] = _("{STR_VAR_1} regained health.{PAUSE_UNT const u8 gText_PkmnBecameHealthy[] = _("{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}"); const u8 gText_MovesPPIncreased[] = _("{STR_VAR_1}'s PP increased.{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnElevatedToLvVar2[] = _("{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}."); -const u8 gText_PkmnGainedExp[] = _("{STR_VAR_1} gained Exp. Points!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnGainedExp[] = _("{STR_VAR_1} gained {STR_VAR_2} Exp. Points!{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnBaseVar2StatIncreased[] = _("{STR_VAR_1}'s base {STR_VAR_2}\nstat was raised.{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnFriendlyBaseVar2Fell[] = _("{STR_VAR_1} turned friendly.\nThe base {STR_VAR_2} fell!{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnAdoresBaseVar2Fell[] = _("{STR_VAR_1} adores you!\nThe base {STR_VAR_2} fell!{PAUSE_UNTIL_PRESS}"); From 452b135c7f15bd7a0354f97bc51335da90090c32 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 31 Aug 2022 17:48:22 -0300 Subject: [PATCH 033/147] I forgot to replace the function calls where appropriate :P --- src/battle_anim_new.c | 3 ++- src/battle_script_commands.c | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 35c124467..a120b69a7 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -19,6 +19,7 @@ #include "constants/hold_effects.h" #include "constants/items.h" #include "constants/pokemon.h" +#include "battle_util.h" // function declarations static void SpriteCB_SpriteToCentreOfSide(struct Sprite *sprite); @@ -7899,6 +7900,6 @@ void AnimTask_AffectionHangedOn(u8 taskId) int side = GetBattlerSide(gBattleAnimTarget); struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; - gBattleAnimArgs[0] = GetMonFriendshipScore(&party[gBattlerPartyIndexes[gBattleAnimTarget]]); + gBattleAnimArgs[0] = GetBattlerFriendshipScore(gBattleAnimTarget); DestroyAnimVisualTask(taskId); } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 361abe241..52818dc38 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1734,7 +1734,7 @@ u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u #if B_AFFECTION_MECHANICS == TRUE // With high affection/friendship there's a chance to evade a move by substracting 10% of its accuracy. // I can't find exact information about that chance, so I'm just gonna write it as a 20% chance for now. - if (GetMonFriendshipScore(battlerDef) >= FRIENDSHIP_150_TO_199 && (Random() % 100) <= 20) + if (GetBattlerFriendshipScore(battlerDef) >= FRIENDSHIP_150_TO_199 && (Random() % 100) <= 20) calc = (calc * 90) / 100; #endif @@ -1907,7 +1907,7 @@ s32 CalcCritChanceStage(u8 battlerAtk, u8 battlerDef, u32 move, bool32 recordAbi + 2 * (holdEffectAtk == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + 2 * BENEFITS_FROM_LEEK(battlerAtk, holdEffectAtk) #if B_AFFECTION_MECHANICS == TRUE - + 2 * (GetMonFriendshipScore(gBattlerAttacker) >= FRIENDSHIP_200_TO_254) + + 2 * (GetBattlerFriendshipScore(gBattlerAttacker) >= FRIENDSHIP_200_TO_254) #endif + (abilityAtk == ABILITY_SUPER_LUCK); @@ -4063,7 +4063,7 @@ static void Cmd_getexp(void) } #endif #if B_AFFECTION_MECHANICS == TRUE - if (GetMonFriendshipScore(gBattleStruct->expGetterMonId) >= FRIENDSHIP_50_TO_99) + if (GetBattlerFriendshipScore(gBattleStruct->expGetterMonId) >= FRIENDSHIP_50_TO_99) gBattleMoveDamage = (gBattleMoveDamage * 120) / 100; #endif From 8d94c58cacd46657df3163426ec5b93d1fb72b25 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 31 Aug 2022 21:54:27 -0400 Subject: [PATCH 034/147] Shows exp when leveling up with Exp Candies --- include/strings.h | 1 + src/party_menu.c | 27 ++++++++++++++++++++++++--- src/strings.c | 1 + 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/include/strings.h b/include/strings.h index 25a96eef0..f8f5da4da 100644 --- a/include/strings.h +++ b/include/strings.h @@ -500,6 +500,7 @@ extern const u8 gText_StopLearningMove2[]; extern const u8 gText_MoveNotLearned[]; extern const u8 gText_PkmnElevatedToLvVar2[]; extern const u8 gText_PkmnGainedExp[]; +extern const u8 gText_PkmnGainedExpAndElevatedToLvVar3[]; extern const u8 gText_RemoveMailBeforeItem[]; extern const u8 gText_PkmnHoldingItemCantHoldMail[]; extern const u8 gText_MailTransferredFromMailbox[]; diff --git a/src/party_menu.c b/src/party_menu.c index e94bfb928..1d890c5f3 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -5140,6 +5140,16 @@ static void Task_TryLearningNextMoveAfterText(u8 taskId) Task_TryLearningNextMove(taskId); } +static void DisplayExpPoints(u8 taskId, TaskFunc task, u8 holdEffectParam) +{ + PlaySE(SE_USE_ITEM); + ConvertIntToDecimalStringN(gStringVar2, sExpCandyExperienceTable[holdEffectParam], STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_PkmnGainedExp); + DisplayPartyMenuMessage(gStringVar4, FALSE); + ScheduleBgCopyTilemapToVram(2); + gTasks[taskId].func = task; +} + void ItemUseCB_RareCandy(u8 taskId, TaskFunc task) { struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; @@ -5147,6 +5157,7 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc task) s16 *arrayPtr = ptr->data; u16 *itemPtr = &gSpecialVar_ItemId; bool8 cannotUseEffect; + u8 holdEffectParam = ItemId_GetHoldEffectParam(*itemPtr); sInitialLevel = GetMonData(mon, MON_DATA_LEVEL); if (sInitialLevel != MAX_LEVEL) @@ -5177,8 +5188,18 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc task) if (sFinalLevel > sInitialLevel) { PlayFanfareByFanfareNum(FANFARE_LEVEL_UP); - ConvertIntToDecimalStringN(gStringVar2, sFinalLevel, STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar4, gText_PkmnElevatedToLvVar2); + if (holdEffectParam == 0) // Rare Candy + { + ConvertIntToDecimalStringN(gStringVar2, sFinalLevel, STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_PkmnElevatedToLvVar2); + } + else // Exp Candies + { + ConvertIntToDecimalStringN(gStringVar2, sExpCandyExperienceTable[holdEffectParam - 1], STR_CONV_MODE_LEFT_ALIGN, 6); + ConvertIntToDecimalStringN(gStringVar3, sFinalLevel, STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_PkmnGainedExpAndElevatedToLvVar3); + } + DisplayPartyMenuMessage(gStringVar4, TRUE); ScheduleBgCopyTilemapToVram(2); gTasks[taskId].func = Task_DisplayLevelUpStatsPg1; @@ -5187,7 +5208,7 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc task) { PlaySE(SE_USE_ITEM); gPartyMenuUseExitCallback = FALSE; - ConvertIntToDecimalStringN(gStringVar2, sExpCandyExperienceTable[ItemId_GetHoldEffectParam(*itemPtr)], STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, sExpCandyExperienceTable[holdEffectParam - 1], STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_PkmnGainedExp); DisplayPartyMenuMessage(gStringVar4, FALSE); ScheduleBgCopyTilemapToVram(2); diff --git a/src/strings.c b/src/strings.c index 52f1b6be7..fce4acdde 100644 --- a/src/strings.c +++ b/src/strings.c @@ -418,6 +418,7 @@ const u8 gText_PkmnBecameHealthy[] = _("{STR_VAR_1} became healthy.{PAUSE_UNTIL_ const u8 gText_MovesPPIncreased[] = _("{STR_VAR_1}'s PP increased.{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnElevatedToLvVar2[] = _("{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}."); const u8 gText_PkmnGainedExp[] = _("{STR_VAR_1} gained {STR_VAR_2} Exp. Points!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnGainedExpAndElevatedToLvVar3[] = _("{STR_VAR_1} gained {STR_VAR_2} Exp. Points\nand was elevated to Lv. {STR_VAR_3}!"); const u8 gText_PkmnBaseVar2StatIncreased[] = _("{STR_VAR_1}'s base {STR_VAR_2}\nstat was raised.{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnFriendlyBaseVar2Fell[] = _("{STR_VAR_1} turned friendly.\nThe base {STR_VAR_2} fell!{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnAdoresBaseVar2Fell[] = _("{STR_VAR_1} adores you!\nThe base {STR_VAR_2} fell!{PAUSE_UNTIL_PRESS}"); From 03a98c72bc435bf92e535de26f21ce0c06df6dd9 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 2 Sep 2022 19:29:35 -0400 Subject: [PATCH 035/147] Sync fieldmap --- include/fieldmap.h | 2 +- include/global.fieldmap.h | 10 +++++----- src/fieldmap.c | 13 +++++++------ src/item_use.c | 2 +- src/scrcmd.c | 8 ++++---- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/include/fieldmap.h b/include/fieldmap.h index 7caadfcaa..2f7eaba66 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -47,7 +47,7 @@ void CopySecondaryTilesetToVramUsingHeap(struct MapLayout const *mapLayout); void CopyPrimaryTilesetToVram(const struct MapLayout *); void CopySecondaryTilesetToVram(const struct MapLayout *); struct MapHeader const *const GetMapHeaderFromConnection(struct MapConnection *connection); -struct MapConnection *GetConnectionAtCoords(s16 x, s16 y); +struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y); void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable); // field_region_map.c diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 974fa3382..2be44a5f3 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -4,9 +4,9 @@ // Masks/shifts for blocks in the map grid // Map grid blocks consist of a 10 bit metatile id, a 2 bit collision value, and a 4 bit elevation value // This is the data stored in each data/layouts/*/map.bin file -#define MAPGRID_METATILE_ID_MASK 0x03FF // Bits 1-10 -#define MAPGRID_COLLISION_MASK 0x0C00 // Bits 11-12 -#define MAPGRID_ELEVATION_MASK 0xF000 // Bits 13-16 +#define MAPGRID_METATILE_ID_MASK 0x03FF // Bits 0-9 +#define MAPGRID_COLLISION_MASK 0x0C00 // Bits 10-11 +#define MAPGRID_ELEVATION_MASK 0xF000 // Bits 12-15 #define MAPGRID_COLLISION_SHIFT 10 #define MAPGRID_ELEVATION_SHIFT 12 @@ -16,8 +16,8 @@ // Masks/shifts for metatile attributes // Metatile attributes consist of an 8 bit behavior value, 4 unused bits, and a 4 bit layer type value // This is the data stored in each data/tilesets/*/*/metatile_attributes.bin file -#define METATILE_ATTR_BEHAVIOR_MASK 0x00FF // Bits 1-8 -#define METATILE_ATTR_LAYER_MASK 0xF000 // Bits 13-16 +#define METATILE_ATTR_BEHAVIOR_MASK 0x00FF // Bits 0-7 +#define METATILE_ATTR_LAYER_MASK 0xF000 // Bits 12-15 #define METATILE_ATTR_LAYER_SHIFT 12 enum { diff --git a/src/fieldmap.c b/src/fieldmap.c index 2b981dc6e..8dfa23bf3 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -753,7 +753,7 @@ static int IsPosInConnectingMap(struct MapConnection *connection, int x, int y) return FALSE; } -struct MapConnection *GetConnectionAtCoords(s16 x, s16 y) +struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y) { int count; struct MapConnection *connection; @@ -860,12 +860,13 @@ static void CopyTilesetToVramUsingHeap(struct Tileset const *tileset, u16 numTil } } -static void FieldmapPaletteDummy(u16 offset, u16 size) +// Below two are dummied functions from FRLG, used to tint the overworld palettes for the Quest Log +static void ApplyGlobalTintToPaletteEntries(u16 offset, u16 size) { } -static void FieldmapUnkDummy(void) +static void ApplyGlobalTintToPaletteSlot(void) { } @@ -880,17 +881,17 @@ void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u16 size) { LoadPalette(&black, destOffset, 2); LoadPalette(((u16 *)tileset->palettes) + 1, destOffset + 1, size - 2); - FieldmapPaletteDummy(destOffset + 1, (size - 2) >> 1); + ApplyGlobalTintToPaletteEntries(destOffset + 1, (size - 2) >> 1); } else if (tileset->isSecondary == TRUE) { LoadPalette(((u16 *)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size); - FieldmapPaletteDummy(destOffset, size >> 1); + ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } else { LoadCompressedPalette((u32 *)tileset->palettes, destOffset, size); - FieldmapPaletteDummy(destOffset, size >> 1); + ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } } } diff --git a/src/item_use.c b/src/item_use.c index e5c78d091..41e888496 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -456,7 +456,7 @@ static void CheckForHiddenItemsInMapConnection(u8 taskId) || var2 > y || y >= height) { - struct MapConnection *conn = GetConnectionAtCoords(x, y); + struct MapConnection *conn = GetMapConnectionAtPos(x, y); if (conn && IsHiddenItemPresentInConnection(conn, x, y) == TRUE) SetDistanceOfClosestHiddenItem(taskId, x - playerX, y - playerY); } diff --git a/src/scrcmd.c b/src/scrcmd.c index 6ca02019d..3d67c69e5 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -2038,15 +2038,15 @@ bool8 ScrCmd_setmetatile(struct ScriptContext *ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - u16 tileId = VarGet(ScriptReadHalfword(ctx)); - u16 isImpassable = VarGet(ScriptReadHalfword(ctx)); + u16 metatileId = VarGet(ScriptReadHalfword(ctx)); + bool16 isImpassable = VarGet(ScriptReadHalfword(ctx)); x += MAP_OFFSET; y += MAP_OFFSET; if (!isImpassable) - MapGridSetMetatileIdAt(x, y, tileId); + MapGridSetMetatileIdAt(x, y, metatileId); else - MapGridSetMetatileIdAt(x, y, tileId | MAPGRID_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, metatileId | MAPGRID_COLLISION_MASK); return FALSE; } From 7f1c4720a246702c97ef04f7191648ccac587232 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 2 Sep 2022 19:36:46 -0400 Subject: [PATCH 036/147] Update arguments for ApplyGlobalTintToPaletteSlot --- src/fieldmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fieldmap.c b/src/fieldmap.c index 8dfa23bf3..149084d35 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -866,7 +866,7 @@ static void ApplyGlobalTintToPaletteEntries(u16 offset, u16 size) } -static void ApplyGlobalTintToPaletteSlot(void) +static void ApplyGlobalTintToPaletteSlot(u8 slot, u8 count) { } From 8b7230c3c456f23cc87b3581f641688e41e82987 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 2 Sep 2022 19:41:28 -0400 Subject: [PATCH 037/147] CpuFastFill -> CpuFastFill16 in fieldmap --- src/fieldmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fieldmap.c b/src/fieldmap.c index 149084d35..bcd2d1019 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -87,13 +87,13 @@ void InitMapFromSavedGame(void) void InitBattlePyramidMap(bool8 setPlayerPosition) { - CpuFastFill(MAPGRID_UNDEFINED << 16 | MAPGRID_UNDEFINED, sBackupMapData, sizeof(sBackupMapData)); + CpuFastFill16(MAPGRID_UNDEFINED, sBackupMapData, sizeof(sBackupMapData)); GenerateBattlePyramidFloorLayout(sBackupMapData, setPlayerPosition); } void InitTrainerHillMap(void) { - CpuFastFill(MAPGRID_UNDEFINED << 16 | MAPGRID_UNDEFINED, sBackupMapData, sizeof(sBackupMapData)); + CpuFastFill16(MAPGRID_UNDEFINED, sBackupMapData, sizeof(sBackupMapData)); GenerateTrainerHillFloorLayout(sBackupMapData); } From 97021baec6f9f112b27ce1356b7e3ca0873327ba Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 2 Sep 2022 21:53:44 -0400 Subject: [PATCH 038/147] Drop usage of global directive --- src/crt0.s | 6 ++---- src/rom_header.s | 21 +++++++-------------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/src/crt0.s b/src/crt0.s index 523061f52..580814722 100644 --- a/src/crt0.s +++ b/src/crt0.s @@ -5,8 +5,7 @@ .arm .align 2, 0 - .global Init -Init: +Init:: mov r0, #PSR_IRQ_MODE msr cpsr_cf, r0 ldr sp, sp_irq @@ -33,8 +32,7 @@ sp_irq: .word IWRAM_END - 0x60 .arm .align 2, 0 - .global IntrMain -IntrMain: +IntrMain:: mov r3, #REG_BASE add r3, r3, #OFFSET_REG_IE ldr r2, [r3] diff --git a/src/rom_header.s b/src/rom_header.s index c5fa5ddf4..4f80d8f63 100644 --- a/src/rom_header.s +++ b/src/rom_header.s @@ -1,19 +1,16 @@ @ Note: ROM header data is empty space here. @ It's populated by gbafix using data provided in the Makefile. - .global Start -Start: +Start:: b Init - .global RomHeaderNintendoLogo -RomHeaderNintendoLogo: +RomHeaderNintendoLogo:: .space 156 RomHeaderGameTitle: .space 12 - .global RomHeaderGameCode -RomHeaderGameCode: +RomHeaderGameCode:: .space 4 RomHeaderMakerCode: @@ -31,8 +28,7 @@ RomHeaderDeviceType: RomHeaderReserved1: .space 7 - .global RomHeaderSoftwareVersion -RomHeaderSoftwareVersion: +RomHeaderSoftwareVersion:: .byte 0 RomHeaderChecksum: @@ -43,16 +39,13 @@ RomHeaderReserved2: .word 0 - .global GPIOPortData -GPIOPortData: +GPIOPortData:: .2byte 0 - .global GPIOPortDirection -GPIOPortDirection: +GPIOPortDirection:: .2byte 0 - .global GPIOPortReadEnable -GPIOPortReadEnable: +GPIOPortReadEnable:: .2byte 0 .2byte 0 From 74c3fdfba79f0b18cbc94805f496295004f339e2 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 4 Sep 2022 19:41:01 -0300 Subject: [PATCH 039/147] Flag to allow certain species to always have perfect IVs (like Partner Pikachu and Eevee) --- include/constants/pokemon.h | 1 + include/pokemon.h | 2 +- src/pokemon.c | 87 ++++++++++++++++++++----------------- 3 files changed, 50 insertions(+), 40 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index f5d0e9509..dd813e509 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -350,6 +350,7 @@ #define FLAG_GALARIAN_FORM (1 << 4) #define FLAG_HISUIAN_FORM (1 << 5) #define FLAG_GENDER_DIFFERENCE (1 << 6) +#define FLAG_ALL_PERFECT_IVS (1 << 7) #define LEGENDARY_PERFECT_IV_COUNT 3 diff --git a/include/pokemon.h b/include/pokemon.h index 94fdff91d..648a1f5bb 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -323,7 +323,7 @@ struct BaseStats u8 safariZoneFleeRate; u8 bodyColor : 7; u8 noFlip : 1; - u8 flags; + u16 flags; }; #include "constants/battle_config.h" diff --git a/src/pokemon.c b/src/pokemon.c index 350aebf0b..9b760dbb9 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3370,50 +3370,59 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, iv = (value & (MAX_IV_MASK << 10)) >> 10; SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); - #if P_LEGENDARY_PERFECT_IVS >= GEN_6 - if (gBaseStats[species].flags & (FLAG_LEGENDARY | FLAG_MYTHICAL | FLAG_ULTRA_BEAST)) + if (gBaseStats[species].flags & FLAG_ALL_PERFECT_IVS) + { + iv = MAX_PER_STAT_IVS; + SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); + } + #if P_LEGENDARY_PERFECT_IVS >= GEN_6 + else if (gBaseStats[species].flags & (FLAG_LEGENDARY | FLAG_MYTHICAL | FLAG_ULTRA_BEAST)) + { + iv = MAX_PER_STAT_IVS; + // Initialize a list of IV indices. + for (i = 0; i < NUM_STATS; i++) { - iv = MAX_PER_STAT_IVS; - // Initialize a list of IV indices. - for (i = 0; i < NUM_STATS; i++) - { - availableIVs[i] = i; - } + availableIVs[i] = i; + } - // Select the 3 IVs that will be perfected. - for (i = 0; i < LEGENDARY_PERFECT_IV_COUNT; i++) + // Select the 3 IVs that will be perfected. + for (i = 0; i < LEGENDARY_PERFECT_IV_COUNT; i++) + { + u8 index = Random() % (NUM_STATS - i); + selectedIvs[i] = availableIVs[index]; + RemoveIVIndexFromList(availableIVs, index); + } + for (i = 0; i < LEGENDARY_PERFECT_IV_COUNT; i++) + { + switch (selectedIvs[i]) { - u8 index = Random() % (NUM_STATS - i); - selectedIvs[i] = availableIVs[index]; - RemoveIVIndexFromList(availableIVs, index); - } - for (i = 0; i < LEGENDARY_PERFECT_IV_COUNT; i++) - { - switch (selectedIvs[i]) - { - case STAT_HP: - SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); - break; - case STAT_ATK: - SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); - break; - case STAT_DEF: - SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); - break; - case STAT_SPEED: - SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); - break; - case STAT_SPATK: - SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); - break; - case STAT_SPDEF: - SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); - break; - } + case STAT_HP: + SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); + break; + case STAT_ATK: + SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); + break; + case STAT_DEF: + SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); + break; + case STAT_SPEED: + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); + break; + case STAT_SPATK: + SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); + break; + case STAT_SPDEF: + SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); + break; } } - #endif - + } + #endif } if (gBaseStats[species].abilities[1]) From 7500435a8040c1ae3b62cf47eac6e1e9a5c60fbe Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 4 Sep 2022 21:24:12 -0300 Subject: [PATCH 040/147] Implemented review changes from https://github.com/pret/pokefirered/pull/548 --- src/battle_controller_link_opponent.c | 4 ---- src/battle_controller_opponent.c | 2 -- src/battle_controller_recorded_opponent.c | 4 ---- src/battle_controllers.c | 15 ++++----------- src/battle_main.c | 10 +++++----- src/battle_tower.c | 2 +- src/berry_crush.c | 2 +- src/dodrio_berry_picking.c | 4 ++-- src/link_rfu_2.c | 2 +- src/minigame_countdown.c | 2 +- src/mystery_event_menu.c | 2 +- src/mystery_gift_menu.c | 4 ++-- src/record_mixing.c | 2 +- src/reshow_battle_screen.c | 2 +- src/trade.c | 2 +- src/union_room.c | 4 ++-- 16 files changed, 23 insertions(+), 40 deletions(-) diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index a9629f662..0f1ce1b17 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -386,13 +386,9 @@ static void CompleteOnHealthbarDone(void) SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) - { UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); - } else - { LinkOpponentBufferExecCompleted(); - } } static void HideHealthboxAfterMonFaint(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 4c274f17e..b3554dc5a 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -397,9 +397,7 @@ static void CompleteOnHealthbarDone(void) s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) - { UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); - } else OpponentBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 0fb14f20d..872a61c0e 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -373,13 +373,9 @@ static void CompleteOnHealthbarDone(void) SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) - { UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); - } else - { RecordedOpponentBufferExecCompleted(); - } } static void HideHealthboxAfterMonFaint(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 20681b27c..e5cfb3be6 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -660,18 +660,12 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) switch (bufferId) { case BUFFER_A: - for (i = 0; i < size; i++) - { + for (i = 0; i < size; data++, i++) gBattleBufferA[gActiveBattler][i] = *data; - data++; - } break; case BUFFER_B: - for (i = 0; i < size; i++) - { + for (i = 0; i < size; data++, i++) gBattleBufferB[gActiveBattler][i] = *data; - data++; - } break; } } @@ -808,8 +802,7 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) } break; case 5: - gTasks[taskId].data[13]--; - if (gTasks[taskId].data[13] == 0) + if (--gTasks[taskId].data[13] == 0) { gTasks[taskId].data[13] = 1; gTasks[taskId].data[11] = 3; @@ -824,7 +817,7 @@ void TryReceiveLinkBattleData(void) s32 j; u8 *recvBuffer; - if (gReceivedRemoteLinkPlayers != 0 && (gBattleTypeFlags & BATTLE_TYPE_LINK_IN_BATTLE)) + if (gReceivedRemoteLinkPlayers && (gBattleTypeFlags & BATTLE_TYPE_LINK_IN_BATTLE)) { DestroyTask_RfuIdle(); for (i = 0; i < GetLinkPlayerCount(); i++) diff --git a/src/battle_main.c b/src/battle_main.c index ad4ea88b9..52a100598 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -967,7 +967,7 @@ static void CB2_HandleStartBattle(void) case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { if (IsLinkTaskFinished()) { @@ -1175,7 +1175,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { u8 language; @@ -1442,7 +1442,7 @@ static void CB2_PreInitMultiBattle(void) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: - if (gReceivedRemoteLinkPlayers != 0 && IsLinkTaskFinished()) + if (gReceivedRemoteLinkPlayers && IsLinkTaskFinished()) { sMultiPartnerPartyBuffer = Alloc(sizeof(gMultiPartnerParty)); SetMultiPartnerMenuParty(0); @@ -1578,7 +1578,7 @@ static void CB2_HandleStartMultiBattle(void) case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { if (IsLinkTaskFinished()) { @@ -5183,7 +5183,7 @@ static void ReturnFromBattleToOverworld(void) PartySpreadPokerus(gPlayerParty); } - if (gBattleTypeFlags & BATTLE_TYPE_LINK && gReceivedRemoteLinkPlayers != 0) + if (gBattleTypeFlags & BATTLE_TYPE_LINK && gReceivedRemoteLinkPlayers) return; gSpecialVar_Result = gBattleOutcome; diff --git a/src/battle_tower.c b/src/battle_tower.c index bebbdee7d..62feb7f83 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -2635,7 +2635,7 @@ static void LoadLinkMultiOpponentsData(void) gTrainerBattleOpponent_B = gSaveBlock2Ptr->frontier.trainerIds[battleNum * 2 + 1]; SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0); SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_B, 1); - if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType == 0) + if (gReceivedRemoteLinkPlayers && gWirelessCommType == 0) gSpecialVar_Result = 4; else gSpecialVar_Result = 6; diff --git a/src/berry_crush.c b/src/berry_crush.c index 19c03391d..d93dbe80a 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -3428,7 +3428,7 @@ static u32 Cmd_CloseLink(struct BerryCrushGame *game, u8 *args) SetCloseLinkCallback(); break; case 2: - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) return 0; game->nextCmd = CMD_QUIT; RunOrScheduleCommand(CMD_HIDE_GAME, SCHEDULE_CMD, NULL); diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 11bf12925..a3710e04f 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -665,7 +665,7 @@ void StartDodrioBerryPicking(u16 partyId, void (*exitCallback)(void)) { sExitingGame = FALSE; - if (gReceivedRemoteLinkPlayers != 0 && (sGame = AllocZeroed(sizeof(*sGame)))) + if (gReceivedRemoteLinkPlayers && (sGame = AllocZeroed(sizeof(*sGame)))) { ResetTasksAndSprites(); InitDodrioGame(sGame); @@ -775,7 +775,7 @@ static void Task_StartDodrioGame(u8 taskId) case 3: if (IsLinkTaskFinished()) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c index c54d6c3d3..437cec2fd 100644 --- a/src/link_rfu_2.c +++ b/src/link_rfu_2.c @@ -1115,7 +1115,7 @@ static void RfuHandleReceiveCommand(u8 unused) { gRfu.recvBlock[i].receiving = RECV_STATE_FINISHED; Rfu_SetBlockReceivedFlag(i); - if (GetHostRfuGameData()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && gReceivedRemoteLinkPlayers != 0 && gRfu.parentChild == MODE_CHILD) + if (GetHostRfuGameData()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && gReceivedRemoteLinkPlayers && gRfu.parentChild == MODE_CHILD) ValidateAndReceivePokemonSioInfo(gBlockRecvBuffer); } } diff --git a/src/minigame_countdown.c b/src/minigame_countdown.c index 5aaed0cb2..b4d3b6558 100644 --- a/src/minigame_countdown.c +++ b/src/minigame_countdown.c @@ -315,7 +315,7 @@ static void Task_StaticCountdown_Run(u8 taskId) u16 packet[RFU_PACKET_SIZE]; s16 *data = gTasks[taskId].data; - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { // Read link timer if (gRecvCmds[0][1] == LINKCMD_COUNTDOWN) diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index c35fe8ed8..b6610a640 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -201,7 +201,7 @@ static void CB2_MysteryEventMenu(void) case 6: if (IsLinkConnectionEstablished()) { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { if (GetLinkPlayerDataExchangeStatusTimed(2, 2) == EXCHANGE_DIFF_SELECTIONS) { diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index b970711fd..92e544a27 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -1232,7 +1232,7 @@ static void Task_MysteryGift(u8 taskId) data->state = MG_STATE_CLIENT_LINK_WAIT; break; case MG_STATE_CLIENT_LINK_WAIT: - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { ClearScreenInBg0(TRUE); data->state = MG_STATE_CLIENT_COMMUNICATING; @@ -1528,7 +1528,7 @@ static void Task_MysteryGift(u8 taskId) } break; case MG_STATE_SERVER_LINK_WAIT: - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { ClearScreenInBg0(TRUE); data->state = MG_STATE_SERVER_LINK_START; diff --git a/src/record_mixing.c b/src/record_mixing.c index 3a831c8ce..b03d7be2f 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -444,7 +444,7 @@ static void Task_MixingRecordsRecv(u8 taskId) } break; case 1: // wait for handshake - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { ConvertIntToDecimalStringN(gStringVar1, GetMultiplayerId_(), STR_CONV_MODE_LEADING_ZEROS, 2); task->tState = 5; diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 3a087b7d7..4217d78c7 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -149,7 +149,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) ActionSelectionCreateCursorAt(gActionSelectionCursor[gBattlerInMenuId], 0); - if (gWirelessCommType != 0 && gReceivedRemoteLinkPlayers != 0) + if (gWirelessCommType != 0 && gReceivedRemoteLinkPlayers) { LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); diff --git a/src/trade.c b/src/trade.c index 7c712b580..e24051e04 100644 --- a/src/trade.c +++ b/src/trade.c @@ -2391,7 +2391,7 @@ s32 GetGameProgressForLinkTrade(void) s32 isGameFrLg; u16 version; - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { isGameFrLg = 0; version = (gLinkPlayers[GetMultiplayerId() ^ 1].version & 0xFF); diff --git a/src/union_room.c b/src/union_room.c index 67d1059ee..7d1417671 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -702,7 +702,7 @@ static void Task_TryBecomeLinkLeader(u8 taskId) } else { - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { if (IsActivityWithVariableGroupSize(gPlayerCurrActivity)) GetOtherPlayersInfoFlags(); @@ -2047,7 +2047,7 @@ static void Task_SendMysteryGift(u8 taskId) { data->state = 13; } - else if (gReceivedRemoteLinkPlayers != 0) + else if (gReceivedRemoteLinkPlayers) { UpdateGameData_GroupLockedIn(TRUE); data->state++; From a4c242f2f89f2a4fa1f4efc2ff9a68c18298dcf0 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 4 Sep 2022 21:55:59 -0300 Subject: [PATCH 041/147] Implemented Shiny Lock functionality --- include/constants/pokemon.h | 1 + src/pokemon.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index dd813e509..5898eba5c 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -351,6 +351,7 @@ #define FLAG_HISUIAN_FORM (1 << 5) #define FLAG_GENDER_DIFFERENCE (1 << 6) #define FLAG_ALL_PERFECT_IVS (1 << 7) +#define FLAG_SHINY_LOCKED (1 << 8) #define LEGENDARY_PERFECT_IV_COUNT 3 diff --git a/src/pokemon.c b/src/pokemon.c index 9b760dbb9..30e22bd6a 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3301,14 +3301,23 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, } else // Player is the OT { + u32 shinyValue; value = gSaveBlock2Ptr->playerTrainerId[0] | (gSaveBlock2Ptr->playerTrainerId[1] << 8) | (gSaveBlock2Ptr->playerTrainerId[2] << 16) | (gSaveBlock2Ptr->playerTrainerId[3] << 24); - if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) + if (gBaseStats[species].flags & FLAG_SHINY_LOCKED) + { + do + { + // Choose random personalities until one that results in a non-shiny Pokémon + personality = Random32(); + shinyValue = HIHALF(value) ^ LOHALF(value) ^ HIHALF(personality) ^ LOHALF(personality); + } while (shinyValue < SHINY_ODDS); + } + else if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) { - u32 shinyValue; u32 rolls = 0; do { From d0d4c52d84623bfd70bed8dc19778b95aba63183 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Sun, 4 Sep 2022 22:03:17 -0300 Subject: [PATCH 042/147] Update src/pokemon.c Co-authored-by: LOuroboros --- src/pokemon.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/pokemon.c b/src/pokemon.c index 30e22bd6a..61d16e56c 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3410,24 +3410,24 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, { switch (selectedIvs[i]) { - case STAT_HP: - SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); - break; - case STAT_ATK: - SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); - break; - case STAT_DEF: - SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); - break; - case STAT_SPEED: - SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); - break; - case STAT_SPATK: - SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); - break; - case STAT_SPDEF: - SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); - break; + case STAT_HP: + SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); + break; + case STAT_ATK: + SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); + break; + case STAT_DEF: + SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); + break; + case STAT_SPEED: + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); + break; + case STAT_SPATK: + SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); + break; + case STAT_SPDEF: + SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); + break; } } } From 2ee843c70d14848e19f715081fd85715755d7835 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 4 Sep 2022 22:10:31 -0300 Subject: [PATCH 043/147] Proper label for species flags --- include/constants/pokemon.h | 18 +- src/battle_script_commands.c | 2 +- src/data/pokemon/base_stats.h | 382 +++++++++++++++++----------------- src/pokemon.c | 8 +- src/pokemon_debug.c | 18 +- 5 files changed, 214 insertions(+), 214 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 5898eba5c..60bca5a83 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -343,15 +343,15 @@ #define NUM_HIDDEN_ABILITY_SLOTS 1 // Species Flags -#define FLAG_LEGENDARY (1 << 0) -#define FLAG_MYTHICAL (1 << 1) -#define FLAG_ULTRA_BEAST (1 << 2) -#define FLAG_ALOLAN_FORM (1 << 3) -#define FLAG_GALARIAN_FORM (1 << 4) -#define FLAG_HISUIAN_FORM (1 << 5) -#define FLAG_GENDER_DIFFERENCE (1 << 6) -#define FLAG_ALL_PERFECT_IVS (1 << 7) -#define FLAG_SHINY_LOCKED (1 << 8) +#define SPECIES_FLAG_LEGENDARY (1 << 0) +#define SPECIES_FLAG_MYTHICAL (1 << 1) +#define SPECIES_FLAG_ULTRA_BEAST (1 << 2) +#define SPECIES_FLAG_ALOLAN_FORM (1 << 3) +#define SPECIES_FLAG_GALARIAN_FORM (1 << 4) +#define SPECIES_FLAG_HISUIAN_FORM (1 << 5) +#define SPECIES_FLAG_GENDER_DIFFERENCE (1 << 6) +#define SPECIES_FLAG_ALL_PERFECT_IVS (1 << 7) +#define SPECIES_FLAG_SHINY_LOCKED (1 << 8) #define LEGENDARY_PERFECT_IV_COUNT 3 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 18fa5bbdf..b99b9addd 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -13708,7 +13708,7 @@ static void Cmd_handleballthrow(void) else catchRate = gBaseStats[gBattleMons[gBattlerTarget].species].catchRate; - if (gBaseStats[gBattleMons[gBattlerTarget].species].flags & FLAG_ULTRA_BEAST) + if (gBaseStats[gBattleMons[gBattlerTarget].species].flags & SPECIES_FLAG_ULTRA_BEAST) { if (gLastUsedItem == ITEM_BEAST_BALL) ballMultiplier = 50; diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 41b5143cf..12c11fca6 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -262,7 +262,7 @@ .abilities = {ABILITY_MULTITYPE, ABILITY_NONE},\ .bodyColor = BODY_COLOR_WHITE, \ .noFlip = FALSE, \ - .flags = FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } #define DEERLING_BASE_STATS(color) \ @@ -337,7 +337,7 @@ .abilities = {ABILITY_DOWNLOAD, ABILITY_NONE},\ .bodyColor = BODY_COLOR_PURPLE, \ .noFlip = FALSE, \ - .flags = FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } #define VIVILLON_BASE_STATS(color) \ @@ -516,7 +516,7 @@ .abilities = {ABILITY_FAIRY_AURA, ABILITY_NONE},\ .bodyColor = BODY_COLOR_BLUE, \ .noFlip = FALSE, \ - .flags = FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define ZYGARDE_50_BASE_STATS(ability) \ @@ -541,7 +541,7 @@ .abilities = {ability, ABILITY_NONE},\ .bodyColor = BODY_COLOR_GREEN, \ .noFlip = TRUE, \ - .flags = FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define ZYGARDE_10_BASE_STATS(ability) \ @@ -566,7 +566,7 @@ .abilities = {ability, ABILITY_NONE},\ .bodyColor = BODY_COLOR_BLACK, \ .noFlip = TRUE, \ - .flags = FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define ORICORIO_BASE_STATS(type, color) \ @@ -640,7 +640,7 @@ .abilities = {ABILITY_RKS_SYSTEM, ABILITY_NONE},\ .bodyColor = BODY_COLOR_GRAY, \ .noFlip = FALSE, \ - .flags = FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define MINIOR_METEOR_ATTRIBUTES\ @@ -737,7 +737,7 @@ .abilities = {ABILITY_SOUL_HEART, ABILITY_NONE},\ .bodyColor = color, \ .noFlip = FALSE, \ - .flags = FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } #define CRAMORANT_BASE_STATS \ @@ -906,7 +906,7 @@ .abilities = {ABILITY_LEAF_GUARD, ABILITY_NONE},\ .bodyColor = BODY_COLOR_GREEN, \ .noFlip = FALSE, \ - .flags = FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } const struct BaseStats gBaseStats[] = @@ -4269,7 +4269,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_ADAPTABILITY, ABILITY_ANTICIPATION}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_VAPOREON] = @@ -4536,7 +4536,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_SNOW_CLOAK}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZAPDOS] = @@ -4565,7 +4565,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MOLTRES] = @@ -4590,7 +4590,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_FLAME_BODY}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_DRATINI] = @@ -4690,7 +4690,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_UNNERVE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MEW] = @@ -4717,7 +4717,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SYNCHRONIZE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_CHIKORITA] = @@ -7003,7 +7003,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ENTEI] = @@ -7033,7 +7033,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_SUICUNE] = @@ -7063,7 +7063,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LARVITAR] = @@ -7160,7 +7160,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_MULTISCALE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_HO_OH] = @@ -7187,7 +7187,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_REGENERATOR}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_CELEBI] = @@ -7214,7 +7214,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_TREECKO] = @@ -10403,7 +10403,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_STURDY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_REGICE] = @@ -10428,7 +10428,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_ICE_BODY}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_REGISTEEL] = @@ -10454,7 +10454,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_LIGHT_METAL}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LATIAS] = @@ -10479,7 +10479,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LATIOS] = @@ -10504,7 +10504,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KYOGRE] = @@ -10529,7 +10529,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DRIZZLE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GROUDON] = @@ -10554,7 +10554,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DROUGHT, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_RAYQUAZA] = @@ -10580,7 +10580,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AIR_LOCK, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_JIRACHI] = @@ -10607,7 +10607,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SERENE_GRACE, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_DEOXYS] = @@ -10634,7 +10634,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, #if P_NEW_POKEMON == TRUE @@ -10881,7 +10881,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARAVIA] = @@ -10906,7 +10906,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARAPTOR] = @@ -10959,7 +10959,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SIMPLE, ABILITY_UNAWARE, ABILITY_MOODY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_BIBAREL] = @@ -11009,7 +11009,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_RUN_AWAY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_KRICKETUNE] = @@ -11035,7 +11035,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SWARM, ABILITY_NONE, ABILITY_TECHNICIAN}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SHINX] = @@ -11060,7 +11060,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RIVALRY, ABILITY_INTIMIDATE, ABILITY_GUTS}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_LUXIO] = @@ -11337,7 +11337,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HONEY_GATHER, ABILITY_NONE, ABILITY_HUSTLE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_VESPIQUEN] = @@ -12107,7 +12107,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_STREAM, ABILITY_NONE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_HIPPOWDON] = @@ -12132,7 +12132,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_STREAM, ABILITY_NONE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SKORUPI] = @@ -12883,7 +12883,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MESPRIT] = @@ -12910,7 +12910,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_AZELF] = @@ -12936,7 +12936,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_DIALGA] = @@ -12961,7 +12961,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_PALKIA] = @@ -12986,7 +12986,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_HEATRAN] = @@ -13011,7 +13011,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FLASH_FIRE, ABILITY_NONE, ABILITY_FLAME_BODY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_REGIGIGAS] = @@ -13036,7 +13036,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SLOW_START, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GIRATINA] = @@ -13061,7 +13061,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_CRESSELIA] = @@ -13086,7 +13086,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_PHIONE] = @@ -13111,7 +13111,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HYDRATION, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MANAPHY] = @@ -13136,7 +13136,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HYDRATION, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_DARKRAI] = @@ -13162,7 +13162,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BAD_DREAMS, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_SHAYMIN] = @@ -13189,7 +13189,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_ARCEUS] = @@ -13214,7 +13214,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MULTITYPE, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_VICTINI] = @@ -13239,7 +13239,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_VICTORY_STAR, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_SNIVY] = @@ -13896,7 +13896,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BIG_PECKS, ABILITY_SUPER_LUCK, ABILITY_RIVALRY}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_BLITZLE] = @@ -15650,7 +15650,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_CURSED_BODY, ABILITY_DAMP}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_JELLICENT] = @@ -15675,7 +15675,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_CURSED_BODY, ABILITY_DAMP}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ALOMOMOLA] = @@ -16786,7 +16786,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TERRAKION] = @@ -16811,7 +16811,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_VIRIZION] = @@ -16836,7 +16836,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TORNADUS] = @@ -16861,7 +16861,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRANKSTER, ABILITY_NONE, ABILITY_DEFIANT}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_THUNDURUS] = @@ -16886,7 +16886,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRANKSTER, ABILITY_NONE, ABILITY_DEFIANT}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_RESHIRAM] = @@ -16911,7 +16911,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TURBOBLAZE, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZEKROM] = @@ -16936,7 +16936,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TERAVOLT, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LANDORUS] = @@ -16961,7 +16961,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_FORCE, ABILITY_NONE, ABILITY_SHEER_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KYUREM] = @@ -16988,7 +16988,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KELDEO] = @@ -17013,7 +17013,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MELOETTA] = @@ -17042,7 +17042,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SERENE_GRACE, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_GENESECT] = GENESECT_BASE_STATS, @@ -17479,7 +17479,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RIVALRY, ABILITY_UNNERVE, ABILITY_MOXIE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_FLABEBE] = FLABEBE_BASE_STATS, @@ -18553,7 +18553,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DARK_AURA, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZYGARDE] = ZYGARDE_50_BASE_STATS(ABILITY_AURA_BREAK), @@ -18581,7 +18581,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_HOOPA] = @@ -18606,7 +18606,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGICIAN, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_VOLCANION] = @@ -18631,7 +18631,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_NONE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_ROWLET] = @@ -19842,7 +19842,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BATTLE_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_SILVALLY] = SILVALLY_BASE_STATS(TYPE_NORMAL), @@ -20096,7 +20096,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ELECTRIC_SURGE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TAPU_LELE] = @@ -20121,7 +20121,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PSYCHIC_SURGE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TAPU_BULU] = @@ -20146,7 +20146,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GRASSY_SURGE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TAPU_FINI] = @@ -20171,7 +20171,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MISTY_SURGE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_COSMOG] = @@ -20196,7 +20196,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_UNAWARE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_COSMOEM] = @@ -20222,7 +20222,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STURDY, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_SOLGALEO] = @@ -20247,7 +20247,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FULL_METAL_BODY, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LUNALA] = @@ -20272,7 +20272,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHADOW_SHIELD, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_NIHILEGO] = @@ -20297,7 +20297,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_BUZZWOLE] = @@ -20323,7 +20323,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_PHEROMOSA] = @@ -20348,7 +20348,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_XURKITREE] = @@ -20373,7 +20373,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_CELESTEELA] = @@ -20400,7 +20400,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_KARTANA] = @@ -20425,7 +20425,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_GUZZLORD] = @@ -20450,7 +20450,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_NECROZMA] = @@ -20476,7 +20476,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRISM_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MAGEARNA] = MAGEARNA_BASE_STATS(BODY_COLOR_GRAY), @@ -20504,7 +20504,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TECHNICIAN, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_POIPOLE] = @@ -20529,7 +20529,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_NAGANADEL] = @@ -20554,7 +20554,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_STAKATAKA] = @@ -20579,7 +20579,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_BLACEPHALON] = @@ -20604,7 +20604,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_ZERAORA] = @@ -20629,7 +20629,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_VOLT_ABSORB, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MELTAN] = @@ -20654,7 +20654,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGNET_PULL, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MELMETAL] = @@ -20679,7 +20679,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_IRON_FIST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_GROOKEY] = @@ -22454,7 +22454,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTREPID_SWORD, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZAMAZENTA] = @@ -22479,7 +22479,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ETERNATUS] = @@ -22504,7 +22504,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KUBFU] = @@ -22529,7 +22529,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_URSHIFU] = @@ -22554,7 +22554,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_UNSEEN_FIST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZARUDE] = ZARUDE_BASE_STATS, @@ -22581,7 +22581,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TRANSISTOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_REGIDRAGO] = @@ -22606,7 +22606,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DRAGONS_MAW, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GLASTRIER] = @@ -22631,7 +22631,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CHILLING_NEIGH, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_SPECTRIER] = @@ -22656,7 +22656,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GRIM_NEIGH, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_CALYREX] = @@ -22681,7 +22681,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_UNNERVE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_WYRDEER] = @@ -22778,7 +22778,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RATTLED, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SNEASLER] = @@ -22852,7 +22852,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HEALER, ABILITY_NONE, ABILITY_CONTRARY}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_VENUSAUR_MEGA] = @@ -23198,7 +23198,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STEADFAST, ABILITY_STEADFAST}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MEWTWO_MEGA_Y] = @@ -23223,7 +23223,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INSOMNIA, ABILITY_INSOMNIA}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_AMPHAROS_MEGA] = @@ -23809,7 +23809,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LATIOS_MEGA] = @@ -23834,7 +23834,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LOPUNNY_MEGA] = @@ -24009,7 +24009,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGIC_BOUNCE, ABILITY_MAGIC_BOUNCE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_RAYQUAZA_MEGA] = @@ -24035,7 +24035,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DELTA_STREAM, ABILITY_DELTA_STREAM}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KYOGRE_PRIMAL] = @@ -24060,7 +24060,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRIMORDIAL_SEA, ABILITY_PRIMORDIAL_SEA}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GROUDON_PRIMAL] = @@ -24085,7 +24085,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DESOLATE_LAND, ABILITY_DESOLATE_LAND}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_RATTATA_ALOLAN] = @@ -24111,7 +24111,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GLUTTONY, ABILITY_HUSTLE, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_RATICATE_ALOLAN] = @@ -24137,7 +24137,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GLUTTONY, ABILITY_HUSTLE, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_RAICHU_ALOLAN] = @@ -24162,7 +24162,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SURGE_SURFER, ABILITY_NONE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_SANDSHREW_ALOLAN] = @@ -24188,7 +24188,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SLUSH_RUSH}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_SANDSLASH_ALOLAN] = @@ -24213,7 +24213,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SLUSH_RUSH}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_VULPIX_ALOLAN] = @@ -24239,7 +24239,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SNOW_WARNING}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_NINETALES_ALOLAN] = @@ -24265,7 +24265,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SNOW_WARNING}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_DIGLETT_ALOLAN] = @@ -24291,7 +24291,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_TANGLING_HAIR, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_DUGTRIO_ALOLAN] = @@ -24317,7 +24317,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_TANGLING_HAIR, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_MEOWTH_ALOLAN] = @@ -24343,7 +24343,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PICKUP, ABILITY_TECHNICIAN, ABILITY_RATTLED}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_PERSIAN_ALOLAN] = @@ -24369,7 +24369,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FUR_COAT, ABILITY_TECHNICIAN, ABILITY_RATTLED}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_GEODUDE_ALOLAN] = @@ -24395,7 +24395,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_GALVANIZE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_GRAVELER_ALOLAN] = @@ -24421,7 +24421,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_GALVANIZE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_GOLEM_ALOLAN] = @@ -24446,7 +24446,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_GALVANIZE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_GRIMER_ALOLAN] = @@ -24472,7 +24472,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_POISON_TOUCH, ABILITY_GLUTTONY, ABILITY_POWER_OF_ALCHEMY}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_MUK_ALOLAN] = @@ -24498,7 +24498,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_POISON_TOUCH, ABILITY_GLUTTONY, ABILITY_POWER_OF_ALCHEMY}, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_EXEGGUTOR_ALOLAN] = @@ -24523,7 +24523,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FRISK, ABILITY_NONE, ABILITY_HARVEST}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_MAROWAK_ALOLAN] = @@ -24548,7 +24548,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CURSED_BODY, ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_MEOWTH_GALARIAN] = @@ -24573,7 +24573,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PICKUP, ABILITY_TOUGH_CLAWS, ABILITY_UNNERVE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_PONYTA_GALARIAN] = @@ -24598,7 +24598,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_PASTEL_VEIL, ABILITY_ANTICIPATION}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_RAPIDASH_GALARIAN] = @@ -24623,7 +24623,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_PASTEL_VEIL, ABILITY_ANTICIPATION}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_SLOWPOKE_GALARIAN] = @@ -24648,7 +24648,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GLUTTONY, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_SLOWBRO_GALARIAN] = @@ -24673,7 +24673,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_QUICK_DRAW, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_FARFETCHD_GALARIAN] = @@ -24699,7 +24699,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STEADFAST, ABILITY_NONE, ABILITY_SCRAPPY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_WEEZING_GALARIAN] = @@ -24725,7 +24725,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NEUTRALIZING_GAS, ABILITY_MISTY_SURGE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_MR_MIME_GALARIAN] = @@ -24750,7 +24750,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_SCREEN_CLEANER, ABILITY_ICE_BODY}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_ARTICUNO_GALARIAN] = @@ -24775,7 +24775,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_COMPETITIVE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY | FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_ZAPDOS_GALARIAN] = @@ -24800,7 +24800,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DEFIANT, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY | FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_MOLTRES_GALARIAN] = @@ -24825,7 +24825,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BERSERK, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY | FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_SLOWKING_GALARIAN] = @@ -24850,7 +24850,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CURIOUS_MEDICINE, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_CORSOLA_GALARIAN] = @@ -24875,7 +24875,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_ZIGZAGOON_GALARIAN] = @@ -24900,7 +24900,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_LINOONE_GALARIAN] = @@ -24925,7 +24925,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_DARUMAKA_GALARIAN] = @@ -24950,7 +24950,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HUSTLE, ABILITY_NONE, ABILITY_INNER_FOCUS}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_DARMANITAN_GALARIAN] = @@ -24975,7 +24975,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GORILLA_TACTICS, ABILITY_NONE, ABILITY_ZEN_MODE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_YAMASK_GALARIAN] = @@ -25000,7 +25000,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WANDERING_SPIRIT, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_STUNFISK_GALARIAN] = @@ -25025,7 +25025,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MIMICRY, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_GROWLITHE_HISUIAN] = @@ -25050,7 +25050,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE, ABILITY_JUSTIFIED}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_ARCANINE_HISUIAN] = @@ -25075,7 +25075,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE, ABILITY_JUSTIFIED}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_VOLTORB_HISUIAN] = @@ -25100,7 +25100,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SOUNDPROOF, ABILITY_STATIC, ABILITY_AFTERMATH}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_ELECTRODE_HISUIAN] = @@ -25125,7 +25125,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SOUNDPROOF, ABILITY_STATIC, ABILITY_AFTERMATH}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_TYPHLOSION_HISUIAN] = @@ -25150,7 +25150,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BLAZE, ABILITY_NONE, ABILITY_FLASH_FIRE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_QWILFISH_HISUIAN] = @@ -25176,7 +25176,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_POISON_POINT, ABILITY_SWIFT_SWIM, ABILITY_INTIMIDATE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_SNEASEL_HISUIAN] = @@ -25202,7 +25202,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE, ABILITY_POISON_TOUCH}, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_SAMUROTT_HISUIAN] = @@ -25227,7 +25227,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHELL_ARMOR}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_LILLIGANT_HISUIAN] = @@ -25255,7 +25255,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_HUSTLE, ABILITY_LEAF_GUARD}, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_ZORUA_HISUIAN] = @@ -25280,7 +25280,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ILLUSION, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_ZOROARK_HISUIAN] = @@ -25305,7 +25305,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ILLUSION, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_BRAVIARY_HISUIAN] = @@ -25330,7 +25330,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_KEEN_EYE, ABILITY_SHEER_FORCE, ABILITY_DEFIANT}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_SLIGGOO_HISUIAN] = @@ -25358,7 +25358,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAP_SIPPER, ABILITY_OVERCOAT, ABILITY_GOOEY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_GOODRA_HISUIAN] = @@ -25383,7 +25383,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAP_SIPPER, ABILITY_OVERCOAT, ABILITY_GOOEY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_AVALUGG_HISUIAN] = @@ -25408,7 +25408,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STRONG_JAW, ABILITY_ICE_BODY, ABILITY_STURDY}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_DECIDUEYE_HISUIAN] = @@ -25433,7 +25433,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_OVERGROW, ABILITY_NONE, ABILITY_LONG_REACH}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_PIKACHU_COSPLAY] = COSPLAY_PIKACHU_BASE_STATS(FLIP), @@ -25649,7 +25649,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_PALKIA_ORIGIN] = @@ -25674,7 +25674,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GIRATINA_ORIGIN] = @@ -25841,7 +25841,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GORILLA_TACTICS, ABILITY_NONE, ABILITY_ZEN_MODE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_DEERLING_SUMMER] = DEERLING_BASE_STATS(BODY_COLOR_GREEN), @@ -25874,7 +25874,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_REGENERATOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_THUNDURUS_THERIAN] = @@ -25899,7 +25899,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_VOLT_ABSORB, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LANDORUS_THERIAN] = @@ -25924,7 +25924,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ENAMORUS_THERIAN] = @@ -25949,7 +25949,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_OVERCOAT, ABILITY_NONE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KYUREM_WHITE] = @@ -25974,7 +25974,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TURBOBLAZE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KYUREM_BLACK] = @@ -25999,7 +25999,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TERAVOLT, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KELDEO_RESOLUTE] = @@ -26024,7 +26024,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MELOETTA_PIROUETTE] = @@ -26053,7 +26053,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SERENE_GRACE, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_GENESECT_DOUSE_DRIVE] = GENESECT_BASE_STATS, @@ -26326,7 +26326,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_POWER_CONSTRUCT, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_HOOPA_UNBOUND] = @@ -26351,7 +26351,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGICIAN, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_ORICORIO_POM_POM] = ORICORIO_BASE_STATS(TYPE_ELECTRIC, BODY_COLOR_YELLOW), @@ -26489,7 +26489,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRISM_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_NECROZMA_DAWN_WINGS] = @@ -26514,7 +26514,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRISM_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_NECROZMA_ULTRA] = @@ -26541,7 +26541,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_NEUROFORCE, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = MAGEARNA_BASE_STATS(BODY_COLOR_RED), @@ -26636,7 +26636,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTREPID_SWORD, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZAMAZENTA_CROWNED_SHIELD] = @@ -26661,7 +26661,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ETERNATUS_ETERNAMAX] = @@ -26686,7 +26686,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_URSHIFU_RAPID_STRIKE_STYLE] = @@ -26711,7 +26711,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_UNSEEN_FIST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZARUDE_DADA] = ZARUDE_BASE_STATS, diff --git a/src/pokemon.c b/src/pokemon.c index 61d16e56c..65ac046ff 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3307,7 +3307,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, | (gSaveBlock2Ptr->playerTrainerId[2] << 16) | (gSaveBlock2Ptr->playerTrainerId[3] << 24); - if (gBaseStats[species].flags & FLAG_SHINY_LOCKED) + if (gBaseStats[species].flags & SPECIES_FLAG_SHINY_LOCKED) { do { @@ -3379,7 +3379,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, iv = (value & (MAX_IV_MASK << 10)) >> 10; SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); - if (gBaseStats[species].flags & FLAG_ALL_PERFECT_IVS) + if (gBaseStats[species].flags & SPECIES_FLAG_ALL_PERFECT_IVS) { iv = MAX_PER_STAT_IVS; SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); @@ -3390,7 +3390,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); } #if P_LEGENDARY_PERFECT_IVS >= GEN_6 - else if (gBaseStats[species].flags & (FLAG_LEGENDARY | FLAG_MYTHICAL | FLAG_ULTRA_BEAST)) + else if (gBaseStats[species].flags & (SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MYTHICAL | SPECIES_FLAG_ULTRA_BEAST)) { iv = MAX_PER_STAT_IVS; // Initialize a list of IV indices. @@ -8418,5 +8418,5 @@ void TrySpecialOverworldEvo(void) bool32 ShouldShowFemaleDifferences(u16 species, u32 personality) { - return (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; + return (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; } diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index 8775889fd..a8190e4d8 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -417,21 +417,21 @@ static void PrintInstructionsOnWindow(struct PokemonDebugMenu *data) FillWindowPixelBuffer(WIN_INSTRUCTIONS, 0x11); if (data->currentSubmenu == 0) { - if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + if (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsGender, x, 0, 0, NULL); else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructions, x, 0, 0, NULL); } else if (data->currentSubmenu == 1) { - if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + if (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuOneGender, x, 0, 0, NULL); else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuOne, x, 0, 0, NULL); } else if (data->currentSubmenu == 2) { - if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + if (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwoGender, x, 0, 0, NULL); else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwo, x, 0, 0, NULL); @@ -485,7 +485,7 @@ static void PrintDigitChars(struct PokemonDebugMenu *data) text[i++] = CHAR_SPACE; text[i++] = CHAR_HYPHEN; - if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + if (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) { if (data->isFemale) text[i++] = CHAR_FEMALE; @@ -688,14 +688,14 @@ static const struct CompressedSpritePalette *GetMonSpritePalStructCustom(u16 spe { if (isShiny) { - if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) return &gMonShinyPaletteTableFemale[species]; else return &gMonShinyPaletteTable[species]; } else { - if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) return &gMonPaletteTableFemale[species]; else return &gMonPaletteTable[species]; @@ -714,14 +714,14 @@ static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bo if (isShiny) { - if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) lzPaletteData = gMonShinyPaletteTableFemale[species].data; else lzPaletteData = gMonShinyPaletteTable[species].data; } else { - if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) lzPaletteData = gMonPaletteTableFemale[species].data; else lzPaletteData = gMonPaletteTable[species].data; @@ -1493,7 +1493,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) ReloadPokemonSprites(data); ApplyOffsetSpriteValues(data); } - if (JOY_NEW(SELECT_BUTTON) && (gBaseStats[data->currentmonId].flags & FLAG_GENDER_DIFFERENCE)) + if (JOY_NEW(SELECT_BUTTON) && (gBaseStats[data->currentmonId].flags & SPECIES_FLAG_GENDER_DIFFERENCE)) { data->isFemale = !data->isFemale; PrintDigitChars(data); From d699ea3334d544a7fef6c758a8e7f21c2c3b286b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 5 Sep 2022 08:38:35 -0400 Subject: [PATCH 044/147] Fixed macro alignments --- src/data/pokemon/base_stats.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 12c11fca6..bb85f2840 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -262,7 +262,7 @@ .abilities = {ABILITY_MULTITYPE, ABILITY_NONE},\ .bodyColor = BODY_COLOR_WHITE, \ .noFlip = FALSE, \ - .flags = SPECIES_FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } #define DEERLING_BASE_STATS(color) \ @@ -337,7 +337,7 @@ .abilities = {ABILITY_DOWNLOAD, ABILITY_NONE},\ .bodyColor = BODY_COLOR_PURPLE, \ .noFlip = FALSE, \ - .flags = SPECIES_FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } #define VIVILLON_BASE_STATS(color) \ @@ -516,7 +516,7 @@ .abilities = {ABILITY_FAIRY_AURA, ABILITY_NONE},\ .bodyColor = BODY_COLOR_BLUE, \ .noFlip = FALSE, \ - .flags = SPECIES_FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define ZYGARDE_50_BASE_STATS(ability) \ @@ -541,7 +541,7 @@ .abilities = {ability, ABILITY_NONE},\ .bodyColor = BODY_COLOR_GREEN, \ .noFlip = TRUE, \ - .flags = SPECIES_FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define ZYGARDE_10_BASE_STATS(ability) \ @@ -566,7 +566,7 @@ .abilities = {ability, ABILITY_NONE},\ .bodyColor = BODY_COLOR_BLACK, \ .noFlip = TRUE, \ - .flags = SPECIES_FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define ORICORIO_BASE_STATS(type, color) \ @@ -640,7 +640,7 @@ .abilities = {ABILITY_RKS_SYSTEM, ABILITY_NONE},\ .bodyColor = BODY_COLOR_GRAY, \ .noFlip = FALSE, \ - .flags = SPECIES_FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define MINIOR_METEOR_ATTRIBUTES\ @@ -737,7 +737,7 @@ .abilities = {ABILITY_SOUL_HEART, ABILITY_NONE},\ .bodyColor = color, \ .noFlip = FALSE, \ - .flags = SPECIES_FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } #define CRAMORANT_BASE_STATS \ @@ -906,7 +906,7 @@ .abilities = {ABILITY_LEAF_GUARD, ABILITY_NONE},\ .bodyColor = BODY_COLOR_GREEN, \ .noFlip = FALSE, \ - .flags = SPECIES_FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } const struct BaseStats gBaseStats[] = From 33f10d2139b4e47d9f6705c8b9b30ef5533d48e0 Mon Sep 17 00:00:00 2001 From: tustin2121 Date: Mon, 5 Sep 2022 09:49:20 -0400 Subject: [PATCH 045/147] Adding missing externs If there are not externs on these forward declarations, it's entirely possible for the program to link and missing data to be assigned to someplace presumed in IWRAM or something. --- .../field_effect_object_template_pointers.h | 74 +-- .../object_event_graphics_info_pointers.h | 492 +++++++++--------- 2 files changed, 283 insertions(+), 283 deletions(-) diff --git a/src/data/field_effects/field_effect_object_template_pointers.h b/src/data/field_effects/field_effect_object_template_pointers.h index 41d6271bf..64a3c3283 100755 --- a/src/data/field_effects/field_effect_object_template_pointers.h +++ b/src/data/field_effects/field_effect_object_template_pointers.h @@ -1,40 +1,40 @@ -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge; -const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple; -const struct SpriteTemplate gFieldEffectObjectTemplate_Ash; -const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob; -const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow; -const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpTallGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpBigSplash; -const struct SpriteTemplate gFieldEffectObjectTemplate_Splash; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpSmallSplash; -const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpLongGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass2; -const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedSand; -const struct SpriteTemplate gFieldEffectObjectTemplate_WaterSurfacing; -const struct SpriteTemplate gFieldEffectObjectTemplate_ReflectionDistortion; -const struct SpriteTemplate gFieldEffectObjectTemplate_Sparkle; -const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints; -const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise; -const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise; -const struct SpriteTemplate gFieldEffectObjectTemplate_Bird; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandPile; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass; -const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater; -const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff; -const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch; -const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles; -const struct SpriteTemplate gFieldEffectObjectTemplate_SmallSparkle; -const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Ash; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_JumpTallGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_JumpBigSplash; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Splash; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_JumpSmallSplash; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_JumpLongGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedGrass2; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_UnusedSand; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_WaterSurfacing; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ReflectionDistortion; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Sparkle; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Bird; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SandPile; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_SmallSparkle; +extern const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza; const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { [FLDEFFOBJ_SHADOW_S] = &gFieldEffectObjectTemplate_ShadowSmall, diff --git a/src/data/object_events/object_event_graphics_info_pointers.h b/src/data/object_events/object_event_graphics_info_pointers.h index 1c94919a7..ae1117164 100755 --- a/src/data/object_events/object_event_graphics_info_pointers.h +++ b/src/data/object_events/object_event_graphics_info_pointers.h @@ -1,249 +1,249 @@ -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1; +extern const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2; const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM_OBJ_EVENT_GFX] = { From c8afeea1824f01e8435e5bf1115b366bec65ff82 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 5 Sep 2022 16:09:45 -0400 Subject: [PATCH 046/147] Generate trainer pic palettes from image --- .../{brendan_back_pic.png => brendan.png} | Bin ...re_brendan_back_pic.png => brendan_rs.png} | Bin .../back_pics/{leaf_back_pic.png => leaf.png} | Bin .../back_pics/{may_back_pic.png => may.png} | Bin ...y_sapphire_may_back_pic.png => may_rs.png} | Bin .../back_pics/{red_back_pic.png => red.png} | Bin .../{steven_back_pic.png => steven.png} | Bin .../{wally_back_pic.png => wally.png} | Bin ...admin_f_front_pic.png => aqua_admin_f.png} | Bin ...admin_m_front_pic.png => aqua_admin_m.png} | Bin ...grunt_f_front_pic.png => aqua_grunt_f.png} | Bin ...grunt_m_front_pic.png => aqua_grunt_m.png} | Bin ...e_front_pic.png => aqua_leader_archie.png} | Bin ...a_front_pic.png => arena_tycoon_greta.png} | Bin ...roma_lady_front_pic.png => aroma_lady.png} | Bin ...tle_girl_front_pic.png => battle_girl.png} | Bin .../{beauty_front_pic.png => beauty.png} | Bin ...d_keeper_front_pic.png => bird_keeper.png} | Bin ...lack_belt_front_pic.png => black_belt.png} | Bin .../{brendan_front_pic.png => brendan.png} | Bin ...e_brendan_front_pic.png => brendan_rs.png} | Bin ..._catcher_front_pic.png => bug_catcher.png} | Bin ...ug_maniac_front_pic.png => bug_maniac.png} | Bin .../{camper_front_pic.png => camper.png} | Bin ...ace_front_pic.png => champion_wallace.png} | Bin ...{collector_front_pic.png => collector.png} | Bin ...iner_f_front_pic.png => cooltrainer_f.png} | Bin ...iner_m_front_pic.png => cooltrainer_m.png} | Bin ...front_pic.png => cycling_triathlete_f.png} | Bin ...front_pic.png => cycling_triathlete_m.png} | Bin ...cker_front_pic.png => dome_ace_tucker.png} | Bin ...n_tamer_front_pic.png => dragon_tamer.png} | Bin ...ake_front_pic.png => elite_four_drake.png} | Bin ...ia_front_pic.png => elite_four_glacia.png} | Bin ...be_front_pic.png => elite_four_phoebe.png} | Bin ...ey_front_pic.png => elite_four_sidney.png} | Bin .../{expert_f_front_pic.png => expert_f.png} | Bin .../{expert_m_front_pic.png => expert_m.png} | Bin ..._front_pic.png => factory_head_noland.png} | Bin ...{fisherman_front_pic.png => fisherman.png} | Bin ...{gentleman_front_pic.png => gentleman.png} | Bin ...{guitarist_front_pic.png => guitarist.png} | Bin ...ex_maniac_front_pic.png => hex_maniac.png} | Bin .../{hiker_front_pic.png => hiker.png} | Bin ...erviewer_front_pic.png => interviewer.png} | Bin .../{kindler_front_pic.png => kindler.png} | Bin .../{lady_front_pic.png => lady.png} | Bin .../{lass_front_pic.png => lass.png} | Bin ...brawly_front_pic.png => leader_brawly.png} | Bin ...nery_front_pic.png => leader_flannery.png} | Bin ...der_juan_front_pic.png => leader_juan.png} | Bin ...norman_front_pic.png => leader_norman.png} | Bin ...xanne_front_pic.png => leader_roxanne.png} | Bin ...front_pic.png => leader_tate_and_liza.png} | Bin ...ttson_front_pic.png => leader_wattson.png} | Bin ...winona_front_pic.png => leader_winona.png} | Bin .../{leaf_front_pic.png => leaf.png} | Bin ...ma_admin_front_pic.png => magma_admin.png} | Bin ...runt_f_front_pic.png => magma_grunt_f.png} | Bin ...runt_m_front_pic.png => magma_grunt_m.png} | Bin ...e_front_pic.png => magma_leader_maxie.png} | Bin .../front_pics/{may_front_pic.png => may.png} | Bin ..._sapphire_may_front_pic.png => may_rs.png} | Bin ...{ninja_boy_front_pic.png => ninja_boy.png} | Bin ...ld_couple_front_pic.png => old_couple.png} | Bin ...front_pic.png => palace_maven_spenser.png} | Bin ...ol_lady_front_pic.png => parasol_lady.png} | Bin ...{picnicker_front_pic.png => picnicker.png} | Bin ...lucy_front_pic.png => pike_queen_lucy.png} | Bin ...{pokefan_f_front_pic.png => pokefan_f.png} | Bin ...{pokefan_m_front_pic.png => pokefan_m.png} | Bin ...okemaniac_front_pic.png => pokemaniac.png} | Bin ..._f_front_pic.png => pokemon_breeder_f.png} | Bin ..._m_front_pic.png => pokemon_breeder_m.png} | Bin ...r_f_front_pic.png => pokemon_ranger_f.png} | Bin ...r_m_front_pic.png => pokemon_ranger_m.png} | Bin ...{psychic_f_front_pic.png => psychic_f.png} | Bin ...{psychic_m_front_pic.png => psychic_m.png} | Bin ...front_pic.png => pyramid_king_brandon.png} | Bin .../front_pics/{red_front_pic.png => red.png} | Bin .../{rich_boy_front_pic.png => rich_boy.png} | Bin ...n_maniac_front_pic.png => ruin_maniac.png} | Bin ...front_pic.png => running_triathlete_f.png} | Bin ...front_pic.png => running_triathlete_m.png} | Bin .../{sailor_front_pic.png => sailor.png} | Bin ..._front_pic.png => salon_maiden_anabel.png} | Bin ...l_kid_f_front_pic.png => school_kid_f.png} | Bin ...l_kid_m_front_pic.png => school_kid_m.png} | Bin ..._and_bro_front_pic.png => sis_and_bro.png} | Bin ...{sr_and_jr_front_pic.png => sr_and_jr.png} | Bin .../{steven_front_pic.png => steven.png} | Bin ...{swimmer_f_front_pic.png => swimmer_f.png} | Bin ...{swimmer_m_front_pic.png => swimmer_m.png} | Bin ...ront_pic.png => swimming_triathlete_f.png} | Bin ...ront_pic.png => swimming_triathlete_m.png} | Bin .../{tuber_f_front_pic.png => tuber_f.png} | Bin .../{tuber_m_front_pic.png => tuber_m.png} | Bin .../{twins_front_pic.png => twins.png} | Bin .../{wally_front_pic.png => wally.png} | Bin ..._couple_front_pic.png => young_couple.png} | Bin ...{youngster_front_pic.png => youngster.png} | Bin graphics/trainers/palettes/aqua_admin_f.pal | 19 - graphics/trainers/palettes/aqua_admin_m.pal | 19 - graphics/trainers/palettes/aqua_grunt_f.pal | 19 - graphics/trainers/palettes/aqua_grunt_m.pal | 19 - .../trainers/palettes/aqua_leader_archie.pal | 19 - .../trainers/palettes/arena_tycoon_greta.pal | 19 - graphics/trainers/palettes/aroma_lady.pal | 19 - graphics/trainers/palettes/battle_girl.pal | 19 - graphics/trainers/palettes/beauty.pal | 19 - graphics/trainers/palettes/bird_keeper.pal | 19 - graphics/trainers/palettes/black_belt.pal | 19 - ...by_sapphire_brendan.pal => brendan_rs.pal} | 0 graphics/trainers/palettes/bug_catcher.pal | 19 - graphics/trainers/palettes/bug_maniac.pal | 19 - graphics/trainers/palettes/camper.pal | 19 - .../trainers/palettes/champion_wallace.pal | 19 - graphics/trainers/palettes/collector.pal | 19 - graphics/trainers/palettes/cooltrainer_f.pal | 19 - graphics/trainers/palettes/cooltrainer_m.pal | 19 - .../palettes/cycling_triathlete_f.pal | 19 - .../palettes/cycling_triathlete_m.pal | 19 - .../trainers/palettes/dome_ace_tucker.pal | 19 - graphics/trainers/palettes/dragon_tamer.pal | 19 - .../trainers/palettes/elite_four_drake.pal | 19 - .../trainers/palettes/elite_four_glacia.pal | 19 - .../trainers/palettes/elite_four_phoebe.pal | 19 - .../trainers/palettes/elite_four_sidney.pal | 19 - graphics/trainers/palettes/expert_f.pal | 19 - graphics/trainers/palettes/expert_m.pal | 19 - .../trainers/palettes/factory_head_noland.pal | 19 - graphics/trainers/palettes/fisherman.pal | 19 - graphics/trainers/palettes/gentleman.pal | 19 - graphics/trainers/palettes/guitarist.pal | 19 - graphics/trainers/palettes/hex_maniac.pal | 19 - graphics/trainers/palettes/hiker.pal | 19 - graphics/trainers/palettes/interviewer.pal | 19 - graphics/trainers/palettes/kindler.pal | 19 - graphics/trainers/palettes/lady.pal | 19 - graphics/trainers/palettes/lass.pal | 19 - graphics/trainers/palettes/leader_brawly.pal | 19 - .../trainers/palettes/leader_flannery.pal | 19 - graphics/trainers/palettes/leader_juan.pal | 19 - graphics/trainers/palettes/leader_norman.pal | 19 - graphics/trainers/palettes/leader_roxanne.pal | 19 - .../palettes/leader_tate_and_liza.pal | 19 - graphics/trainers/palettes/leader_wattson.pal | 19 - graphics/trainers/palettes/leader_winona.pal | 19 - graphics/trainers/palettes/leaf.pal | 19 - graphics/trainers/palettes/leaf_back_pic.pal | 19 - graphics/trainers/palettes/magma_admin.pal | 19 - graphics/trainers/palettes/magma_grunt_f.pal | 19 - graphics/trainers/palettes/magma_grunt_m.pal | 19 - .../trainers/palettes/magma_leader_maxie.pal | 19 - .../{ruby_sapphire_may.pal => may_rs.pal} | 0 graphics/trainers/palettes/ninja_boy.pal | 19 - graphics/trainers/palettes/old_couple.pal | 19 - .../palettes/palace_maven_spenser.pal | 19 - graphics/trainers/palettes/parasol_lady.pal | 19 - graphics/trainers/palettes/picnicker.pal | 19 - .../trainers/palettes/pike_queen_lucy.pal | 19 - graphics/trainers/palettes/pokefan_f.pal | 19 - graphics/trainers/palettes/pokefan_m.pal | 19 - graphics/trainers/palettes/pokemaniac.pal | 19 - .../trainers/palettes/pokemon_breeder_f.pal | 19 - .../trainers/palettes/pokemon_breeder_m.pal | 19 - .../trainers/palettes/pokemon_ranger_f.pal | 19 - .../trainers/palettes/pokemon_ranger_m.pal | 19 - graphics/trainers/palettes/psychic_f.pal | 19 - graphics/trainers/palettes/psychic_m.pal | 19 - .../palettes/pyramid_king_brandon.pal | 19 - graphics/trainers/palettes/red.pal | 19 - graphics/trainers/palettes/red_back_pic.pal | 19 - graphics/trainers/palettes/rich_boy.pal | 19 - graphics/trainers/palettes/ruin_maniac.pal | 19 - .../palettes/running_triathlete_f.pal | 19 - .../palettes/running_triathlete_m.pal | 19 - graphics/trainers/palettes/sailor.pal | 19 - .../trainers/palettes/salon_maiden_anabel.pal | 19 - graphics/trainers/palettes/school_kid_f.pal | 19 - graphics/trainers/palettes/school_kid_m.pal | 19 - graphics/trainers/palettes/sis_and_bro.pal | 19 - graphics/trainers/palettes/sr_and_jr.pal | 19 - graphics/trainers/palettes/swimmer_f.pal | 19 - graphics/trainers/palettes/swimmer_m.pal | 19 - .../palettes/swimming_triathlete_f.pal | 19 - .../palettes/swimming_triathlete_m.pal | 19 - graphics/trainers/palettes/tuber_f.pal | 19 - graphics/trainers/palettes/tuber_m.pal | 19 - graphics/trainers/palettes/twins.pal | 19 - graphics/trainers/palettes/young_couple.pal | 19 - graphics/trainers/palettes/youngster.pal | 19 - src/data/graphics/trainers.h | 386 +++++++++--------- 193 files changed, 193 insertions(+), 1884 deletions(-) rename graphics/trainers/back_pics/{brendan_back_pic.png => brendan.png} (100%) rename graphics/trainers/back_pics/{ruby_sapphire_brendan_back_pic.png => brendan_rs.png} (100%) rename graphics/trainers/back_pics/{leaf_back_pic.png => leaf.png} (100%) rename graphics/trainers/back_pics/{may_back_pic.png => may.png} (100%) rename graphics/trainers/back_pics/{ruby_sapphire_may_back_pic.png => may_rs.png} (100%) rename graphics/trainers/back_pics/{red_back_pic.png => red.png} (100%) rename graphics/trainers/back_pics/{steven_back_pic.png => steven.png} (100%) rename graphics/trainers/back_pics/{wally_back_pic.png => wally.png} (100%) rename graphics/trainers/front_pics/{aqua_admin_f_front_pic.png => aqua_admin_f.png} (100%) rename graphics/trainers/front_pics/{aqua_admin_m_front_pic.png => aqua_admin_m.png} (100%) rename graphics/trainers/front_pics/{aqua_grunt_f_front_pic.png => aqua_grunt_f.png} (100%) rename graphics/trainers/front_pics/{aqua_grunt_m_front_pic.png => aqua_grunt_m.png} (100%) rename graphics/trainers/front_pics/{aqua_leader_archie_front_pic.png => aqua_leader_archie.png} (100%) rename graphics/trainers/front_pics/{arena_tycoon_greta_front_pic.png => arena_tycoon_greta.png} (100%) rename graphics/trainers/front_pics/{aroma_lady_front_pic.png => aroma_lady.png} (100%) rename graphics/trainers/front_pics/{battle_girl_front_pic.png => battle_girl.png} (100%) rename graphics/trainers/front_pics/{beauty_front_pic.png => beauty.png} (100%) rename graphics/trainers/front_pics/{bird_keeper_front_pic.png => bird_keeper.png} (100%) rename graphics/trainers/front_pics/{black_belt_front_pic.png => black_belt.png} (100%) rename graphics/trainers/front_pics/{brendan_front_pic.png => brendan.png} (100%) rename graphics/trainers/front_pics/{ruby_sapphire_brendan_front_pic.png => brendan_rs.png} (100%) rename graphics/trainers/front_pics/{bug_catcher_front_pic.png => bug_catcher.png} (100%) rename graphics/trainers/front_pics/{bug_maniac_front_pic.png => bug_maniac.png} (100%) rename graphics/trainers/front_pics/{camper_front_pic.png => camper.png} (100%) rename graphics/trainers/front_pics/{champion_wallace_front_pic.png => champion_wallace.png} (100%) rename graphics/trainers/front_pics/{collector_front_pic.png => collector.png} (100%) rename graphics/trainers/front_pics/{cooltrainer_f_front_pic.png => cooltrainer_f.png} (100%) rename graphics/trainers/front_pics/{cooltrainer_m_front_pic.png => cooltrainer_m.png} (100%) rename graphics/trainers/front_pics/{cycling_triathlete_f_front_pic.png => cycling_triathlete_f.png} (100%) rename graphics/trainers/front_pics/{cycling_triathlete_m_front_pic.png => cycling_triathlete_m.png} (100%) rename graphics/trainers/front_pics/{dome_ace_tucker_front_pic.png => dome_ace_tucker.png} (100%) rename graphics/trainers/front_pics/{dragon_tamer_front_pic.png => dragon_tamer.png} (100%) rename graphics/trainers/front_pics/{elite_four_drake_front_pic.png => elite_four_drake.png} (100%) rename graphics/trainers/front_pics/{elite_four_glacia_front_pic.png => elite_four_glacia.png} (100%) rename graphics/trainers/front_pics/{elite_four_phoebe_front_pic.png => elite_four_phoebe.png} (100%) rename graphics/trainers/front_pics/{elite_four_sidney_front_pic.png => elite_four_sidney.png} (100%) rename graphics/trainers/front_pics/{expert_f_front_pic.png => expert_f.png} (100%) rename graphics/trainers/front_pics/{expert_m_front_pic.png => expert_m.png} (100%) rename graphics/trainers/front_pics/{factory_head_noland_front_pic.png => factory_head_noland.png} (100%) rename graphics/trainers/front_pics/{fisherman_front_pic.png => fisherman.png} (100%) rename graphics/trainers/front_pics/{gentleman_front_pic.png => gentleman.png} (100%) rename graphics/trainers/front_pics/{guitarist_front_pic.png => guitarist.png} (100%) rename graphics/trainers/front_pics/{hex_maniac_front_pic.png => hex_maniac.png} (100%) rename graphics/trainers/front_pics/{hiker_front_pic.png => hiker.png} (100%) rename graphics/trainers/front_pics/{interviewer_front_pic.png => interviewer.png} (100%) rename graphics/trainers/front_pics/{kindler_front_pic.png => kindler.png} (100%) rename graphics/trainers/front_pics/{lady_front_pic.png => lady.png} (100%) rename graphics/trainers/front_pics/{lass_front_pic.png => lass.png} (100%) rename graphics/trainers/front_pics/{leader_brawly_front_pic.png => leader_brawly.png} (100%) rename graphics/trainers/front_pics/{leader_flannery_front_pic.png => leader_flannery.png} (100%) rename graphics/trainers/front_pics/{leader_juan_front_pic.png => leader_juan.png} (100%) rename graphics/trainers/front_pics/{leader_norman_front_pic.png => leader_norman.png} (100%) rename graphics/trainers/front_pics/{leader_roxanne_front_pic.png => leader_roxanne.png} (100%) rename graphics/trainers/front_pics/{leader_tate_and_liza_front_pic.png => leader_tate_and_liza.png} (100%) rename graphics/trainers/front_pics/{leader_wattson_front_pic.png => leader_wattson.png} (100%) rename graphics/trainers/front_pics/{leader_winona_front_pic.png => leader_winona.png} (100%) rename graphics/trainers/front_pics/{leaf_front_pic.png => leaf.png} (100%) rename graphics/trainers/front_pics/{magma_admin_front_pic.png => magma_admin.png} (100%) rename graphics/trainers/front_pics/{magma_grunt_f_front_pic.png => magma_grunt_f.png} (100%) rename graphics/trainers/front_pics/{magma_grunt_m_front_pic.png => magma_grunt_m.png} (100%) rename graphics/trainers/front_pics/{magma_leader_maxie_front_pic.png => magma_leader_maxie.png} (100%) rename graphics/trainers/front_pics/{may_front_pic.png => may.png} (100%) rename graphics/trainers/front_pics/{ruby_sapphire_may_front_pic.png => may_rs.png} (100%) rename graphics/trainers/front_pics/{ninja_boy_front_pic.png => ninja_boy.png} (100%) rename graphics/trainers/front_pics/{old_couple_front_pic.png => old_couple.png} (100%) rename graphics/trainers/front_pics/{palace_maven_spenser_front_pic.png => palace_maven_spenser.png} (100%) rename graphics/trainers/front_pics/{parasol_lady_front_pic.png => parasol_lady.png} (100%) rename graphics/trainers/front_pics/{picnicker_front_pic.png => picnicker.png} (100%) rename graphics/trainers/front_pics/{pike_queen_lucy_front_pic.png => pike_queen_lucy.png} (100%) rename graphics/trainers/front_pics/{pokefan_f_front_pic.png => pokefan_f.png} (100%) rename graphics/trainers/front_pics/{pokefan_m_front_pic.png => pokefan_m.png} (100%) rename graphics/trainers/front_pics/{pokemaniac_front_pic.png => pokemaniac.png} (100%) rename graphics/trainers/front_pics/{pokemon_breeder_f_front_pic.png => pokemon_breeder_f.png} (100%) rename graphics/trainers/front_pics/{pokemon_breeder_m_front_pic.png => pokemon_breeder_m.png} (100%) rename graphics/trainers/front_pics/{pokemon_ranger_f_front_pic.png => pokemon_ranger_f.png} (100%) rename graphics/trainers/front_pics/{pokemon_ranger_m_front_pic.png => pokemon_ranger_m.png} (100%) rename graphics/trainers/front_pics/{psychic_f_front_pic.png => psychic_f.png} (100%) rename graphics/trainers/front_pics/{psychic_m_front_pic.png => psychic_m.png} (100%) rename graphics/trainers/front_pics/{pyramid_king_brandon_front_pic.png => pyramid_king_brandon.png} (100%) rename graphics/trainers/front_pics/{red_front_pic.png => red.png} (100%) rename graphics/trainers/front_pics/{rich_boy_front_pic.png => rich_boy.png} (100%) rename graphics/trainers/front_pics/{ruin_maniac_front_pic.png => ruin_maniac.png} (100%) rename graphics/trainers/front_pics/{running_triathlete_f_front_pic.png => running_triathlete_f.png} (100%) rename graphics/trainers/front_pics/{running_triathlete_m_front_pic.png => running_triathlete_m.png} (100%) rename graphics/trainers/front_pics/{sailor_front_pic.png => sailor.png} (100%) rename graphics/trainers/front_pics/{salon_maiden_anabel_front_pic.png => salon_maiden_anabel.png} (100%) rename graphics/trainers/front_pics/{school_kid_f_front_pic.png => school_kid_f.png} (100%) rename graphics/trainers/front_pics/{school_kid_m_front_pic.png => school_kid_m.png} (100%) rename graphics/trainers/front_pics/{sis_and_bro_front_pic.png => sis_and_bro.png} (100%) rename graphics/trainers/front_pics/{sr_and_jr_front_pic.png => sr_and_jr.png} (100%) rename graphics/trainers/front_pics/{steven_front_pic.png => steven.png} (100%) rename graphics/trainers/front_pics/{swimmer_f_front_pic.png => swimmer_f.png} (100%) rename graphics/trainers/front_pics/{swimmer_m_front_pic.png => swimmer_m.png} (100%) rename graphics/trainers/front_pics/{swimming_triathlete_f_front_pic.png => swimming_triathlete_f.png} (100%) rename graphics/trainers/front_pics/{swimming_triathlete_m_front_pic.png => swimming_triathlete_m.png} (100%) rename graphics/trainers/front_pics/{tuber_f_front_pic.png => tuber_f.png} (100%) rename graphics/trainers/front_pics/{tuber_m_front_pic.png => tuber_m.png} (100%) rename graphics/trainers/front_pics/{twins_front_pic.png => twins.png} (100%) rename graphics/trainers/front_pics/{wally_front_pic.png => wally.png} (100%) rename graphics/trainers/front_pics/{young_couple_front_pic.png => young_couple.png} (100%) rename graphics/trainers/front_pics/{youngster_front_pic.png => youngster.png} (100%) delete mode 100644 graphics/trainers/palettes/aqua_admin_f.pal delete mode 100644 graphics/trainers/palettes/aqua_admin_m.pal delete mode 100644 graphics/trainers/palettes/aqua_grunt_f.pal delete mode 100644 graphics/trainers/palettes/aqua_grunt_m.pal delete mode 100644 graphics/trainers/palettes/aqua_leader_archie.pal delete mode 100644 graphics/trainers/palettes/arena_tycoon_greta.pal delete mode 100644 graphics/trainers/palettes/aroma_lady.pal delete mode 100644 graphics/trainers/palettes/battle_girl.pal delete mode 100644 graphics/trainers/palettes/beauty.pal delete mode 100644 graphics/trainers/palettes/bird_keeper.pal delete mode 100644 graphics/trainers/palettes/black_belt.pal rename graphics/trainers/palettes/{ruby_sapphire_brendan.pal => brendan_rs.pal} (100%) delete mode 100644 graphics/trainers/palettes/bug_catcher.pal delete mode 100644 graphics/trainers/palettes/bug_maniac.pal delete mode 100644 graphics/trainers/palettes/camper.pal delete mode 100644 graphics/trainers/palettes/champion_wallace.pal delete mode 100644 graphics/trainers/palettes/collector.pal delete mode 100644 graphics/trainers/palettes/cooltrainer_f.pal delete mode 100644 graphics/trainers/palettes/cooltrainer_m.pal delete mode 100644 graphics/trainers/palettes/cycling_triathlete_f.pal delete mode 100644 graphics/trainers/palettes/cycling_triathlete_m.pal delete mode 100644 graphics/trainers/palettes/dome_ace_tucker.pal delete mode 100644 graphics/trainers/palettes/dragon_tamer.pal delete mode 100644 graphics/trainers/palettes/elite_four_drake.pal delete mode 100644 graphics/trainers/palettes/elite_four_glacia.pal delete mode 100644 graphics/trainers/palettes/elite_four_phoebe.pal delete mode 100644 graphics/trainers/palettes/elite_four_sidney.pal delete mode 100644 graphics/trainers/palettes/expert_f.pal delete mode 100644 graphics/trainers/palettes/expert_m.pal delete mode 100644 graphics/trainers/palettes/factory_head_noland.pal delete mode 100644 graphics/trainers/palettes/fisherman.pal delete mode 100644 graphics/trainers/palettes/gentleman.pal delete mode 100644 graphics/trainers/palettes/guitarist.pal delete mode 100644 graphics/trainers/palettes/hex_maniac.pal delete mode 100644 graphics/trainers/palettes/hiker.pal delete mode 100644 graphics/trainers/palettes/interviewer.pal delete mode 100644 graphics/trainers/palettes/kindler.pal delete mode 100644 graphics/trainers/palettes/lady.pal delete mode 100644 graphics/trainers/palettes/lass.pal delete mode 100644 graphics/trainers/palettes/leader_brawly.pal delete mode 100644 graphics/trainers/palettes/leader_flannery.pal delete mode 100644 graphics/trainers/palettes/leader_juan.pal delete mode 100644 graphics/trainers/palettes/leader_norman.pal delete mode 100644 graphics/trainers/palettes/leader_roxanne.pal delete mode 100644 graphics/trainers/palettes/leader_tate_and_liza.pal delete mode 100644 graphics/trainers/palettes/leader_wattson.pal delete mode 100644 graphics/trainers/palettes/leader_winona.pal delete mode 100644 graphics/trainers/palettes/leaf.pal delete mode 100644 graphics/trainers/palettes/leaf_back_pic.pal delete mode 100644 graphics/trainers/palettes/magma_admin.pal delete mode 100644 graphics/trainers/palettes/magma_grunt_f.pal delete mode 100644 graphics/trainers/palettes/magma_grunt_m.pal delete mode 100644 graphics/trainers/palettes/magma_leader_maxie.pal rename graphics/trainers/palettes/{ruby_sapphire_may.pal => may_rs.pal} (100%) delete mode 100644 graphics/trainers/palettes/ninja_boy.pal delete mode 100644 graphics/trainers/palettes/old_couple.pal delete mode 100644 graphics/trainers/palettes/palace_maven_spenser.pal delete mode 100644 graphics/trainers/palettes/parasol_lady.pal delete mode 100644 graphics/trainers/palettes/picnicker.pal delete mode 100644 graphics/trainers/palettes/pike_queen_lucy.pal delete mode 100644 graphics/trainers/palettes/pokefan_f.pal delete mode 100644 graphics/trainers/palettes/pokefan_m.pal delete mode 100644 graphics/trainers/palettes/pokemaniac.pal delete mode 100644 graphics/trainers/palettes/pokemon_breeder_f.pal delete mode 100644 graphics/trainers/palettes/pokemon_breeder_m.pal delete mode 100644 graphics/trainers/palettes/pokemon_ranger_f.pal delete mode 100644 graphics/trainers/palettes/pokemon_ranger_m.pal delete mode 100644 graphics/trainers/palettes/psychic_f.pal delete mode 100644 graphics/trainers/palettes/psychic_m.pal delete mode 100644 graphics/trainers/palettes/pyramid_king_brandon.pal delete mode 100644 graphics/trainers/palettes/red.pal delete mode 100644 graphics/trainers/palettes/red_back_pic.pal delete mode 100644 graphics/trainers/palettes/rich_boy.pal delete mode 100644 graphics/trainers/palettes/ruin_maniac.pal delete mode 100644 graphics/trainers/palettes/running_triathlete_f.pal delete mode 100644 graphics/trainers/palettes/running_triathlete_m.pal delete mode 100644 graphics/trainers/palettes/sailor.pal delete mode 100644 graphics/trainers/palettes/salon_maiden_anabel.pal delete mode 100644 graphics/trainers/palettes/school_kid_f.pal delete mode 100644 graphics/trainers/palettes/school_kid_m.pal delete mode 100644 graphics/trainers/palettes/sis_and_bro.pal delete mode 100644 graphics/trainers/palettes/sr_and_jr.pal delete mode 100644 graphics/trainers/palettes/swimmer_f.pal delete mode 100644 graphics/trainers/palettes/swimmer_m.pal delete mode 100644 graphics/trainers/palettes/swimming_triathlete_f.pal delete mode 100644 graphics/trainers/palettes/swimming_triathlete_m.pal delete mode 100644 graphics/trainers/palettes/tuber_f.pal delete mode 100644 graphics/trainers/palettes/tuber_m.pal delete mode 100644 graphics/trainers/palettes/twins.pal delete mode 100644 graphics/trainers/palettes/young_couple.pal delete mode 100644 graphics/trainers/palettes/youngster.pal diff --git a/graphics/trainers/back_pics/brendan_back_pic.png b/graphics/trainers/back_pics/brendan.png similarity index 100% rename from graphics/trainers/back_pics/brendan_back_pic.png rename to graphics/trainers/back_pics/brendan.png diff --git a/graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.png b/graphics/trainers/back_pics/brendan_rs.png similarity index 100% rename from graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.png rename to graphics/trainers/back_pics/brendan_rs.png diff --git a/graphics/trainers/back_pics/leaf_back_pic.png b/graphics/trainers/back_pics/leaf.png similarity index 100% rename from graphics/trainers/back_pics/leaf_back_pic.png rename to graphics/trainers/back_pics/leaf.png diff --git a/graphics/trainers/back_pics/may_back_pic.png b/graphics/trainers/back_pics/may.png similarity index 100% rename from graphics/trainers/back_pics/may_back_pic.png rename to graphics/trainers/back_pics/may.png diff --git a/graphics/trainers/back_pics/ruby_sapphire_may_back_pic.png b/graphics/trainers/back_pics/may_rs.png similarity index 100% rename from graphics/trainers/back_pics/ruby_sapphire_may_back_pic.png rename to graphics/trainers/back_pics/may_rs.png diff --git a/graphics/trainers/back_pics/red_back_pic.png b/graphics/trainers/back_pics/red.png similarity index 100% rename from graphics/trainers/back_pics/red_back_pic.png rename to graphics/trainers/back_pics/red.png diff --git a/graphics/trainers/back_pics/steven_back_pic.png b/graphics/trainers/back_pics/steven.png similarity index 100% rename from graphics/trainers/back_pics/steven_back_pic.png rename to graphics/trainers/back_pics/steven.png diff --git a/graphics/trainers/back_pics/wally_back_pic.png b/graphics/trainers/back_pics/wally.png similarity index 100% rename from graphics/trainers/back_pics/wally_back_pic.png rename to graphics/trainers/back_pics/wally.png diff --git a/graphics/trainers/front_pics/aqua_admin_f_front_pic.png b/graphics/trainers/front_pics/aqua_admin_f.png similarity index 100% rename from graphics/trainers/front_pics/aqua_admin_f_front_pic.png rename to graphics/trainers/front_pics/aqua_admin_f.png diff --git a/graphics/trainers/front_pics/aqua_admin_m_front_pic.png b/graphics/trainers/front_pics/aqua_admin_m.png similarity index 100% rename from graphics/trainers/front_pics/aqua_admin_m_front_pic.png rename to graphics/trainers/front_pics/aqua_admin_m.png diff --git a/graphics/trainers/front_pics/aqua_grunt_f_front_pic.png b/graphics/trainers/front_pics/aqua_grunt_f.png similarity index 100% rename from graphics/trainers/front_pics/aqua_grunt_f_front_pic.png rename to graphics/trainers/front_pics/aqua_grunt_f.png diff --git a/graphics/trainers/front_pics/aqua_grunt_m_front_pic.png b/graphics/trainers/front_pics/aqua_grunt_m.png similarity index 100% rename from graphics/trainers/front_pics/aqua_grunt_m_front_pic.png rename to graphics/trainers/front_pics/aqua_grunt_m.png diff --git a/graphics/trainers/front_pics/aqua_leader_archie_front_pic.png b/graphics/trainers/front_pics/aqua_leader_archie.png similarity index 100% rename from graphics/trainers/front_pics/aqua_leader_archie_front_pic.png rename to graphics/trainers/front_pics/aqua_leader_archie.png diff --git a/graphics/trainers/front_pics/arena_tycoon_greta_front_pic.png b/graphics/trainers/front_pics/arena_tycoon_greta.png similarity index 100% rename from graphics/trainers/front_pics/arena_tycoon_greta_front_pic.png rename to graphics/trainers/front_pics/arena_tycoon_greta.png diff --git a/graphics/trainers/front_pics/aroma_lady_front_pic.png b/graphics/trainers/front_pics/aroma_lady.png similarity index 100% rename from graphics/trainers/front_pics/aroma_lady_front_pic.png rename to graphics/trainers/front_pics/aroma_lady.png diff --git a/graphics/trainers/front_pics/battle_girl_front_pic.png b/graphics/trainers/front_pics/battle_girl.png similarity index 100% rename from graphics/trainers/front_pics/battle_girl_front_pic.png rename to graphics/trainers/front_pics/battle_girl.png diff --git a/graphics/trainers/front_pics/beauty_front_pic.png b/graphics/trainers/front_pics/beauty.png similarity index 100% rename from graphics/trainers/front_pics/beauty_front_pic.png rename to graphics/trainers/front_pics/beauty.png diff --git a/graphics/trainers/front_pics/bird_keeper_front_pic.png b/graphics/trainers/front_pics/bird_keeper.png similarity index 100% rename from graphics/trainers/front_pics/bird_keeper_front_pic.png rename to graphics/trainers/front_pics/bird_keeper.png diff --git a/graphics/trainers/front_pics/black_belt_front_pic.png b/graphics/trainers/front_pics/black_belt.png similarity index 100% rename from graphics/trainers/front_pics/black_belt_front_pic.png rename to graphics/trainers/front_pics/black_belt.png diff --git a/graphics/trainers/front_pics/brendan_front_pic.png b/graphics/trainers/front_pics/brendan.png similarity index 100% rename from graphics/trainers/front_pics/brendan_front_pic.png rename to graphics/trainers/front_pics/brendan.png diff --git a/graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.png b/graphics/trainers/front_pics/brendan_rs.png similarity index 100% rename from graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.png rename to graphics/trainers/front_pics/brendan_rs.png diff --git a/graphics/trainers/front_pics/bug_catcher_front_pic.png b/graphics/trainers/front_pics/bug_catcher.png similarity index 100% rename from graphics/trainers/front_pics/bug_catcher_front_pic.png rename to graphics/trainers/front_pics/bug_catcher.png diff --git a/graphics/trainers/front_pics/bug_maniac_front_pic.png b/graphics/trainers/front_pics/bug_maniac.png similarity index 100% rename from graphics/trainers/front_pics/bug_maniac_front_pic.png rename to graphics/trainers/front_pics/bug_maniac.png diff --git a/graphics/trainers/front_pics/camper_front_pic.png b/graphics/trainers/front_pics/camper.png similarity index 100% rename from graphics/trainers/front_pics/camper_front_pic.png rename to graphics/trainers/front_pics/camper.png diff --git a/graphics/trainers/front_pics/champion_wallace_front_pic.png b/graphics/trainers/front_pics/champion_wallace.png similarity index 100% rename from graphics/trainers/front_pics/champion_wallace_front_pic.png rename to graphics/trainers/front_pics/champion_wallace.png diff --git a/graphics/trainers/front_pics/collector_front_pic.png b/graphics/trainers/front_pics/collector.png similarity index 100% rename from graphics/trainers/front_pics/collector_front_pic.png rename to graphics/trainers/front_pics/collector.png diff --git a/graphics/trainers/front_pics/cooltrainer_f_front_pic.png b/graphics/trainers/front_pics/cooltrainer_f.png similarity index 100% rename from graphics/trainers/front_pics/cooltrainer_f_front_pic.png rename to graphics/trainers/front_pics/cooltrainer_f.png diff --git a/graphics/trainers/front_pics/cooltrainer_m_front_pic.png b/graphics/trainers/front_pics/cooltrainer_m.png similarity index 100% rename from graphics/trainers/front_pics/cooltrainer_m_front_pic.png rename to graphics/trainers/front_pics/cooltrainer_m.png diff --git a/graphics/trainers/front_pics/cycling_triathlete_f_front_pic.png b/graphics/trainers/front_pics/cycling_triathlete_f.png similarity index 100% rename from graphics/trainers/front_pics/cycling_triathlete_f_front_pic.png rename to graphics/trainers/front_pics/cycling_triathlete_f.png diff --git a/graphics/trainers/front_pics/cycling_triathlete_m_front_pic.png b/graphics/trainers/front_pics/cycling_triathlete_m.png similarity index 100% rename from graphics/trainers/front_pics/cycling_triathlete_m_front_pic.png rename to graphics/trainers/front_pics/cycling_triathlete_m.png diff --git a/graphics/trainers/front_pics/dome_ace_tucker_front_pic.png b/graphics/trainers/front_pics/dome_ace_tucker.png similarity index 100% rename from graphics/trainers/front_pics/dome_ace_tucker_front_pic.png rename to graphics/trainers/front_pics/dome_ace_tucker.png diff --git a/graphics/trainers/front_pics/dragon_tamer_front_pic.png b/graphics/trainers/front_pics/dragon_tamer.png similarity index 100% rename from graphics/trainers/front_pics/dragon_tamer_front_pic.png rename to graphics/trainers/front_pics/dragon_tamer.png diff --git a/graphics/trainers/front_pics/elite_four_drake_front_pic.png b/graphics/trainers/front_pics/elite_four_drake.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_drake_front_pic.png rename to graphics/trainers/front_pics/elite_four_drake.png diff --git a/graphics/trainers/front_pics/elite_four_glacia_front_pic.png b/graphics/trainers/front_pics/elite_four_glacia.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_glacia_front_pic.png rename to graphics/trainers/front_pics/elite_four_glacia.png diff --git a/graphics/trainers/front_pics/elite_four_phoebe_front_pic.png b/graphics/trainers/front_pics/elite_four_phoebe.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_phoebe_front_pic.png rename to graphics/trainers/front_pics/elite_four_phoebe.png diff --git a/graphics/trainers/front_pics/elite_four_sidney_front_pic.png b/graphics/trainers/front_pics/elite_four_sidney.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_sidney_front_pic.png rename to graphics/trainers/front_pics/elite_four_sidney.png diff --git a/graphics/trainers/front_pics/expert_f_front_pic.png b/graphics/trainers/front_pics/expert_f.png similarity index 100% rename from graphics/trainers/front_pics/expert_f_front_pic.png rename to graphics/trainers/front_pics/expert_f.png diff --git a/graphics/trainers/front_pics/expert_m_front_pic.png b/graphics/trainers/front_pics/expert_m.png similarity index 100% rename from graphics/trainers/front_pics/expert_m_front_pic.png rename to graphics/trainers/front_pics/expert_m.png diff --git a/graphics/trainers/front_pics/factory_head_noland_front_pic.png b/graphics/trainers/front_pics/factory_head_noland.png similarity index 100% rename from graphics/trainers/front_pics/factory_head_noland_front_pic.png rename to graphics/trainers/front_pics/factory_head_noland.png diff --git a/graphics/trainers/front_pics/fisherman_front_pic.png b/graphics/trainers/front_pics/fisherman.png similarity index 100% rename from graphics/trainers/front_pics/fisherman_front_pic.png rename to graphics/trainers/front_pics/fisherman.png diff --git a/graphics/trainers/front_pics/gentleman_front_pic.png b/graphics/trainers/front_pics/gentleman.png similarity index 100% rename from graphics/trainers/front_pics/gentleman_front_pic.png rename to graphics/trainers/front_pics/gentleman.png diff --git a/graphics/trainers/front_pics/guitarist_front_pic.png b/graphics/trainers/front_pics/guitarist.png similarity index 100% rename from graphics/trainers/front_pics/guitarist_front_pic.png rename to graphics/trainers/front_pics/guitarist.png diff --git a/graphics/trainers/front_pics/hex_maniac_front_pic.png b/graphics/trainers/front_pics/hex_maniac.png similarity index 100% rename from graphics/trainers/front_pics/hex_maniac_front_pic.png rename to graphics/trainers/front_pics/hex_maniac.png diff --git a/graphics/trainers/front_pics/hiker_front_pic.png b/graphics/trainers/front_pics/hiker.png similarity index 100% rename from graphics/trainers/front_pics/hiker_front_pic.png rename to graphics/trainers/front_pics/hiker.png diff --git a/graphics/trainers/front_pics/interviewer_front_pic.png b/graphics/trainers/front_pics/interviewer.png similarity index 100% rename from graphics/trainers/front_pics/interviewer_front_pic.png rename to graphics/trainers/front_pics/interviewer.png diff --git a/graphics/trainers/front_pics/kindler_front_pic.png b/graphics/trainers/front_pics/kindler.png similarity index 100% rename from graphics/trainers/front_pics/kindler_front_pic.png rename to graphics/trainers/front_pics/kindler.png diff --git a/graphics/trainers/front_pics/lady_front_pic.png b/graphics/trainers/front_pics/lady.png similarity index 100% rename from graphics/trainers/front_pics/lady_front_pic.png rename to graphics/trainers/front_pics/lady.png diff --git a/graphics/trainers/front_pics/lass_front_pic.png b/graphics/trainers/front_pics/lass.png similarity index 100% rename from graphics/trainers/front_pics/lass_front_pic.png rename to graphics/trainers/front_pics/lass.png diff --git a/graphics/trainers/front_pics/leader_brawly_front_pic.png b/graphics/trainers/front_pics/leader_brawly.png similarity index 100% rename from graphics/trainers/front_pics/leader_brawly_front_pic.png rename to graphics/trainers/front_pics/leader_brawly.png diff --git a/graphics/trainers/front_pics/leader_flannery_front_pic.png b/graphics/trainers/front_pics/leader_flannery.png similarity index 100% rename from graphics/trainers/front_pics/leader_flannery_front_pic.png rename to graphics/trainers/front_pics/leader_flannery.png diff --git a/graphics/trainers/front_pics/leader_juan_front_pic.png b/graphics/trainers/front_pics/leader_juan.png similarity index 100% rename from graphics/trainers/front_pics/leader_juan_front_pic.png rename to graphics/trainers/front_pics/leader_juan.png diff --git a/graphics/trainers/front_pics/leader_norman_front_pic.png b/graphics/trainers/front_pics/leader_norman.png similarity index 100% rename from graphics/trainers/front_pics/leader_norman_front_pic.png rename to graphics/trainers/front_pics/leader_norman.png diff --git a/graphics/trainers/front_pics/leader_roxanne_front_pic.png b/graphics/trainers/front_pics/leader_roxanne.png similarity index 100% rename from graphics/trainers/front_pics/leader_roxanne_front_pic.png rename to graphics/trainers/front_pics/leader_roxanne.png diff --git a/graphics/trainers/front_pics/leader_tate_and_liza_front_pic.png b/graphics/trainers/front_pics/leader_tate_and_liza.png similarity index 100% rename from graphics/trainers/front_pics/leader_tate_and_liza_front_pic.png rename to graphics/trainers/front_pics/leader_tate_and_liza.png diff --git a/graphics/trainers/front_pics/leader_wattson_front_pic.png b/graphics/trainers/front_pics/leader_wattson.png similarity index 100% rename from graphics/trainers/front_pics/leader_wattson_front_pic.png rename to graphics/trainers/front_pics/leader_wattson.png diff --git a/graphics/trainers/front_pics/leader_winona_front_pic.png b/graphics/trainers/front_pics/leader_winona.png similarity index 100% rename from graphics/trainers/front_pics/leader_winona_front_pic.png rename to graphics/trainers/front_pics/leader_winona.png diff --git a/graphics/trainers/front_pics/leaf_front_pic.png b/graphics/trainers/front_pics/leaf.png similarity index 100% rename from graphics/trainers/front_pics/leaf_front_pic.png rename to graphics/trainers/front_pics/leaf.png diff --git a/graphics/trainers/front_pics/magma_admin_front_pic.png b/graphics/trainers/front_pics/magma_admin.png similarity index 100% rename from graphics/trainers/front_pics/magma_admin_front_pic.png rename to graphics/trainers/front_pics/magma_admin.png diff --git a/graphics/trainers/front_pics/magma_grunt_f_front_pic.png b/graphics/trainers/front_pics/magma_grunt_f.png similarity index 100% rename from graphics/trainers/front_pics/magma_grunt_f_front_pic.png rename to graphics/trainers/front_pics/magma_grunt_f.png diff --git a/graphics/trainers/front_pics/magma_grunt_m_front_pic.png b/graphics/trainers/front_pics/magma_grunt_m.png similarity index 100% rename from graphics/trainers/front_pics/magma_grunt_m_front_pic.png rename to graphics/trainers/front_pics/magma_grunt_m.png diff --git a/graphics/trainers/front_pics/magma_leader_maxie_front_pic.png b/graphics/trainers/front_pics/magma_leader_maxie.png similarity index 100% rename from graphics/trainers/front_pics/magma_leader_maxie_front_pic.png rename to graphics/trainers/front_pics/magma_leader_maxie.png diff --git a/graphics/trainers/front_pics/may_front_pic.png b/graphics/trainers/front_pics/may.png similarity index 100% rename from graphics/trainers/front_pics/may_front_pic.png rename to graphics/trainers/front_pics/may.png diff --git a/graphics/trainers/front_pics/ruby_sapphire_may_front_pic.png b/graphics/trainers/front_pics/may_rs.png similarity index 100% rename from graphics/trainers/front_pics/ruby_sapphire_may_front_pic.png rename to graphics/trainers/front_pics/may_rs.png diff --git a/graphics/trainers/front_pics/ninja_boy_front_pic.png b/graphics/trainers/front_pics/ninja_boy.png similarity index 100% rename from graphics/trainers/front_pics/ninja_boy_front_pic.png rename to graphics/trainers/front_pics/ninja_boy.png diff --git a/graphics/trainers/front_pics/old_couple_front_pic.png b/graphics/trainers/front_pics/old_couple.png similarity index 100% rename from graphics/trainers/front_pics/old_couple_front_pic.png rename to graphics/trainers/front_pics/old_couple.png diff --git a/graphics/trainers/front_pics/palace_maven_spenser_front_pic.png b/graphics/trainers/front_pics/palace_maven_spenser.png similarity index 100% rename from graphics/trainers/front_pics/palace_maven_spenser_front_pic.png rename to graphics/trainers/front_pics/palace_maven_spenser.png diff --git a/graphics/trainers/front_pics/parasol_lady_front_pic.png b/graphics/trainers/front_pics/parasol_lady.png similarity index 100% rename from graphics/trainers/front_pics/parasol_lady_front_pic.png rename to graphics/trainers/front_pics/parasol_lady.png diff --git a/graphics/trainers/front_pics/picnicker_front_pic.png b/graphics/trainers/front_pics/picnicker.png similarity index 100% rename from graphics/trainers/front_pics/picnicker_front_pic.png rename to graphics/trainers/front_pics/picnicker.png diff --git a/graphics/trainers/front_pics/pike_queen_lucy_front_pic.png b/graphics/trainers/front_pics/pike_queen_lucy.png similarity index 100% rename from graphics/trainers/front_pics/pike_queen_lucy_front_pic.png rename to graphics/trainers/front_pics/pike_queen_lucy.png diff --git a/graphics/trainers/front_pics/pokefan_f_front_pic.png b/graphics/trainers/front_pics/pokefan_f.png similarity index 100% rename from graphics/trainers/front_pics/pokefan_f_front_pic.png rename to graphics/trainers/front_pics/pokefan_f.png diff --git a/graphics/trainers/front_pics/pokefan_m_front_pic.png b/graphics/trainers/front_pics/pokefan_m.png similarity index 100% rename from graphics/trainers/front_pics/pokefan_m_front_pic.png rename to graphics/trainers/front_pics/pokefan_m.png diff --git a/graphics/trainers/front_pics/pokemaniac_front_pic.png b/graphics/trainers/front_pics/pokemaniac.png similarity index 100% rename from graphics/trainers/front_pics/pokemaniac_front_pic.png rename to graphics/trainers/front_pics/pokemaniac.png diff --git a/graphics/trainers/front_pics/pokemon_breeder_f_front_pic.png b/graphics/trainers/front_pics/pokemon_breeder_f.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_breeder_f_front_pic.png rename to graphics/trainers/front_pics/pokemon_breeder_f.png diff --git a/graphics/trainers/front_pics/pokemon_breeder_m_front_pic.png b/graphics/trainers/front_pics/pokemon_breeder_m.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_breeder_m_front_pic.png rename to graphics/trainers/front_pics/pokemon_breeder_m.png diff --git a/graphics/trainers/front_pics/pokemon_ranger_f_front_pic.png b/graphics/trainers/front_pics/pokemon_ranger_f.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_ranger_f_front_pic.png rename to graphics/trainers/front_pics/pokemon_ranger_f.png diff --git a/graphics/trainers/front_pics/pokemon_ranger_m_front_pic.png b/graphics/trainers/front_pics/pokemon_ranger_m.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_ranger_m_front_pic.png rename to graphics/trainers/front_pics/pokemon_ranger_m.png diff --git a/graphics/trainers/front_pics/psychic_f_front_pic.png b/graphics/trainers/front_pics/psychic_f.png similarity index 100% rename from graphics/trainers/front_pics/psychic_f_front_pic.png rename to graphics/trainers/front_pics/psychic_f.png diff --git a/graphics/trainers/front_pics/psychic_m_front_pic.png b/graphics/trainers/front_pics/psychic_m.png similarity index 100% rename from graphics/trainers/front_pics/psychic_m_front_pic.png rename to graphics/trainers/front_pics/psychic_m.png diff --git a/graphics/trainers/front_pics/pyramid_king_brandon_front_pic.png b/graphics/trainers/front_pics/pyramid_king_brandon.png similarity index 100% rename from graphics/trainers/front_pics/pyramid_king_brandon_front_pic.png rename to graphics/trainers/front_pics/pyramid_king_brandon.png diff --git a/graphics/trainers/front_pics/red_front_pic.png b/graphics/trainers/front_pics/red.png similarity index 100% rename from graphics/trainers/front_pics/red_front_pic.png rename to graphics/trainers/front_pics/red.png diff --git a/graphics/trainers/front_pics/rich_boy_front_pic.png b/graphics/trainers/front_pics/rich_boy.png similarity index 100% rename from graphics/trainers/front_pics/rich_boy_front_pic.png rename to graphics/trainers/front_pics/rich_boy.png diff --git a/graphics/trainers/front_pics/ruin_maniac_front_pic.png b/graphics/trainers/front_pics/ruin_maniac.png similarity index 100% rename from graphics/trainers/front_pics/ruin_maniac_front_pic.png rename to graphics/trainers/front_pics/ruin_maniac.png diff --git a/graphics/trainers/front_pics/running_triathlete_f_front_pic.png b/graphics/trainers/front_pics/running_triathlete_f.png similarity index 100% rename from graphics/trainers/front_pics/running_triathlete_f_front_pic.png rename to graphics/trainers/front_pics/running_triathlete_f.png diff --git a/graphics/trainers/front_pics/running_triathlete_m_front_pic.png b/graphics/trainers/front_pics/running_triathlete_m.png similarity index 100% rename from graphics/trainers/front_pics/running_triathlete_m_front_pic.png rename to graphics/trainers/front_pics/running_triathlete_m.png diff --git a/graphics/trainers/front_pics/sailor_front_pic.png b/graphics/trainers/front_pics/sailor.png similarity index 100% rename from graphics/trainers/front_pics/sailor_front_pic.png rename to graphics/trainers/front_pics/sailor.png diff --git a/graphics/trainers/front_pics/salon_maiden_anabel_front_pic.png b/graphics/trainers/front_pics/salon_maiden_anabel.png similarity index 100% rename from graphics/trainers/front_pics/salon_maiden_anabel_front_pic.png rename to graphics/trainers/front_pics/salon_maiden_anabel.png diff --git a/graphics/trainers/front_pics/school_kid_f_front_pic.png b/graphics/trainers/front_pics/school_kid_f.png similarity index 100% rename from graphics/trainers/front_pics/school_kid_f_front_pic.png rename to graphics/trainers/front_pics/school_kid_f.png diff --git a/graphics/trainers/front_pics/school_kid_m_front_pic.png b/graphics/trainers/front_pics/school_kid_m.png similarity index 100% rename from graphics/trainers/front_pics/school_kid_m_front_pic.png rename to graphics/trainers/front_pics/school_kid_m.png diff --git a/graphics/trainers/front_pics/sis_and_bro_front_pic.png b/graphics/trainers/front_pics/sis_and_bro.png similarity index 100% rename from graphics/trainers/front_pics/sis_and_bro_front_pic.png rename to graphics/trainers/front_pics/sis_and_bro.png diff --git a/graphics/trainers/front_pics/sr_and_jr_front_pic.png b/graphics/trainers/front_pics/sr_and_jr.png similarity index 100% rename from graphics/trainers/front_pics/sr_and_jr_front_pic.png rename to graphics/trainers/front_pics/sr_and_jr.png diff --git a/graphics/trainers/front_pics/steven_front_pic.png b/graphics/trainers/front_pics/steven.png similarity index 100% rename from graphics/trainers/front_pics/steven_front_pic.png rename to graphics/trainers/front_pics/steven.png diff --git a/graphics/trainers/front_pics/swimmer_f_front_pic.png b/graphics/trainers/front_pics/swimmer_f.png similarity index 100% rename from graphics/trainers/front_pics/swimmer_f_front_pic.png rename to graphics/trainers/front_pics/swimmer_f.png diff --git a/graphics/trainers/front_pics/swimmer_m_front_pic.png b/graphics/trainers/front_pics/swimmer_m.png similarity index 100% rename from graphics/trainers/front_pics/swimmer_m_front_pic.png rename to graphics/trainers/front_pics/swimmer_m.png diff --git a/graphics/trainers/front_pics/swimming_triathlete_f_front_pic.png b/graphics/trainers/front_pics/swimming_triathlete_f.png similarity index 100% rename from graphics/trainers/front_pics/swimming_triathlete_f_front_pic.png rename to graphics/trainers/front_pics/swimming_triathlete_f.png diff --git a/graphics/trainers/front_pics/swimming_triathlete_m_front_pic.png b/graphics/trainers/front_pics/swimming_triathlete_m.png similarity index 100% rename from graphics/trainers/front_pics/swimming_triathlete_m_front_pic.png rename to graphics/trainers/front_pics/swimming_triathlete_m.png diff --git a/graphics/trainers/front_pics/tuber_f_front_pic.png b/graphics/trainers/front_pics/tuber_f.png similarity index 100% rename from graphics/trainers/front_pics/tuber_f_front_pic.png rename to graphics/trainers/front_pics/tuber_f.png diff --git a/graphics/trainers/front_pics/tuber_m_front_pic.png b/graphics/trainers/front_pics/tuber_m.png similarity index 100% rename from graphics/trainers/front_pics/tuber_m_front_pic.png rename to graphics/trainers/front_pics/tuber_m.png diff --git a/graphics/trainers/front_pics/twins_front_pic.png b/graphics/trainers/front_pics/twins.png similarity index 100% rename from graphics/trainers/front_pics/twins_front_pic.png rename to graphics/trainers/front_pics/twins.png diff --git a/graphics/trainers/front_pics/wally_front_pic.png b/graphics/trainers/front_pics/wally.png similarity index 100% rename from graphics/trainers/front_pics/wally_front_pic.png rename to graphics/trainers/front_pics/wally.png diff --git a/graphics/trainers/front_pics/young_couple_front_pic.png b/graphics/trainers/front_pics/young_couple.png similarity index 100% rename from graphics/trainers/front_pics/young_couple_front_pic.png rename to graphics/trainers/front_pics/young_couple.png diff --git a/graphics/trainers/front_pics/youngster_front_pic.png b/graphics/trainers/front_pics/youngster.png similarity index 100% rename from graphics/trainers/front_pics/youngster_front_pic.png rename to graphics/trainers/front_pics/youngster.png diff --git a/graphics/trainers/palettes/aqua_admin_f.pal b/graphics/trainers/palettes/aqua_admin_f.pal deleted file mode 100644 index 4bad68770..000000000 --- a/graphics/trainers/palettes/aqua_admin_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 131 41 -189 156 90 -238 98 41 -180 65 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_admin_m.pal b/graphics/trainers/palettes/aqua_admin_m.pal deleted file mode 100644 index 2a7a46d46..000000000 --- a/graphics/trainers/palettes/aqua_admin_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 131 41 -189 156 90 -222 82 24 -164 49 24 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_grunt_f.pal b/graphics/trainers/palettes/aqua_grunt_f.pal deleted file mode 100644 index 4563eba48..000000000 --- a/graphics/trainers/palettes/aqua_grunt_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -164 74 65 -189 156 90 -255 106 98 -205 82 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_grunt_m.pal b/graphics/trainers/palettes/aqua_grunt_m.pal deleted file mode 100644 index c2b28ead9..000000000 --- a/graphics/trainers/palettes/aqua_grunt_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 164 197 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_leader_archie.pal b/graphics/trainers/palettes/aqua_leader_archie.pal deleted file mode 100644 index a778ea6bb..000000000 --- a/graphics/trainers/palettes/aqua_leader_archie.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -131 156 180 -106 123 148 -82 90 115 -57 65 98 -213 213 222 -82 90 156 -24 32 49 -148 156 222 -106 115 213 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/arena_tycoon_greta.pal b/graphics/trainers/palettes/arena_tycoon_greta.pal deleted file mode 100644 index 60c45e8e9..000000000 --- a/graphics/trainers/palettes/arena_tycoon_greta.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -255 230 106 -213 189 90 -213 222 230 -65 82 123 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aroma_lady.pal b/graphics/trainers/palettes/aroma_lady.pal deleted file mode 100644 index eb9f3dfd4..000000000 --- a/graphics/trainers/palettes/aroma_lady.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 213 172 -238 197 148 -205 156 115 -115 82 65 -238 230 255 -205 197 213 -156 164 205 -106 98 148 -74 222 148 -172 115 41 -115 65 24 -238 90 131 -189 65 90 -106 255 156 -0 0 0 diff --git a/graphics/trainers/palettes/battle_girl.pal b/graphics/trainers/palettes/battle_girl.pal deleted file mode 100644 index 7f172b169..000000000 --- a/graphics/trainers/palettes/battle_girl.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -255 164 82 -230 106 0 -197 65 65 -156 106 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/beauty.pal b/graphics/trainers/palettes/beauty.pal deleted file mode 100644 index ab549df20..000000000 --- a/graphics/trainers/palettes/beauty.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 172 131 -205 131 115 -123 82 74 -148 131 139 -255 205 106 -213 172 74 -164 123 82 -115 90 115 -74 49 74 -255 82 57 -180 82 74 -131 74 65 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/bird_keeper.pal b/graphics/trainers/palettes/bird_keeper.pal deleted file mode 100644 index 87194c84a..000000000 --- a/graphics/trainers/palettes/bird_keeper.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 180 197 -131 139 156 -90 98 115 -57 65 82 -213 213 222 -131 16 41 -24 32 49 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/black_belt.pal b/graphics/trainers/palettes/black_belt.pal deleted file mode 100644 index 869e5d8df..000000000 --- a/graphics/trainers/palettes/black_belt.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 172 148 -172 131 106 -90 65 49 -148 131 123 -106 90 82 -82 90 115 -49 57 82 -205 189 189 -189 164 164 -156 139 139 -255 98 90 -197 65 65 -246 230 230 -0 0 0 diff --git a/graphics/trainers/palettes/ruby_sapphire_brendan.pal b/graphics/trainers/palettes/brendan_rs.pal similarity index 100% rename from graphics/trainers/palettes/ruby_sapphire_brendan.pal rename to graphics/trainers/palettes/brendan_rs.pal diff --git a/graphics/trainers/palettes/bug_catcher.pal b/graphics/trainers/palettes/bug_catcher.pal deleted file mode 100644 index c68f56690..000000000 --- a/graphics/trainers/palettes/bug_catcher.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -222 222 164 -197 197 139 -156 139 74 -41 57 98 -197 197 238 -246 238 213 -189 49 57 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/bug_maniac.pal b/graphics/trainers/palettes/bug_maniac.pal deleted file mode 100644 index 2aa329179..000000000 --- a/graphics/trainers/palettes/bug_maniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -49 123 156 -49 65 131 -65 74 74 -222 222 164 -197 197 139 -205 213 213 -156 139 74 -98 164 222 -106 115 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/camper.pal b/graphics/trainers/palettes/camper.pal deleted file mode 100644 index e5c224fd2..000000000 --- a/graphics/trainers/palettes/camper.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -230 189 156 -205 156 115 -115 82 65 -131 213 205 -82 164 148 -180 189 222 -57 90 74 -24 49 90 -98 115 230 -57 82 131 -255 98 41 -189 74 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/champion_wallace.pal b/graphics/trainers/palettes/champion_wallace.pal deleted file mode 100644 index eaaed070f..000000000 --- a/graphics/trainers/palettes/champion_wallace.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -189 139 106 -98 57 65 -189 131 255 -148 106 172 -115 131 255 -82 106 180 -197 197 213 -57 74 115 -139 139 164 -57 41 57 -98 57 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/collector.pal b/graphics/trainers/palettes/collector.pal deleted file mode 100644 index d4d9221e2..000000000 --- a/graphics/trainers/palettes/collector.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -197 139 115 -123 90 82 -106 139 189 -65 98 148 -32 74 123 -255 98 90 -197 65 65 -213 222 230 -131 74 65 -115 123 131 -164 172 180 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/cooltrainer_f.pal b/graphics/trainers/palettes/cooltrainer_f.pal deleted file mode 100644 index 292d0fc78..000000000 --- a/graphics/trainers/palettes/cooltrainer_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -238 197 156 -205 156 115 -115 82 65 -238 156 115 -205 90 74 -0 189 222 -123 41 24 -180 230 139 -139 180 57 -74 90 32 -255 246 189 -213 205 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/cooltrainer_m.pal b/graphics/trainers/palettes/cooltrainer_m.pal deleted file mode 100644 index 52a32e925..000000000 --- a/graphics/trainers/palettes/cooltrainer_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -238 156 115 -230 98 82 -180 90 74 -131 49 32 -57 90 41 -164 180 106 -98 123 57 -255 246 189 -213 205 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/cycling_triathlete_f.pal b/graphics/trainers/palettes/cycling_triathlete_f.pal deleted file mode 100644 index b72bb3011..000000000 --- a/graphics/trainers/palettes/cycling_triathlete_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -57 41 57 -57 74 106 -131 131 156 -139 156 238 -115 131 205 -98 106 172 -205 197 255 -230 90 65 -189 74 41 -139 74 82 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/cycling_triathlete_m.pal b/graphics/trainers/palettes/cycling_triathlete_m.pal deleted file mode 100644 index 9255a4a94..000000000 --- a/graphics/trainers/palettes/cycling_triathlete_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -238 189 139 -189 148 115 -139 106 82 -57 41 57 -115 90 106 -156 131 156 -156 213 255 -106 164 222 -82 131 197 -205 197 255 -230 90 65 -189 74 41 -139 74 82 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/dome_ace_tucker.pal b/graphics/trainers/palettes/dome_ace_tucker.pal deleted file mode 100644 index 33bb1aa68..000000000 --- a/graphics/trainers/palettes/dome_ace_tucker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -246 148 230 -230 115 213 -189 90 172 -139 74 115 -213 205 246 -230 213 106 -156 148 197 -238 238 139 -213 180 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/dragon_tamer.pal b/graphics/trainers/palettes/dragon_tamer.pal deleted file mode 100644 index 545c55b74..000000000 --- a/graphics/trainers/palettes/dragon_tamer.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -74 57 49 -164 57 246 -123 49 172 -131 139 148 -255 98 90 -197 65 65 -213 222 230 -74 74 65 -255 205 106 -213 172 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_drake.pal b/graphics/trainers/palettes/elite_four_drake.pal deleted file mode 100644 index 6ab0bae73..000000000 --- a/graphics/trainers/palettes/elite_four_drake.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 172 148 -164 131 106 -98 57 65 -139 131 164 -106 98 123 -41 49 57 -57 65 82 -197 197 213 -255 222 106 -189 156 90 -106 131 238 -65 106 172 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_glacia.pal b/graphics/trainers/palettes/elite_four_glacia.pal deleted file mode 100644 index 75b5eb108..000000000 --- a/graphics/trainers/palettes/elite_four_glacia.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -148 148 164 -148 90 164 -115 65 123 -82 41 82 -255 255 164 -213 197 90 -156 148 90 -222 230 238 -189 197 205 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_phoebe.pal b/graphics/trainers/palettes/elite_four_phoebe.pal deleted file mode 100644 index 8c07c0d5b..000000000 --- a/graphics/trainers/palettes/elite_four_phoebe.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -57 131 255 -32 106 230 -16 82 205 -41 49 123 -164 205 255 -115 98 106 -74 57 65 -255 82 156 -197 65 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_sidney.pal b/graphics/trainers/palettes/elite_four_sidney.pal deleted file mode 100644 index d778e0ed6..000000000 --- a/graphics/trainers/palettes/elite_four_sidney.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -189 139 106 -98 57 65 -131 106 74 -106 98 123 -41 49 57 -57 65 82 -197 197 213 -238 213 139 -197 164 106 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/expert_f.pal b/graphics/trainers/palettes/expert_f.pal deleted file mode 100644 index 2fa5f5202..000000000 --- a/graphics/trainers/palettes/expert_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/expert_m.pal b/graphics/trainers/palettes/expert_m.pal deleted file mode 100644 index 2fa5f5202..000000000 --- a/graphics/trainers/palettes/expert_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/factory_head_noland.pal b/graphics/trainers/palettes/factory_head_noland.pal deleted file mode 100644 index 03bce8c77..000000000 --- a/graphics/trainers/palettes/factory_head_noland.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -172 172 189 -131 131 164 -98 98 123 -65 65 90 -222 213 246 -238 213 106 -246 131 123 -213 90 90 -180 57 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/fisherman.pal b/graphics/trainers/palettes/fisherman.pal deleted file mode 100644 index 3c18e8f1f..000000000 --- a/graphics/trainers/palettes/fisherman.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 213 189 -222 172 148 -180 131 115 -82 57 57 -123 98 106 -82 82 123 -213 172 82 -180 139 82 -205 205 222 -123 82 49 -49 49 74 -246 123 49 -189 106 49 -238 238 255 -0 0 24 diff --git a/graphics/trainers/palettes/gentleman.pal b/graphics/trainers/palettes/gentleman.pal deleted file mode 100644 index ef021d026..000000000 --- a/graphics/trainers/palettes/gentleman.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -180 148 115 -148 115 82 -123 90 57 -65 49 41 -255 238 156 -213 213 205 -180 180 172 -90 106 172 -57 74 123 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/guitarist.pal b/graphics/trainers/palettes/guitarist.pal deleted file mode 100644 index 74e59e819..000000000 --- a/graphics/trainers/palettes/guitarist.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -172 172 164 -139 131 131 -106 98 98 -65 57 57 -255 238 156 -255 197 90 -205 180 148 -255 98 90 -189 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/hex_maniac.pal b/graphics/trainers/palettes/hex_maniac.pal deleted file mode 100644 index 549d7fac9..000000000 --- a/graphics/trainers/palettes/hex_maniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 123 156 -139 90 131 -106 65 106 -74 41 74 -213 222 230 -189 205 213 -205 57 82 -115 41 65 -180 49 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/hiker.pal b/graphics/trainers/palettes/hiker.pal deleted file mode 100644 index cb8fce7f6..000000000 --- a/graphics/trainers/palettes/hiker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 164 148 -205 131 115 -74 65 57 -123 189 90 -115 148 90 -213 180 98 -172 148 98 -205 205 222 -148 148 148 -123 115 74 -230 98 90 -164 74 74 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/interviewer.pal b/graphics/trainers/palettes/interviewer.pal deleted file mode 100644 index 61ace1935..000000000 --- a/graphics/trainers/palettes/interviewer.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -148 148 172 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -98 197 255 -90 156 189 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/kindler.pal b/graphics/trainers/palettes/kindler.pal deleted file mode 100644 index af6adf7e8..000000000 --- a/graphics/trainers/palettes/kindler.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -246 246 230 -222 222 189 -180 180 139 -123 115 74 -172 213 246 -115 180 205 -57 123 139 -255 82 57 -255 156 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/lady.pal b/graphics/trainers/palettes/lady.pal deleted file mode 100644 index b70873111..000000000 --- a/graphics/trainers/palettes/lady.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 222 -238 180 180 -156 123 106 -172 106 74 -82 82 32 -213 222 230 -255 230 106 -213 172 90 -222 98 123 -148 164 180 -180 238 106 -148 213 82 -123 189 65 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/lass.pal b/graphics/trainers/palettes/lass.pal deleted file mode 100644 index 89e78d683..000000000 --- a/graphics/trainers/palettes/lass.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -222 148 115 -123 90 82 -164 172 197 -90 98 148 -49 57 82 -41 57 98 -222 230 238 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_brawly.pal b/graphics/trainers/palettes/leader_brawly.pal deleted file mode 100644 index 5a5a482f2..000000000 --- a/graphics/trainers/palettes/leader_brawly.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -49 49 74 -213 213 222 -255 164 197 -115 115 115 -255 139 65 -213 98 24 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_flannery.pal b/graphics/trainers/palettes/leader_flannery.pal deleted file mode 100644 index 20f2f8579..000000000 --- a/graphics/trainers/palettes/leader_flannery.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 197 230 -90 156 213 -65 115 164 -49 49 74 -213 213 222 -131 74 16 -115 115 115 -255 139 65 -197 98 32 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_juan.pal b/graphics/trainers/palettes/leader_juan.pal deleted file mode 100644 index 96467bdc3..000000000 --- a/graphics/trainers/palettes/leader_juan.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -180 131 98 -123 90 82 -213 115 222 -148 65 180 -106 148 255 -82 106 189 -74 74 148 -164 180 189 -98 115 123 -98 49 90 -213 213 222 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_norman.pal b/graphics/trainers/palettes/leader_norman.pal deleted file mode 100644 index e53c16837..000000000 --- a/graphics/trainers/palettes/leader_norman.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 197 230 -139 156 172 -74 98 123 -49 65 82 -213 213 222 -131 16 41 -115 115 115 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_roxanne.pal b/graphics/trainers/palettes/leader_roxanne.pal deleted file mode 100644 index c2b28ead9..000000000 --- a/graphics/trainers/palettes/leader_roxanne.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 164 197 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_tate_and_liza.pal b/graphics/trainers/palettes/leader_tate_and_liza.pal deleted file mode 100644 index ab64e9bea..000000000 --- a/graphics/trainers/palettes/leader_tate_and_liza.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 172 65 -255 222 205 -238 180 148 -180 131 106 -106 74 74 -189 189 197 -123 123 131 -74 82 98 -41 49 65 -255 98 90 -164 49 57 -255 197 90 -106 189 255 -90 139 197 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_wattson.pal b/graphics/trainers/palettes/leader_wattson.pal deleted file mode 100644 index c8a4e1420..000000000 --- a/graphics/trainers/palettes/leader_wattson.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -123 90 82 -164 139 90 -131 106 74 -139 131 106 -82 65 74 -213 213 222 -255 197 90 -189 156 90 -57 41 49 -222 115 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_winona.pal b/graphics/trainers/palettes/leader_winona.pal deleted file mode 100644 index 62783523b..000000000 --- a/graphics/trainers/palettes/leader_winona.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -172 189 213 -139 156 205 -74 98 148 -49 65 82 -205 213 222 -115 57 123 -255 197 90 -189 123 222 -148 90 172 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leaf.pal b/graphics/trainers/palettes/leaf.pal deleted file mode 100644 index 30e2cdde0..000000000 --- a/graphics/trainers/palettes/leaf.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 180 -230 189 156 -205 148 115 -123 90 82 -123 189 222 -82 139 180 -49 106 139 -24 41 82 -213 213 222 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leaf_back_pic.pal b/graphics/trainers/palettes/leaf_back_pic.pal deleted file mode 100644 index 27436be92..000000000 --- a/graphics/trainers/palettes/leaf_back_pic.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -172 123 65 -255 197 148 -222 148 115 -123 65 65 -65 65 213 -57 57 123 -115 164 197 -106 41 41 -238 238 255 -180 180 213 -255 106 74 -197 57 57 -255 222 90 -189 156 57 -0 0 0 diff --git a/graphics/trainers/palettes/magma_admin.pal b/graphics/trainers/palettes/magma_admin.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/palettes/magma_admin.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/magma_grunt_f.pal b/graphics/trainers/palettes/magma_grunt_f.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/palettes/magma_grunt_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/magma_grunt_m.pal b/graphics/trainers/palettes/magma_grunt_m.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/palettes/magma_grunt_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/magma_leader_maxie.pal b/graphics/trainers/palettes/magma_leader_maxie.pal deleted file mode 100644 index 151bf6d5b..000000000 --- a/graphics/trainers/palettes/magma_leader_maxie.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 180 197 -115 123 139 -74 82 98 -49 57 82 -213 213 222 -131 16 41 -24 32 49 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/ruby_sapphire_may.pal b/graphics/trainers/palettes/may_rs.pal similarity index 100% rename from graphics/trainers/palettes/ruby_sapphire_may.pal rename to graphics/trainers/palettes/may_rs.pal diff --git a/graphics/trainers/palettes/ninja_boy.pal b/graphics/trainers/palettes/ninja_boy.pal deleted file mode 100644 index 524d3f4ba..000000000 --- a/graphics/trainers/palettes/ninja_boy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -164 180 197 -131 139 156 -82 98 115 -49 57 82 -213 213 222 -131 16 41 -255 172 32 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/old_couple.pal b/graphics/trainers/palettes/old_couple.pal deleted file mode 100644 index 2fa5f5202..000000000 --- a/graphics/trainers/palettes/old_couple.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/palace_maven_spenser.pal b/graphics/trainers/palettes/palace_maven_spenser.pal deleted file mode 100644 index 40a634974..000000000 --- a/graphics/trainers/palettes/palace_maven_spenser.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -230 205 156 -189 164 115 -164 131 82 -106 74 74 -172 172 213 -123 131 189 -90 98 148 -57 65 90 -222 213 246 -238 213 106 -246 230 180 -230 115 74 -222 180 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/parasol_lady.pal b/graphics/trainers/palettes/parasol_lady.pal deleted file mode 100644 index dc5c6f67f..000000000 --- a/graphics/trainers/palettes/parasol_lady.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -123 82 65 -90 131 189 -65 90 139 -41 65 98 -255 98 90 -197 65 65 -255 156 106 -131 74 65 -255 205 106 -213 172 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/picnicker.pal b/graphics/trainers/palettes/picnicker.pal deleted file mode 100644 index acd90e943..000000000 --- a/graphics/trainers/palettes/picnicker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -131 213 205 -82 164 148 -180 189 222 -57 90 74 -24 49 90 -98 115 230 -57 82 131 -255 98 41 -189 74 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pike_queen_lucy.pal b/graphics/trainers/palettes/pike_queen_lucy.pal deleted file mode 100644 index fd3b46b8b..000000000 --- a/graphics/trainers/palettes/pike_queen_lucy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -205 123 213 -148 90 148 -115 57 106 -57 57 57 -213 222 230 -172 65 65 -255 197 90 -115 106 123 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokefan_f.pal b/graphics/trainers/palettes/pokefan_f.pal deleted file mode 100644 index 09728f005..000000000 --- a/graphics/trainers/palettes/pokefan_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 172 189 -65 123 180 -255 0 255 -32 57 82 -197 205 213 -180 139 90 -131 90 41 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokefan_m.pal b/graphics/trainers/palettes/pokefan_m.pal deleted file mode 100644 index 1d1f48875..000000000 --- a/graphics/trainers/palettes/pokefan_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -222 189 148 -197 156 115 -156 123 82 -49 57 49 -230 90 41 -131 172 222 -172 49 32 -82 123 172 -255 238 74 -213 189 41 -205 205 213 -98 98 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemaniac.pal b/graphics/trainers/palettes/pokemaniac.pal deleted file mode 100644 index 3ede03b14..000000000 --- a/graphics/trainers/palettes/pokemaniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -246 189 115 -213 123 74 -180 82 74 -139 57 41 -74 74 49 -255 230 57 -98 123 106 -230 82 24 -213 205 230 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_breeder_f.pal b/graphics/trainers/palettes/pokemon_breeder_f.pal deleted file mode 100644 index b15f5db8a..000000000 --- a/graphics/trainers/palettes/pokemon_breeder_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -255 98 90 -164 49 65 -255 148 131 -49 49 74 -213 222 230 -205 74 74 -115 148 197 -49 74 123 -57 115 164 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_breeder_m.pal b/graphics/trainers/palettes/pokemon_breeder_m.pal deleted file mode 100644 index 6551f8482..000000000 --- a/graphics/trainers/palettes/pokemon_breeder_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -131 90 74 -255 98 90 -156 65 74 -255 148 131 -49 49 74 -213 222 230 -205 74 74 -115 148 197 -49 74 123 -57 115 164 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_ranger_f.pal b/graphics/trainers/palettes/pokemon_ranger_f.pal deleted file mode 100644 index 93220f5cb..000000000 --- a/graphics/trainers/palettes/pokemon_ranger_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -131 90 65 -82 49 49 -131 139 156 -82 90 115 -49 57 82 -213 213 222 -255 205 65 -255 131 74 -205 98 74 -156 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_ranger_m.pal b/graphics/trainers/palettes/pokemon_ranger_m.pal deleted file mode 100644 index 2f16ca0cb..000000000 --- a/graphics/trainers/palettes/pokemon_ranger_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -139 106 82 -82 49 49 -131 139 156 -90 98 115 -49 57 82 -213 213 222 -255 205 65 -238 139 82 -197 82 74 -115 57 49 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/psychic_f.pal b/graphics/trainers/palettes/psychic_f.pal deleted file mode 100644 index 232cfd755..000000000 --- a/graphics/trainers/palettes/psychic_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -98 123 180 -32 98 131 -255 0 246 -41 57 90 -213 131 255 -156 115 180 -115 82 148 -246 139 90 -197 90 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/psychic_m.pal b/graphics/trainers/palettes/psychic_m.pal deleted file mode 100644 index 0ddd2894b..000000000 --- a/graphics/trainers/palettes/psychic_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -230 189 148 -205 156 115 -115 82 65 -98 123 180 -32 98 131 -0 255 0 -41 57 90 -213 131 255 -131 106 172 -90 74 131 -246 139 90 -197 90 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pyramid_king_brandon.pal b/graphics/trainers/palettes/pyramid_king_brandon.pal deleted file mode 100644 index 77b5483b8..000000000 --- a/graphics/trainers/palettes/pyramid_king_brandon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 213 90 -123 172 65 -82 115 41 -57 82 41 -213 205 213 -172 123 90 -139 139 123 -131 98 65 -213 106 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/red.pal b/graphics/trainers/palettes/red.pal deleted file mode 100644 index 30e2cdde0..000000000 --- a/graphics/trainers/palettes/red.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 180 -230 189 156 -205 148 115 -123 90 82 -123 189 222 -82 139 180 -49 106 139 -24 41 82 -213 213 222 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/red_back_pic.pal b/graphics/trainers/palettes/red_back_pic.pal deleted file mode 100644 index 3097a6556..000000000 --- a/graphics/trainers/palettes/red_back_pic.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 123 164 -172 123 65 -255 197 148 -222 148 115 -123 65 65 -65 65 213 -57 57 123 -115 164 197 -106 41 41 -238 238 255 -180 180 213 -255 106 74 -197 57 57 -255 222 90 -189 156 57 -0 0 0 diff --git a/graphics/trainers/palettes/rich_boy.pal b/graphics/trainers/palettes/rich_boy.pal deleted file mode 100644 index 1ebb77204..000000000 --- a/graphics/trainers/palettes/rich_boy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -213 222 230 -255 230 98 -222 180 90 -156 123 115 -115 82 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/ruin_maniac.pal b/graphics/trainers/palettes/ruin_maniac.pal deleted file mode 100644 index bbc342a06..000000000 --- a/graphics/trainers/palettes/ruin_maniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -255 238 106 -246 246 230 -222 222 189 -180 180 139 -115 106 65 -222 213 246 -115 131 205 -222 189 8 -213 115 139 -172 74 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/running_triathlete_f.pal b/graphics/trainers/palettes/running_triathlete_f.pal deleted file mode 100644 index 671c1593f..000000000 --- a/graphics/trainers/palettes/running_triathlete_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/running_triathlete_m.pal b/graphics/trainers/palettes/running_triathlete_m.pal deleted file mode 100644 index 13a56a556..000000000 --- a/graphics/trainers/palettes/running_triathlete_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 180 -230 180 148 -180 139 106 -115 82 65 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/sailor.pal b/graphics/trainers/palettes/sailor.pal deleted file mode 100644 index 3b6248576..000000000 --- a/graphics/trainers/palettes/sailor.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -131 180 230 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/salon_maiden_anabel.pal b/graphics/trainers/palettes/salon_maiden_anabel.pal deleted file mode 100644 index 91776562f..000000000 --- a/graphics/trainers/palettes/salon_maiden_anabel.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -230 139 255 -189 115 213 -148 90 172 -123 74 139 -213 205 246 -255 197 90 -156 148 197 -255 222 115 -213 106 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/school_kid_f.pal b/graphics/trainers/palettes/school_kid_f.pal deleted file mode 100644 index ce758377a..000000000 --- a/graphics/trainers/palettes/school_kid_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -238 189 156 -205 148 115 -106 74 57 -255 139 164 -213 82 131 -131 139 255 -98 115 180 -57 74 131 -246 189 123 -197 131 65 -230 82 41 -139 90 32 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/school_kid_m.pal b/graphics/trainers/palettes/school_kid_m.pal deleted file mode 100644 index dc4298ea0..000000000 --- a/graphics/trainers/palettes/school_kid_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -172 164 115 -65 90 148 -49 57 82 -131 123 82 -197 197 238 -255 222 65 -205 189 123 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/sis_and_bro.pal b/graphics/trainers/palettes/sis_and_bro.pal deleted file mode 100644 index 823ef66ef..000000000 --- a/graphics/trainers/palettes/sis_and_bro.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 164 148 -164 123 98 -74 57 49 -255 139 90 -230 82 74 -180 65 65 -90 65 82 -197 65 65 -213 222 230 -255 230 205 -139 172 213 -90 131 189 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/sr_and_jr.pal b/graphics/trainers/palettes/sr_and_jr.pal deleted file mode 100644 index 72238881f..000000000 --- a/graphics/trainers/palettes/sr_and_jr.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -131 90 41 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimmer_f.pal b/graphics/trainers/palettes/swimmer_f.pal deleted file mode 100644 index 823ef66ef..000000000 --- a/graphics/trainers/palettes/swimmer_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 164 148 -164 123 98 -74 57 49 -255 139 90 -230 82 74 -180 65 65 -90 65 82 -197 65 65 -213 222 230 -255 230 205 -139 172 213 -90 131 189 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimmer_m.pal b/graphics/trainers/palettes/swimmer_m.pal deleted file mode 100644 index 259a53b9a..000000000 --- a/graphics/trainers/palettes/swimmer_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -230 197 172 -213 172 148 -172 123 106 -115 82 65 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -172 172 180 -139 65 65 -222 238 238 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimming_triathlete_f.pal b/graphics/trainers/palettes/swimming_triathlete_f.pal deleted file mode 100644 index 671c1593f..000000000 --- a/graphics/trainers/palettes/swimming_triathlete_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimming_triathlete_m.pal b/graphics/trainers/palettes/swimming_triathlete_m.pal deleted file mode 100644 index 671c1593f..000000000 --- a/graphics/trainers/palettes/swimming_triathlete_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/tuber_f.pal b/graphics/trainers/palettes/tuber_f.pal deleted file mode 100644 index b5cb0047a..000000000 --- a/graphics/trainers/palettes/tuber_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -205 57 82 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/tuber_m.pal b/graphics/trainers/palettes/tuber_m.pal deleted file mode 100644 index b5cb0047a..000000000 --- a/graphics/trainers/palettes/tuber_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -205 57 82 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/twins.pal b/graphics/trainers/palettes/twins.pal deleted file mode 100644 index 3b162de25..000000000 --- a/graphics/trainers/palettes/twins.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -180 82 98 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/young_couple.pal b/graphics/trainers/palettes/young_couple.pal deleted file mode 100644 index bba95c19a..000000000 --- a/graphics/trainers/palettes/young_couple.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -148 164 172 -82 123 164 -57 82 106 -32 49 74 -205 213 222 -123 197 156 -90 164 131 -255 98 90 -197 65 65 -106 106 139 -0 0 0 diff --git a/graphics/trainers/palettes/youngster.pal b/graphics/trainers/palettes/youngster.pal deleted file mode 100644 index f91520d9b..000000000 --- a/graphics/trainers/palettes/youngster.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -139 197 222 -65 90 148 -49 57 82 -41 57 98 -197 197 238 -255 222 65 -222 172 90 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h index 206d73a88..fbdea7472 100644 --- a/src/data/graphics/trainers.h +++ b/src/data/graphics/trainers.h @@ -1,290 +1,290 @@ -const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/palettes/hiker.gbapal.lz"); +const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker.4bpp.lz"); +const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker.gbapal.lz"); -const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz"); +const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f.gbapal.lz"); -const u32 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CoolTrainerM[] = INCBIN_U32("graphics/trainers/palettes/cooltrainer_m.gbapal.lz"); +const u32 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_m.4bpp.lz"); +const u32 gTrainerPalette_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_m.gbapal.lz"); -const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/palettes/bird_keeper.gbapal.lz"); +const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper.4bpp.lz"); +const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper.gbapal.lz"); -const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/palettes/collector.gbapal.lz"); +const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector.4bpp.lz"); +const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector.gbapal.lz"); -const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz"); +const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/palettes/swimmer_m.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m.4bpp.lz"); +const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_m.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m.gbapal.lz"); -const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/palettes/expert_m.gbapal.lz"); +const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m.4bpp.lz"); +const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m.gbapal.lz"); -const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_m.gbapal.lz"); +const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m.gbapal.lz"); -const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/palettes/black_belt.gbapal.lz"); +const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt.4bpp.lz"); +const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt.gbapal.lz"); -const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_f.gbapal.lz"); +const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f.gbapal.lz"); -const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz"); +const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie.4bpp.lz"); +const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie.gbapal.lz"); -const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/palettes/hex_maniac.gbapal.lz"); +const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac.4bpp.lz"); +const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac.gbapal.lz"); -const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/palettes/aroma_lady.gbapal.lz"); +const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady.4bpp.lz"); +const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady.gbapal.lz"); -const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/palettes/ruin_maniac.gbapal.lz"); +const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac.4bpp.lz"); +const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac.gbapal.lz"); -const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/palettes/interviewer.gbapal.lz"); +const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer.4bpp.lz"); +const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer.gbapal.lz"); -const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/palettes/tuber_f.gbapal.lz"); +const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f.4bpp.lz"); +const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f.gbapal.lz"); -const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/palettes/tuber_m.gbapal.lz"); +const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m.4bpp.lz"); +const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m.gbapal.lz"); -const u32 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CoolTrainerF[] = INCBIN_U32("graphics/trainers/palettes/cooltrainer_f.gbapal.lz"); +const u32 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_f.4bpp.lz"); +const u32 gTrainerPalette_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_f.gbapal.lz"); -const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/palettes/lady.gbapal.lz"); +const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady.4bpp.lz"); +const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady.gbapal.lz"); -const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/palettes/beauty.gbapal.lz"); +const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty.4bpp.lz"); +const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty.gbapal.lz"); -const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/palettes/rich_boy.gbapal.lz"); +const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy.4bpp.lz"); +const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy.gbapal.lz"); -const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/palettes/expert_f.gbapal.lz"); +const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f.4bpp.lz"); +const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f.gbapal.lz"); -const u32 gTrainerFrontPic_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Pokemaniac[] = INCBIN_U32("graphics/trainers/palettes/pokemaniac.gbapal.lz"); +const u32 gTrainerFrontPic_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac.4bpp.lz"); +const u32 gTrainerPalette_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_f.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f.gbapal.lz"); -const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/palettes/guitarist.gbapal.lz"); +const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist.4bpp.lz"); +const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist.gbapal.lz"); -const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/palettes/kindler.gbapal.lz"); +const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler.4bpp.lz"); +const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler.gbapal.lz"); -const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/palettes/camper.gbapal.lz"); +const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper.4bpp.lz"); +const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper.gbapal.lz"); -const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/palettes/picnicker.gbapal.lz"); +const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker.4bpp.lz"); +const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker.gbapal.lz"); -const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/palettes/bug_maniac.gbapal.lz"); +const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac.4bpp.lz"); +const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m.gbapal.lz"); -const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/palettes/psychic_m.gbapal.lz"); +const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m.4bpp.lz"); +const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m.gbapal.lz"); -const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/palettes/psychic_f.gbapal.lz"); +const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f.4bpp.lz"); +const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f.gbapal.lz"); -const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/palettes/gentleman.gbapal.lz"); +const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman.4bpp.lz"); +const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/palettes/elite_four_sidney.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney.4bpp.lz"); +const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe.4bpp.lz"); +const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/palettes/elite_four_glacia.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia.4bpp.lz"); +const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/palettes/elite_four_drake.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake.4bpp.lz"); +const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/palettes/leader_roxanne.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne.4bpp.lz"); +const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/palettes/leader_brawly.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly.4bpp.lz"); +const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/palettes/leader_wattson.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson.4bpp.lz"); +const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/palettes/leader_flannery.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery.4bpp.lz"); +const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/palettes/leader_norman.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman.4bpp.lz"); +const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/palettes/leader_winona.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona.4bpp.lz"); +const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza.4bpp.lz"); +const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderJuan[] = INCBIN_U32("graphics/trainers/palettes/leader_juan.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan.4bpp.lz"); +const u32 gTrainerPalette_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan.gbapal.lz"); -const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/palettes/school_kid_m.gbapal.lz"); +const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m.gbapal.lz"); -const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/palettes/school_kid_f.gbapal.lz"); +const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f.gbapal.lz"); -const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/palettes/sr_and_jr.gbapal.lz"); +const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr.4bpp.lz"); +const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr.gbapal.lz"); -const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/palettes/pokefan_m.gbapal.lz"); +const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m.4bpp.lz"); +const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m.gbapal.lz"); -const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/palettes/pokefan_f.gbapal.lz"); +const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f.4bpp.lz"); +const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f.gbapal.lz"); -const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/palettes/youngster.gbapal.lz"); +const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster.4bpp.lz"); +const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster.gbapal.lz"); -const u32 gTrainerFrontPic_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ChampionWallace[] = INCBIN_U32("graphics/trainers/palettes/champion_wallace.gbapal.lz"); +const u32 gTrainerFrontPic_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace.4bpp.lz"); +const u32 gTrainerPalette_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace.gbapal.lz"); -const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/palettes/fisherman.gbapal.lz"); +const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman.4bpp.lz"); +const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman.gbapal.lz"); -const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz"); +const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m.gbapal.lz"); -const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz"); +const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f.gbapal.lz"); -const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_m.gbapal.lz"); +const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m.gbapal.lz"); -const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_f.gbapal.lz"); +const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f.gbapal.lz"); -const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz"); -const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/palettes/dragon_tamer.gbapal.lz"); +const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer.4bpp.lz"); +const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer.gbapal.lz"); -const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz"); -const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/palettes/ninja_boy.gbapal.lz"); +const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy.4bpp.lz"); +const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy.gbapal.lz"); -const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/palettes/battle_girl.gbapal.lz"); +const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl.4bpp.lz"); +const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl.gbapal.lz"); -const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/palettes/parasol_lady.gbapal.lz"); +const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady.4bpp.lz"); +const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/palettes/swimmer_f.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f.4bpp.lz"); +const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f.gbapal.lz"); -const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/palettes/twins.gbapal.lz"); +const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins.4bpp.lz"); +const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins.gbapal.lz"); -const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/palettes/sailor.gbapal.lz"); +const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor.4bpp.lz"); +const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaAdmin[] = INCBIN_U32("graphics/trainers/palettes/magma_admin.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin.4bpp.lz"); +const u32 gTrainerPalette_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin.gbapal.lz"); -const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally_front_pic.4bpp.lz"); +const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally.4bpp.lz"); const u32 gTrainerPalette_Wally[] = INCBIN_U32("graphics/trainers/palettes/wally.gbapal.lz"); -const u32 gTrainerFrontPic_Brendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan_front_pic.4bpp.lz"); +const u32 gTrainerFrontPic_Brendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan.4bpp.lz"); const u32 gTrainerPalette_Brendan[] = INCBIN_U32("graphics/trainers/palettes/brendan.gbapal.lz"); -const u32 gTrainerFrontPic_May[] = INCBIN_U32("graphics/trainers/front_pics/may_front_pic.4bpp.lz"); +const u32 gTrainerFrontPic_May[] = INCBIN_U32("graphics/trainers/front_pics/may.4bpp.lz"); const u32 gTrainerPalette_May[] = INCBIN_U32("graphics/trainers/palettes/may.gbapal.lz"); -const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/palettes/bug_catcher.gbapal.lz"); +const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher.4bpp.lz"); +const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie.4bpp.lz"); +const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie.gbapal.lz"); -const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/palettes/lass.gbapal.lz"); +const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass.4bpp.lz"); +const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass.gbapal.lz"); -const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz"); -const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/palettes/young_couple.gbapal.lz"); +const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple.4bpp.lz"); +const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple.gbapal.lz"); -const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz"); -const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/palettes/old_couple.gbapal.lz"); +const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple.4bpp.lz"); +const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple.gbapal.lz"); -const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/palettes/sis_and_bro.gbapal.lz"); +const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro.4bpp.lz"); +const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro.gbapal.lz"); -const u32 gTrainerFrontPic_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Steven[] = INCBIN_U32("graphics/trainers/palettes/steven.gbapal.lz"); +const u32 gTrainerFrontPic_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven.4bpp.lz"); +const u32 gTrainerPalette_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven.gbapal.lz"); -const u32 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/palettes/salon_maiden_anabel.gbapal.lz"); +const u32 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel.4bpp.lz"); +const u32 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel.gbapal.lz"); -const u32 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker_front_pic.4bpp.lz"); -const u32 gTrainerPalette_DomeAceTucker[] = INCBIN_U32("graphics/trainers/palettes/dome_ace_tucker.gbapal.lz"); +const u32 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker.4bpp.lz"); +const u32 gTrainerPalette_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker.gbapal.lz"); -const u32 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/palettes/palace_maven_spenser.gbapal.lz"); +const u32 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser.4bpp.lz"); +const u32 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser.gbapal.lz"); -const u32 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/palettes/arena_tycoon_greta.gbapal.lz"); +const u32 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta.4bpp.lz"); +const u32 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta.gbapal.lz"); -const u32 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland_front_pic.4bpp.lz"); -const u32 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/palettes/factory_head_noland.gbapal.lz"); +const u32 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland.4bpp.lz"); +const u32 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland.gbapal.lz"); -const u32 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/palettes/pike_queen_lucy.gbapal.lz"); +const u32 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy.4bpp.lz"); +const u32 gTrainerPalette_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy.gbapal.lz"); -const u32 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/palettes/pyramid_king_brandon.gbapal.lz"); +const u32 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon.4bpp.lz"); +const u32 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon.gbapal.lz"); -const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red.gbapal.lz"); +const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red.4bpp.lz"); +const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/front_pics/red.gbapal.lz"); -const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf.gbapal.lz"); +const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf.4bpp.lz"); +const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf.gbapal.lz"); -const u32 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz"); +const u32 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan_rs.4bpp.lz"); +const u32 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/palettes/brendan_rs.gbapal.lz"); -const u32 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RubySapphireMay[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz"); +const u32 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U32("graphics/trainers/front_pics/may_rs.4bpp.lz"); +const u32 gTrainerPalette_RubySapphireMay[] = INCBIN_U32("graphics/trainers/palettes/may_rs.gbapal.lz"); -const u8 gTrainerBackPic_Brendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan_back_pic.4bpp"); -const u8 gTrainerBackPic_May[] = INCBIN_U8("graphics/trainers/back_pics/may_back_pic.4bpp"); -const u8 gTrainerBackPic_Red[] = INCBIN_U8("graphics/trainers/back_pics/red_back_pic.4bpp"); -const u8 gTrainerBackPic_Leaf[] = INCBIN_U8("graphics/trainers/back_pics/leaf_back_pic.4bpp"); -const u8 gTrainerBackPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp"); -const u8 gTrainerBackPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp"); -const u8 gTrainerBackPic_Wally[] = INCBIN_U8("graphics/trainers/back_pics/wally_back_pic.4bpp"); -const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steven_back_pic.4bpp"); +const u8 gTrainerBackPic_Brendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan.4bpp"); +const u8 gTrainerBackPic_May[] = INCBIN_U8("graphics/trainers/back_pics/may.4bpp"); +const u8 gTrainerBackPic_Red[] = INCBIN_U8("graphics/trainers/back_pics/red.4bpp"); +const u8 gTrainerBackPic_Leaf[] = INCBIN_U8("graphics/trainers/back_pics/leaf.4bpp"); +const u8 gTrainerBackPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan_rs.4bpp"); +const u8 gTrainerBackPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/back_pics/may_rs.4bpp"); +const u8 gTrainerBackPic_Wally[] = INCBIN_U8("graphics/trainers/back_pics/wally.4bpp"); +const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steven.4bpp"); -const u32 gTrainerBackPicPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red_back_pic.gbapal.lz"); -const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf_back_pic.gbapal.lz"); +const u32 gTrainerBackPicPalette_Red[] = INCBIN_U32("graphics/trainers/back_pics/red.gbapal.lz"); +const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/back_pics/leaf.gbapal.lz"); From 584bfe022192f6e68ae202c40febc1dc7839db4e Mon Sep 17 00:00:00 2001 From: sbird Date: Tue, 6 Sep 2022 13:40:29 +0200 Subject: [PATCH 047/147] [debug] add support for mgba printf * adds support for mgba printf debugging as well as adding support for switching between debugging configuration * adds `mini_printf` as an alternative to libc printf as well as switches to choose a pretty printing handler * adds a pretty printing format to `mini_printf` to print preproc encoded strings --- include/config.h | 29 +++- include/gba/isagbprint.h | 72 ++++---- include/mini_printf.h | 52 ++++++ src/libisagbprn.c | 134 ++++++++++++++- src/main.c | 7 + src/mini_printf.c | 353 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 605 insertions(+), 42 deletions(-) create mode 100644 include/mini_printf.h create mode 100644 src/mini_printf.c diff --git a/include/config.h b/include/config.h index 5f2fa4d2c..4e2ee21bd 100644 --- a/include/config.h +++ b/include/config.h @@ -8,12 +8,31 @@ // Ruby's actual debug build does not use the AGBPrint features. #define NDEBUG -// To enable print debugging, comment out "#define NDEBUG". This allows +// To enable printf debugging, comment out "#define NDEBUG". This allows // the various AGBPrint functions to be used. (See include/gba/isagbprint.h). -// Some emulators support a debug console window: uncomment NoCashGBAPrint() -// and NoCashGBAPrintf() in libisagbprn.c to use no$gba's own proprietary -// printing system. Use NoCashGBAPrint() and NoCashGBAPrintf() like you -// would normally use AGBPrint() and AGBPrintf(). +// See below for enabling different pretty printing versions. + +#ifndef NDEBUG + +#define PRETTY_PRINT_MINI_PRINTF (0) +#define PRETTY_PRINT_LIBC (1) + +#define LOG_HANDLER_AGB_PRINT (0) +#define LOG_HANDLER_NOCASH_PRINT (1) +#define LOG_HANDLER_MGBA_PRINT (2) + +// Use this switch to choose a handler for pretty printing. +// NOTE: mini_printf supports a custom pretty printing formatter to display preproc encoded strings. (%S) +// some libc distributions (especially dkp arm-libc) will fail to link pretty printing. +#define PRETTY_PRINT_HANDLER (PRETTY_PRINT_MINI_PRINTF) + +// Use this switch to choose a handler for printf output. +// NOTE: These will only work on the respective emulators and should not be used in a productive environment. +// Some emulators or real hardware might (and is allowed to) crash if they are used. +// AGB_PRINT is supported on respective debug units. + +#define LOG_HANDLER (LOG_HANDLER_MGBA_PRINT) +#endif #define ENGLISH diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 13687825e..abe7fb210 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -1,36 +1,50 @@ #ifndef GUARD_GBA_ISAGBPRINT_H #define GUARD_GBA_ISAGBPRINT_H -#ifdef NDEBUG -#define AGBPrintInit() -#define AGBPutc(cChr) -#define AGBPrint(pBuf) -#define AGBPrintf(pBuf, ...) -#define AGBPrintFlush1Block() -#define AGBPrintFlush() -#define AGBAssert(pFile, nLine, pExpression, nStopProgram) -#else -void AGBPrintInit(void); -void AGBPutc(const char cChr); -void AGBPrint(const char *pBuf); -void AGBPrintf(const char *pBuf, ...); -void AGBPrintFlush1Block(void); -void AGBPrintFlush(void); -void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram); -#endif +#include "gba/types.h" -#undef AGB_ASSERT #ifdef NDEBUG +#define DebugPrintf(pBuf, ...) +#define MgbaOpen() +#define MgbaClose() #define AGB_ASSERT(exp) -#else -#define AGB_ASSERT(exp) (exp) ? ((void *)0) : AGBAssert(__FILE__, __LINE__, #exp, 1); -#endif - -#undef AGB_WARNING -#ifdef NDEBUG #define AGB_WARNING(exp) +#define AGBPrintInit() #else -#define AGB_WARNING(exp) (exp) ? ((void *)0) : AGBAssert(__FILE__, __LINE__, #exp, 0); +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) +bool32 MgbaOpen(void); +void MgbaClose(void); +void MgbaPrintf(const char *pBuf, ...); +void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); +#define DebugPrintf(pBuf, ...) MgbaPrintf(pBuf, __VA_ARGS__) +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : MgbaAssert(__FILE__, __LINE__, #exp, 1) +#define AGB_WARNING(exp) (exp) ? ((void*)0) : MgbaAssert(__FILE__, __LINE__, #exp, 0) + +// Not used in this configuration +#define AGBPrintfInit() +#elif (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) +void NoCashGBAPrintf(const char *pBuf, ...) +void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) +#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, __VA_ARGS__) +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, 1); +#define AGB_WARNING(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, 0) + +// Not used in this configuration +#define MgbaOpen() +#define MgbaClose() +#define AGBPrintInit() +#else // Default to AGBPrint +void AGBPrintf(const char *pBuf, ...); +void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram); +void AGBPrintInit(void); +#define DebugPrintf(pBuf, ...) AGBPrintf(const char *pBuf, ...) +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1) +#define AGB_WARNING(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, 0) + +// Not used in this configuration +#define MgbaOpen() +#define MgbaClose() +#endif #endif // for matching purposes @@ -38,13 +52,7 @@ void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopP #ifdef NDEBUG #define AGB_ASSERT_EX(exp, file, line) #else -#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void *)0) : AGBAssert(file, line, #exp, 1); -#endif - -#ifdef NDEBUG -#define AGB_WARNING_EX(exp, file, line) -#else -#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void *)0) : AGBAssert(file, line, #exp, 0); +#define AGB_ASSERT_EX(exp, file, line) AGB_ASSERT(exp); #endif #endif // GUARD_GBA_ISAGBPRINT_H diff --git a/include/mini_printf.h b/include/mini_printf.h new file mode 100644 index 000000000..a891327cc --- /dev/null +++ b/include/mini_printf.h @@ -0,0 +1,52 @@ +/* + * The Minimal snprintf() implementation + * + * Copyright (c) 2013 Michal Ludvig + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the auhor nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Courtey of https://github.com/mludvig/mini-printf + * stripped to reduce file size for agb needs + */ + +#ifndef __MINI_PRINTF__ +#define __MINI_PRINTF__ + +#include +#include "gba/types.h" + +#ifdef NDEBUG + +#define mini_vsnprintf(buffer, buffer_len, fmt, va) +#define mini_vpprintf(buf, fmt, va) + +#else + +s32 mini_vsnprintf(char* buffer, u32 buffer_len, const char *fmt, va_list va); +s32 mini_vpprintf(void* buf, const char *fmt, va_list va); + +#endif +#endif diff --git a/src/libisagbprn.c b/src/libisagbprn.c index 6fb9d5ec0..0dbaec157 100644 --- a/src/libisagbprn.c +++ b/src/libisagbprn.c @@ -2,6 +2,8 @@ #include #include "gba/gba.h" #include "config.h" +#include "malloc.h" +#include "mini_printf.h" #define AGB_PRINT_FLUSH_ADDR 0x9FE209D #define AGB_PRINT_STRUCT_ADDR 0x9FE20F8 @@ -14,6 +16,11 @@ #define NOCASHGBAPRINTADDR1 0x4FFFA10 // automatically adds a newline after the string has finished #define NOCASHGBAPRINTADDR2 0x4FFFA14 // does not automatically add the newline. by default, NOCASHGBAPRINTADDR2 is used. this is used to keep strings consistent between no$gba and VBA-RR, but a user can choose to forgo this. +// hardware extensions for LOG_HANDLER_MGBA_PRINT +#define REG_DEBUG_ENABLE ((vu16*) (0x4FFF780)) // handshake: (w)[0xC0DE] -> (r)[0x1DEA] +#define REG_DEBUG_FLAGS ((vu16*) (0x4FFF700)) +#define REG_DEBUG_STRING ((char*) (0x4FFF600)) + struct AGBPrintStruct { u16 m_nRequest; @@ -26,6 +33,8 @@ typedef void (*LPFN_PRINT_FLUSH)(void); #ifndef NDEBUG +// AGBPrint print functions +#if (LOG_HANDLER == LOG_HANDLER_AGB_PRINT) void AGBPrintFlush1Block(void); void AGBPrintInit(void) @@ -87,7 +96,13 @@ void AGBPrintf(const char *pBuf, ...) char bufPrint[0x100]; va_list vArgv; va_start(vArgv, pBuf); - vsprintf(bufPrint, pBuf, vArgv); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + mini_vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #else + #error "unspecified pretty printing handler." + #endif va_end(vArgv); AGBPrint(bufPrint); } @@ -155,9 +170,10 @@ void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopP AGBPrintf("WARING FILE=[%s] LINE=[%d] EXP=[%s] \n", pFile, nLine, pExpression); } } +#endif -// no$gba print functions, uncomment to use -/* +// no$gba print functions +#if (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) void NoCashGBAPrint(const char *pBuf) { *(volatile u32 *)NOCASHGBAPRINTADDR2 = (u32)pBuf; @@ -168,10 +184,118 @@ void NoCashGBAPrintf(const char *pBuf, ...) char bufPrint[0x100]; va_list vArgv; va_start(vArgv, pBuf); - vsprintf(bufPrint, pBuf, vArgv); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + mini_vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #else + #error "unspecified pretty printing handler." + #endif va_end(vArgv); NoCashGBAPrint(bufPrint); } -*/ +void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) +{ + if (nStopProgram) + { + NoCashGBAPrintf("ASSERTION FAILED FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + asm(".hword 0xEFFF"); + } + else + { + NoCashGBAPrintf("WARING FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + } +} +#endif + +// mgba print functions +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) +#define MGBA_PRINTF_BUFFER_SIZE (4096) + +#define MGBA_LOG_FATAL (0) +#define MGBA_LOG_ERROR (1) +#define MGBA_LOG_WARN (2) +#define MGBA_LOG_INFO (3) +#define MGBA_LOG_DEBUG (4) + +#define MGBA_REG_DEBUG_MAX (256) + +bool32 MgbaOpen(void) +{ + *REG_DEBUG_ENABLE = 0xC0DE; + return *REG_DEBUG_ENABLE == 0x1DEA; +} + +void MgbaClose(void) +{ + *REG_DEBUG_ENABLE = 0; +} + +static void MgbaPrintfBounded(s32 level, const char* ptr, ...) +{ + va_list args; + + level &= 0x7; + va_start(args, ptr); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + mini_vsnprintf(REG_DEBUG_STRING, MGBA_REG_DEBUG_MAX, ptr, args); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + vsnprintf(REG_DEBUG_STRING, MGBA_REG_DEBUG_MAX, ptr, args); + #else + #error "unspecified pretty printing handler." + #endif + va_end(args); + *REG_DEBUG_FLAGS = level | 0x100; +} + +void MgbaPrintf(const char* ptr, ...) +{ + va_list args; + u32 offset = 0; + u32 n = 0; + u32 i; + char *buffer = Alloc(MGBA_PRINTF_BUFFER_SIZE); + AGB_ASSERT(buffer != NULL); + + va_start(args, ptr); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + n = mini_vsnprintf(buffer, MGBA_PRINTF_BUFFER_SIZE, ptr, args); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + n = vsnprintf(buffer, MGBA_PRINTF_BUFFER_SIZE, ptr, args); + #else + #error "unspecified pretty printing handler." + #endif + va_end(args); + + AGB_ASSERT(n < MGBA_PRINTF_BUFFER_SIZE); + + do + { + for (i = 0; i < MGBA_REG_DEBUG_MAX; ++i) + { + REG_DEBUG_STRING[i] = buffer[offset + i]; + if (buffer[offset + i] == 0) + break; + } + offset += i; + *REG_DEBUG_FLAGS = MGBA_LOG_INFO | 0x100; + } while ((i == MGBA_REG_DEBUG_MAX) && (buffer[offset] != '\0')); + + Free(buffer); +} + +void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) +{ + if (nStopProgram) + { + MgbaPrintfBounded(MGBA_LOG_ERROR, "ASSERTION FAILED FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + asm(".hword 0xEFFF"); + } + else + { + MgbaPrintfBounded(MGBA_LOG_WARN, "WARING FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + } +} +#endif #endif diff --git a/src/main.c b/src/main.c index 5fd236447..a0ff6452a 100644 --- a/src/main.c +++ b/src/main.c @@ -119,6 +119,13 @@ void AgbMain() gLinkTransferringData = FALSE; sUnusedVar = 0xFC0; +#ifndef NDEBUG +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) + (void) MgbaOpen(); +#elif (LOG_HANDLER == LOG_HANDLER_AGB_PRINT) + AGBPrintfInit(); +#endif +#endif for (;;) { ReadKeys(); diff --git a/src/mini_printf.c b/src/mini_printf.c new file mode 100644 index 000000000..8345a3935 --- /dev/null +++ b/src/mini_printf.c @@ -0,0 +1,353 @@ +/* + * The Minimal snprintf() implementation + * + * Copyright (c) 2013,2014 Michal Ludvig + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the auhor nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * mini-printf courtesy of https://github.com/mludvig/mini-printf + * stripped to reduce file size for agb needs + */ + +#include "mini_printf.h" +#include "gba/types.h" +#include "gba/defines.h" +#include "config.h" +#include "characters.h" +#include "string_util.h" + +#ifndef NDEBUG + +struct mini_buff +{ + char *buffer, *pbuffer; + u32 buffer_len; +}; + +static inline char mini_pchar_decode(char encoded) +{ + char ret = '?'; + if (encoded >= CHAR_a && encoded <= CHAR_z) + ret = encoded-(CHAR_a-'a'); // lower-case characters + else if (encoded >= CHAR_A && encoded <= CHAR_Z) + ret = encoded-(CHAR_A-'A'); // upper-case characters + else if (encoded >= CHAR_0 && encoded <= CHAR_9) + ret = encoded-(CHAR_0-'0'); // numbers + else if (encoded == CHAR_SPACE) + ret = ' '; // space + else if (encoded == CHAR_EXCL_MARK) + ret = '!'; // exclamation point + else if (encoded == CHAR_QUESTION_MARK) + ret = '?'; // question mark + else if (encoded == CHAR_PERIOD) + ret = '.'; // period + else if (encoded == CHAR_DBL_QUOTE_LEFT || encoded == CHAR_DBL_QUOTE_RIGHT) + ret = '"'; // double quote + else if (encoded == CHAR_SGL_QUOTE_LEFT || encoded == CHAR_SGL_QUOTE_RIGHT) + ret = '\''; // single quote + else if (encoded == CHAR_CURRENCY) + ret = '$'; // currency mark (pokemonies in game, dollar sign in logs) + else if (encoded == CHAR_COMMA) + ret = ','; // comma + else if (encoded == CHAR_MULT_SIGN) + ret = '#'; // pound, hashtag, octothorpe, whatever + else if (encoded == CHAR_SLASH) + ret = '/'; // slash + else if (encoded == CHAR_LESS_THAN) + ret = '<'; // less than sign + else if (encoded == CHAR_GREATER_THAN) + ret = '>'; // greater than sign + else if (encoded == CHAR_PERCENT) + ret = '%'; // percentage + else if (encoded == CHAR_LEFT_PAREN) + ret = '('; // opening parentheses + else if (encoded == CHAR_RIGHT_PAREN) + ret = ')'; // closing parentheses + return ret; +} + +static s32 _putsAscii(char *s, s32 len, void *buf) +{ + char *p0; + s32 i; + struct mini_buff *b; + + if (!buf) + return len; + + b = buf; + p0 = b->buffer; + + /* Copy to buffer */ + for (i = 0; i < len; i++) { + if(b->pbuffer == b->buffer + b->buffer_len - 1) { + break; + } + *(b->pbuffer ++) = s[i]; + } + *(b->pbuffer) = 0; + return b->pbuffer - p0; +} + +static s32 _putsEncoded(char *s, s32 len, void *buf) +{ + char *p0; + s32 i; + struct mini_buff *b; + + if (!buf) + return len; + + b = buf; + p0 = b->buffer; + + /* Copy to buffer */ + for (i = 0; i < len; i++) { + if(b->pbuffer == b->buffer + b->buffer_len - 1) { + break; + } + *(b->pbuffer ++) = mini_pchar_decode(s[i]); + } + *(b->pbuffer) = 0; + return b->pbuffer - p0; +} + +static s32 mini_strlen(const char *s) +{ + s32 len = 0; + while (s[len] != '\0') len++; + return len; +} + +static s32 mini_itoa(u32 value, u32 radix, s32 uppercase, bool32 unsig, char *buffer) +{ + char *pbuffer = buffer; + s32 negative = 0; + s32 i, len; + + /* No support for unusual radixes. */ + if (radix > 16) + return 0; + + if (value < 0 && !unsig) + { + negative = 1; + value = -value; + } + + /* This builds the string back to front ... */ + do + { + s32 digit = value % radix; + *(pbuffer++) = (digit < 10 ? '0' + digit : (uppercase ? 'A' : 'a') + digit - 10); + value /= radix; + } while (value > 0); + + if (negative) + *(pbuffer++) = '-'; + + *(pbuffer) = '\0'; + + /* ... now we reverse it (could do it recursively but will + * conserve the stack space) */ + len = (pbuffer - buffer); + for (i = 0; i < len / 2; i++) + { + char j = buffer[i]; + buffer[i] = buffer[len-i-1]; + buffer[len-i-1] = j; + } + + return len; +} + +static s32 mini_pad(char* ptr, s32 len, char pad_char, s32 pad_to, char *buffer) +{ + s32 i; + bool32 overflow = FALSE; + char * pbuffer = buffer; + if(pad_to == 0) + pad_to = len; + if (len > pad_to) { + len = pad_to; + overflow = TRUE; + } + for(i = pad_to - len; i > 0; i --) + { + *(pbuffer++) = pad_char; + } + for(i = len; i > 0; i --) + { + *(pbuffer++) = *(ptr++); + } + len = pbuffer - buffer; + if(overflow) + { + for (i = 0; i < 3 && pbuffer > buffer; i ++) + { + *(pbuffer-- - 1) = '*'; + } + } + return len; +} + +s32 mini_vsnprintf(char *buffer, u32 buffer_len, const char *fmt, va_list va) +{ + struct mini_buff b; + s32 n; + b.buffer = buffer; + b.pbuffer = buffer; + b.buffer_len = buffer_len; + if (buffer_len == 0) + buffer = NULL; + n = mini_vpprintf((buffer != NULL) ? &b : NULL, fmt, va); + if (buffer == NULL) + return n; + return b.pbuffer - b.buffer; +} + +s32 mini_vpprintf(void* buf, const char *fmt, va_list va) +{ + char bf[24]; + char bf2[24]; + char ch; + s32 n; + n = 0; + while ((ch=*(fmt++))) + { + s32 len; + if (ch != '%') + { + len = 1; + len = _putsAscii(&ch, len, buf); + } else + { + char pad_char = ' '; + s32 pad_to = 0; + char l = 0; + char *ptr; + + ch=*(fmt++); + + /* Zero padding requested */ + if (ch == '0') + pad_char = '0'; + while (ch >= '0' && ch <= '9') + { + pad_to = pad_to * 10 + (ch - '0'); + ch= *(fmt++); + } + if(pad_to > (s32) sizeof(bf)) + { + pad_to = sizeof(bf); + } + if (ch == 'l') + { + l = 1; + ch=*(fmt++); + } + + switch (ch) + { + case 0: + goto end; + case 'u': + case 'd': + if(l) + { + len = mini_itoa(va_arg(va, u32), 10, 0, (ch=='u'), bf2); + } else + { + if(ch == 'u') + { + len = mini_itoa((u32) va_arg(va, u32), 10, 0, 1, bf2); + } + else + { + len = mini_itoa((s32) va_arg(va, s32), 10, 0, 0, bf2); + } + } + len = mini_pad(bf2, len, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + break; + + case 'x': + case 'X': + if(l) + { + len = mini_itoa(va_arg(va, u32), 16, (ch=='X'), 1, bf2); + } + else + { + len = mini_itoa((u32) va_arg(va, u32), 16, (ch=='X'), 1, bf2); + } + len = mini_pad(bf2, len, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + break; + + case 'c' : + ch = (char)(va_arg(va, s32)); + len = mini_pad(&ch, 1, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + break; + + case 's' : + ptr = va_arg(va, char*); + len = mini_strlen(ptr); + if (pad_to > 0) + { + len = mini_pad(ptr, len, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + } else + { + len = _putsAscii(ptr, len, buf); + } + break; + case 'S' : // preproc encoded string handler + ptr = va_arg(va, char*); + len = StringLength(ptr); + if (pad_to > 0) + { + len = mini_pad(ptr, len, pad_char, pad_to, bf); + len = _putsEncoded(bf, len, buf); + } else + { + len = _putsEncoded(ptr, len, buf); + } + break; + default: + len = 1; + len = _putsAscii(&ch, len, buf); + break; + } + } + n = n + len; + } +end: + return n; +} + +#endif From 12bb32666b558c3b5b68c7652f03d87483d272a6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 6 Sep 2022 17:05:56 -0400 Subject: [PATCH 048/147] Aligned FRONTIER_MONS trainer macros with the rest for consistency --- .../battle_frontier_trainer_mons.h | 198 +++++++++--------- 1 file changed, 99 insertions(+), 99 deletions(-) diff --git a/src/data/battle_frontier/battle_frontier_trainer_mons.h b/src/data/battle_frontier/battle_frontier_trainer_mons.h index efd9ef84d..625a60265 100644 --- a/src/data/battle_frontier/battle_frontier_trainer_mons.h +++ b/src/data/battle_frontier/battle_frontier_trainer_mons.h @@ -1,67 +1,67 @@ // Also used by early Pkmn Breeder, Collector, and Beauty trainers #define FRONTIER_MONS_YOUNGSTER_LASS_1 \ - FRONTIER_MON_SUNKERN, \ - FRONTIER_MON_AZURILL, \ - FRONTIER_MON_CATERPIE, \ - FRONTIER_MON_WEEDLE, \ - FRONTIER_MON_WURMPLE, \ - FRONTIER_MON_RALTS, \ - FRONTIER_MON_MAGIKARP, \ - FRONTIER_MON_FEEBAS, \ - FRONTIER_MON_PICHU, \ - FRONTIER_MON_IGGLYBUFF, \ - FRONTIER_MON_WOOPER, \ - FRONTIER_MON_TYROGUE, \ - FRONTIER_MON_SENTRET, \ - FRONTIER_MON_CLEFFA, \ - FRONTIER_MON_SEEDOT, \ - FRONTIER_MON_LOTAD, \ - FRONTIER_MON_POOCHYENA, \ - FRONTIER_MON_SHEDINJA, \ - FRONTIER_MON_MAKUHITA, \ - FRONTIER_MON_WHISMUR, \ - FRONTIER_MON_ZIGZAGOON, \ - FRONTIER_MON_ZUBAT, \ - FRONTIER_MON_TOGEPI, \ - FRONTIER_MON_SPINARAK, \ - FRONTIER_MON_MARILL, \ - FRONTIER_MON_HOPPIP, \ - FRONTIER_MON_SLUGMA, \ - FRONTIER_MON_SWINUB, \ - FRONTIER_MON_SMEARGLE, \ - FRONTIER_MON_PIDGEY, \ - FRONTIER_MON_RATTATA, \ - FRONTIER_MON_WYNAUT, \ - FRONTIER_MON_SKITTY, \ - FRONTIER_MON_SPEAROW, \ - FRONTIER_MON_HOOTHOOT, \ - FRONTIER_MON_DIGLETT, \ - FRONTIER_MON_LEDYBA, \ - FRONTIER_MON_NINCADA, \ - FRONTIER_MON_SURSKIT, \ - FRONTIER_MON_JIGGLYPUFF, \ - FRONTIER_MON_TAILLOW, \ - FRONTIER_MON_WINGULL, \ - FRONTIER_MON_NIDORAN_M, \ - FRONTIER_MON_NIDORAN_F, \ - FRONTIER_MON_KIRLIA, \ - FRONTIER_MON_MAREEP, \ - FRONTIER_MON_MEDITITE, \ - FRONTIER_MON_SLAKOTH, \ - FRONTIER_MON_PARAS, \ - FRONTIER_MON_EKANS, \ - FRONTIER_MON_DITTO, \ - FRONTIER_MON_BARBOACH, \ - FRONTIER_MON_MEOWTH, \ - FRONTIER_MON_PINECO, \ - FRONTIER_MON_TRAPINCH, \ - FRONTIER_MON_SPHEAL, \ - FRONTIER_MON_HORSEA, \ - FRONTIER_MON_SHROOMISH, \ - FRONTIER_MON_SHUPPET, \ - FRONTIER_MON_DUSKULL, \ - FRONTIER_MON_ELECTRIKE, \ - FRONTIER_MON_VULPIX, \ + FRONTIER_MON_SUNKERN, \ + FRONTIER_MON_AZURILL, \ + FRONTIER_MON_CATERPIE, \ + FRONTIER_MON_WEEDLE, \ + FRONTIER_MON_WURMPLE, \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_MAGIKARP, \ + FRONTIER_MON_FEEBAS, \ + FRONTIER_MON_PICHU, \ + FRONTIER_MON_IGGLYBUFF, \ + FRONTIER_MON_WOOPER, \ + FRONTIER_MON_TYROGUE, \ + FRONTIER_MON_SENTRET, \ + FRONTIER_MON_CLEFFA, \ + FRONTIER_MON_SEEDOT, \ + FRONTIER_MON_LOTAD, \ + FRONTIER_MON_POOCHYENA, \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_MAKUHITA, \ + FRONTIER_MON_WHISMUR, \ + FRONTIER_MON_ZIGZAGOON, \ + FRONTIER_MON_ZUBAT, \ + FRONTIER_MON_TOGEPI, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_MARILL, \ + FRONTIER_MON_HOPPIP, \ + FRONTIER_MON_SLUGMA, \ + FRONTIER_MON_SWINUB, \ + FRONTIER_MON_SMEARGLE, \ + FRONTIER_MON_PIDGEY, \ + FRONTIER_MON_RATTATA, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_SKITTY, \ + FRONTIER_MON_SPEAROW, \ + FRONTIER_MON_HOOTHOOT, \ + FRONTIER_MON_DIGLETT, \ + FRONTIER_MON_LEDYBA, \ + FRONTIER_MON_NINCADA, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_JIGGLYPUFF, \ + FRONTIER_MON_TAILLOW, \ + FRONTIER_MON_WINGULL, \ + FRONTIER_MON_NIDORAN_M, \ + FRONTIER_MON_NIDORAN_F, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MAREEP, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_SLAKOTH, \ + FRONTIER_MON_PARAS, \ + FRONTIER_MON_EKANS, \ + FRONTIER_MON_DITTO, \ + FRONTIER_MON_BARBOACH, \ + FRONTIER_MON_MEOWTH, \ + FRONTIER_MON_PINECO, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_SPHEAL, \ + FRONTIER_MON_HORSEA, \ + FRONTIER_MON_SHROOMISH, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_ELECTRIKE, \ + FRONTIER_MON_VULPIX, \ -1 // Also used by early Pkmn Breeder, Collector, and Beauty trainers @@ -113,43 +113,43 @@ -1 #define FRONTIER_MONS_RICH_BOY_LADY_1 \ - FRONTIER_MON_RALTS, \ - FRONTIER_MON_POOCHYENA, \ - FRONTIER_MON_SHEDINJA, \ - FRONTIER_MON_ZUBAT, \ - FRONTIER_MON_SPINARAK, \ - FRONTIER_MON_WYNAUT, \ - FRONTIER_MON_NIDORAN_M, \ - FRONTIER_MON_NIDORAN_F, \ - FRONTIER_MON_KIRLIA, \ - FRONTIER_MON_MEDITITE, \ - FRONTIER_MON_EKANS, \ - FRONTIER_MON_SHUPPET, \ - FRONTIER_MON_DUSKULL, \ - FRONTIER_MON_BELLSPROUT, \ - FRONTIER_MON_BALTOY, \ - FRONTIER_MON_BELDUM, \ - FRONTIER_MON_GULPIN, \ - FRONTIER_MON_VENONAT, \ - FRONTIER_MON_SMOOCHUM, \ - FRONTIER_MON_ABRA, \ - FRONTIER_MON_GASTLY, \ - FRONTIER_MON_SLOWPOKE, \ - FRONTIER_MON_BULBASAUR, \ - FRONTIER_MON_ODDISH, \ - FRONTIER_MON_NATU, \ - FRONTIER_MON_GRIMER, \ - FRONTIER_MON_EXEGGCUTE, \ - FRONTIER_MON_DROWZEE, \ - FRONTIER_MON_HOUNDOUR, \ - FRONTIER_MON_SPOINK, \ - FRONTIER_MON_TENTACOOL, \ - FRONTIER_MON_KOFFING, \ - FRONTIER_MON_NIDORINA, \ - FRONTIER_MON_NIDORINO, \ - FRONTIER_MON_BEEDRILL, \ - FRONTIER_MON_DUSTOX, \ - FRONTIER_MON_ARIADOS, \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_POOCHYENA, \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_ZUBAT, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_NIDORAN_M, \ + FRONTIER_MON_NIDORAN_F, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_EKANS, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_BELLSPROUT, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_GULPIN, \ + FRONTIER_MON_VENONAT, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_ABRA, \ + FRONTIER_MON_GASTLY, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_BULBASAUR, \ + FRONTIER_MON_ODDISH, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_GRIMER, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_DROWZEE, \ + FRONTIER_MON_HOUNDOUR, \ + FRONTIER_MON_SPOINK, \ + FRONTIER_MON_TENTACOOL, \ + FRONTIER_MON_KOFFING, \ + FRONTIER_MON_NIDORINA, \ + FRONTIER_MON_NIDORINO, \ + FRONTIER_MON_BEEDRILL, \ + FRONTIER_MON_DUSTOX, \ + FRONTIER_MON_ARIADOS, \ -1 // Also used by early Pkmn Breeder, Collector, and Beauty trainers From 3a0759d458a711196739a7397248cdf1d34069e9 Mon Sep 17 00:00:00 2001 From: sbird Date: Wed, 7 Sep 2022 14:37:03 +0200 Subject: [PATCH 049/147] [doc] fix misnamed dma <--> aslr --- include/load_save.h | 18 +++++++++--------- src/load_save.c | 10 +++++----- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/load_save.h b/include/load_save.h index 309e62e2b..389bd5a2b 100644 --- a/include/load_save.h +++ b/include/load_save.h @@ -10,24 +10,24 @@ * toolchains. If this is not done, the ClearSav functions will end up erasing * the wrong memory leading to various glitches. */ -struct SaveBlock2DMA { +struct SaveBlock2ASLR { struct SaveBlock2 block; - u8 dma[SAVEBLOCK_MOVE_RANGE]; + u8 aslr[SAVEBLOCK_MOVE_RANGE]; }; -struct SaveBlock1DMA { +struct SaveBlock1ASLR { struct SaveBlock1 block; - u8 dma[SAVEBLOCK_MOVE_RANGE]; + u8 aslr[SAVEBLOCK_MOVE_RANGE]; }; -struct PokemonStorageDMA { +struct PokemonStorageASLR { struct PokemonStorage block; - u8 dma[SAVEBLOCK_MOVE_RANGE]; + u8 aslr[SAVEBLOCK_MOVE_RANGE]; }; -extern struct SaveBlock1DMA gSaveblock1; -extern struct SaveBlock2DMA gSaveblock2; -extern struct PokemonStorageDMA gPokemonStorage; +extern struct SaveBlock1ASLR gSaveblock1; +extern struct SaveBlock2ASLR gSaveblock2; +extern struct PokemonStorageASLR gPokemonStorage; extern bool32 gFlashMemoryPresent; extern struct SaveBlock1 *gSaveBlock1Ptr; diff --git a/src/load_save.c b/src/load_save.c index 494a61bcf..44e08b5e9 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -29,9 +29,9 @@ struct LoadedSaveData }; // EWRAM DATA -EWRAM_DATA struct SaveBlock2DMA gSaveblock2 = {0}; -EWRAM_DATA struct SaveBlock1DMA gSaveblock1 = {0}; -EWRAM_DATA struct PokemonStorageDMA gPokemonStorage = {0}; +EWRAM_DATA struct SaveBlock2ASLR gSaveblock2 = {0}; +EWRAM_DATA struct SaveBlock1ASLR gSaveblock1 = {0}; +EWRAM_DATA struct PokemonStorageASLR gPokemonStorage = {0}; EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0}; EWRAM_DATA u32 gLastEncryptionKey = 0; @@ -58,12 +58,12 @@ void CheckForFlashMemory(void) void ClearSav2(void) { - CpuFill16(0, &gSaveblock2, sizeof(struct SaveBlock2DMA)); + CpuFill16(0, &gSaveblock2, sizeof(struct SaveBlock2ASLR)); } void ClearSav1(void) { - CpuFill16(0, &gSaveblock1, sizeof(struct SaveBlock1DMA)); + CpuFill16(0, &gSaveblock1, sizeof(struct SaveBlock1ASLR)); } // Offset is the sum of the trainer id bytes From 05c13614c64ecc79b4aabf455e0c073a9f9424ae Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 7 Sep 2022 13:41:48 -0300 Subject: [PATCH 050/147] Undefined temporary preproc macro HIBYTE --- src/pokeball.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pokeball.c b/src/pokeball.c index b9f63e580..2633fd574 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -977,6 +977,8 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite) } } +#undef HIBYTE + static void SpriteCB_ReleaseMon2FromBall(struct Sprite *sprite) { if (sprite->data[0]++ > 24) From d58af1ba9217963706cefbae06a0eb0999ccd441 Mon Sep 17 00:00:00 2001 From: Jaizu Date: Thu, 8 Sep 2022 10:38:52 +0200 Subject: [PATCH 051/147] Fix 'y' actually being 'x' in CreatePCMultichoice --- src/script_menu.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/script_menu.c b/src/script_menu.c index d25f28cb2..6633332f3 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -328,7 +328,7 @@ bool16 ScriptMenu_CreatePCMultichoice(void) static void CreatePCMultichoice(void) { - u8 y = 8; + u8 x = 8; u32 pixelWidth = 0; u8 width; u8 numChoices; @@ -353,25 +353,25 @@ static void CreatePCMultichoice(void) numChoices = 4; windowId = CreateWindowFromRect(0, 0, width, 8); SetStandardWindowBorderStyle(windowId, FALSE); - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_HallOfFame, y, 33, TEXT_SKIP_DRAW, NULL); - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LogOff, y, 49, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_HallOfFame, x, 33, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LogOff, x, 49, TEXT_SKIP_DRAW, NULL); } else { numChoices = 3; windowId = CreateWindowFromRect(0, 0, width, 6); SetStandardWindowBorderStyle(windowId, FALSE); - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LogOff, y, 33, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LogOff, x, 33, TEXT_SKIP_DRAW, NULL); } // Change PC name if player has met Lanette if (FlagGet(FLAG_SYS_PC_LANETTE)) - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LanettesPC, y, 1, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_LanettesPC, x, 1, TEXT_SKIP_DRAW, NULL); else - AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_SomeonesPC, y, 1, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_SomeonesPC, x, 1, TEXT_SKIP_DRAW, NULL); StringExpandPlaceholders(gStringVar4, gText_PlayersPC); - PrintPlayerNameOnWindow(windowId, gStringVar4, y, 17); + PrintPlayerNameOnWindow(windowId, gStringVar4, x, 17); InitMenuInUpperLeftCornerNormal(windowId, numChoices, 0); CopyWindowToVram(windowId, COPYWIN_FULL); InitMultichoiceCheckWrap(FALSE, numChoices, windowId, MULTI_PC); From 1fa9bc1b5c5a2eed1f88462757968c3f8d1cb26b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 8 Sep 2022 18:32:01 -0400 Subject: [PATCH 052/147] Adjusted style of coords tables --- .../pokemon_graphics/back_pic_coordinates.h | 2640 +++-------------- .../pokemon_graphics/front_pic_coordinates.h | 2640 +++-------------- 2 files changed, 880 insertions(+), 4400 deletions(-) diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index addb48285..43986dd9b 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -4,2205 +4,445 @@ // .y_offset is the number of pixels between the drawn pixel area and the bottom edge. const struct MonCoords gMonBackPicCoords[] = { - [SPECIES_NONE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_BULBASAUR] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 16, - }, - [SPECIES_IVYSAUR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_VENUSAUR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_CHARMANDER] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_CHARMELEON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_CHARIZARD] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SQUIRTLE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_WARTORTLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_BLASTOISE] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_CATERPIE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_METAPOD] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_BUTTERFREE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_WEEDLE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_KAKUNA] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_BEEDRILL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_PIDGEY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_PIDGEOTTO] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 12, - }, - [SPECIES_PIDGEOT] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_RATTATA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_RATICATE] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_SPEAROW] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_FEAROW] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_EKANS] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_ARBOK] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_PIKACHU] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_RAICHU] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_SANDSHREW] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_SANDSLASH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_NIDORAN_F] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_NIDORINA] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_NIDOQUEEN] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_NIDORAN_M] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_NIDORINO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_NIDOKING] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_CLEFAIRY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_CLEFABLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_VULPIX] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_NINETALES] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_JIGGLYPUFF] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_WIGGLYTUFF] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_ZUBAT] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_GOLBAT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_ODDISH] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_GLOOM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_VILEPLUME] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_PARAS] = - { - .size = MON_COORDS_SIZE(48, 24), - .y_offset = 20, - }, - [SPECIES_PARASECT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_VENONAT] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_VENOMOTH] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_DIGLETT] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_DUGTRIO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_MEOWTH] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_PERSIAN] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_PSYDUCK] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_GOLDUCK] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_MANKEY] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_PRIMEAPE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_GROWLITHE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_ARCANINE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_POLIWAG] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 16, - }, - [SPECIES_POLIWHIRL] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_POLIWRATH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_ABRA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_KADABRA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_ALAKAZAM] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_MACHOP] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_MACHOKE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_MACHAMP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_BELLSPROUT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_WEEPINBELL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_VICTREEBEL] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_TENTACOOL] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_TENTACRUEL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_GEODUDE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_GRAVELER] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 12, - }, - [SPECIES_GOLEM] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 16, - }, - [SPECIES_PONYTA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_RAPIDASH] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_SLOWPOKE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_SLOWBRO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_MAGNEMITE] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 20, - }, - [SPECIES_MAGNETON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_FARFETCHD] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DODUO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_DODRIO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SEEL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DEWGONG] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_GRIMER] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 12, - }, - [SPECIES_MUK] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_SHELLDER] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_CLOYSTER] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_GASTLY] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_HAUNTER] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_GENGAR] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_ONIX] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_DROWZEE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_HYPNO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_KRABBY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_KINGLER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_VOLTORB] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_ELECTRODE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_EXEGGCUTE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_EXEGGUTOR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_CUBONE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_MAROWAK] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_HITMONLEE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_HITMONCHAN] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_LICKITUNG] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_KOFFING] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_WEEZING] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_RHYHORN] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 12, - }, - [SPECIES_RHYDON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_CHANSEY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_TANGELA] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_KANGASKHAN] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_HORSEA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SEADRA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_GOLDEEN] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_SEAKING] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_STARYU] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_STARMIE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_MR_MIME] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_SCYTHER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_JYNX] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_ELECTABUZZ] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MAGMAR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_PINSIR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_TAUROS] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_MAGIKARP] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_GYARADOS] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_LAPRAS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_DITTO] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_EEVEE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_VAPOREON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_JOLTEON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_FLAREON] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_PORYGON] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_OMANYTE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_OMASTAR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_KABUTO] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_KABUTOPS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_AERODACTYL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SNORLAX] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_ARTICUNO] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_ZAPDOS] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_MOLTRES] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_DRATINI] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_DRAGONAIR] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_DRAGONITE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_MEWTWO] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 1, - }, - [SPECIES_MEW] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_CHIKORITA] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_BAYLEEF] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MEGANIUM] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_CYNDAQUIL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_QUILAVA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_TYPHLOSION] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_TOTODILE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_CROCONAW] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_FERALIGATR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SENTRET] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_FURRET] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_HOOTHOOT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_NOCTOWL] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 3, - }, - [SPECIES_LEDYBA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_LEDIAN] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_SPINARAK] = - { - .size = MON_COORDS_SIZE(56, 24), - .y_offset = 21, - }, - [SPECIES_ARIADOS] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_CROBAT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_CHINCHOU] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_LANTURN] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_PICHU] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_CLEFFA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_IGGLYBUFF] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_TOGEPI] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_TOGETIC] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_NATU] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_XATU] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_MAREEP] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_FLAAFFY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_AMPHAROS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_BELLOSSOM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_MARILL] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 12, - }, - [SPECIES_AZUMARILL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SUDOWOODO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_POLITOED] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_HOPPIP] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SKIPLOOM] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_JUMPLUFF] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_AIPOM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SUNKERN] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_SUNFLORA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_YANMA] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_WOOPER] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_QUAGSIRE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_ESPEON] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_UMBREON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_MURKROW] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SLOWKING] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MISDREAVUS] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN] = - { - .size = MON_COORDS_SIZE(24, 48), - .y_offset = 8, - }, - [SPECIES_WOBBUFFET] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 12, - }, - [SPECIES_GIRAFARIG] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_PINECO] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_FORRETRESS] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 16, - }, - [SPECIES_DUNSPARCE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_GLIGAR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_STEELIX] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SNUBBULL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_GRANBULL] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_QWILFISH] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_SCIZOR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_SHUCKLE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_HERACROSS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_SNEASEL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_TEDDIURSA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_URSARING] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_SLUGMA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MAGCARGO] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_SWINUB] = - { - .size = MON_COORDS_SIZE(48, 24), - .y_offset = 21, - }, - [SPECIES_PILOSWINE] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_CORSOLA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_REMORAID] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_OCTILLERY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DELIBIRD] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_MANTINE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_SKARMORY] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_HOUNDOUR] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_HOUNDOOM] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_KINGDRA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_PHANPY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_DONPHAN] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_PORYGON2] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_STANTLER] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_SMEARGLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_TYROGUE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_HITMONTOP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_SMOOCHUM] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_ELEKID] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_MAGBY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_MILTANK] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_BLISSEY] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_RAIKOU] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_ENTEI] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_SUICUNE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_LARVITAR] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_PUPITAR] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_TYRANITAR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_LUGIA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_HO_OH] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_CELEBI] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_OLD_UNOWN_B] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_C] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_D] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_E] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_F] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_G] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_H] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_I] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_J] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_K] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_L] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_M] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_N] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_O] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_P] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_Q] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_R] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_S] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_T] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_U] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_V] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_W] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_X] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_Y] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_OLD_UNOWN_Z] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_TREECKO] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_GROVYLE] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SCEPTILE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_TORCHIC] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_COMBUSKEN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_BLAZIKEN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_MUDKIP] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_MARSHTOMP] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SWAMPERT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_POOCHYENA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_MIGHTYENA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_ZIGZAGOON] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_LINOONE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_WURMPLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_SILCOON] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 21, - }, - [SPECIES_BEAUTIFLY] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CASCOON] = - { - .size = MON_COORDS_SIZE(56, 24), - .y_offset = 20, - }, - [SPECIES_DUSTOX] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 20, - }, - [SPECIES_LOTAD] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 15, - }, - [SPECIES_LOMBRE] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_LUDICOLO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SEEDOT] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_NUZLEAF] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_SHIFTRY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_NINCADA] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 20, - }, - [SPECIES_NINJASK] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SHEDINJA] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_TAILLOW] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 17, - }, - [SPECIES_SWELLOW] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SHROOMISH] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_BRELOOM] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SPINDA] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_WINGULL] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_PELIPPER] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_SURSKIT] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_MASQUERAIN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_WAILMER] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 21, - }, - [SPECIES_WAILORD] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 22, - }, - [SPECIES_SKITTY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_DELCATTY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_KECLEON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_BALTOY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_CLAYDOL] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_NOSEPASS] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 12, - }, - [SPECIES_TORKOAL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SABLEYE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_BARBOACH] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_WHISCASH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_LUVDISC] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_CORPHISH] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_CRAWDAUNT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_FEEBAS] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_MILOTIC] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 2, - }, - [SPECIES_CARVANHA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_SHARPEDO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_TRAPINCH] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 14, - }, - [SPECIES_VIBRAVA] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 17, - }, - [SPECIES_FLYGON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_MAKUHITA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_HARIYAMA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_ELECTRIKE] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 16, - }, - [SPECIES_MANECTRIC] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_NUMEL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_CAMERUPT] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 19, - }, - [SPECIES_SPHEAL] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 18, - }, - [SPECIES_SEALEO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_WALREIN] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_CACNEA] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_CACTURNE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_SNORUNT] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_GLALIE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 12, - }, - [SPECIES_LUNATONE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_SOLROCK] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_AZURILL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SPOINK] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_GRUMPIG] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_PLUSLE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_MINUN] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_MAWILE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_MEDITITE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_MEDICHAM] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 3, - }, - [SPECIES_SWABLU] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_ALTARIA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_WYNAUT] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_DUSKULL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_DUSCLOPS] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_ROSELIA] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_SLAKOTH] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_VIGOROTH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SLAKING] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_GULPIN] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SWALOT] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_TROPIUS] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_WHISMUR] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_LOUDRED] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_EXPLOUD] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_CLAMPERL] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_HUNTAIL] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 2, - }, - [SPECIES_GOREBYSS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_ABSOL] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_SHUPPET] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_BANETTE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_SEVIPER] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ZANGOOSE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_RELICANTH] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_ARON] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_LAIRON] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 17, - }, - [SPECIES_AGGRON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_CASTFORM] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_VOLBEAT] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_ILLUMISE] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_LILEEP] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_CRADILY] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_ANORITH] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 23, - }, - [SPECIES_ARMALDO] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_RALTS] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_KIRLIA] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 6, - }, - [SPECIES_GARDEVOIR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_BAGON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_SHELGON] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_SALAMENCE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_BELDUM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_METANG] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 16, - }, - [SPECIES_METAGROSS] = - { - .size = MON_COORDS_SIZE(64, 24), - .y_offset = 20, - }, - [SPECIES_REGIROCK] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_REGICE] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_REGISTEEL] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 14, - }, - [SPECIES_KYOGRE] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 19, - }, - [SPECIES_GROUDON] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_RAYQUAZA] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_LATIAS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_LATIOS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_JIRACHI] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_DEOXYS] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_CHIMECHO] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 7, - }, - [SPECIES_EGG] = - { - .size = MON_COORDS_SIZE(24, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_B] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_UNOWN_C] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_UNOWN_D] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_UNOWN_E] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_F] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_G] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 5, - }, - [SPECIES_UNOWN_H] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_UNOWN_I] = - { - .size = MON_COORDS_SIZE(24, 56), - .y_offset = 7, - }, - [SPECIES_UNOWN_J] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_UNOWN_K] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 7, - }, - [SPECIES_UNOWN_L] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_M] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_N] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_O] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_UNOWN_P] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_Q] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_UNOWN_R] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 12, - }, - [SPECIES_UNOWN_S] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 4, - }, - [SPECIES_UNOWN_T] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_U] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_V] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_UNOWN_W] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_UNOWN_X] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_UNOWN_Y] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_Z] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 10, - }, - [SPECIES_UNOWN_EMARK] = - { - .size = MON_COORDS_SIZE(24, 56), - .y_offset = 6, - }, - [SPECIES_UNOWN_QMARK] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 6, - }, + [SPECIES_NONE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_BULBASAUR] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 16 }, + [SPECIES_IVYSAUR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_VENUSAUR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_CHARMANDER] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_CHARMELEON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_CHARIZARD] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SQUIRTLE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_WARTORTLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_BLASTOISE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_CATERPIE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_METAPOD] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_BUTTERFREE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_WEEDLE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_KAKUNA] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_BEEDRILL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_PIDGEY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_PIDGEOTTO] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, + [SPECIES_PIDGEOT] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_RATTATA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_RATICATE] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_SPEAROW] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_FEAROW] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_EKANS] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_ARBOK] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_PIKACHU] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_RAICHU] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_SANDSHREW] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_SANDSLASH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_NIDORAN_F] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_NIDORINA] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_NIDOQUEEN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_NIDORAN_M] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_NIDORINO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_NIDOKING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_CLEFAIRY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_CLEFABLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_VULPIX] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_NINETALES] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_JIGGLYPUFF] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_WIGGLYTUFF] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_ZUBAT] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_GOLBAT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_ODDISH] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_GLOOM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_VILEPLUME] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_PARAS] = { .size = MON_COORDS_SIZE(48, 24), .y_offset = 20 }, + [SPECIES_PARASECT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_VENONAT] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_VENOMOTH] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_DIGLETT] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_DUGTRIO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_MEOWTH] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_PERSIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_PSYDUCK] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_GOLDUCK] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_MANKEY] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_PRIMEAPE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_GROWLITHE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_ARCANINE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_POLIWAG] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 16 }, + [SPECIES_POLIWHIRL] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_POLIWRATH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_ABRA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_KADABRA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_ALAKAZAM] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_MACHOP] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_MACHOKE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_MACHAMP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_BELLSPROUT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_WEEPINBELL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_VICTREEBEL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_TENTACOOL] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_TENTACRUEL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_GEODUDE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_GRAVELER] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 12 }, + [SPECIES_GOLEM] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, + [SPECIES_PONYTA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_RAPIDASH] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_SLOWPOKE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_SLOWBRO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_MAGNEMITE] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 20 }, + [SPECIES_MAGNETON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_FARFETCHD] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DODUO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_DODRIO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SEEL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DEWGONG] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_GRIMER] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 12 }, + [SPECIES_MUK] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_SHELLDER] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_CLOYSTER] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_GASTLY] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_HAUNTER] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_GENGAR] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_ONIX] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_DROWZEE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_HYPNO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_KRABBY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_KINGLER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_VOLTORB] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_ELECTRODE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_EXEGGCUTE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_EXEGGUTOR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_CUBONE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_MAROWAK] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_HITMONLEE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_HITMONCHAN] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_LICKITUNG] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_KOFFING] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_WEEZING] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_RHYHORN] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, + [SPECIES_RHYDON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_CHANSEY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_TANGELA] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_KANGASKHAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_HORSEA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SEADRA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_GOLDEEN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_SEAKING] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_STARYU] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_STARMIE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_MR_MIME] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_SCYTHER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_JYNX] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_ELECTABUZZ] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MAGMAR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_PINSIR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_TAUROS] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_MAGIKARP] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_GYARADOS] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_LAPRAS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_DITTO] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_EEVEE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_VAPOREON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_JOLTEON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_FLAREON] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_PORYGON] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_OMANYTE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_OMASTAR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_KABUTO] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_KABUTOPS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_AERODACTYL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SNORLAX] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_ARTICUNO] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_ZAPDOS] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_MOLTRES] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_DRATINI] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_DRAGONAIR] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_DRAGONITE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_MEWTWO] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, + [SPECIES_MEW] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_CHIKORITA] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_BAYLEEF] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MEGANIUM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_CYNDAQUIL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_QUILAVA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_TYPHLOSION] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_TOTODILE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_CROCONAW] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_FERALIGATR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SENTRET] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_FURRET] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_HOOTHOOT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_NOCTOWL] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 3 }, + [SPECIES_LEDYBA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_LEDIAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_SPINARAK] = { .size = MON_COORDS_SIZE(56, 24), .y_offset = 21 }, + [SPECIES_ARIADOS] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_CROBAT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_CHINCHOU] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_LANTURN] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_PICHU] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_CLEFFA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_IGGLYBUFF] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_TOGEPI] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_TOGETIC] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_NATU] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_XATU] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_MAREEP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_FLAAFFY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_AMPHAROS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_BELLOSSOM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_MARILL] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 12 }, + [SPECIES_AZUMARILL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SUDOWOODO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_POLITOED] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_HOPPIP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SKIPLOOM] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_JUMPLUFF] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_AIPOM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SUNKERN] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_SUNFLORA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_YANMA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_WOOPER] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_QUAGSIRE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_ESPEON] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_UMBREON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_MURKROW] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SLOWKING] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MISDREAVUS] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_UNOWN] = { .size = MON_COORDS_SIZE(24, 48), .y_offset = 8 }, + [SPECIES_WOBBUFFET] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 12 }, + [SPECIES_GIRAFARIG] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_PINECO] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_FORRETRESS] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, + [SPECIES_DUNSPARCE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_GLIGAR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_STEELIX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SNUBBULL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_GRANBULL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_QWILFISH] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_SCIZOR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_SHUCKLE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_HERACROSS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_SNEASEL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_TEDDIURSA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_URSARING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_SLUGMA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MAGCARGO] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_SWINUB] = { .size = MON_COORDS_SIZE(48, 24), .y_offset = 21 }, + [SPECIES_PILOSWINE] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_CORSOLA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_REMORAID] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_OCTILLERY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DELIBIRD] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_MANTINE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_SKARMORY] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_HOUNDOUR] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_HOUNDOOM] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_KINGDRA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_PHANPY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_DONPHAN] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_PORYGON2] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_STANTLER] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_SMEARGLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_TYROGUE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_HITMONTOP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_SMOOCHUM] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_ELEKID] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_MAGBY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_MILTANK] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_BLISSEY] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_RAIKOU] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_ENTEI] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_SUICUNE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_LARVITAR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_PUPITAR] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_TYRANITAR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_LUGIA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_HO_OH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_CELEBI] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_OLD_UNOWN_B] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_C] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_D] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_E] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_F] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_G] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_H] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_I] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_J] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_K] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_L] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_M] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_N] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_O] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_P] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_Q] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_R] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_S] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_T] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_U] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_V] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_W] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_X] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_Y] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_OLD_UNOWN_Z] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_TREECKO] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_GROVYLE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SCEPTILE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_TORCHIC] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_COMBUSKEN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_BLAZIKEN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_MUDKIP] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_MARSHTOMP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SWAMPERT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_POOCHYENA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_MIGHTYENA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_ZIGZAGOON] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_LINOONE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_WURMPLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_SILCOON] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 21 }, + [SPECIES_BEAUTIFLY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CASCOON] = { .size = MON_COORDS_SIZE(56, 24), .y_offset = 20 }, + [SPECIES_DUSTOX] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 20 }, + [SPECIES_LOTAD] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 15 }, + [SPECIES_LOMBRE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_LUDICOLO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SEEDOT] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_NUZLEAF] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_SHIFTRY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_NINCADA] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 20 }, + [SPECIES_NINJASK] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SHEDINJA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_TAILLOW] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 17 }, + [SPECIES_SWELLOW] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SHROOMISH] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_BRELOOM] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SPINDA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_WINGULL] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_PELIPPER] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_SURSKIT] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_MASQUERAIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_WAILMER] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 21 }, + [SPECIES_WAILORD] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 22 }, + [SPECIES_SKITTY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_DELCATTY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_KECLEON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_BALTOY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_CLAYDOL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_NOSEPASS] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, + [SPECIES_TORKOAL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SABLEYE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_BARBOACH] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_WHISCASH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_LUVDISC] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_CORPHISH] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_CRAWDAUNT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_FEEBAS] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_MILOTIC] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, + [SPECIES_CARVANHA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_SHARPEDO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_TRAPINCH] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 14 }, + [SPECIES_VIBRAVA] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 17 }, + [SPECIES_FLYGON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_MAKUHITA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_HARIYAMA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_ELECTRIKE] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, + [SPECIES_MANECTRIC] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_NUMEL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_CAMERUPT] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 19 }, + [SPECIES_SPHEAL] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 18 }, + [SPECIES_SEALEO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_WALREIN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_CACNEA] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_CACTURNE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_SNORUNT] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_GLALIE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, + [SPECIES_LUNATONE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_SOLROCK] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_AZURILL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SPOINK] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_GRUMPIG] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_PLUSLE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_MINUN] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_MAWILE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_MEDITITE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_MEDICHAM] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 3 }, + [SPECIES_SWABLU] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_ALTARIA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_WYNAUT] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_DUSKULL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_DUSCLOPS] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_ROSELIA] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_SLAKOTH] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_VIGOROTH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SLAKING] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_GULPIN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SWALOT] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_TROPIUS] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_WHISMUR] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_LOUDRED] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_EXPLOUD] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_CLAMPERL] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_HUNTAIL] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, + [SPECIES_GOREBYSS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_ABSOL] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_SHUPPET] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_BANETTE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_SEVIPER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_ZANGOOSE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_RELICANTH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_ARON] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_LAIRON] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 17 }, + [SPECIES_AGGRON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_CASTFORM] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_VOLBEAT] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_ILLUMISE] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_LILEEP] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_CRADILY] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_ANORITH] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 23 }, + [SPECIES_ARMALDO] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_RALTS] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_KIRLIA] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 6 }, + [SPECIES_GARDEVOIR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_BAGON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_SHELGON] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_SALAMENCE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_BELDUM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_METANG] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, + [SPECIES_METAGROSS] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 20 }, + [SPECIES_REGIROCK] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_REGICE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_REGISTEEL] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, + [SPECIES_KYOGRE] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 19 }, + [SPECIES_GROUDON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_RAYQUAZA] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_LATIAS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_LATIOS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_JIRACHI] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_DEOXYS] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_CHIMECHO] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 7 }, + [SPECIES_EGG] = { .size = MON_COORDS_SIZE(24, 48), .y_offset = 10 }, + [SPECIES_UNOWN_B] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_UNOWN_C] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_UNOWN_D] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_UNOWN_E] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_UNOWN_F] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_UNOWN_G] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 5 }, + [SPECIES_UNOWN_H] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_UNOWN_I] = { .size = MON_COORDS_SIZE(24, 56), .y_offset = 7 }, + [SPECIES_UNOWN_J] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_UNOWN_K] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 7 }, + [SPECIES_UNOWN_L] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_UNOWN_M] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_UNOWN_N] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_UNOWN_O] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_UNOWN_P] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_UNOWN_Q] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_UNOWN_R] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 12 }, + [SPECIES_UNOWN_S] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 4 }, + [SPECIES_UNOWN_T] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_UNOWN_U] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_UNOWN_V] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_UNOWN_W] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_UNOWN_X] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_UNOWN_Y] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_UNOWN_Z] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, + [SPECIES_UNOWN_EMARK] = { .size = MON_COORDS_SIZE(24, 56), .y_offset = 6 }, + [SPECIES_UNOWN_QMARK] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 6 }, }; diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index 6022f9cc1..34d5c6744 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -4,2204 +4,444 @@ // .y_offset is the number of pixels between the drawn pixel area and the bottom edge. const struct MonCoords gMonFrontPicCoords[] = { - [SPECIES_NONE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_BULBASAUR] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 14, - }, - [SPECIES_IVYSAUR] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_VENUSAUR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_CHARMANDER] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_CHARMELEON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_CHARIZARD] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SQUIRTLE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_WARTORTLE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_BLASTOISE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CATERPIE] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 16, - }, - [SPECIES_METAPOD] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 20, - }, - [SPECIES_BUTTERFREE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_WEEDLE] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 18, - }, - [SPECIES_KAKUNA] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 14, - }, - [SPECIES_BEEDRILL] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_PIDGEY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_PIDGEOTTO] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 11, - }, - [SPECIES_PIDGEOT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_RATTATA] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_RATICATE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SPEAROW] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_FEAROW] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_EKANS] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_ARBOK] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_PIKACHU] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 9, - }, - [SPECIES_RAICHU] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_SANDSHREW] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_SANDSLASH] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_NIDORAN_F] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_NIDORINA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_NIDOQUEEN] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_NIDORAN_M] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_NIDORINO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_NIDOKING] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_CLEFAIRY] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 16, - }, - [SPECIES_CLEFABLE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_VULPIX] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_NINETALES] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_JIGGLYPUFF] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 16, - }, - [SPECIES_WIGGLYTUFF] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 8, - }, - [SPECIES_ZUBAT] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_GOLBAT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ODDISH] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_GLOOM] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_VILEPLUME] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_PARAS] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_PARASECT] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_VENONAT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_VENOMOTH] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_DIGLETT] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 18, - }, - [SPECIES_DUGTRIO] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_MEOWTH] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_PERSIAN] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_PSYDUCK] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_GOLDUCK] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_MANKEY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_PRIMEAPE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_GROWLITHE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_ARCANINE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_POLIWAG] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 19, - }, - [SPECIES_POLIWHIRL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_POLIWRATH] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_ABRA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_KADABRA] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_ALAKAZAM] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_MACHOP] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_MACHOKE] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_MACHAMP] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_BELLSPROUT] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_WEEPINBELL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_VICTREEBEL] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_TENTACOOL] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_TENTACRUEL] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_GEODUDE] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 18, - }, - [SPECIES_GRAVELER] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_GOLEM] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_PONYTA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_RAPIDASH] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SLOWPOKE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SLOWBRO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_MAGNEMITE] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 21, - }, - [SPECIES_MAGNETON] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_FARFETCHD] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_DODUO] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 5, - }, - [SPECIES_DODRIO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SEEL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_DEWGONG] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_GRIMER] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_MUK] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SHELLDER] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 16, - }, - [SPECIES_CLOYSTER] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_GASTLY] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_HAUNTER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_GENGAR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_ONIX] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_DROWZEE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_HYPNO] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_KRABBY] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 13, - }, - [SPECIES_KINGLER] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_VOLTORB] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 19, - }, - [SPECIES_ELECTRODE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_EXEGGCUTE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_EXEGGUTOR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CUBONE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_MAROWAK] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 11, - }, - [SPECIES_HITMONLEE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_HITMONCHAN] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_LICKITUNG] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_KOFFING] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_WEEZING] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_RHYHORN] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_RHYDON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_CHANSEY] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_TANGELA] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_KANGASKHAN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_HORSEA] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_SEADRA] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_GOLDEEN] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_SEAKING] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_STARYU] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_STARMIE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_MR_MIME] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_SCYTHER] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_JYNX] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_ELECTABUZZ] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 2, - }, - [SPECIES_MAGMAR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_PINSIR] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_TAUROS] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_MAGIKARP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_GYARADOS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 8, - }, - [SPECIES_LAPRAS] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, - }, - [SPECIES_DITTO] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_EEVEE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_VAPOREON] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_JOLTEON] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_FLAREON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_PORYGON] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_OMANYTE] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, - }, - [SPECIES_OMASTAR] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_KABUTO] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 17, - }, - [SPECIES_KABUTOPS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_AERODACTYL] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SNORLAX] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_ARTICUNO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_ZAPDOS] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_MOLTRES] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_DRATINI] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 14, - }, - [SPECIES_DRAGONAIR] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_DRAGONITE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_MEWTWO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_MEW] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_CHIKORITA] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_BAYLEEF] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_MEGANIUM] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CYNDAQUIL] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_QUILAVA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_TYPHLOSION] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_TOTODILE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_CROCONAW] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_FERALIGATR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SENTRET] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 4, - }, - [SPECIES_FURRET] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_HOOTHOOT] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_NOCTOWL] = - { - .size = MON_COORDS_SIZE(40, 64), - .y_offset = 3, - }, - [SPECIES_LEDYBA] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 12, - }, - [SPECIES_LEDIAN] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_SPINARAK] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 19, - }, - [SPECIES_ARIADOS] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_CROBAT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CHINCHOU] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 16, - }, - [SPECIES_LANTURN] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 11, - }, - [SPECIES_PICHU] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 12, - }, - [SPECIES_CLEFFA] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 20, - }, - [SPECIES_IGGLYBUFF] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 18, - }, - [SPECIES_TOGEPI] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 20, - }, - [SPECIES_TOGETIC] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_NATU] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 20, - }, - [SPECIES_XATU] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 7, - }, - [SPECIES_MAREEP] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 16, - }, - [SPECIES_FLAAFFY] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_AMPHAROS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_BELLOSSOM] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 14, - }, - [SPECIES_MARILL] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_AZUMARILL] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_SUDOWOODO] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_POLITOED] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_HOPPIP] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_SKIPLOOM] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_JUMPLUFF] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_AIPOM] = - { - .size = MON_COORDS_SIZE(40, 64), - .y_offset = 3, - }, - [SPECIES_SUNKERN] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_SUNFLORA] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_YANMA] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_WOOPER] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_QUAGSIRE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 7, - }, - [SPECIES_ESPEON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_UMBREON] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 8, - }, - [SPECIES_MURKROW] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_SLOWKING] = - { - .size = MON_COORDS_SIZE(40, 64), - .y_offset = 1, - }, - [SPECIES_MISDREAVUS] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_UNOWN] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 15, - }, - [SPECIES_WOBBUFFET] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_GIRAFARIG] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_PINECO] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_FORRETRESS] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_DUNSPARCE] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 17, - }, - [SPECIES_GLIGAR] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_STEELIX] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SNUBBULL] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 13, - }, - [SPECIES_GRANBULL] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 6, - }, - [SPECIES_QWILFISH] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 10, - }, - [SPECIES_SCIZOR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SHUCKLE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_HERACROSS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_SNEASEL] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_TEDDIURSA] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_URSARING] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 1, - }, - [SPECIES_SLUGMA] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_MAGCARGO] = - { - .size = MON_COORDS_SIZE(40, 56), - .y_offset = 13, - }, - [SPECIES_SWINUB] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 20, - }, - [SPECIES_PILOSWINE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_CORSOLA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_REMORAID] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_OCTILLERY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DELIBIRD] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_MANTINE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_SKARMORY] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_HOUNDOUR] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_HOUNDOOM] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_KINGDRA] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 4, - }, - [SPECIES_PHANPY] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_DONPHAN] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_PORYGON2] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_STANTLER] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SMEARGLE] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_TYROGUE] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_HITMONTOP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 5, - }, - [SPECIES_SMOOCHUM] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 15, - }, - [SPECIES_ELEKID] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_MAGBY] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 13, - }, - [SPECIES_MILTANK] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_BLISSEY] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 6, - }, - [SPECIES_RAIKOU] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_ENTEI] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SUICUNE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_LARVITAR] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_PUPITAR] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 9, - }, - [SPECIES_TYRANITAR] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_LUGIA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_HO_OH] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CELEBI] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_OLD_UNOWN_B] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_C] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_D] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_E] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_F] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_G] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_H] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_I] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_J] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_K] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_L] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_M] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_N] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_O] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_P] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_Q] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_R] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_S] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_T] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_U] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_V] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_W] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_X] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_Y] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_OLD_UNOWN_Z] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_TREECKO] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_GROVYLE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_SCEPTILE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_TORCHIC] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_COMBUSKEN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_BLAZIKEN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_MUDKIP] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 12, - }, - [SPECIES_MARSHTOMP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_SWAMPERT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_POOCHYENA] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_MIGHTYENA] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_ZIGZAGOON] = - { - .size = MON_COORDS_SIZE(64, 40), - .y_offset = 15, - }, - [SPECIES_LINOONE] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_WURMPLE] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 14, - }, - [SPECIES_SILCOON] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 17, - }, - [SPECIES_BEAUTIFLY] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 9, - }, - [SPECIES_CASCOON] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 16, - }, - [SPECIES_DUSTOX] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 15, - }, - [SPECIES_LOTAD] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, - }, - [SPECIES_LOMBRE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_LUDICOLO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SEEDOT] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 16, - }, - [SPECIES_NUZLEAF] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_SHIFTRY] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_NINCADA] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 18, - }, - [SPECIES_NINJASK] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_SHEDINJA] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_TAILLOW] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 16, - }, - [SPECIES_SWELLOW] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_SHROOMISH] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_BRELOOM] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_SPINDA] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 8, - }, - [SPECIES_WINGULL] = - { - .size = MON_COORDS_SIZE(64, 32), - .y_offset = 24, - }, - [SPECIES_PELIPPER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 4, - }, - [SPECIES_SURSKIT] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_MASQUERAIN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_WAILMER] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 15, - }, - [SPECIES_WAILORD] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 10, - }, - [SPECIES_SKITTY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, - }, - [SPECIES_DELCATTY] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_KECLEON] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_BALTOY] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 16, - }, - [SPECIES_CLAYDOL] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 6, - }, - [SPECIES_NOSEPASS] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 12, - }, - [SPECIES_TORKOAL] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_SABLEYE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_BARBOACH] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 11, - }, - [SPECIES_WHISCASH] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 9, - }, - [SPECIES_LUVDISC] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 24, - }, - [SPECIES_CORPHISH] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 12, - }, - [SPECIES_CRAWDAUNT] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_FEEBAS] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 13, - }, - [SPECIES_MILOTIC] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CARVANHA] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 6, - }, - [SPECIES_SHARPEDO] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_TRAPINCH] = - { - .size = MON_COORDS_SIZE(40, 32), - .y_offset = 16, - }, - [SPECIES_VIBRAVA] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 12, - }, - [SPECIES_FLYGON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_MAKUHITA] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_HARIYAMA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_ELECTRIKE] = - { - .size = MON_COORDS_SIZE(48, 32), - .y_offset = 18, - }, - [SPECIES_MANECTRIC] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 4, - }, - [SPECIES_NUMEL] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, - }, - [SPECIES_CAMERUPT] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 9, - }, - [SPECIES_SPHEAL] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 16, - }, - [SPECIES_SEALEO] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 10, - }, - [SPECIES_WALREIN] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_CACNEA] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 16, - }, - [SPECIES_CACTURNE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_SNORUNT] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_GLALIE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 10, - }, - [SPECIES_LUNATONE] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SOLROCK] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_AZURILL] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_SPOINK] = - { - .size = MON_COORDS_SIZE(32, 48), - .y_offset = 9, - }, - [SPECIES_GRUMPIG] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_PLUSLE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 14, - }, - [SPECIES_MINUN] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 12, - }, - [SPECIES_MAWILE] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_MEDITITE] = - { - .size = MON_COORDS_SIZE(48, 40), - .y_offset = 12, - }, - [SPECIES_MEDICHAM] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 1, - }, - [SPECIES_SWABLU] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 17, - }, - [SPECIES_ALTARIA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_WYNAUT] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_DUSKULL] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 10, - }, - [SPECIES_DUSCLOPS] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 5, - }, - [SPECIES_ROSELIA] = - { - .size = MON_COORDS_SIZE(56, 48), - .y_offset = 8, - }, - [SPECIES_SLAKOTH] = - { - .size = MON_COORDS_SIZE(56, 32), - .y_offset = 18, - }, - [SPECIES_VIGOROTH] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_SLAKING] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 8, - }, - [SPECIES_GULPIN] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 18, - }, - [SPECIES_SWALOT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_TROPIUS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_WHISMUR] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_LOUDRED] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_EXPLOUD] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_CLAMPERL] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, - }, - [SPECIES_HUNTAIL] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, - }, - [SPECIES_GOREBYSS] = - { - .size = MON_COORDS_SIZE(64, 48), - .y_offset = 11, - }, - [SPECIES_ABSOL] = - { - .size = MON_COORDS_SIZE(48, 64), - .y_offset = 0, - }, - [SPECIES_SHUPPET] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 14, - }, - [SPECIES_BANETTE] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 12, - }, - [SPECIES_SEVIPER] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 8, - }, - [SPECIES_ZANGOOSE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 5, - }, - [SPECIES_RELICANTH] = - { - .size = MON_COORDS_SIZE(56, 56), - .y_offset = 11, - }, - [SPECIES_ARON] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 20, - }, - [SPECIES_LAIRON] = - { - .size = MON_COORDS_SIZE(56, 40), - .y_offset = 13, - }, - [SPECIES_AGGRON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_CASTFORM] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 17, - }, - [SPECIES_VOLBEAT] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_ILLUMISE] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 8, - }, - [SPECIES_LILEEP] = - { - .size = MON_COORDS_SIZE(48, 56), - .y_offset = 7, - }, - [SPECIES_CRADILY] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 0, - }, - [SPECIES_ANORITH] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 8, - }, - [SPECIES_ARMALDO] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_RALTS] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 15, - }, - [SPECIES_KIRLIA] = - { - .size = MON_COORDS_SIZE(32, 56), - .y_offset = 6, - }, - [SPECIES_GARDEVOIR] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 1, - }, - [SPECIES_BAGON] = - { - .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, - }, - [SPECIES_SHELGON] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 9, - }, - [SPECIES_SALAMENCE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_BELDUM] = - { - .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, - }, - [SPECIES_METANG] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 7, - }, - [SPECIES_METAGROSS] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 6, - }, - [SPECIES_REGIROCK] = - { - .size = MON_COORDS_SIZE(56, 64), - .y_offset = 4, - }, - [SPECIES_REGICE] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_REGISTEEL] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 3, - }, - [SPECIES_KYOGRE] = - { - .size = MON_COORDS_SIZE(64, 56), - .y_offset = 4, - }, - [SPECIES_GROUDON] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_RAYQUAZA] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 0, - }, - [SPECIES_LATIAS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_LATIOS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 2, - }, - [SPECIES_JIRACHI] = - { - .size = MON_COORDS_SIZE(48, 48), - .y_offset = 13, - }, - [SPECIES_DEOXYS] = - { - .size = MON_COORDS_SIZE(64, 64), - .y_offset = 1, - }, - [SPECIES_CHIMECHO] = - { - .size = MON_COORDS_SIZE(24, 56), - .y_offset = 6, - }, - [SPECIES_EGG] = - { - .size = MON_COORDS_SIZE(24, 24), - .y_offset = 20, - }, - [SPECIES_UNOWN_B] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_C] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_D] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_E] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_F] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_G] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 14, - }, - [SPECIES_UNOWN_H] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_I] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_J] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_K] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_L] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_M] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_N] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 20, - }, - [SPECIES_UNOWN_O] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_P] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_Q] = - { - .size = MON_COORDS_SIZE(32, 24), - .y_offset = 21, - }, - [SPECIES_UNOWN_R] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_S] = - { - .size = MON_COORDS_SIZE(32, 40), - .y_offset = 12, - }, - [SPECIES_UNOWN_T] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 18, - }, - [SPECIES_UNOWN_U] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 18, - }, - [SPECIES_UNOWN_V] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 18, - }, - [SPECIES_UNOWN_W] = - { - .size = MON_COORDS_SIZE(32, 32), - .y_offset = 19, - }, - [SPECIES_UNOWN_X] = - { - .size = MON_COORDS_SIZE(24, 24), - .y_offset = 21, - }, - [SPECIES_UNOWN_Y] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 17, - }, - [SPECIES_UNOWN_Z] = - { - .size = MON_COORDS_SIZE(24, 32), - .y_offset = 16, - }, - [SPECIES_UNOWN_EMARK] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 15, - }, - [SPECIES_UNOWN_QMARK] = - { - .size = MON_COORDS_SIZE(24, 40), - .y_offset = 13, - }, + [SPECIES_NONE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_BULBASAUR] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + [SPECIES_IVYSAUR] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_VENUSAUR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_CHARMANDER] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_CHARMELEON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_CHARIZARD] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SQUIRTLE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_WARTORTLE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_BLASTOISE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CATERPIE] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 16 }, + [SPECIES_METAPOD] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 20 }, + [SPECIES_BUTTERFREE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_WEEDLE] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 18 }, + [SPECIES_KAKUNA] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + [SPECIES_BEEDRILL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_PIDGEY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_PIDGEOTTO] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 11 }, + [SPECIES_PIDGEOT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_RATTATA] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_RATICATE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SPEAROW] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_FEAROW] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_EKANS] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_ARBOK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_PIKACHU] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, + [SPECIES_RAICHU] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_SANDSHREW] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_SANDSLASH] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_NIDORAN_F] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_NIDORINA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_NIDOQUEEN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_NIDORAN_M] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_NIDORINO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_NIDOKING] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_CLEFAIRY] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 16 }, + [SPECIES_CLEFABLE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_VULPIX] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_NINETALES] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_JIGGLYPUFF] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 16 }, + [SPECIES_WIGGLYTUFF] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 8 }, + [SPECIES_ZUBAT] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_GOLBAT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_ODDISH] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_GLOOM] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_VILEPLUME] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_PARAS] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_PARASECT] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_VENONAT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_VENOMOTH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_DIGLETT] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 18 }, + [SPECIES_DUGTRIO] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_MEOWTH] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_PERSIAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_PSYDUCK] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_GOLDUCK] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_MANKEY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_PRIMEAPE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_GROWLITHE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_ARCANINE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_POLIWAG] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 19 }, + [SPECIES_POLIWHIRL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_POLIWRATH] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_ABRA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_KADABRA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_ALAKAZAM] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_MACHOP] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_MACHOKE] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_MACHAMP] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_BELLSPROUT] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_WEEPINBELL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_VICTREEBEL] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_TENTACOOL] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_TENTACRUEL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_GEODUDE] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 18 }, + [SPECIES_GRAVELER] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_GOLEM] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_PONYTA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_RAPIDASH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SLOWPOKE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SLOWBRO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_MAGNEMITE] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 21 }, + [SPECIES_MAGNETON] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_FARFETCHD] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_DODUO] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 5 }, + [SPECIES_DODRIO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SEEL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_DEWGONG] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_GRIMER] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_MUK] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SHELLDER] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 16 }, + [SPECIES_CLOYSTER] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_GASTLY] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_HAUNTER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_GENGAR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_ONIX] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_DROWZEE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_HYPNO] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_KRABBY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, + [SPECIES_KINGLER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_VOLTORB] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 19 }, + [SPECIES_ELECTRODE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_EXEGGCUTE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_EXEGGUTOR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CUBONE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_MAROWAK] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, + [SPECIES_HITMONLEE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_HITMONCHAN] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_LICKITUNG] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_KOFFING] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_WEEZING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_RHYHORN] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_RHYDON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_CHANSEY] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_TANGELA] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_KANGASKHAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_HORSEA] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_SEADRA] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_GOLDEEN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_SEAKING] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_STARYU] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_STARMIE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_MR_MIME] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_SCYTHER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_JYNX] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_ELECTABUZZ] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + [SPECIES_MAGMAR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_PINSIR] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_TAUROS] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_MAGIKARP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_GYARADOS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 8 }, + [SPECIES_LAPRAS] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + [SPECIES_DITTO] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_EEVEE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_VAPOREON] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_JOLTEON] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_FLAREON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_PORYGON] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_OMANYTE] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 15 }, + [SPECIES_OMASTAR] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_KABUTO] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + [SPECIES_KABUTOPS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_AERODACTYL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SNORLAX] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_ARTICUNO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_ZAPDOS] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_MOLTRES] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_DRATINI] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 14 }, + [SPECIES_DRAGONAIR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_DRAGONITE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_MEWTWO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_MEW] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_CHIKORITA] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_BAYLEEF] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_MEGANIUM] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CYNDAQUIL] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_QUILAVA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_TYPHLOSION] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_TOTODILE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_CROCONAW] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_FERALIGATR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SENTRET] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 4 }, + [SPECIES_FURRET] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_HOOTHOOT] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_NOCTOWL] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 3 }, + [SPECIES_LEDYBA] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 12 }, + [SPECIES_LEDIAN] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_SPINARAK] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 19 }, + [SPECIES_ARIADOS] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_CROBAT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CHINCHOU] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 16 }, + [SPECIES_LANTURN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 11 }, + [SPECIES_PICHU] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 12 }, + [SPECIES_CLEFFA] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 20 }, + [SPECIES_IGGLYBUFF] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 18 }, + [SPECIES_TOGEPI] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 20 }, + [SPECIES_TOGETIC] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_NATU] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 20 }, + [SPECIES_XATU] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 7 }, + [SPECIES_MAREEP] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 16 }, + [SPECIES_FLAAFFY] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_AMPHAROS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_BELLOSSOM] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + [SPECIES_MARILL] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_AZUMARILL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_SUDOWOODO] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_POLITOED] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_HOPPIP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_SKIPLOOM] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_JUMPLUFF] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_AIPOM] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 3 }, + [SPECIES_SUNKERN] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_SUNFLORA] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_YANMA] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_WOOPER] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_QUAGSIRE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_ESPEON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_UMBREON] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 8 }, + [SPECIES_MURKROW] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_SLOWKING] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 1 }, + [SPECIES_MISDREAVUS] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_UNOWN] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 15 }, + [SPECIES_WOBBUFFET] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_GIRAFARIG] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_PINECO] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_FORRETRESS] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_DUNSPARCE] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 17 }, + [SPECIES_GLIGAR] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_STEELIX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SNUBBULL] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, + [SPECIES_GRANBULL] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 6 }, + [SPECIES_QWILFISH] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, + [SPECIES_SCIZOR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SHUCKLE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_HERACROSS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_SNEASEL] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_TEDDIURSA] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_URSARING] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, + [SPECIES_SLUGMA] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_MAGCARGO] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 13 }, + [SPECIES_SWINUB] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 20 }, + [SPECIES_PILOSWINE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_CORSOLA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_REMORAID] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_OCTILLERY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DELIBIRD] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_MANTINE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_SKARMORY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_HOUNDOUR] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_HOUNDOOM] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_KINGDRA] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 4 }, + [SPECIES_PHANPY] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_DONPHAN] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_PORYGON2] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_STANTLER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SMEARGLE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_TYROGUE] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_HITMONTOP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 5 }, + [SPECIES_SMOOCHUM] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 15 }, + [SPECIES_ELEKID] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_MAGBY] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 13 }, + [SPECIES_MILTANK] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_BLISSEY] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + [SPECIES_RAIKOU] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_ENTEI] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SUICUNE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_LARVITAR] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_PUPITAR] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + [SPECIES_TYRANITAR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_LUGIA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_HO_OH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CELEBI] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_OLD_UNOWN_B] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_C] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_D] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_E] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_F] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_G] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_H] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_I] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_J] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_K] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_L] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_M] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_N] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_O] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_P] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_Q] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_R] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_S] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_T] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_U] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_V] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_W] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_X] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_Y] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_OLD_UNOWN_Z] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_TREECKO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_GROVYLE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_SCEPTILE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_TORCHIC] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_COMBUSKEN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_BLAZIKEN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_MUDKIP] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 12 }, + [SPECIES_MARSHTOMP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_SWAMPERT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_POOCHYENA] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_MIGHTYENA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_ZIGZAGOON] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + [SPECIES_LINOONE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_WURMPLE] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + [SPECIES_SILCOON] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 17 }, + [SPECIES_BEAUTIFLY] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + [SPECIES_CASCOON] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 16 }, + [SPECIES_DUSTOX] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 15 }, + [SPECIES_LOTAD] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_LOMBRE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_LUDICOLO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SEEDOT] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 16 }, + [SPECIES_NUZLEAF] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_SHIFTRY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_NINCADA] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 18 }, + [SPECIES_NINJASK] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_SHEDINJA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_TAILLOW] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 16 }, + [SPECIES_SWELLOW] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_SHROOMISH] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_BRELOOM] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_SPINDA] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 8 }, + [SPECIES_WINGULL] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 24 }, + [SPECIES_PELIPPER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_SURSKIT] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_MASQUERAIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_WAILMER] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 15 }, + [SPECIES_WAILORD] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 10 }, + [SPECIES_SKITTY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_DELCATTY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_KECLEON] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_BALTOY] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 16 }, + [SPECIES_CLAYDOL] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 6 }, + [SPECIES_NOSEPASS] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 12 }, + [SPECIES_TORKOAL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_SABLEYE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_BARBOACH] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 11 }, + [SPECIES_WHISCASH] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, + [SPECIES_LUVDISC] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 24 }, + [SPECIES_CORPHISH] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 12 }, + [SPECIES_CRAWDAUNT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_FEEBAS] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 13 }, + [SPECIES_MILOTIC] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CARVANHA] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + [SPECIES_SHARPEDO] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_TRAPINCH] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, + [SPECIES_VIBRAVA] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 12 }, + [SPECIES_FLYGON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_MAKUHITA] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_HARIYAMA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_ELECTRIKE] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 18 }, + [SPECIES_MANECTRIC] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, + [SPECIES_NUMEL] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, + [SPECIES_CAMERUPT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 9 }, + [SPECIES_SPHEAL] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 16 }, + [SPECIES_SEALEO] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, + [SPECIES_WALREIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_CACNEA] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 16 }, + [SPECIES_CACTURNE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_SNORUNT] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_GLALIE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + [SPECIES_LUNATONE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SOLROCK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_AZURILL] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_SPOINK] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, + [SPECIES_GRUMPIG] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_PLUSLE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 14 }, + [SPECIES_MINUN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 12 }, + [SPECIES_MAWILE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_MEDITITE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + [SPECIES_MEDICHAM] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 1 }, + [SPECIES_SWABLU] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 17 }, + [SPECIES_ALTARIA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_WYNAUT] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_DUSKULL] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_DUSCLOPS] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_ROSELIA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + [SPECIES_SLAKOTH] = { .size = MON_COORDS_SIZE(56, 32), .y_offset = 18 }, + [SPECIES_VIGOROTH] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_SLAKING] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + [SPECIES_GULPIN] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 18 }, + [SPECIES_SWALOT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_TROPIUS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_WHISMUR] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_LOUDRED] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_EXPLOUD] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_CLAMPERL] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_HUNTAIL] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + [SPECIES_GOREBYSS] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + [SPECIES_ABSOL] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 0 }, + [SPECIES_SHUPPET] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 14 }, + [SPECIES_BANETTE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, + [SPECIES_SEVIPER] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 8 }, + [SPECIES_ZANGOOSE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + [SPECIES_RELICANTH] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 11 }, + [SPECIES_ARON] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 20 }, + [SPECIES_LAIRON] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, + [SPECIES_AGGRON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_CASTFORM] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 17 }, + [SPECIES_VOLBEAT] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_ILLUMISE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, + [SPECIES_LILEEP] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, + [SPECIES_CRADILY] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + [SPECIES_ANORITH] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, + [SPECIES_ARMALDO] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_RALTS] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 15 }, + [SPECIES_KIRLIA] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 6 }, + [SPECIES_GARDEVOIR] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, + [SPECIES_BAGON] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + [SPECIES_SHELGON] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + [SPECIES_SALAMENCE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_BELDUM] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, + [SPECIES_METANG] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + [SPECIES_METAGROSS] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + [SPECIES_REGIROCK] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 4 }, + [SPECIES_REGICE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_REGISTEEL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_KYOGRE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_GROUDON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_RAYQUAZA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_LATIAS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_LATIOS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + [SPECIES_JIRACHI] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 13 }, + [SPECIES_DEOXYS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + [SPECIES_CHIMECHO] = { .size = MON_COORDS_SIZE(24, 56), .y_offset = 6 }, + [SPECIES_EGG] = { .size = MON_COORDS_SIZE(24, 24), .y_offset = 20 }, + [SPECIES_UNOWN_B] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 16 }, + [SPECIES_UNOWN_C] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_UNOWN_D] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_UNOWN_E] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 17 }, + [SPECIES_UNOWN_F] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 17 }, + [SPECIES_UNOWN_G] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 14 }, + [SPECIES_UNOWN_H] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_UNOWN_I] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 16 }, + [SPECIES_UNOWN_J] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 17 }, + [SPECIES_UNOWN_K] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 17 }, + [SPECIES_UNOWN_L] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 19 }, + [SPECIES_UNOWN_M] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 19 }, + [SPECIES_UNOWN_N] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 20 }, + [SPECIES_UNOWN_O] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, + [SPECIES_UNOWN_P] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 19 }, + [SPECIES_UNOWN_Q] = { .size = MON_COORDS_SIZE(32, 24), .y_offset = 21 }, + [SPECIES_UNOWN_R] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 19 }, + [SPECIES_UNOWN_S] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 12 }, + [SPECIES_UNOWN_T] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 18 }, + [SPECIES_UNOWN_U] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 18 }, + [SPECIES_UNOWN_V] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 18 }, + [SPECIES_UNOWN_W] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 19 }, + [SPECIES_UNOWN_X] = { .size = MON_COORDS_SIZE(24, 24), .y_offset = 21 }, + [SPECIES_UNOWN_Y] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 17 }, + [SPECIES_UNOWN_Z] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 16 }, + [SPECIES_UNOWN_EMARK] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 15 }, + [SPECIES_UNOWN_QMARK] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 13 }, }; From 91447796340c6738c610fd0b003209d54c72456e Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 9 Sep 2022 08:49:16 -0400 Subject: [PATCH 053/147] Removed repeated extern consts in strings.h --- include/strings.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/strings.h b/include/strings.h index abcf5cc47..eeada2b94 100644 --- a/include/strings.h +++ b/include/strings.h @@ -2152,9 +2152,7 @@ extern const u8 gText_Switch2[]; extern const u8 gText_Item[]; extern const u8 gText_NotPkmnOtherTrainerWants[]; extern const u8 gText_ThatIsntAnEgg[]; -extern const u8 gText_PkmnCantBeTradedNow[]; extern const u8 gText_OtherTrainersPkmnCantBeTraded[]; -extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OtherTrainerCantAcceptPkmn[]; extern const u8 gText_CantTradeWithTrainer[]; From 21df8c279b36507b9215441af7f0cda1a8e11305 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 9 Sep 2022 08:59:53 -0400 Subject: [PATCH 054/147] Added SPECIES_FLAG_CANNOT_BE_TRADED - Also corrected Cylarex's forms not having the legendary flag --- include/constants/pokemon.h | 1 + include/constants/trade.h | 11 ++++++----- include/strings.h | 2 +- src/data/party_menu.h | 4 ++-- src/data/pokemon/base_stats.h | 10 ++++++---- src/party_menu.c | 5 ++++- src/strings.c | 1 + src/trade.c | 24 ++++++++++++++++++++---- 8 files changed, 41 insertions(+), 17 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 60bca5a83..55f13caf9 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -352,6 +352,7 @@ #define SPECIES_FLAG_GENDER_DIFFERENCE (1 << 6) #define SPECIES_FLAG_ALL_PERFECT_IVS (1 << 7) #define SPECIES_FLAG_SHINY_LOCKED (1 << 8) +#define SPECIES_FLAG_CANNOT_BE_TRADED (1 << 9) #define LEGENDARY_PERFECT_IV_COUNT 3 diff --git a/include/constants/trade.h b/include/constants/trade.h index fa42e6b43..e8afc2a77 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -99,8 +99,8 @@ #define UR_TRADE_MSG_NONE 0 #define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1 #define UR_TRADE_MSG_NOT_EGG 2 -#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3 -#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_NOW 3 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED 4 #define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5 #define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6 #define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7 @@ -108,9 +108,10 @@ #define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9 // Return values for CanRegisterMonForTradingBoard -#define CAN_REGISTER_MON 0 -#define CANT_REGISTER_MON 1 -#define CANT_REGISTER_EGG 2 +#define CAN_REGISTER_MON 0 +#define CANT_REGISTER_MON_NOW 1 +#define CANT_REGISTER_MON 2 +#define CANT_REGISTER_EGG 3 #endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/strings.h b/include/strings.h index 25a96eef0..d71daf416 100644 --- a/include/strings.h +++ b/include/strings.h @@ -464,6 +464,7 @@ extern const u8 gText_MailMessageWillBeLost[]; extern const u8 gText_MailTakenFromPkmn[]; extern const u8 gText_NoMoreThanVar1Pkmn[]; extern const u8 gText_PkmnCantBeTradedNow[]; +extern const u8 gText_PkmnCantBeTraded[]; extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OnlyPkmnForBattle[]; extern const u8 gJPText_AreYouSureYouWantToSpinTradeMon[]; @@ -2154,7 +2155,6 @@ extern const u8 gText_Switch2[]; extern const u8 gText_Item[]; extern const u8 gText_NotPkmnOtherTrainerWants[]; extern const u8 gText_ThatIsntAnEgg[]; -extern const u8 gText_PkmnCantBeTradedNow[]; extern const u8 gText_OtherTrainersPkmnCantBeTraded[]; extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OtherTrainerCantAcceptPkmn[]; diff --git a/src/data/party_menu.h b/src/data/party_menu.h index 9411ec3bb..8d871c202 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -789,8 +789,8 @@ static const u8 *const sUnionRoomTradeMessages[] = { [UR_TRADE_MSG_NOT_MON_PARTNER_WANTS - 1] = gText_NotPkmnOtherTrainerWants, [UR_TRADE_MSG_NOT_EGG - 1] = gText_ThatIsntAnEgg, - [UR_TRADE_MSG_MON_CANT_BE_TRADED_1 - 1] = gText_PkmnCantBeTradedNow, - [UR_TRADE_MSG_MON_CANT_BE_TRADED_2 - 1] = gText_PkmnCantBeTradedNow, + [UR_TRADE_MSG_MON_CANT_BE_TRADED_NOW - 1] = gText_PkmnCantBeTradedNow, + [UR_TRADE_MSG_MON_CANT_BE_TRADED - 1] = gText_PkmnCantBeTraded, [UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED - 1] = gText_OtherTrainersPkmnCantBeTraded, [UR_TRADE_MSG_EGG_CANT_BE_TRADED -1] = gText_EggCantBeTradedNow, [UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON - 1] = gText_OtherTrainerCantAcceptPkmn, diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index bb85f2840..2a3798dcb 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -25974,7 +25974,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TURBOBLAZE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_KYUREM_BLACK] = @@ -25999,7 +25999,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TERAVOLT, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_KELDEO_RESOLUTE] = @@ -26489,7 +26489,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRISM_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_NECROZMA_DAWN_WINGS] = @@ -26514,7 +26514,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRISM_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_NECROZMA_ULTRA] = @@ -26738,6 +26738,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AS_ONE_ICE_RIDER, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_CALYREX_SHADOW_RIDER] = @@ -26762,6 +26763,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AS_ONE_SHADOW_RIDER, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, #endif }; diff --git a/src/party_menu.c b/src/party_menu.c index 00224f6bd..3fe52231a 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -3587,9 +3587,12 @@ static void CursorCb_Register(u8 taskId) switch (CanRegisterMonForTradingBoard(*(struct RfuGameCompatibilityData *)GetHostRfuGameData(), species2, species, isEventLegal)) { - case CANT_REGISTER_MON: + case CANT_REGISTER_MON_NOW: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); break; + case CANT_REGISTER_MON: + StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTraded); + break; case CANT_REGISTER_EGG: StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow); break; diff --git a/src/strings.c b/src/strings.c index d199b92d4..b951c8ff5 100644 --- a/src/strings.c +++ b/src/strings.c @@ -478,6 +478,7 @@ const u8 gText_PauseUntilPress[] = _("{PAUSE_UNTIL_PRESS}"); const u8 gJPText_AreYouSureYouWantToSpinTradeMon[] = _("{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?"); ALIGNED(4) const u8 gText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle."); ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can't be traded\nnow."); +ALIGNED(4) const u8 gText_PkmnCantBeTraded[] = _("That POKéMON can't be traded."); ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("An EGG can't be traded now."); ALIGNED(4) const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("The other TRAINER's POKéMON\ncan't be traded now."); ALIGNED(4) const u8 gText_OtherTrainerCantAcceptPkmn[] = _("The other TRAINER can't accept\nthat POKéMON now."); diff --git a/src/trade.c b/src/trade.c index abf35f26a..8ff31bfd0 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1504,6 +1504,10 @@ static u8 CheckValidityOfTradeMons(u8 *aliveMons, u8 playerPartyCount, u8 player return PARTNER_MON_INVALID; } + // Can't trade specific species + if (gBaseStats[partnerSpecies].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + return PARTNER_MON_INVALID; + // Partner cant trade Egg or non-Hoenn mon if player doesn't have National Dex if (!IsNationalPokedexEnabled()) { @@ -2360,6 +2364,10 @@ static u32 CanTradeSelectedMon(struct Pokemon *playerParty, int partyCount, int return CANT_TRADE_INVALID_MON; } + // Can't trade specific species + if (gBaseStats[species[monIdx]].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + return CANT_TRADE_INVALID_MON; + // Make Eggs not count for numMonsLeft for (i = 0; i < partyCount; i++) { @@ -2450,7 +2458,11 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf // Cannot trade illegitimate Deoxys/Mew if (IsDeoxysOrMewUntradable(playerSpecies, isEventLegal)) - return UR_TRADE_MSG_MON_CANT_BE_TRADED_2; + return UR_TRADE_MSG_MON_CANT_BE_TRADED; + + // Can't trade specific species + if (gBaseStats[playerSpecies].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + return UR_TRADE_MSG_MON_CANT_BE_TRADED; if (partnerSpecies == SPECIES_EGG) { @@ -2469,7 +2481,7 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf // If the player is trading an Egg then the partner must also be trading an Egg // Odd that this wasn't checked earlier, as by this point we know either the partner doesn't have an Egg or that both do. if (playerSpecies2 == SPECIES_EGG && playerSpecies2 != partnerSpecies) - return UR_TRADE_MSG_MON_CANT_BE_TRADED_1; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_NOW; // If the player doesn't have the National Dex then Eggs and non-Hoenn Pokémon can't be traded if (!playerHasNationalDex) @@ -2478,7 +2490,7 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf return UR_TRADE_MSG_EGG_CANT_BE_TRADED; if (!IsSpeciesInHoennDex(playerSpecies2)) - return UR_TRADE_MSG_MON_CANT_BE_TRADED_2; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_NOW; if (!IsSpeciesInHoennDex(partnerSpecies)) return UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED; @@ -2497,6 +2509,10 @@ int CanRegisterMonForTradingBoard(struct RfuGameCompatibilityData player, u16 sp bool8 hasNationalDex = player.hasNationalDex; if (IsDeoxysOrMewUntradable(species, isEventLegal)) + return CANT_REGISTER_MON_NOW; + + // Can't trade specific species + if (gBaseStats[species].flags & SPECIES_FLAG_CANNOT_BE_TRADED) return CANT_REGISTER_MON; if (hasNationalDex) @@ -2509,7 +2525,7 @@ int CanRegisterMonForTradingBoard(struct RfuGameCompatibilityData player, u16 sp if (IsSpeciesInHoennDex(species2)) return CAN_REGISTER_MON; - return CANT_REGISTER_MON; + return CANT_REGISTER_MON_NOW; } // Spin Trade wasnt fully implemented, but this checks if a mon would be valid to Spin Trade From 431cb6fa7ccf7898c3dce308808e5cb26b422719 Mon Sep 17 00:00:00 2001 From: Blackforest92 Date: Fri, 9 Sep 2022 21:57:40 +0700 Subject: [PATCH 055/147] Tidying graphics - Trio Weather --- data/battle_anim_scripts.s | 32 +++++------------- .../backgrounds/windstorm_brew.pal | 19 +++++++++++ .../backgrounds/windstorm_brew.png | Bin 1067 -> 0 bytes .../battle_anims/sprites/primal_particles.png | Bin 510 -> 0 bytes include/constants/battle_anim.h | 5 ++- src/battle_anim_effects_3.c | 11 ------ src/battle_anim_flying.c | 4 +-- src/data/battle_anim.h | 2 -- src/graphics.c | 5 --- 9 files changed, 31 insertions(+), 47 deletions(-) create mode 100644 graphics/battle_anims/backgrounds/windstorm_brew.pal delete mode 100644 graphics/battle_anims/backgrounds/windstorm_brew.png delete mode 100644 graphics/battle_anims/sprites/primal_particles.png diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index f83d437a5..601db597f 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -24839,15 +24839,15 @@ General_PrimalReversion:: jumpargeq 0x1, ITEM_BLUE_ORB, General_PrimalReversion_Alpha General_PrimalReversion_Alpha: loadspritegfx ANIM_TAG_ALPHA_STONE - loadspritegfx ANIM_TAG_PRIMAL_PARTICLES + loadspritegfx ANIM_TAG_MEGA_PARTICLES loadspritegfx ANIM_TAG_ALPHA_SYMBOL monbg ANIM_ATTACKER setalpha 12, 8 loopsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER, 13, 3 createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11) - call PrimalReversionParticles - call PrimalReversionParticles - call PrimalReversionParticles + call MegaEvolutionParticles + call MegaEvolutionParticles + call MegaEvolutionParticles waitforvisualfinish playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER createsprite gAlphaStoneSpriteTemplate, ANIM_ATTACKER, 41, 0, 0, 0, 0 @@ -24865,15 +24865,15 @@ General_PrimalReversion_Alpha: end General_PrimalReversion_Omega: loadspritegfx ANIM_TAG_OMEGA_STONE - loadspritegfx ANIM_TAG_PRIMAL_PARTICLES + loadspritegfx ANIM_TAG_MEGA_PARTICLES loadspritegfx ANIM_TAG_OMEGA_SYMBOL monbg ANIM_ATTACKER setalpha 12, 8 loopsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER, 13, 3 createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11) - call PrimalReversionParticles - call PrimalReversionParticles - call PrimalReversionParticles + call MegaEvolutionParticles + call MegaEvolutionParticles + call MegaEvolutionParticles waitforvisualfinish playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER createsprite gOmegaStoneSpriteTemplate, ANIM_ATTACKER, 41, 0, 0, 0, 0 @@ -24889,22 +24889,6 @@ General_PrimalReversion_Omega: clearmonbg ANIM_ATK_PARTNER blendoff end -PrimalReversionParticles: - createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, 40, -10, 13 - delay 3 - createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, -35, -10, 13 - delay 3 - createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, 15, -40, 13 - delay 3 - createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, -10, -32, 13 - delay 3 - createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, 25, -20, 13 - delay 3 - createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, -40, -20, 13 - delay 3 - createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, 5, -40, 13 - delay 3 - return General_AffectionHangedOn:: loadspritegfx ANIM_TAG_RED_HEART diff --git a/graphics/battle_anims/backgrounds/windstorm_brew.pal b/graphics/battle_anims/backgrounds/windstorm_brew.pal new file mode 100644 index 000000000..2feb0f59e --- /dev/null +++ b/graphics/battle_anims/backgrounds/windstorm_brew.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 148 98 +255 255 222 +230 230 197 +213 205 172 +189 180 148 +172 156 123 +156 131 106 +0 0 0 +0 0 0 +0 0 0 +142 204 143 +123 180 122 +112 165 99 +89 130 87 +67 114 65 +55 91 56 diff --git a/graphics/battle_anims/backgrounds/windstorm_brew.png b/graphics/battle_anims/backgrounds/windstorm_brew.png deleted file mode 100644 index 2a28952662266dc252e5a0b850e41ed187241047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1067 zcmV+`1l0S9P)%RwK{s1Cyb`=-00007bV*G`2jvO|3n4i=NfqV*000+sMObuGZ)S9NVRB^vM@&Re zPDdbiWpW@hE;Mn4q~QPn18_-1K~zY`O;wAbn=lO2{-ZRV0GkDBITKiH0B?i7-p6Tc zk_X`-`E)uRk#p9Z_?uaY6E8XsocW)~c|AAQS}Svm#PTJMx~rn&(b{PeKd!n;DRbh- zb46pAqZ`)InSeQ#6Cnc@@*?WOdM+d=!Dzgiv9Q&{b>D?gtx9~koHh)Z+1t-Kzx3?G zP-G>V0O+i`7b9@RFfITBG+YD=s0&e-b}yGORTi&-nF%)OTargNK ziYXW^Odmn}tu=+WbenTjrOY%`822G=0>`@Ls*IKdg?I_ zHWi&vqBHpX8d^+tG!nog7w>>cJjgCG4ZBfl>Y0Lo^wB^9JBP;)ap7Ky8+9`k(OAY* zMeStOZ*r?{x^i+hNXQt|p%Zdqq7ZkIQKoa@`x@qSQj-J1dZdKqeTN9eeQ6>jg%bg( z7?VPwzMVEkI+$E6DS(WSouh%gJJfb7XuiLQ99QRbQ@})s!5m$?lT6P>a#&V2baPsj z?EQ2hdf=3_dJnUZJJG&yV{ijiknlAXHS1GD`-~beh(o2Z8U=rrse#5qik$pWk`}_- z3pl7rf{2@(lgs)y6G(Cl3JS@it6Fp;JzuZai(pcc=3EH;pn&&0=YQflpr~>iMMSo4 z984uV?4~48YUIcd0pH(MMul$n(KUsv`uhIL!_mJD@e)ipqP#=iIXTze-Kdro&mv3E*Xy@V&5jnPo|Mo{zCT6WzS((@Avk zk=fg(aGdhVWn0hmU#YrVSL{;kQIfH^qkUV0bw;=USZwOmp(4~+LBedl`S2<7<+dWQ z{MO+6V*P!|QIcdtsr=3v!Z5c#h)2%Jlw)-^O{!K23arZr=$X_8&LLxKL~om%c{!mx zV?MB;%^gI2^leeb!{Hji`RaR(PJ_>FG~GPt&9s#$IWf~u^6@Mdz00_?jNa!T1l l#um@;gl~iLgz`0>e*mjVc!7vL=8gaW002ovPDHLkV1mAc^+W&w diff --git a/graphics/battle_anims/sprites/primal_particles.png b/graphics/battle_anims/sprites/primal_particles.png deleted file mode 100644 index 6fdf09d96e0d606f5253e5ed18da3c272120e6ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 510 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!VDx|6+TY^QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIi1;V5)EKCOG0EHAg;|it=M#{_S>O>_%)r2R1cVu< zYV%101=&kHeO=k_v+;>Y%TBb>0$R^-!qdeuMB;MkSzAA6Ljjftm4S70^!7P!X%c?J zx+ueSZqwV#8y5LIH!JaLcR5@*^ZAE0>`j^9Cfg`8ALfgA)2R6Tu2V|CBd6-7XF6I< zXE=;s`@AUD;Xm-|NOoDo&iNZcoH&Dx!^FC;kotR)G0UiF^6U!J>Hw}q4M{;9{;^}p4Yc+{(W|*rs(G7+07lj71mug zd;WDF7kn9csjh*UuAxbYp@o%^xs{P6 VL_^=Zwnsn>44$rjF6*2UngE>NybAyT diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index db2efd8d0..05d9f575a 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -392,9 +392,8 @@ #define ANIM_TAG_STONE_PILLAR_MULTI (ANIM_SPRITES_START + 380) #define ANIM_TAG_ALPHA_SYMBOL (ANIM_SPRITES_START + 381) #define ANIM_TAG_OMEGA_SYMBOL (ANIM_SPRITES_START + 382) -#define ANIM_TAG_PRIMAL_PARTICLES (ANIM_SPRITES_START + 383) -#define ANIM_TAG_STEEL_BEAM (ANIM_SPRITES_START + 384) -#define ANIM_TAG_POLTERGEIST (ANIM_SPRITES_START + 385) +#define ANIM_TAG_STEEL_BEAM (ANIM_SPRITES_START + 383) +#define ANIM_TAG_POLTERGEIST (ANIM_SPRITES_START + 384) // battlers #define ANIM_ATTACKER 0 diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 3b9a9a8f8..552fcf517 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -1239,17 +1239,6 @@ const struct SpriteTemplate gOmegaStoneSpriteTemplate = .callback = AnimSpriteOnMonPos, }; -const struct SpriteTemplate gPrimalParticlesSpriteTemplate = -{ - .tileTag = ANIM_TAG_PRIMAL_PARTICLES, - .paletteTag = ANIM_TAG_PRIMAL_PARTICLES, - .oam = &gOamData_AffineNormal_ObjBlend_16x16, - .anims = gPowerAbsorptionOrbAnimTable, - .images = NULL, - .affineAnims = gPowerAbsorptionOrbAffineAnimTable, - .callback = AnimPowerAbsorptionOrb, -}; - const struct SpriteTemplate gAlphaSymbolSpriteTemplate = { .tileTag = ANIM_TAG_ALPHA_SYMBOL, diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c index 59d012f9a..2735ea447 100644 --- a/src/battle_anim_flying.c +++ b/src/battle_anim_flying.c @@ -1252,8 +1252,8 @@ void AnimTask_LoadWindstormBackground(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); GetBattleAnimBg1Data(&animBg); - AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Windstorm, animBg.tilesOffset); - AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_Windstorm, 0); + AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Sandstorm, animBg.tilesOffset); + AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_Sandstorm, 0); LoadCompressedPalette(gBattleAnimSpritePal_Windstorm, animBg.paletteId * 16, 32); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index 6a67e0cd6..e6e03f06c 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1448,7 +1448,6 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_StonePillar, 0x1800, ANIM_TAG_STONE_PILLAR_MULTI}, {gBattleAnimSpriteGfx_AlphaSymbol, 0x0200, ANIM_TAG_ALPHA_SYMBOL}, {gBattleAnimSpriteGfx_OmegaSymbol, 0x0200, ANIM_TAG_OMEGA_SYMBOL}, - {gBattleAnimSpriteGfx_PrimalParticles, 0x0180, ANIM_TAG_PRIMAL_PARTICLES}, {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_STEEL_BEAM}, {gBattleAnimSpriteGfx_AuraSphere, 0x200, ANIM_TAG_POLTERGEIST}, }; @@ -1899,7 +1898,6 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePal_StonePillar, ANIM_TAG_STONE_PILLAR_MULTI}, {gBattleAnimSpritePal_AlphaSymbol, ANIM_TAG_ALPHA_SYMBOL}, {gBattleAnimSpritePal_OmegaSymbol, ANIM_TAG_OMEGA_SYMBOL}, - {gBattleAnimSpritePal_PrimalParticles, ANIM_TAG_PRIMAL_PARTICLES}, {gBattleAnimSpritePal_SteelBeam, ANIM_TAG_STEEL_BEAM}, {gBattleAnimSpritePal_Poltergeist, ANIM_TAG_POLTERGEIST}, }; diff --git a/src/graphics.c b/src/graphics.c index 6a12dda1c..306f35928 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -42,9 +42,6 @@ const u32 gBattleAnimSpritePal_AlphaSymbol[] = INCBIN_U32("graphics/battle_anims const u32 gBattleAnimSpriteGfx_OmegaSymbol[] = INCBIN_U32("graphics/battle_anims/sprites/omega_symbol.4bpp.lz"); const u32 gBattleAnimSpritePal_OmegaSymbol[] = INCBIN_U32("graphics/battle_anims/sprites/omega_symbol.gbapal.lz"); -const u32 gBattleAnimSpriteGfx_PrimalParticles[] = INCBIN_U32("graphics/battle_anims/sprites/primal_particles.4bpp.lz"); -const u32 gBattleAnimSpritePal_PrimalParticles[] = INCBIN_U32("graphics/battle_anims/sprites/primal_particles.gbapal.lz"); - const u32 gBattleAnimSpriteGfx_FlashCannonBall[] = INCBIN_U32("graphics/battle_anims/sprites/flash_cannon_ball.4bpp.lz"); const u32 gBattleAnimSpritePal_FlashCannonBall[] = INCBIN_U32("graphics/battle_anims/sprites/flash_cannon_ball.gbapal.lz"); @@ -1309,8 +1306,6 @@ const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimBgTilemap_Sandstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); const u32 gBattleAnimBgImage_Sandstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); -const u32 gBattleAnimBgTilemap_Windstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); -const u32 gBattleAnimBgImage_Windstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/windstorm_brew.4bpp.lz"); const u32 gBattleAnimSpritePal_Windstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/windstorm_brew.gbapal.lz"); const u32 gBattleAnimSpriteGfx_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz"); From d870d71dbe9437a1ec420be62b0b0aa35129a6bd Mon Sep 17 00:00:00 2001 From: Blackforest92 Date: Fri, 9 Sep 2022 22:26:29 +0700 Subject: [PATCH 056/147] Remove windstorm_brew leftovers --- include/graphics.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/graphics.h b/include/graphics.h index 197cb4bb4..808b320d4 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -10085,9 +10085,6 @@ extern const u16 gSlotMachineReelTimePikachu_Pal[]; extern const u32 gBattleAnimBgTilemap_Sandstorm[]; extern const u32 gBattleAnimBgImage_Sandstorm[]; -extern const u32 gBattleAnimBgTilemap_Windstorm[]; -extern const u32 gBattleAnimBgImage_Windstorm[]; - // Pokedex Area Screen extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[]; extern const u16 gPokedexAreaScreenAreaUnknown_Pal[]; From 29529a0c47731a1901febe9ae7d8e6efc19fbf22 Mon Sep 17 00:00:00 2001 From: Blackforest92 Date: Fri, 9 Sep 2022 22:28:11 +0700 Subject: [PATCH 057/147] Remove primal_particle leftovers --- include/graphics.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/graphics.h b/include/graphics.h index 808b320d4..4f8534f9a 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -9631,8 +9631,6 @@ extern const u32 gBattleAnimSpriteGfx_MegaStone[]; extern const u32 gBattleAnimSpritePal_MegaStone[]; extern const u32 gBattleAnimSpriteGfx_MegaParticles[]; extern const u32 gBattleAnimSpritePal_MegaParticles[]; -extern const u32 gBattleAnimSpriteGfx_PrimalParticles[]; -extern const u32 gBattleAnimSpritePal_PrimalParticles[]; extern const u32 gBattleAnimSpriteGfx_MegaSymbol[]; extern const u32 gBattleAnimSpritePal_MegaSymbol[]; extern const u32 gBattleAnimSpriteGfx_FlashCannonBall[]; From 503b85aa2daa9484647b961af062072c44c6cb76 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 9 Sep 2022 16:44:34 -0400 Subject: [PATCH 058/147] Generating music names for the debug menu based on their labels --- charmap.txt | 1 + src/debug.c | 1068 +++++++++++++++++++++++++-------------------------- 2 files changed, 535 insertions(+), 534 deletions(-) diff --git a/charmap.txt b/charmap.txt index 980a3e5dd..2cb67a861 100644 --- a/charmap.txt +++ b/charmap.txt @@ -79,6 +79,7 @@ SUPER_RE = A0 '?' = AC '.' = AD '-' = AE +'_' = AE @ For autogenerating strings based on label names. Not using {UNDERSCORE} on purpose due to how bad it looks. '·' = AF '…' = B0 '“' = B1 diff --git a/src/debug.c b/src/debug.c index 4cc1ac616..19038723d 100644 --- a/src/debug.c +++ b/src/debug.c @@ -2839,544 +2839,544 @@ static void DebugAction_Sound_MUS_SelectId(u8 taskId) } #define SOUND_LIST_BGM \ - X(MUS_LITTLEROOT_TEST, "MUS-LITTLEROOT-TEST") \ - X(MUS_GSC_ROUTE38, "MUS-GSC-ROUTE38") \ - X(MUS_CAUGHT, "MUS-CAUGHT") \ - X(MUS_VICTORY_WILD, "MUS-VICTORY-WILD") \ - X(MUS_VICTORY_GYM_LEADER, "MUS-VICTORY-GYM-LEADER") \ - X(MUS_VICTORY_LEAGUE, "MUS-VICTORY-LEAGUE") \ - X(MUS_C_COMM_CENTER, "MUS-C-COMM-CENTER") \ - X(MUS_GSC_PEWTER, "MUS-GSC-PEWTER") \ - X(MUS_C_VS_LEGEND_BEAST, "MUS-C-VS-LEGEND-BEAST") \ - X(MUS_ROUTE101, "MUS-ROUTE101") \ - X(MUS_ROUTE110, "MUS-ROUTE110") \ - X(MUS_ROUTE120, "MUS-ROUTE120") \ - X(MUS_PETALBURG, "MUS-PETALBURG") \ - X(MUS_OLDALE, "MUS-OLDALE") \ - X(MUS_GYM, "MUS-GYM") \ - X(MUS_SURF, "MUS-SURF") \ - X(MUS_PETALBURG_WOODS, "MUS-PETALBURG-WOODS") \ - X(MUS_LEVEL_UP, "MUS-LEVEL-UP") \ - X(MUS_HEAL, "MUS-HEAL") \ - X(MUS_OBTAIN_BADGE, "MUS-OBTAIN-BADGE") \ - X(MUS_OBTAIN_ITEM, "MUS-OBTAIN-ITEM") \ - X(MUS_EVOLVED, "MUS-EVOLVED") \ - X(MUS_OBTAIN_TMHM, "MUS-OBTAIN-TMHM") \ - X(MUS_LILYCOVE_MUSEUM, "MUS-LILYCOVE-MUSEUM") \ - X(MUS_ROUTE122, "MUS-ROUTE122") \ - X(MUS_OCEANIC_MUSEUM, "MUS-OCEANIC-MUSEUM") \ - X(MUS_EVOLUTION_INTRO, "MUS-EVOLUTION-INTRO") \ - X(MUS_EVOLUTION, "MUS-EVOLUTION") \ - X(MUS_MOVE_DELETED, "MUS-MOVE-DELETED") \ - X(MUS_ENCOUNTER_GIRL, "MUS-ENCOUNTER-GIRL") \ - X(MUS_ENCOUNTER_MALE, "MUS-ENCOUNTER-MALE") \ - X(MUS_ABANDONED_SHIP, "MUS-ABANDONED-SHIP") \ - X(MUS_FORTREE, "MUS-FORTREE") \ - X(MUS_BIRCH_LAB, "MUS-BIRCH-LAB") \ - X(MUS_B_TOWER_RS, "MUS-B-TOWER-RS") \ - X(MUS_ENCOUNTER_SWIMMER, "MUS-ENCOUNTER-SWIMMER") \ - X(MUS_CAVE_OF_ORIGIN, "MUS-CAVE-OF-ORIGIN") \ - X(MUS_OBTAIN_BERRY, "MUS-OBTAIN-BERRY") \ - X(MUS_AWAKEN_LEGEND, "MUS-AWAKEN-LEGEND") \ - X(MUS_SLOTS_JACKPOT, "MUS-SLOTS-JACKPOT") \ - X(MUS_SLOTS_WIN, "MUS-SLOTS-WIN") \ - X(MUS_TOO_BAD, "MUS-TOO-BAD") \ - X(MUS_ROULETTE, "MUS-ROULETTE") \ - X(MUS_LINK_CONTEST_P1, "MUS-LINK-CONTEST-P1") \ - X(MUS_LINK_CONTEST_P2, "MUS-LINK-CONTEST-P2") \ - X(MUS_LINK_CONTEST_P3, "MUS-LINK-CONTEST-P3") \ - X(MUS_LINK_CONTEST_P4, "MUS-LINK-CONTEST-P4") \ - X(MUS_ENCOUNTER_RICH, "MUS-ENCOUNTER-RICH") \ - X(MUS_VERDANTURF, "MUS-VERDANTURF") \ - X(MUS_RUSTBORO, "MUS-RUSTBORO") \ - X(MUS_POKE_CENTER, "MUS-POKE-CENTER") \ - X(MUS_ROUTE104, "MUS-ROUTE104") \ - X(MUS_ROUTE119, "MUS-ROUTE119") \ - X(MUS_CYCLING, "MUS-CYCLING") \ - X(MUS_POKE_MART, "MUS-POKE-MART") \ - X(MUS_LITTLEROOT, "MUS-LITTLEROOT") \ - X(MUS_MT_CHIMNEY, "MUS-MT-CHIMNEY") \ - X(MUS_ENCOUNTER_FEMALE, "MUS-ENCOUNTER-FEMALE") \ - X(MUS_LILYCOVE, "MUS-LILYCOVE") \ - X(MUS_ROUTE111, "MUS-ROUTE111") \ - X(MUS_HELP, "MUS-HELP") \ - X(MUS_UNDERWATER, "MUS-UNDERWATER") \ - X(MUS_VICTORY_TRAINER, "MUS-VICTORY-TRAINER") \ - X(MUS_TITLE, "MUS-TITLE") \ - X(MUS_INTRO, "MUS-INTRO") \ - X(MUS_ENCOUNTER_MAY, "MUS-ENCOUNTER-MAY") \ - X(MUS_ENCOUNTER_INTENSE, "MUS-ENCOUNTER-INTENSE") \ - X(MUS_ENCOUNTER_COOL, "MUS-ENCOUNTER-COOL") \ - X(MUS_ROUTE113, "MUS-ROUTE113") \ - X(MUS_ENCOUNTER_AQUA, "MUS-ENCOUNTER-AQUA") \ - X(MUS_FOLLOW_ME, "MUS-FOLLOW-ME") \ - X(MUS_ENCOUNTER_BRENDAN, "MUS-ENCOUNTER-BRENDAN") \ - X(MUS_EVER_GRANDE, "MUS-EVER-GRANDE") \ - X(MUS_ENCOUNTER_SUSPICIOUS, "MUS-ENCOUNTER-SUSPICIOUS") \ - X(MUS_VICTORY_AQUA_MAGMA, "MUS-VICTORY-AQUA-MAGMA") \ - X(MUS_CABLE_CAR, "MUS-CABLE-CAR") \ - X(MUS_GAME_CORNER, "MUS-GAME-CORNER") \ - X(MUS_DEWFORD, "MUS-DEWFORD") \ - X(MUS_SAFARI_ZONE, "MUS-SAFARI-ZONE") \ - X(MUS_VICTORY_ROAD, "MUS-VICTORY-ROAD") \ - X(MUS_AQUA_MAGMA_HIDEOUT, "MUS-AQUA-MAGMA-HIDEOUT") \ - X(MUS_SAILING, "MUS-SAILING") \ - X(MUS_MT_PYRE, "MUS-MT-PYRE") \ - X(MUS_SLATEPORT, "MUS-SLATEPORT") \ - X(MUS_MT_PYRE_EXTERIOR, "MUS-MT-PYRE-EXTERIOR") \ - X(MUS_SCHOOL, "MUS-SCHOOL") \ - X(MUS_HALL_OF_FAME, "MUS-HALL-OF-FAME") \ - X(MUS_FALLARBOR, "MUS-FALLARBOR") \ - X(MUS_SEALED_CHAMBER, "MUS-SEALED-CHAMBER") \ - X(MUS_CONTEST_WINNER, "MUS-CONTEST-WINNER") \ - X(MUS_CONTEST, "MUS-CONTEST") \ - X(MUS_ENCOUNTER_MAGMA, "MUS-ENCOUNTER-MAGMA") \ - X(MUS_INTRO_BATTLE, "MUS-INTRO-BATTLE") \ - X(MUS_WEATHER_KYOGRE, "MUS-WEATHER-KYOGRE") \ - X(MUS_WEATHER_GROUDON, "MUS-WEATHER-GROUDON") \ - X(MUS_SOOTOPOLIS, "MUS-SOOTOPOLIS") \ - X(MUS_CONTEST_RESULTS, "MUS-CONTEST-RESULTS") \ - X(MUS_HALL_OF_FAME_ROOM, "MUS-HALL-OF-FAME-ROOM") \ - X(MUS_TRICK_HOUSE, "MUS-TRICK-HOUSE") \ - X(MUS_ENCOUNTER_TWINS, "MUS-ENCOUNTER-TWINS") \ - X(MUS_ENCOUNTER_ELITE_FOUR, "MUS-ENCOUNTER-ELITE-FOUR") \ - X(MUS_ENCOUNTER_HIKER, "MUS-ENCOUNTER-HIKER") \ - X(MUS_CONTEST_LOBBY, "MUS-CONTEST-LOBBY") \ - X(MUS_ENCOUNTER_INTERVIEWER, "MUS-ENCOUNTER-INTERVIEWER") \ - X(MUS_ENCOUNTER_CHAMPION, "MUS-ENCOUNTER-CHAMPION") \ - X(MUS_CREDITS, "MUS-CREDITS") \ - X(MUS_END, "MUS-END") \ - X(MUS_B_FRONTIER, "MUS-B-FRONTIER") \ - X(MUS_B_ARENA, "MUS-B-ARENA") \ - X(MUS_OBTAIN_B_POINTS, "MUS-OBTAIN-B-POINTS") \ - X(MUS_REGISTER_MATCH_CALL, "MUS-REGISTER-MATCH-CALL") \ - X(MUS_B_PYRAMID, "MUS-B-PYRAMID") \ - X(MUS_B_PYRAMID_TOP, "MUS-B-PYRAMID-TOP") \ - X(MUS_B_PALACE, "MUS-B-PALACE") \ - X(MUS_RAYQUAZA_APPEARS, "MUS-RAYQUAZA-APPEARS") \ - X(MUS_B_TOWER, "MUS-B-TOWER") \ - X(MUS_OBTAIN_SYMBOL, "MUS-OBTAIN-SYMBOL") \ - X(MUS_B_DOME, "MUS-B-DOME") \ - X(MUS_B_PIKE, "MUS-B-PIKE") \ - X(MUS_B_FACTORY, "MUS-B-FACTORY") \ - X(MUS_VS_RAYQUAZA, "MUS-VS-RAYQUAZA") \ - X(MUS_VS_FRONTIER_BRAIN, "MUS-VS-FRONTIER-BRAIN") \ - X(MUS_VS_MEW, "MUS-VS-MEW") \ - X(MUS_B_DOME_LOBBY, "MUS-B-DOME-LOBBY") \ - X(MUS_VS_WILD, "MUS-VS-WILD") \ - X(MUS_VS_AQUA_MAGMA, "MUS-VS-AQUA-MAGMA") \ - X(MUS_VS_TRAINER, "MUS-VS-TRAINER") \ - X(MUS_VS_GYM_LEADER, "MUS-VS-GYM-LEADER") \ - X(MUS_VS_CHAMPION, "MUS-VS-CHAMPION") \ - X(MUS_VS_REGI, "MUS-VS-REGI") \ - X(MUS_VS_KYOGRE_GROUDON, "MUS-VS-KYOGRE-GROUDON") \ - X(MUS_VS_RIVAL, "MUS-VS-RIVAL") \ - X(MUS_VS_ELITE_FOUR, "MUS-VS-ELITE-FOUR") \ - X(MUS_VS_AQUA_MAGMA_LEADER, "MUS-VS-AQUA-MAGMA-LEADER") \ - X(MUS_RG_FOLLOW_ME, "MUS-RG-FOLLOW-ME") \ - X(MUS_RG_GAME_CORNER, "MUS-RG-GAME-CORNER") \ - X(MUS_RG_ROCKET_HIDEOUT, "MUS-RG-ROCKET-HIDEOUT") \ - X(MUS_RG_GYM, "MUS-RG-GYM") \ - X(MUS_RG_JIGGLYPUFF, "MUS-RG-JIGGLYPUFF") \ - X(MUS_RG_INTRO_FIGHT, "MUS-RG-INTRO-FIGHT") \ - X(MUS_RG_TITLE, "MUS-RG-TITLE") \ - X(MUS_RG_CINNABAR, "MUS-RG-CINNABAR") \ - X(MUS_RG_LAVENDER, "MUS-RG-LAVENDER") \ - X(MUS_RG_HEAL, "MUS-RG-HEAL") \ - X(MUS_RG_CYCLING, "MUS-RG-CYCLING") \ - X(MUS_RG_ENCOUNTER_ROCKET, "MUS-RG-ENCOUNTER-ROCKET") \ - X(MUS_RG_ENCOUNTER_GIRL, "MUS-RG-ENCOUNTER-GIRL") \ - X(MUS_RG_ENCOUNTER_BOY, "MUS-RG-ENCOUNTER-BOY") \ - X(MUS_RG_HALL_OF_FAME, "MUS-RG-HALL-OF-FAME") \ - X(MUS_RG_VIRIDIAN_FOREST, "MUS-RG-VIRIDIAN-FOREST") \ - X(MUS_RG_MT_MOON, "MUS-RG-MT-MOON") \ - X(MUS_RG_POKE_MANSION, "MUS-RG-POKE-MANSION") \ - X(MUS_RG_CREDITS, "MUS-RG-CREDITS") \ - X(MUS_RG_ROUTE1, "MUS-RG-ROUTE1") \ - X(MUS_RG_ROUTE24, "MUS-RG-ROUTE24") \ - X(MUS_RG_ROUTE3, "MUS-RG-ROUTE3") \ - X(MUS_RG_ROUTE11, "MUS-RG-ROUTE11") \ - X(MUS_RG_VICTORY_ROAD, "MUS-RG-VICTORY-ROAD") \ - X(MUS_RG_VS_GYM_LEADER, "MUS-RG-VS-GYM-LEADER") \ - X(MUS_RG_VS_TRAINER, "MUS-RG-VS-TRAINER") \ - X(MUS_RG_VS_WILD, "MUS-RG-VS-WILD") \ - X(MUS_RG_VS_CHAMPION, "MUS-RG-VS-CHAMPION") \ - X(MUS_RG_PALLET, "MUS-RG-PALLET") \ - X(MUS_RG_OAK_LAB, "MUS-RG-OAK-LAB") \ - X(MUS_RG_OAK, "MUS-RG-OAK") \ - X(MUS_RG_POKE_CENTER, "MUS-RG-POKE-CENTER") \ - X(MUS_RG_SS_ANNE, "MUS-RG-SS-ANNE") \ - X(MUS_RG_SURF, "MUS-RG-SURF") \ - X(MUS_RG_POKE_TOWER, "MUS-RG-POKE-TOWER") \ - X(MUS_RG_SILPH, "MUS-RG-SILPH") \ - X(MUS_RG_FUCHSIA, "MUS-RG-FUCHSIA") \ - X(MUS_RG_CELADON, "MUS-RG-CELADON") \ - X(MUS_RG_VICTORY_TRAINER, "MUS-RG-VICTORY-TRAINER") \ - X(MUS_RG_VICTORY_WILD, "MUS-RG-VICTORY-WILD") \ - X(MUS_RG_VICTORY_GYM_LEADER, "MUS-RG-VICTORY-GYM-LEADER") \ - X(MUS_RG_VERMILLION, "MUS-RG-VERMILLION") \ - X(MUS_RG_PEWTER, "MUS-RG-PEWTER") \ - X(MUS_RG_ENCOUNTER_RIVAL, "MUS-RG-ENCOUNTER-RIVAL") \ - X(MUS_RG_RIVAL_EXIT, "MUS-RG-RIVAL-EXIT") \ - X(MUS_RG_DEX_RATING, "MUS-RG-DEX-RATING") \ - X(MUS_RG_OBTAIN_KEY_ITEM, "MUS-RG-OBTAIN-KEY-ITEM") \ - X(MUS_RG_CAUGHT_INTRO, "MUS-RG-CAUGHT-INTRO") \ - X(MUS_RG_PHOTO, "MUS-RG-PHOTO") \ - X(MUS_RG_GAME_FREAK, "MUS-RG-GAME-FREAK") \ - X(MUS_RG_CAUGHT, "MUS-RG-CAUGHT") \ - X(MUS_RG_NEW_GAME_INSTRUCT, "MUS-RG-NEW-GAME-INSTRUCT") \ - X(MUS_RG_NEW_GAME_INTRO, "MUS-RG-NEW-GAME-INTRO") \ - X(MUS_RG_NEW_GAME_EXIT, "MUS-RG-NEW-GAME-EXIT") \ - X(MUS_RG_POKE_JUMP, "MUS-RG-POKE-JUMP") \ - X(MUS_RG_UNION_ROOM, "MUS-RG-UNION-ROOM") \ - X(MUS_RG_NET_CENTER, "MUS-RG-NET-CENTER") \ - X(MUS_RG_MYSTERY_GIFT, "MUS-RG-MYSTERY-GIFT") \ - X(MUS_RG_BERRY_PICK, "MUS-RG-BERRY-PICK") \ - X(MUS_RG_SEVII_CAVE, "MUS-RG-SEVII-CAVE") \ - X(MUS_RG_TEACHY_TV_SHOW, "MUS-RG-TEACHY-TV-SHOW") \ - X(MUS_RG_SEVII_ROUTE, "MUS-RG-SEVII-ROUTE") \ - X(MUS_RG_SEVII_DUNGEON, "MUS-RG-SEVII-DUNGEON") \ - X(MUS_RG_SEVII_123, "MUS-RG-SEVII-123") \ - X(MUS_RG_SEVII_45, "MUS-RG-SEVII-45") \ - X(MUS_RG_SEVII_67, "MUS-RG-SEVII-67") \ - X(MUS_RG_POKE_FLUTE, "MUS-RG-POKE-FLUTE") \ - X(MUS_RG_VS_DEOXYS, "MUS-RG-VS-DEOXYS") \ - X(MUS_RG_VS_MEWTWO, "MUS-RG-VS-MEWTWO") \ - X(MUS_RG_VS_LEGEND, "MUS-RG-VS-LEGEND") \ - X(MUS_RG_ENCOUNTER_GYM_LEADER, "MUS-RG-ENCOUNTER-GYM-LEADER") \ - X(MUS_RG_ENCOUNTER_DEOXYS, "MUS-RG-ENCOUNTER-DEOXYS") \ - X(MUS_RG_TRAINER_TOWER, "MUS-RG-TRAINER-TOWER") \ - X(MUS_RG_SLOW_PALLET, "MUS-RG-SLOW-PALLET") \ - X(MUS_RG_TEACHY_TV_MENU, "MUS-RG-TEACHY-TV-MENU") \ - X(PH_TRAP_BLEND, "PH-TRAP-BLEND") \ - X(PH_TRAP_HELD, "PH-TRAP-HELD") \ - X(PH_TRAP_SOLO, "PH-TRAP-SOLO") \ - X(PH_FACE_BLEND, "PH-FACE-BLEND") \ - X(PH_FACE_HELD, "PH-FACE-HELD") \ - X(PH_FACE_SOLO, "PH-FACE-SOLO") \ - X(PH_CLOTH_BLEND, "PH-CLOTH-BLEND") \ - X(PH_CLOTH_HELD, "PH-CLOTH-HELD") \ - X(PH_CLOTH_SOLO, "PH-CLOTH-SOLO") \ - X(PH_DRESS_BLEND, "PH-DRESS-BLEND") \ - X(PH_DRESS_HELD, "PH-DRESS-HELD") \ - X(PH_DRESS_SOLO, "PH-DRESS-SOLO") \ - X(PH_FLEECE_BLEND, "PH-FLEECE-BLEND") \ - X(PH_FLEECE_HELD, "PH-FLEECE-HELD") \ - X(PH_FLEECE_SOLO, "PH-FLEECE-SOLO") \ - X(PH_KIT_BLEND, "PH-KIT-BLEND") \ - X(PH_KIT_HELD, "PH-KIT-HELD") \ - X(PH_KIT_SOLO, "PH-KIT-SOLO") \ - X(PH_PRICE_BLEND, "PH-PRICE-BLEND") \ - X(PH_PRICE_HELD, "PH-PRICE-HELD") \ - X(PH_PRICE_SOLO, "PH-PRICE-SOLO") \ - X(PH_LOT_BLEND, "PH-LOT-BLEND") \ - X(PH_LOT_HELD, "PH-LOT-HELD") \ - X(PH_LOT_SOLO, "PH-LOT-SOLO") \ - X(PH_GOAT_BLEND, "PH-GOAT-BLEND") \ - X(PH_GOAT_HELD, "PH-GOAT-HELD") \ - X(PH_GOAT_SOLO, "PH-GOAT-SOLO") \ - X(PH_THOUGHT_BLEND, "PH-THOUGHT-BLEND") \ - X(PH_THOUGHT_HELD, "PH-THOUGHT-HELD") \ - X(PH_THOUGHT_SOLO, "PH-THOUGHT-SOLO") \ - X(PH_CHOICE_BLEND, "PH-CHOICE-BLEND") \ - X(PH_CHOICE_HELD, "PH-CHOICE-HELD") \ - X(PH_CHOICE_SOLO, "PH-CHOICE-SOLO") \ - X(PH_MOUTH_BLEND, "PH-MOUTH-BLEND") \ - X(PH_MOUTH_HELD, "PH-MOUTH-HELD") \ - X(PH_MOUTH_SOLO, "PH-MOUTH-SOLO") \ - X(PH_FOOT_BLEND, "PH-FOOT-BLEND") \ - X(PH_FOOT_HELD, "PH-FOOT-HELD") \ - X(PH_FOOT_SOLO, "PH-FOOT-SOLO") \ - X(PH_GOOSE_BLEND, "PH-GOOSE-BLEND") \ - X(PH_GOOSE_HELD, "PH-GOOSE-HELD") \ - X(PH_GOOSE_SOLO, "PH-GOOSE-SOLO") \ - X(PH_STRUT_BLEND, "PH-STRUT-BLEND") \ - X(PH_STRUT_HELD, "PH-STRUT-HELD") \ - X(PH_STRUT_SOLO, "PH-STRUT-SOLO") \ - X(PH_CURE_BLEND, "PH-CURE-BLEND") \ - X(PH_CURE_HELD, "PH-CURE-HELD") \ - X(PH_CURE_SOLO, "PH-CURE-SOLO") \ - X(PH_NURSE_BLEND, "PH-NURSE-BLEND") \ - X(PH_NURSE_HELD, "PH-NURSE-HELD") \ - X(PH_NURSE_SOLO, "PH-NURSE-SOLO") \ + X(MUS_LITTLEROOT_TEST) \ + X(MUS_GSC_ROUTE38) \ + X(MUS_CAUGHT) \ + X(MUS_VICTORY_WILD) \ + X(MUS_VICTORY_GYM_LEADER) \ + X(MUS_VICTORY_LEAGUE) \ + X(MUS_C_COMM_CENTER) \ + X(MUS_GSC_PEWTER) \ + X(MUS_C_VS_LEGEND_BEAST) \ + X(MUS_ROUTE101) \ + X(MUS_ROUTE110) \ + X(MUS_ROUTE120) \ + X(MUS_PETALBURG) \ + X(MUS_OLDALE) \ + X(MUS_GYM) \ + X(MUS_SURF) \ + X(MUS_PETALBURG_WOODS) \ + X(MUS_LEVEL_UP) \ + X(MUS_HEAL) \ + X(MUS_OBTAIN_BADGE) \ + X(MUS_OBTAIN_ITEM) \ + X(MUS_EVOLVED) \ + X(MUS_OBTAIN_TMHM) \ + X(MUS_LILYCOVE_MUSEUM) \ + X(MUS_ROUTE122) \ + X(MUS_OCEANIC_MUSEUM) \ + X(MUS_EVOLUTION_INTRO) \ + X(MUS_EVOLUTION) \ + X(MUS_MOVE_DELETED) \ + X(MUS_ENCOUNTER_GIRL) \ + X(MUS_ENCOUNTER_MALE) \ + X(MUS_ABANDONED_SHIP) \ + X(MUS_FORTREE) \ + X(MUS_BIRCH_LAB) \ + X(MUS_B_TOWER_RS) \ + X(MUS_ENCOUNTER_SWIMMER) \ + X(MUS_CAVE_OF_ORIGIN) \ + X(MUS_OBTAIN_BERRY) \ + X(MUS_AWAKEN_LEGEND) \ + X(MUS_SLOTS_JACKPOT) \ + X(MUS_SLOTS_WIN) \ + X(MUS_TOO_BAD) \ + X(MUS_ROULETTE) \ + X(MUS_LINK_CONTEST_P1) \ + X(MUS_LINK_CONTEST_P2) \ + X(MUS_LINK_CONTEST_P3) \ + X(MUS_LINK_CONTEST_P4) \ + X(MUS_ENCOUNTER_RICH) \ + X(MUS_VERDANTURF) \ + X(MUS_RUSTBORO) \ + X(MUS_POKE_CENTER) \ + X(MUS_ROUTE104) \ + X(MUS_ROUTE119) \ + X(MUS_CYCLING) \ + X(MUS_POKE_MART) \ + X(MUS_LITTLEROOT) \ + X(MUS_MT_CHIMNEY) \ + X(MUS_ENCOUNTER_FEMALE) \ + X(MUS_LILYCOVE) \ + X(MUS_ROUTE111) \ + X(MUS_HELP) \ + X(MUS_UNDERWATER) \ + X(MUS_VICTORY_TRAINER) \ + X(MUS_TITLE) \ + X(MUS_INTRO) \ + X(MUS_ENCOUNTER_MAY) \ + X(MUS_ENCOUNTER_INTENSE) \ + X(MUS_ENCOUNTER_COOL) \ + X(MUS_ROUTE113) \ + X(MUS_ENCOUNTER_AQUA) \ + X(MUS_FOLLOW_ME) \ + X(MUS_ENCOUNTER_BRENDAN) \ + X(MUS_EVER_GRANDE) \ + X(MUS_ENCOUNTER_SUSPICIOUS) \ + X(MUS_VICTORY_AQUA_MAGMA) \ + X(MUS_CABLE_CAR) \ + X(MUS_GAME_CORNER) \ + X(MUS_DEWFORD) \ + X(MUS_SAFARI_ZONE) \ + X(MUS_VICTORY_ROAD) \ + X(MUS_AQUA_MAGMA_HIDEOUT) \ + X(MUS_SAILING) \ + X(MUS_MT_PYRE) \ + X(MUS_SLATEPORT) \ + X(MUS_MT_PYRE_EXTERIOR) \ + X(MUS_SCHOOL) \ + X(MUS_HALL_OF_FAME) \ + X(MUS_FALLARBOR) \ + X(MUS_SEALED_CHAMBER) \ + X(MUS_CONTEST_WINNER) \ + X(MUS_CONTEST) \ + X(MUS_ENCOUNTER_MAGMA) \ + X(MUS_INTRO_BATTLE) \ + X(MUS_WEATHER_KYOGRE) \ + X(MUS_WEATHER_GROUDON) \ + X(MUS_SOOTOPOLIS) \ + X(MUS_CONTEST_RESULTS) \ + X(MUS_HALL_OF_FAME_ROOM) \ + X(MUS_TRICK_HOUSE) \ + X(MUS_ENCOUNTER_TWINS) \ + X(MUS_ENCOUNTER_ELITE_FOUR) \ + X(MUS_ENCOUNTER_HIKER) \ + X(MUS_CONTEST_LOBBY) \ + X(MUS_ENCOUNTER_INTERVIEWER) \ + X(MUS_ENCOUNTER_CHAMPION) \ + X(MUS_CREDITS) \ + X(MUS_END) \ + X(MUS_B_FRONTIER) \ + X(MUS_B_ARENA) \ + X(MUS_OBTAIN_B_POINTS) \ + X(MUS_REGISTER_MATCH_CALL) \ + X(MUS_B_PYRAMID) \ + X(MUS_B_PYRAMID_TOP) \ + X(MUS_B_PALACE) \ + X(MUS_RAYQUAZA_APPEARS) \ + X(MUS_B_TOWER) \ + X(MUS_OBTAIN_SYMBOL) \ + X(MUS_B_DOME) \ + X(MUS_B_PIKE) \ + X(MUS_B_FACTORY) \ + X(MUS_VS_RAYQUAZA) \ + X(MUS_VS_FRONTIER_BRAIN) \ + X(MUS_VS_MEW) \ + X(MUS_B_DOME_LOBBY) \ + X(MUS_VS_WILD) \ + X(MUS_VS_AQUA_MAGMA) \ + X(MUS_VS_TRAINER) \ + X(MUS_VS_GYM_LEADER) \ + X(MUS_VS_CHAMPION) \ + X(MUS_VS_REGI) \ + X(MUS_VS_KYOGRE_GROUDON) \ + X(MUS_VS_RIVAL) \ + X(MUS_VS_ELITE_FOUR) \ + X(MUS_VS_AQUA_MAGMA_LEADER) \ + X(MUS_RG_FOLLOW_ME) \ + X(MUS_RG_GAME_CORNER) \ + X(MUS_RG_ROCKET_HIDEOUT) \ + X(MUS_RG_GYM) \ + X(MUS_RG_JIGGLYPUFF) \ + X(MUS_RG_INTRO_FIGHT) \ + X(MUS_RG_TITLE) \ + X(MUS_RG_CINNABAR) \ + X(MUS_RG_LAVENDER) \ + X(MUS_RG_HEAL) \ + X(MUS_RG_CYCLING) \ + X(MUS_RG_ENCOUNTER_ROCKET) \ + X(MUS_RG_ENCOUNTER_GIRL) \ + X(MUS_RG_ENCOUNTER_BOY) \ + X(MUS_RG_HALL_OF_FAME) \ + X(MUS_RG_VIRIDIAN_FOREST) \ + X(MUS_RG_MT_MOON) \ + X(MUS_RG_POKE_MANSION) \ + X(MUS_RG_CREDITS) \ + X(MUS_RG_ROUTE1) \ + X(MUS_RG_ROUTE24) \ + X(MUS_RG_ROUTE3) \ + X(MUS_RG_ROUTE11) \ + X(MUS_RG_VICTORY_ROAD) \ + X(MUS_RG_VS_GYM_LEADER) \ + X(MUS_RG_VS_TRAINER) \ + X(MUS_RG_VS_WILD) \ + X(MUS_RG_VS_CHAMPION) \ + X(MUS_RG_PALLET) \ + X(MUS_RG_OAK_LAB) \ + X(MUS_RG_OAK) \ + X(MUS_RG_POKE_CENTER) \ + X(MUS_RG_SS_ANNE) \ + X(MUS_RG_SURF) \ + X(MUS_RG_POKE_TOWER) \ + X(MUS_RG_SILPH) \ + X(MUS_RG_FUCHSIA) \ + X(MUS_RG_CELADON) \ + X(MUS_RG_VICTORY_TRAINER) \ + X(MUS_RG_VICTORY_WILD) \ + X(MUS_RG_VICTORY_GYM_LEADER) \ + X(MUS_RG_VERMILLION) \ + X(MUS_RG_PEWTER) \ + X(MUS_RG_ENCOUNTER_RIVAL) \ + X(MUS_RG_RIVAL_EXIT) \ + X(MUS_RG_DEX_RATING) \ + X(MUS_RG_OBTAIN_KEY_ITEM) \ + X(MUS_RG_CAUGHT_INTRO) \ + X(MUS_RG_PHOTO) \ + X(MUS_RG_GAME_FREAK) \ + X(MUS_RG_CAUGHT) \ + X(MUS_RG_NEW_GAME_INSTRUCT) \ + X(MUS_RG_NEW_GAME_INTRO) \ + X(MUS_RG_NEW_GAME_EXIT) \ + X(MUS_RG_POKE_JUMP) \ + X(MUS_RG_UNION_ROOM) \ + X(MUS_RG_NET_CENTER) \ + X(MUS_RG_MYSTERY_GIFT) \ + X(MUS_RG_BERRY_PICK) \ + X(MUS_RG_SEVII_CAVE) \ + X(MUS_RG_TEACHY_TV_SHOW) \ + X(MUS_RG_SEVII_ROUTE) \ + X(MUS_RG_SEVII_DUNGEON) \ + X(MUS_RG_SEVII_123) \ + X(MUS_RG_SEVII_45) \ + X(MUS_RG_SEVII_67) \ + X(MUS_RG_POKE_FLUTE) \ + X(MUS_RG_VS_DEOXYS) \ + X(MUS_RG_VS_MEWTWO) \ + X(MUS_RG_VS_LEGEND) \ + X(MUS_RG_ENCOUNTER_GYM_LEADER) \ + X(MUS_RG_ENCOUNTER_DEOXYS) \ + X(MUS_RG_TRAINER_TOWER) \ + X(MUS_RG_SLOW_PALLET) \ + X(MUS_RG_TEACHY_TV_MENU) \ + X(PH_TRAP_BLEND) \ + X(PH_TRAP_HELD) \ + X(PH_TRAP_SOLO) \ + X(PH_FACE_BLEND) \ + X(PH_FACE_HELD) \ + X(PH_FACE_SOLO) \ + X(PH_CLOTH_BLEND) \ + X(PH_CLOTH_HELD) \ + X(PH_CLOTH_SOLO) \ + X(PH_DRESS_BLEND) \ + X(PH_DRESS_HELD) \ + X(PH_DRESS_SOLO) \ + X(PH_FLEECE_BLEND) \ + X(PH_FLEECE_HELD) \ + X(PH_FLEECE_SOLO) \ + X(PH_KIT_BLEND) \ + X(PH_KIT_HELD) \ + X(PH_KIT_SOLO) \ + X(PH_PRICE_BLEND) \ + X(PH_PRICE_HELD) \ + X(PH_PRICE_SOLO) \ + X(PH_LOT_BLEND) \ + X(PH_LOT_HELD) \ + X(PH_LOT_SOLO) \ + X(PH_GOAT_BLEND) \ + X(PH_GOAT_HELD) \ + X(PH_GOAT_SOLO) \ + X(PH_THOUGHT_BLEND) \ + X(PH_THOUGHT_HELD) \ + X(PH_THOUGHT_SOLO) \ + X(PH_CHOICE_BLEND) \ + X(PH_CHOICE_HELD) \ + X(PH_CHOICE_SOLO) \ + X(PH_MOUTH_BLEND) \ + X(PH_MOUTH_HELD) \ + X(PH_MOUTH_SOLO) \ + X(PH_FOOT_BLEND) \ + X(PH_FOOT_HELD) \ + X(PH_FOOT_SOLO) \ + X(PH_GOOSE_BLEND) \ + X(PH_GOOSE_HELD) \ + X(PH_GOOSE_SOLO) \ + X(PH_STRUT_BLEND) \ + X(PH_STRUT_HELD) \ + X(PH_STRUT_SOLO) \ + X(PH_CURE_BLEND) \ + X(PH_CURE_HELD) \ + X(PH_CURE_SOLO) \ + X(PH_NURSE_BLEND) \ + X(PH_NURSE_HELD) \ + X(PH_NURSE_SOLO) \ #define SOUND_LIST_SE \ - X(SE_USE_ITEM, "SE-USE-ITEM") \ - X(SE_PC_LOGIN, "SE-PC-LOGIN") \ - X(SE_PC_OFF, "SE-PC-OFF") \ - X(SE_PC_ON, "SE-PC-ON") \ - X(SE_SELECT, "SE-SELECT") \ - X(SE_WIN_OPEN, "SE-WIN-OPEN") \ - X(SE_WALL_HIT, "SE-WALL-HIT") \ - X(SE_DOOR, "SE-DOOR") \ - X(SE_EXIT, "SE-EXIT") \ - X(SE_LEDGE, "SE-LEDGE") \ - X(SE_BIKE_BELL, "SE-BIKE-BELL") \ - X(SE_NOT_EFFECTIVE, "SE-NOT-EFFECTIVE") \ - X(SE_EFFECTIVE, "SE-EFFECTIVE") \ - X(SE_SUPER_EFFECTIVE, "SE-SUPER-EFFECTIVE") \ - X(SE_BALL_OPEN, "SE-BALL-OPEN") \ - X(SE_FAINT, "SE-FAINT") \ - X(SE_FLEE, "SE-FLEE") \ - X(SE_SLIDING_DOOR, "SE-SLIDING-DOOR") \ - X(SE_SHIP, "SE-SHIP") \ - X(SE_BANG, "SE-BANG") \ - X(SE_PIN, "SE-PIN") \ - X(SE_BOO, "SE-BOO") \ - X(SE_BALL, "SE-BALL") \ - X(SE_CONTEST_PLACE, "SE-CONTEST-PLACE") \ - X(SE_A, "SE-A") \ - X(SE_I, "SE-I") \ - X(SE_U, "SE-U") \ - X(SE_E, "SE-E") \ - X(SE_O, "SE-O") \ - X(SE_N, "SE-N") \ - X(SE_SUCCESS, "SE-SUCCESS") \ - X(SE_FAILURE, "SE-FAILURE") \ - X(SE_EXP, "SE-EXP") \ - X(SE_BIKE_HOP, "SE-BIKE-HOP") \ - X(SE_SWITCH, "SE-SWITCH") \ - X(SE_CLICK, "SE-CLICK") \ - X(SE_FU_ZAKU, "SE-FU-ZAKU") \ - X(SE_CONTEST_CONDITION_LOSE, "SE-CONTEST-CONDITION-LOSE") \ - X(SE_LAVARIDGE_FALL_WARP, "SE-LAVARIDGE-FALL-WARP") \ - X(SE_ICE_STAIRS, "SE-ICE-STAIRS") \ - X(SE_ICE_BREAK, "SE-ICE-BREAK") \ - X(SE_ICE_CRACK, "SE-ICE-CRACK") \ - X(SE_FALL, "SE-FALL") \ - X(SE_UNLOCK, "SE-UNLOCK") \ - X(SE_WARP_IN, "SE-WARP-IN") \ - X(SE_WARP_OUT, "SE-WARP-OUT") \ - X(SE_REPEL, "SE-REPEL") \ - X(SE_ROTATING_GATE, "SE-ROTATING-GATE") \ - X(SE_TRUCK_MOVE, "SE-TRUCK-MOVE") \ - X(SE_TRUCK_STOP, "SE-TRUCK-STOP") \ - X(SE_TRUCK_UNLOAD, "SE-TRUCK-UNLOAD") \ - X(SE_TRUCK_DOOR, "SE-TRUCK-DOOR") \ - X(SE_BERRY_BLENDER, "SE-BERRY-BLENDER") \ - X(SE_CARD, "SE-CARD") \ - X(SE_SAVE, "SE-SAVE") \ - X(SE_BALL_BOUNCE_1, "SE-BALL-BOUNCE-1") \ - X(SE_BALL_BOUNCE_2, "SE-BALL-BOUNCE-2") \ - X(SE_BALL_BOUNCE_3, "SE-BALL-BOUNCE-3") \ - X(SE_BALL_BOUNCE_4, "SE-BALL-BOUNCE-4") \ - X(SE_BALL_TRADE, "SE-BALL-TRADE") \ - X(SE_BALL_THROW, "SE-BALL-THROW") \ - X(SE_NOTE_C, "SE-NOTE-C") \ - X(SE_NOTE_D, "SE-NOTE-D") \ - X(SE_NOTE_E, "SE-NOTE-E") \ - X(SE_NOTE_F, "SE-NOTE-F") \ - X(SE_NOTE_G, "SE-NOTE-G") \ - X(SE_NOTE_A, "SE-NOTE-A") \ - X(SE_NOTE_B, "SE-NOTE-B") \ - X(SE_NOTE_C_HIGH, "SE-NOTE-C-HIGH") \ - X(SE_PUDDLE, "SE-PUDDLE") \ - X(SE_BRIDGE_WALK, "SE-BRIDGE-WALK") \ - X(SE_ITEMFINDER, "SE-ITEMFINDER") \ - X(SE_DING_DONG, "SE-DING-DONG") \ - X(SE_BALLOON_RED, "SE-BALLOON-RED") \ - X(SE_BALLOON_BLUE, "SE-BALLOON-BLUE") \ - X(SE_BALLOON_YELLOW, "SE-BALLOON-YELLOW") \ - X(SE_BREAKABLE_DOOR, "SE-BREAKABLE-DOOR") \ - X(SE_MUD_BALL, "SE-MUD-BALL") \ - X(SE_FIELD_POISON, "SE-FIELD-POISON") \ - X(SE_ESCALATOR, "SE-ESCALATOR") \ - X(SE_THUNDERSTORM, "SE-THUNDERSTORM") \ - X(SE_THUNDERSTORM_STOP, "SE-THUNDERSTORM-STOP") \ - X(SE_DOWNPOUR, "SE-DOWNPOUR") \ - X(SE_DOWNPOUR_STOP, "SE-DOWNPOUR-STOP") \ - X(SE_RAIN, "SE-RAIN") \ - X(SE_RAIN_STOP, "SE-RAIN-STOP") \ - X(SE_THUNDER, "SE-THUNDER") \ - X(SE_THUNDER2, "SE-THUNDER2") \ - X(SE_ELEVATOR, "SE-ELEVATOR") \ - X(SE_LOW_HEALTH, "SE-LOW-HEALTH") \ - X(SE_EXP_MAX, "SE-EXP-MAX") \ - X(SE_ROULETTE_BALL, "SE-ROULETTE-BALL") \ - X(SE_ROULETTE_BALL2, "SE-ROULETTE-BALL2") \ - X(SE_TAILLOW_WING_FLAP, "SE-TAILLOW-WING-FLAP") \ - X(SE_SHOP, "SE-SHOP") \ - X(SE_CONTEST_HEART, "SE-CONTEST-HEART") \ - X(SE_CONTEST_CURTAIN_RISE, "SE-CONTEST-CURTAIN-RISE") \ - X(SE_CONTEST_CURTAIN_FALL, "SE-CONTEST-CURTAIN-FALL") \ - X(SE_CONTEST_ICON_CHANGE, "SE-CONTEST-ICON-CHANGE") \ - X(SE_CONTEST_ICON_CLEAR, "SE-CONTEST-ICON-CLEAR") \ - X(SE_CONTEST_MONS_TURN, "SE-CONTEST-MONS-TURN") \ - X(SE_SHINY, "SE-SHINY") \ - X(SE_INTRO_BLAST, "SE-INTRO-BLAST") \ - X(SE_MUGSHOT, "SE-MUGSHOT") \ - X(SE_APPLAUSE, "SE-APPLAUSE") \ - X(SE_VEND, "SE-VEND") \ - X(SE_ORB, "SE-ORB") \ - X(SE_DEX_SCROLL, "SE-DEX-SCROLL") \ - X(SE_DEX_PAGE, "SE-DEX-PAGE") \ - X(SE_POKENAV_ON, "SE-POKENAV-ON") \ - X(SE_POKENAV_OFF, "SE-POKENAV-OFF") \ - X(SE_DEX_SEARCH, "SE-DEX-SEARCH") \ - X(SE_EGG_HATCH, "SE-EGG-HATCH") \ - X(SE_BALL_TRAY_ENTER, "SE-BALL-TRAY-ENTER") \ - X(SE_BALL_TRAY_BALL, "SE-BALL-TRAY-BALL") \ - X(SE_BALL_TRAY_EXIT, "SE-BALL-TRAY-EXIT") \ - X(SE_GLASS_FLUTE, "SE-GLASS-FLUTE") \ - X(SE_M_THUNDERBOLT, "SE-M-THUNDERBOLT") \ - X(SE_M_THUNDERBOLT2, "SE-M-THUNDERBOLT2") \ - X(SE_M_HARDEN, "SE-M-HARDEN") \ - X(SE_M_NIGHTMARE, "SE-M-NIGHTMARE") \ - X(SE_M_VITAL_THROW, "SE-M-VITAL-THROW") \ - X(SE_M_VITAL_THROW2, "SE-M-VITAL-THROW2") \ - X(SE_M_BUBBLE, "SE-M-BUBBLE") \ - X(SE_M_BUBBLE2, "SE-M-BUBBLE2") \ - X(SE_M_BUBBLE3, "SE-M-BUBBLE3") \ - X(SE_M_RAIN_DANCE, "SE-M-RAIN-DANCE") \ - X(SE_M_CUT, "SE-M-CUT") \ - X(SE_M_STRING_SHOT, "SE-M-STRING-SHOT") \ - X(SE_M_STRING_SHOT2, "SE-M-STRING-SHOT2") \ - X(SE_M_ROCK_THROW, "SE-M-ROCK-THROW") \ - X(SE_M_GUST, "SE-M-GUST") \ - X(SE_M_GUST2, "SE-M-GUST2") \ - X(SE_M_DOUBLE_SLAP, "SE-M-DOUBLE-SLAP") \ - X(SE_M_DOUBLE_TEAM, "SE-M-DOUBLE-TEAM") \ - X(SE_M_RAZOR_WIND, "SE-M-RAZOR-WIND") \ - X(SE_M_ICY_WIND, "SE-M-ICY-WIND") \ - X(SE_M_THUNDER_WAVE, "SE-M-THUNDER-WAVE") \ - X(SE_M_COMET_PUNCH, "SE-M-COMET-PUNCH") \ - X(SE_M_MEGA_KICK, "SE-M-MEGA-KICK") \ - X(SE_M_MEGA_KICK2, "SE-M-MEGA-KICK2") \ - X(SE_M_CRABHAMMER, "SE-M-CRABHAMMER") \ - X(SE_M_JUMP_KICK, "SE-M-JUMP-KICK") \ - X(SE_M_FLAME_WHEEL, "SE-M-FLAME-WHEEL") \ - X(SE_M_FLAME_WHEEL2, "SE-M-FLAME-WHEEL2") \ - X(SE_M_FLAMETHROWER, "SE-M-FLAMETHROWER") \ - X(SE_M_FIRE_PUNCH, "SE-M-FIRE-PUNCH") \ - X(SE_M_TOXIC, "SE-M-TOXIC") \ - X(SE_M_SACRED_FIRE, "SE-M-SACRED-FIRE") \ - X(SE_M_SACRED_FIRE2, "SE-M-SACRED-FIRE2") \ - X(SE_M_EMBER, "SE-M-EMBER") \ - X(SE_M_TAKE_DOWN, "SE-M-TAKE-DOWN") \ - X(SE_M_BLIZZARD, "SE-M-BLIZZARD") \ - X(SE_M_BLIZZARD2, "SE-M-BLIZZARD2") \ - X(SE_M_SCRATCH, "SE-M-SCRATCH") \ - X(SE_M_VICEGRIP, "SE-M-VICEGRIP") \ - X(SE_M_WING_ATTACK, "SE-M-WING-ATTACK") \ - X(SE_M_FLY, "SE-M-FLY") \ - X(SE_M_SAND_ATTACK, "SE-M-SAND-ATTACK") \ - X(SE_M_RAZOR_WIND2, "SE-M-RAZOR-WIND2") \ - X(SE_M_BITE, "SE-M-BITE") \ - X(SE_M_HEADBUTT, "SE-M-HEADBUTT") \ - X(SE_M_SURF, "SE-M-SURF") \ - X(SE_M_HYDRO_PUMP, "SE-M-HYDRO-PUMP") \ - X(SE_M_WHIRLPOOL, "SE-M-WHIRLPOOL") \ - X(SE_M_HORN_ATTACK, "SE-M-HORN-ATTACK") \ - X(SE_M_TAIL_WHIP, "SE-M-TAIL-WHIP") \ - X(SE_M_MIST, "SE-M-MIST") \ - X(SE_M_POISON_POWDER, "SE-M-POISON-POWDER") \ - X(SE_M_BIND, "SE-M-BIND") \ - X(SE_M_DRAGON_RAGE, "SE-M-DRAGON-RAGE") \ - X(SE_M_SING, "SE-M-SING") \ - X(SE_M_PERISH_SONG, "SE-M-PERISH-SONG") \ - X(SE_M_PAY_DAY, "SE-M-PAY-DAY") \ - X(SE_M_DIG, "SE-M-DIG") \ - X(SE_M_DIZZY_PUNCH, "SE-M-DIZZY-PUNCH") \ - X(SE_M_SELF_DESTRUCT, "SE-M-SELF-DESTRUCT") \ - X(SE_M_EXPLOSION, "SE-M-EXPLOSION") \ - X(SE_M_ABSORB_2, "SE-M-ABSORB-2") \ - X(SE_M_ABSORB, "SE-M-ABSORB") \ - X(SE_M_SCREECH, "SE-M-SCREECH") \ - X(SE_M_BUBBLE_BEAM, "SE-M-BUBBLE-BEAM") \ - X(SE_M_BUBBLE_BEAM2, "SE-M-BUBBLE-BEAM2") \ - X(SE_M_SUPERSONIC, "SE-M-SUPERSONIC") \ - X(SE_M_BELLY_DRUM, "SE-M-BELLY-DRUM") \ - X(SE_M_METRONOME, "SE-M-METRONOME") \ - X(SE_M_BONEMERANG, "SE-M-BONEMERANG") \ - X(SE_M_LICK, "SE-M-LICK") \ - X(SE_M_PSYBEAM, "SE-M-PSYBEAM") \ - X(SE_M_FAINT_ATTACK, "SE-M-FAINT-ATTACK") \ - X(SE_M_SWORDS_DANCE, "SE-M-SWORDS-DANCE") \ - X(SE_M_LEER, "SE-M-LEER") \ - X(SE_M_SWAGGER, "SE-M-SWAGGER") \ - X(SE_M_SWAGGER2, "SE-M-SWAGGER2") \ - X(SE_M_HEAL_BELL, "SE-M-HEAL-BELL") \ - X(SE_M_CONFUSE_RAY, "SE-M-CONFUSE-RAY") \ - X(SE_M_SNORE, "SE-M-SNORE") \ - X(SE_M_BRICK_BREAK, "SE-M-BRICK-BREAK") \ - X(SE_M_GIGA_DRAIN, "SE-M-GIGA-DRAIN") \ - X(SE_M_PSYBEAM2, "SE-M-PSYBEAM2") \ - X(SE_M_SOLAR_BEAM, "SE-M-SOLAR-BEAM") \ - X(SE_M_PETAL_DANCE, "SE-M-PETAL-DANCE") \ - X(SE_M_TELEPORT, "SE-M-TELEPORT") \ - X(SE_M_MINIMIZE, "SE-M-MINIMIZE") \ - X(SE_M_SKETCH, "SE-M-SKETCH") \ - X(SE_M_SWIFT, "SE-M-SWIFT") \ - X(SE_M_REFLECT, "SE-M-REFLECT") \ - X(SE_M_BARRIER, "SE-M-BARRIER") \ - X(SE_M_DETECT, "SE-M-DETECT") \ - X(SE_M_LOCK_ON, "SE-M-LOCK-ON") \ - X(SE_M_MOONLIGHT, "SE-M-MOONLIGHT") \ - X(SE_M_CHARM, "SE-M-CHARM") \ - X(SE_M_CHARGE, "SE-M-CHARGE") \ - X(SE_M_STRENGTH, "SE-M-STRENGTH") \ - X(SE_M_HYPER_BEAM, "SE-M-HYPER-BEAM") \ - X(SE_M_WATERFALL, "SE-M-WATERFALL") \ - X(SE_M_REVERSAL, "SE-M-REVERSAL") \ - X(SE_M_ACID_ARMOR, "SE-M-ACID-ARMOR") \ - X(SE_M_SANDSTORM, "SE-M-SANDSTORM") \ - X(SE_M_TRI_ATTACK, "SE-M-TRI-ATTACK") \ - X(SE_M_TRI_ATTACK2, "SE-M-TRI-ATTACK2") \ - X(SE_M_ENCORE, "SE-M-ENCORE") \ - X(SE_M_ENCORE2, "SE-M-ENCORE2") \ - X(SE_M_BATON_PASS, "SE-M-BATON-PASS") \ - X(SE_M_MILK_DRINK, "SE-M-MILK-DRINK") \ - X(SE_M_ATTRACT, "SE-M-ATTRACT") \ - X(SE_M_ATTRACT2, "SE-M-ATTRACT2") \ - X(SE_M_MORNING_SUN, "SE-M-MORNING-SUN") \ - X(SE_M_FLATTER, "SE-M-FLATTER") \ - X(SE_M_SAND_TOMB, "SE-M-SAND-TOMB") \ - X(SE_M_GRASSWHISTLE, "SE-M-GRASSWHISTLE") \ - X(SE_M_SPIT_UP, "SE-M-SPIT-UP") \ - X(SE_M_DIVE, "SE-M-DIVE") \ - X(SE_M_EARTHQUAKE, "SE-M-EARTHQUAKE") \ - X(SE_M_TWISTER, "SE-M-TWISTER") \ - X(SE_M_SWEET_SCENT, "SE-M-SWEET-SCENT") \ - X(SE_M_YAWN, "SE-M-YAWN") \ - X(SE_M_SKY_UPPERCUT, "SE-M-SKY-UPPERCUT") \ - X(SE_M_STAT_INCREASE, "SE-M-STAT-INCREASE") \ - X(SE_M_HEAT_WAVE, "SE-M-HEAT-WAVE") \ - X(SE_M_UPROAR, "SE-M-UPROAR") \ - X(SE_M_HAIL, "SE-M-HAIL") \ - X(SE_M_COSMIC_POWER, "SE-M-COSMIC-POWER") \ - X(SE_M_TEETER_DANCE, "SE-M-TEETER-DANCE") \ - X(SE_M_STAT_DECREASE, "SE-M-STAT-DECREASE") \ - X(SE_M_HAZE, "SE-M-HAZE") \ - X(SE_M_HYPER_BEAM2, "SE-M-HYPER-BEAM2") \ - X(SE_RG_DOOR, "SE-RG-DOOR") \ - X(SE_RG_CARD_FLIP, "SE-RG-CARD-FLIP") \ - X(SE_RG_CARD_FLIPPING, "SE-RG-CARD-FLIPPING") \ - X(SE_RG_CARD_OPEN, "SE-RG-CARD-OPEN") \ - X(SE_RG_BAG_CURSOR, "SE-RG-BAG-CURSOR") \ - X(SE_RG_BAG_POCKET, "SE-RG-BAG-POCKET") \ - X(SE_RG_BALL_CLICK, "SE-RG-BALL-CLICK") \ - X(SE_RG_SHOP, "SE-RG-SHOP") \ - X(SE_RG_SS_ANNE_HORN, "SE-RG-SS-ANNE-HORN") \ - X(SE_RG_HELP_OPEN, "SE-RG-HELP-OPEN") \ - X(SE_RG_HELP_CLOSE, "SE-RG-HELP-CLOSE") \ - X(SE_RG_HELP_ERROR, "SE-RG-HELP-ERROR") \ - X(SE_RG_DEOXYS_MOVE, "SE-RG-DEOXYS-MOVE") \ - X(SE_RG_POKE_JUMP_SUCCESS, "SE-RG-POKE-JUMP-SUCCESS") \ - X(SE_RG_POKE_JUMP_FAILURE, "SE-RG-POKE-JUMP-FAILURE") \ - X(SE_PHONE_CALL, "SE-PHONE-CALL") \ - X(SE_PHONE_CLICK, "SE-PHONE-CLICK") \ - X(SE_ARENA_TIMEUP1, "SE-ARENA-TIMEUP1") \ - X(SE_ARENA_TIMEUP2, "SE-ARENA-TIMEUP2") \ - X(SE_PIKE_CURTAIN_CLOSE, "SE-PIKE-CURTAIN-CLOSE") \ - X(SE_PIKE_CURTAIN_OPEN, "SE-PIKE-CURTAIN-OPEN") \ - X(SE_SUDOWOODO_SHAKE, "SE-SUDOWOODO-SHAKE") \ + X(SE_USE_ITEM) \ + X(SE_PC_LOGIN) \ + X(SE_PC_OFF) \ + X(SE_PC_ON) \ + X(SE_SELECT) \ + X(SE_WIN_OPEN) \ + X(SE_WALL_HIT) \ + X(SE_DOOR) \ + X(SE_EXIT) \ + X(SE_LEDGE) \ + X(SE_BIKE_BELL) \ + X(SE_NOT_EFFECTIVE) \ + X(SE_EFFECTIVE) \ + X(SE_SUPER_EFFECTIVE) \ + X(SE_BALL_OPEN) \ + X(SE_FAINT) \ + X(SE_FLEE) \ + X(SE_SLIDING_DOOR) \ + X(SE_SHIP) \ + X(SE_BANG) \ + X(SE_PIN) \ + X(SE_BOO) \ + X(SE_BALL) \ + X(SE_CONTEST_PLACE) \ + X(SE_A) \ + X(SE_I) \ + X(SE_U) \ + X(SE_E) \ + X(SE_O) \ + X(SE_N) \ + X(SE_SUCCESS) \ + X(SE_FAILURE) \ + X(SE_EXP) \ + X(SE_BIKE_HOP) \ + X(SE_SWITCH) \ + X(SE_CLICK) \ + X(SE_FU_ZAKU) \ + X(SE_CONTEST_CONDITION_LOSE) \ + X(SE_LAVARIDGE_FALL_WARP) \ + X(SE_ICE_STAIRS) \ + X(SE_ICE_BREAK) \ + X(SE_ICE_CRACK) \ + X(SE_FALL) \ + X(SE_UNLOCK) \ + X(SE_WARP_IN) \ + X(SE_WARP_OUT) \ + X(SE_REPEL) \ + X(SE_ROTATING_GATE) \ + X(SE_TRUCK_MOVE) \ + X(SE_TRUCK_STOP) \ + X(SE_TRUCK_UNLOAD) \ + X(SE_TRUCK_DOOR) \ + X(SE_BERRY_BLENDER) \ + X(SE_CARD) \ + X(SE_SAVE) \ + X(SE_BALL_BOUNCE_1) \ + X(SE_BALL_BOUNCE_2) \ + X(SE_BALL_BOUNCE_3) \ + X(SE_BALL_BOUNCE_4) \ + X(SE_BALL_TRADE) \ + X(SE_BALL_THROW) \ + X(SE_NOTE_C) \ + X(SE_NOTE_D) \ + X(SE_NOTE_E) \ + X(SE_NOTE_F) \ + X(SE_NOTE_G) \ + X(SE_NOTE_A) \ + X(SE_NOTE_B) \ + X(SE_NOTE_C_HIGH) \ + X(SE_PUDDLE) \ + X(SE_BRIDGE_WALK) \ + X(SE_ITEMFINDER) \ + X(SE_DING_DONG) \ + X(SE_BALLOON_RED) \ + X(SE_BALLOON_BLUE) \ + X(SE_BALLOON_YELLOW) \ + X(SE_BREAKABLE_DOOR) \ + X(SE_MUD_BALL) \ + X(SE_FIELD_POISON) \ + X(SE_ESCALATOR) \ + X(SE_THUNDERSTORM) \ + X(SE_THUNDERSTORM_STOP) \ + X(SE_DOWNPOUR) \ + X(SE_DOWNPOUR_STOP) \ + X(SE_RAIN) \ + X(SE_RAIN_STOP) \ + X(SE_THUNDER) \ + X(SE_THUNDER2) \ + X(SE_ELEVATOR) \ + X(SE_LOW_HEALTH) \ + X(SE_EXP_MAX) \ + X(SE_ROULETTE_BALL) \ + X(SE_ROULETTE_BALL2) \ + X(SE_TAILLOW_WING_FLAP) \ + X(SE_SHOP) \ + X(SE_CONTEST_HEART) \ + X(SE_CONTEST_CURTAIN_RISE) \ + X(SE_CONTEST_CURTAIN_FALL) \ + X(SE_CONTEST_ICON_CHANGE) \ + X(SE_CONTEST_ICON_CLEAR) \ + X(SE_CONTEST_MONS_TURN) \ + X(SE_SHINY) \ + X(SE_INTRO_BLAST) \ + X(SE_MUGSHOT) \ + X(SE_APPLAUSE) \ + X(SE_VEND) \ + X(SE_ORB) \ + X(SE_DEX_SCROLL) \ + X(SE_DEX_PAGE) \ + X(SE_POKENAV_ON) \ + X(SE_POKENAV_OFF) \ + X(SE_DEX_SEARCH) \ + X(SE_EGG_HATCH) \ + X(SE_BALL_TRAY_ENTER) \ + X(SE_BALL_TRAY_BALL) \ + X(SE_BALL_TRAY_EXIT) \ + X(SE_GLASS_FLUTE) \ + X(SE_M_THUNDERBOLT) \ + X(SE_M_THUNDERBOLT2) \ + X(SE_M_HARDEN) \ + X(SE_M_NIGHTMARE) \ + X(SE_M_VITAL_THROW) \ + X(SE_M_VITAL_THROW2) \ + X(SE_M_BUBBLE) \ + X(SE_M_BUBBLE2) \ + X(SE_M_BUBBLE3) \ + X(SE_M_RAIN_DANCE) \ + X(SE_M_CUT) \ + X(SE_M_STRING_SHOT) \ + X(SE_M_STRING_SHOT2) \ + X(SE_M_ROCK_THROW) \ + X(SE_M_GUST) \ + X(SE_M_GUST2) \ + X(SE_M_DOUBLE_SLAP) \ + X(SE_M_DOUBLE_TEAM) \ + X(SE_M_RAZOR_WIND) \ + X(SE_M_ICY_WIND) \ + X(SE_M_THUNDER_WAVE) \ + X(SE_M_COMET_PUNCH) \ + X(SE_M_MEGA_KICK) \ + X(SE_M_MEGA_KICK2) \ + X(SE_M_CRABHAMMER) \ + X(SE_M_JUMP_KICK) \ + X(SE_M_FLAME_WHEEL) \ + X(SE_M_FLAME_WHEEL2) \ + X(SE_M_FLAMETHROWER) \ + X(SE_M_FIRE_PUNCH) \ + X(SE_M_TOXIC) \ + X(SE_M_SACRED_FIRE) \ + X(SE_M_SACRED_FIRE2) \ + X(SE_M_EMBER) \ + X(SE_M_TAKE_DOWN) \ + X(SE_M_BLIZZARD) \ + X(SE_M_BLIZZARD2) \ + X(SE_M_SCRATCH) \ + X(SE_M_VICEGRIP) \ + X(SE_M_WING_ATTACK) \ + X(SE_M_FLY) \ + X(SE_M_SAND_ATTACK) \ + X(SE_M_RAZOR_WIND2) \ + X(SE_M_BITE) \ + X(SE_M_HEADBUTT) \ + X(SE_M_SURF) \ + X(SE_M_HYDRO_PUMP) \ + X(SE_M_WHIRLPOOL) \ + X(SE_M_HORN_ATTACK) \ + X(SE_M_TAIL_WHIP) \ + X(SE_M_MIST) \ + X(SE_M_POISON_POWDER) \ + X(SE_M_BIND) \ + X(SE_M_DRAGON_RAGE) \ + X(SE_M_SING) \ + X(SE_M_PERISH_SONG) \ + X(SE_M_PAY_DAY) \ + X(SE_M_DIG) \ + X(SE_M_DIZZY_PUNCH) \ + X(SE_M_SELF_DESTRUCT) \ + X(SE_M_EXPLOSION) \ + X(SE_M_ABSORB_2) \ + X(SE_M_ABSORB) \ + X(SE_M_SCREECH) \ + X(SE_M_BUBBLE_BEAM) \ + X(SE_M_BUBBLE_BEAM2) \ + X(SE_M_SUPERSONIC) \ + X(SE_M_BELLY_DRUM) \ + X(SE_M_METRONOME) \ + X(SE_M_BONEMERANG) \ + X(SE_M_LICK) \ + X(SE_M_PSYBEAM) \ + X(SE_M_FAINT_ATTACK) \ + X(SE_M_SWORDS_DANCE) \ + X(SE_M_LEER) \ + X(SE_M_SWAGGER) \ + X(SE_M_SWAGGER2) \ + X(SE_M_HEAL_BELL) \ + X(SE_M_CONFUSE_RAY) \ + X(SE_M_SNORE) \ + X(SE_M_BRICK_BREAK) \ + X(SE_M_GIGA_DRAIN) \ + X(SE_M_PSYBEAM2) \ + X(SE_M_SOLAR_BEAM) \ + X(SE_M_PETAL_DANCE) \ + X(SE_M_TELEPORT) \ + X(SE_M_MINIMIZE) \ + X(SE_M_SKETCH) \ + X(SE_M_SWIFT) \ + X(SE_M_REFLECT) \ + X(SE_M_BARRIER) \ + X(SE_M_DETECT) \ + X(SE_M_LOCK_ON) \ + X(SE_M_MOONLIGHT) \ + X(SE_M_CHARM) \ + X(SE_M_CHARGE) \ + X(SE_M_STRENGTH) \ + X(SE_M_HYPER_BEAM) \ + X(SE_M_WATERFALL) \ + X(SE_M_REVERSAL) \ + X(SE_M_ACID_ARMOR) \ + X(SE_M_SANDSTORM) \ + X(SE_M_TRI_ATTACK) \ + X(SE_M_TRI_ATTACK2) \ + X(SE_M_ENCORE) \ + X(SE_M_ENCORE2) \ + X(SE_M_BATON_PASS) \ + X(SE_M_MILK_DRINK) \ + X(SE_M_ATTRACT) \ + X(SE_M_ATTRACT2) \ + X(SE_M_MORNING_SUN) \ + X(SE_M_FLATTER) \ + X(SE_M_SAND_TOMB) \ + X(SE_M_GRASSWHISTLE) \ + X(SE_M_SPIT_UP) \ + X(SE_M_DIVE) \ + X(SE_M_EARTHQUAKE) \ + X(SE_M_TWISTER) \ + X(SE_M_SWEET_SCENT) \ + X(SE_M_YAWN) \ + X(SE_M_SKY_UPPERCUT) \ + X(SE_M_STAT_INCREASE) \ + X(SE_M_HEAT_WAVE) \ + X(SE_M_UPROAR) \ + X(SE_M_HAIL) \ + X(SE_M_COSMIC_POWER) \ + X(SE_M_TEETER_DANCE) \ + X(SE_M_STAT_DECREASE) \ + X(SE_M_HAZE) \ + X(SE_M_HYPER_BEAM2) \ + X(SE_RG_DOOR) \ + X(SE_RG_CARD_FLIP) \ + X(SE_RG_CARD_FLIPPING) \ + X(SE_RG_CARD_OPEN) \ + X(SE_RG_BAG_CURSOR) \ + X(SE_RG_BAG_POCKET) \ + X(SE_RG_BALL_CLICK) \ + X(SE_RG_SHOP) \ + X(SE_RG_SS_ANNE_HORN) \ + X(SE_RG_HELP_OPEN) \ + X(SE_RG_HELP_CLOSE) \ + X(SE_RG_HELP_ERROR) \ + X(SE_RG_DEOXYS_MOVE) \ + X(SE_RG_POKE_JUMP_SUCCESS) \ + X(SE_RG_POKE_JUMP_FAILURE) \ + X(SE_PHONE_CALL) \ + X(SE_PHONE_CLICK) \ + X(SE_ARENA_TIMEUP1) \ + X(SE_ARENA_TIMEUP2) \ + X(SE_PIKE_CURTAIN_CLOSE) \ + X(SE_PIKE_CURTAIN_OPEN) \ + X(SE_SUDOWOODO_SHAKE) \ // Create BGM list -#define X(songId, name) static const u8 sBGMName_##songId[] = _(name); +#define X(songId) static const u8 sBGMName_##songId[] = _(#songId); SOUND_LIST_BGM #undef X -#define X(songId, name) sBGMName_##songId, +#define X(songId) sBGMName_##songId, static const u8 *const gBGMNames[] = { SOUND_LIST_BGM @@ -3384,15 +3384,15 @@ SOUND_LIST_BGM #undef X // Create SE list -#define X(songId, name) static const u8 sSEName_##songId[] = _(name); +#define X(songId) static const u8 sSEName_##songId[] = _(#songId); SOUND_LIST_SE #undef X -#define X(songId, name) sSEName_##songId, +#define X(songId) sSEName_##songId, static const u8 *const gSENames[] = { SOUND_LIST_SE }; #undef X -#endif +#endif //DEBUG_SYSTEM_ENABLE == TRUE From a462db5e69a47763ac40798a04b132c28c5be89a Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 9 Sep 2022 23:34:05 -0400 Subject: [PATCH 059/147] Automated creation of MAP_GROUP_COUNT for the debug menu --- src/data/map_group_count.h | 1 + src/debug.c | 5 +---- tools/mapjson/mapjson.cpp | 16 +++++++++------- 3 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 src/data/map_group_count.h diff --git a/src/data/map_group_count.h b/src/data/map_group_count.h new file mode 100644 index 000000000..4fe8a21b3 --- /dev/null +++ b/src/data/map_group_count.h @@ -0,0 +1 @@ +static const u8 MAP_GROUP_COUNT[] = {57, 5, 5, 6, 7, 8, 9, 7, 7, 14, 8, 17, 10, 23, 13, 15, 15, 2, 2, 2, 3, 1, 1, 1, 108, 61, 89, 2, 1, 13, 1, 1, 3, 1, 0}; diff --git a/src/debug.c b/src/debug.c index 4cc1ac616..e5a2d851a 100644 --- a/src/debug.c +++ b/src/debug.c @@ -282,10 +282,7 @@ extern u8 Debug_CheatStart[]; extern u8 PlayersHouse_2F_EventScript_SetWallClock[]; extern u8 PlayersHouse_2F_EventScript_CheckWallClock[]; - -// ******************************* -//Maps per map group COPY FROM /include/constants/map_groups.h -static const u8 MAP_GROUP_COUNT[] = {57, 5, 5, 6, 7, 8, 9, 7, 7, 14, 8, 17, 10, 23, 13, 15, 15, 2, 2, 2, 3, 1, 1, 1, 108, 61, 89, 2, 1, 13, 1, 1, 3, 1, 0}; +#include "data/map_group_count.h" // Text // Main Menu diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp index 8de9ff8d0..4694bfaca 100644 --- a/tools/mapjson/mapjson.cpp +++ b/tools/mapjson/mapjson.cpp @@ -386,6 +386,7 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) { char dir_separator = file_dir.back(); ostringstream text; + ostringstream mapCountText; text << "#ifndef GUARD_CONSTANTS_MAP_GROUPS_H\n" << "#define GUARD_CONSTANTS_MAP_GROUPS_H\n\n"; @@ -424,15 +425,16 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) { } text << "#define MAP_GROUPS_COUNT " << group_num << "\n\n"; - - text << "// static const u8 MAP_GROUP_COUNT[] = {"; //DEBUG - for(int i=0; i Date: Sun, 11 Sep 2022 12:41:56 -0400 Subject: [PATCH 060/147] Added missing uses of Fairy type for Union Room and Battle Factory --- .../scripts.inc | 9 +++++++++ src/data/union_room.h | 1 + 2 files changed, 10 insertions(+) diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc index d54cf8357..3167b17d8 100644 --- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc @@ -225,6 +225,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentType:: call_if_eq VAR_0x8005, TYPE_ICE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesIce call_if_eq VAR_0x8005, TYPE_DRAGON, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDragon call_if_eq VAR_0x8005, TYPE_DARK, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark + call_if_eq VAR_0x8005, TYPE_FAIRY, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFairy call_if_eq VAR_0x8005, NUMBER_OF_MON_TYPES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType return @@ -296,6 +297,10 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark:: msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDarkType, MSGBOX_DEFAULT return +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFairy:: + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFairyType, MSGBOX_DEFAULT + return + BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType:: msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerHasNoClearFavorite, MSGBOX_DEFAULT return @@ -559,6 +564,10 @@ BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDarkType: .string "The TRAINER is apparently skilled\n" .string "in the handling of the DARK type.$" +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFairyType: + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the FAIRY type.$" + BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInSteelType: .string "The TRAINER is apparently skilled\n" .string "in the handling of the STEEL type.$" diff --git a/src/data/union_room.h b/src/data/union_room.h index cf4b12b5d..07f8e4899 100644 --- a/src/data/union_room.h +++ b/src/data/union_room.h @@ -885,6 +885,7 @@ static const struct ListMenuItem sTradingBoardTypes[NUMBER_OF_MON_TYPES] = { { gTypeNames[TYPE_DRAGON], TYPE_DRAGON }, { gTypeNames[TYPE_STEEL], TYPE_STEEL }, { gTypeNames[TYPE_DARK], TYPE_DARK }, + { gTypeNames[TYPE_FAIRY], TYPE_FAIRY }, { sText_Exit, NUMBER_OF_MON_TYPES } }; From 61752a4977eb90826593cec40848efe1212529f0 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 11 Sep 2022 13:35:58 -0400 Subject: [PATCH 061/147] Added parenthesis to GET_SHINY_VALUE --- include/pokemon.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/pokemon.h b/include/pokemon.h index 63c5c74eb..e48618328 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -363,7 +363,7 @@ struct Evolution | (((personality) & 0x00000003) >> 0) \ ) % NUM_UNOWN_FORMS) -#define GET_SHINY_VALUE(otId, personality)HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality) +#define GET_SHINY_VALUE(otId, personality) (HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality)) extern u8 gPlayerPartyCount; extern struct Pokemon gPlayerParty[PARTY_SIZE]; From 65108c319265a7a5f232e0fa6af61d091823ad45 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 11 Sep 2022 14:14:49 -0400 Subject: [PATCH 062/147] Cleaned trailing whitespace --- INSTALL.md | 6 +- Makefile | 4 +- asm/macros/battle_ai_script.inc | 26 ++--- asm/macros/battle_anim_script.inc | 6 +- asm/macros/battle_script.inc | 100 +++++++++--------- asm/macros/event.inc | 10 +- data/battle_ai_scripts.s | 2 +- data/battle_scripts_1.s | 6 +- data/scripts/new_game.inc | 2 +- data/scripts/roulette.inc | 2 +- docs/legacy_WSL1_INSTALL.md | 4 +- gflib/text.c | 4 +- graphics_file_rules.mk | 20 ++-- include/battle.h | 2 +- include/global.h | 2 +- include/link_rfu.h | 6 +- include/pokenav.h | 2 +- include/union_room.h | 4 +- src/battle_anim_mons.c | 4 +- src/battle_script_commands.c | 2 +- src/battle_tent.c | 2 +- src/battle_transition.c | 24 ++--- src/data/field_effects/field_effect_objects.h | 2 +- src/decoration.c | 4 +- src/ereader_screen.c | 6 +- src/event_object_movement.c | 2 +- src/field_tasks.c | 18 ++-- src/link_rfu_2.c | 10 +- src/link_rfu_3.c | 2 +- src/metatile_behavior.c | 2 +- src/mystery_gift.c | 8 +- src/mystery_gift_menu.c | 2 +- src/mystery_gift_view.c | 18 ++-- src/pokedex_area_screen.c | 6 +- src/pokemon.c | 10 +- src/pokemon_summary_screen.c | 4 +- src/pokenav_menu_handler_gfx.c | 2 +- src/record_mixing.c | 4 +- src/roamer.c | 6 +- src/rom_header.s | 2 +- src/save.c | 2 +- src/script.c | 6 +- src/slot_machine.c | 20 ++-- src/sound.c | 2 +- src/trade.c | 2 +- src/tv.c | 8 +- src/union_room_player_avatar.c | 2 +- src/walda_phrase.c | 2 +- src/wild_encounter.c | 4 +- src/wonder_news.c | 2 +- sym_common.txt | 10 +- 51 files changed, 204 insertions(+), 204 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 2759124be..5f2a1f05f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -106,7 +106,7 @@ cd /mnt/c/Users//Desktop/decomps > Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users//Desktop/decomp folder"`. > Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed - + If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or continue reading below for [Windows instructions using msys2](#windows-msys2). @@ -216,7 +216,7 @@ Note that the directory **must exist** in Windows. If you want to store pokeemer > Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users//Desktop/decomp folder"`. > Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed - + If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)). ## macOS @@ -539,7 +539,7 @@ devkitARM is now installed. devkitARM is now installed. ### Installing devkitARM on Arch Linux - + 1. Follow [devkitPro's instructions](https://devkitpro.org/wiki/devkitPro_pacman#Customising_Existing_Pacman_Install) to configure `pacman` to download devkitPro packages. 2. Install `gba-dev`: run the following command as root. diff --git a/Makefile b/Makefile index c36cc8e93..88303e7f3 100644 --- a/Makefile +++ b/Makefile @@ -254,7 +254,7 @@ tidynonmodern: tidymodern: rm -f $(MODERN_ROM_NAME) $(MODERN_ELF_NAME) $(MODERN_MAP_NAME) rm -rf $(MODERN_OBJ_DIR_NAME) - + ifneq ($(MODERN),0) $(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member endif @@ -410,7 +410,7 @@ LD_SCRIPT := ld_script.txt LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld else LD_SCRIPT := ld_script_modern.txt -LD_SCRIPT_DEPS := +LD_SCRIPT_DEPS := endif $(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS) diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc index 5341e5a43..78c8131f6 100644 --- a/asm/macros/battle_ai_script.inc +++ b/asm/macros/battle_ai_script.inc @@ -550,38 +550,38 @@ .2byte \param1 .4byte \param2 .endm - + @ useful script macros .macro get_curr_move_type get_type AI_TYPE_MOVE .endm - + .macro get_user_type1 get_type AI_TYPE1_USER .endm - + .macro get_user_type2 get_type AI_TYPE2_USER .endm - + .macro get_target_type1 get_type AI_TYPE1_TARGET .endm - + .macro get_target_type2 get_type AI_TYPE2_TARGET .endm - + .macro if_ability battler:req, ability:req, ptr:req check_ability \battler, \ability if_equal 1, \ptr .endm - + .macro if_no_ability battler:req, ability:req, ptr:req check_ability \battler, \ability if_equal 0, \ptr .endm - + .macro if_type battler:req, type:req, ptr:req is_of_type \battler, \type if_equal 1, \ptr @@ -591,20 +591,20 @@ is_of_type \battler, \type if_equal 0, \ptr .endm - + .macro if_target_faster ptr:req if_user_goes 1, \ptr .endm - + .macro if_user_faster ptr:req if_user_goes 0, \ptr .endm - + .macro if_double_battle ptr:req is_double_battle if_equal 1, \ptr .endm - + .macro if_not_double_battle ptr:req is_double_battle if_equal 0, \ptr @@ -613,7 +613,7 @@ .macro if_any_move_disabled battler:req, ptr:req if_any_move_disabled_or_encored \battler, 0, \ptr .endm - + .macro if_any_move_encored battler:req, ptr:req if_any_move_disabled_or_encored \battler, 1, \ptr .endm diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index 15c48c39f..67632e988 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -270,16 +270,16 @@ .macro stopsound .byte 0x2f .endm - + @ useful macros .macro jumpreteq value:req, ptr:req jumpargeq ARG_RET_ID, \value, \ptr .endm - + .macro jumprettrue ptr:req jumpreteq TRUE, \ptr .endm - + .macro jumpretfalse ptr:req jumpreteq FALSE, \ptr .endm diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 0a44f6075..ccb887327 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -410,33 +410,33 @@ .byte \endMode .byte \endState .endm - + @ Help macros for 5 uses of moveend command - + @ All cases .macro moveendall setbyte sMOVEEND_STATE, 0 moveend 0, 0 .endm - + @ Chosen case .macro moveendcase case:req setbyte sMOVEEND_STATE, \case moveend 1, 0 .endm - + @ All cases from (inclusive) .macro moveendfrom from:req setbyte sMOVEEND_STATE, \from moveend 0, 0 .endm - + @ All cases from 0 to (not inclusive) .macro moveendto to:req setbyte sMOVEEND_STATE, 0 moveend 2, \to .endm - + @ Cases from (inclusive) to (not inclusive) .macro moveendfromto from:req, to:req setbyte sMOVEEND_STATE, \from @@ -1252,165 +1252,165 @@ .byte 0xf8 .byte \position .endm - + @ various command changed to more readable macros .macro cancelmultiturnmoves battler:req various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES .endm - + .macro setmagiccoattarget battler:req various \battler, VARIOUS_SET_MAGIC_COAT_TARGET .endm - + .macro getifcantrunfrombattle battler:req various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE .endm - + .macro getmovetarget battler:req various \battler, VARIOUS_GET_MOVE_TARGET .endm - + .macro getbattlerfainted battler:req various \battler, VARIOUS_GET_BATTLER_FAINTED .endm - + .macro resetintimidatetracebits battler:req various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS .endm - + .macro updatechoicemoveonlvlup battler:req various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP .endm - + .macro resetplayerfainted various BS_ATTACKER, VARIOUS_RESET_PLAYER_FAINTED .endm - + .macro palaceflavortext battler:req various \battler, VARIOUS_PALACE_FLAVOR_TEXT .endm - + .macro arenajudgmentwindow various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW .endm - + .macro arenaopponentmonlost various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST .endm - + .macro arenaplayermonlost various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST .endm - + .macro arenabothmonlost various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST .endm - + .macro forfeityesnobox battler:req various \battler, VARIOUS_EMIT_YESNOBOX .endm - + .macro arenadrawreftextbox various BS_ATTACKER, VARIOUS_DRAW_ARENA_REF_TEXT_BOX .endm - + .macro arenaerasereftextbox various BS_ATTACKER, VARIOUS_ERASE_ARENA_REF_TEXT_BOX .endm - + .macro arenajudgmentstring id:req various \id, VARIOUS_ARENA_JUDGMENT_STRING .endm - + .macro arenawaitmessage id:req various \id, VARIOUS_ARENA_WAIT_STRING .endm - + .macro waitcry battler:req various \battler, VARIOUS_WAIT_CRY .endm - + .macro returnopponentmon1toball battler:req various \battler, VARIOUS_RETURN_OPPONENT_MON1 .endm - + .macro returnopponentmon2toball battler:req various \battler, VARIOUS_RETURN_OPPONENT_MON2 .endm - + .macro volumedown various BS_ATTACKER, VARIOUS_VOLUME_DOWN .endm - + .macro volumeup various BS_ATTACKER, VARIOUS_VOLUME_UP .endm - + .macro setalreadystatusedmoveattempt battler:req various \battler, VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT .endm - + .macro palacetryescapestatus battler:req various \battler, VARIOUS_PALACE_TRY_ESCAPE_STATUS .endm - + .macro setoutcomeonteleport battler:req various \battler, VARIOUS_SET_TELEPORT_OUTCOME .endm - + .macro playtrainerdefeatbgm battler:req various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC .endm - + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 4 | \down << 7 .endm - + .macro setmoveeffect effect:req setbyte cEFFECT_CHOOSER, \effect .endm - + .macro chosenstatus1animation battler:req, status:req chosenstatusanimation \battler, 0x0, \status .endm - + .macro chosenstatus2animation battler:req, status:req chosenstatusanimation \battler, 0x1, \status .endm - + .macro sethword dst:req, value:req setbyte \dst, (\value) & 0xFF setbyte \dst + 1, ((\value) >> 8) & 0xFF .endm - + .macro setword dst:req, value:req setbyte \dst, (\value) & 0xFF setbyte \dst + 1, ((\value) >> 8) & 0xFF setbyte \dst + 2, ((\value) >> 16) & 0xFF setbyte \dst + 3, ((\value) >> 24) & 0xFF .endm - + .macro copybyte dst:req, src:req copyarray \dst, \src, 0x1 .endm - + .macro copyhword dst:req, src:req copyarray \dst, \src, 0x2 .endm - + .macro copyword dst:req, src:req copyarray \dst, \src, 0x4 .endm - + .macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr .endm - + .macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr .endm - + .macro jumpifmove move:req, jumpptr:req jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr .endm @@ -1418,23 +1418,23 @@ .macro jumpifnotmove move:req, jumpptr:req jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr .endm - + .macro jumpifstatus3 battler:req, status:req, jumpptr:req jumpifstatus3condition \battler, \status, FALSE, \jumpptr .endm - + .macro jumpifnostatus3 battler:req, status:req, jumpptr:req jumpifstatus3condition \battler, \status, TRUE, \jumpptr .endm - + .macro jumpifmovehadnoeffect jumpptr:req jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr .endm - + .macro jumpifbattletype flags:req, jumpptr:req jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr .endm - + .macro jumpifnotbattletype flags:req, jumpptr:req jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr .endm diff --git a/asm/macros/event.inc b/asm/macros/event.inc index cea21aeb2..77916efe1 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -276,7 +276,7 @@ .2byte SPECIAL_\function .endm - @ Blocks script execution until a command or C code manually unblocks it. Generally used with specific + @ Blocks script execution until a command or C code manually unblocks it. Generally used with specific @ commands and specials. Calling ScriptContext_Enable for instance will allow execution to continue. .macro waitstate .byte 0x27 @@ -985,7 +985,7 @@ .endm @ Gives the player a Pokémon of the specified species and level, holding the specified item. The trailing 0s are unused parameters. - @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. + @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. .macro givemon species:req, level:req, item=ITEM_NONE .byte 0x79 .2byte \species @@ -997,7 +997,7 @@ .endm @ Gives the player an Egg of the specified species. - @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. + @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. .macro giveegg species:req .byte 0x7a .2byte \species @@ -1415,7 +1415,7 @@ .2byte \out .endm - @ Gives 'count' coins to the player, up to a total of MAX_COINS. + @ Gives 'count' coins to the player, up to a total of MAX_COINS. @ If the player already has MAX_COINS then VAR_RESULT is set to TRUE, otherwise it is set to FALSE. .macro addcoins count:req .byte 0xb4 @@ -1887,7 +1887,7 @@ @ Gives 'amount' of the specified 'item' to the player and prints a message with fanfare. @ If the player doesn't have space for all the items then as many are added as possible, the - @ message indicates there is no room, and VAR_RESULT is set to FALSE. + @ message indicates there is no room, and VAR_RESULT is set to FALSE. @ Otherwise VAR_RESULT is set to TRUE, and the message indicates they have received the item(s). .macro giveitem item:req, amount=1 setorcopyvar VAR_0x8000, \item diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index c776c2532..df6cf1b6f 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -1909,7 +1909,7 @@ AI_CV_Protect4: if_random_less_than 128, AI_CV_Protect_End score -1 goto AI_CV_Protect_End - + AI_CV_Protect3: get_last_used_bank_move AI_TARGET get_move_effect_from_result diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 39cdafcee..7e99911b1 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -15,7 +15,7 @@ .include "constants/constants.inc" .section script_data, "aw", %progbits - + .align 2 gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_HIT @@ -2826,7 +2826,7 @@ BattleScript_GiveExp:: setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET end2 - + BattleScript_HandleFaintedMon:: checkteamslost BattleScript_LinkHandleFaintedMonMultiple jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd @@ -4046,7 +4046,7 @@ BattleScript_IntimidatePrevented: printstring STRINGID_PREVENTEDFROMWORKING waitmessage B_WAIT_TIME_LONG goto BattleScript_IntimidateActivatesLoopIncrement - + BattleScript_DroughtActivates:: pause B_WAIT_TIME_SHORT printstring STRINGID_PKMNSXINTENSIFIEDSUN diff --git a/data/scripts/new_game.inc b/data/scripts/new_game.inc index 7c5c3fc7d..e9c8dd8d5 100644 --- a/data/scripts/new_game.inc +++ b/data/scripts/new_game.inc @@ -38,7 +38,7 @@ EventScript_ResetAllBerries:: setberrytree BERRY_TREE_ROUTE_117_WEPEAR_3, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES setberrytree BERRY_TREE_ROUTE_117_WEPEAR_2, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES setberrytree BERRY_TREE_ROUTE_117_WEPEAR_1, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES - + @ Route 112 setberrytree BERRY_TREE_ROUTE_112_RAWST_2, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES setberrytree BERRY_TREE_ROUTE_112_PECHA_2, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES diff --git a/data/scripts/roulette.inc b/data/scripts/roulette.inc index 7163a449a..fcb09bef2 100644 --- a/data/scripts/roulette.inc +++ b/data/scripts/roulette.inc @@ -22,7 +22,7 @@ Roulette_EventScript_Play:: special PlayRoulette waitstate end - + Roulette_Text_PlayMinimumWagerIsX:: .string "The minimum wager at this table\n" .string "is {STR_VAR_1}. Do you want to play?$" diff --git a/docs/legacy_WSL1_INSTALL.md b/docs/legacy_WSL1_INSTALL.md index b9840d1c8..7d40960f3 100644 --- a/docs/legacy_WSL1_INSTALL.md +++ b/docs/legacy_WSL1_INSTALL.md @@ -17,8 +17,8 @@ cd /mnt/c/Users//Downloads ``` - > Note 1: The Windows C:\ drive is called /mnt/c/ in WSL. - > Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users//Downloads folder"`. + > Note 1: The Windows C:\ drive is called /mnt/c/ in WSL. + > Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users//Downloads folder"`. > Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed 4. Once the directory has been changed to the folder containing the devkitPro pacman package, run the following commands to install devkitARM. diff --git a/gflib/text.c b/gflib/text.c index c7efdccce..e7a7d5957 100644 --- a/gflib/text.c +++ b/gflib/text.c @@ -73,7 +73,7 @@ static const u8 sDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow_alt static const u8 sUnusedFRLGBlankedDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_blanked_down_arrow.4bpp"); static const u8 sUnusedFRLGDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_down_arrow.4bpp"); static const u8 sDownArrowYCoords[] = { 0, 1, 2, 1 }; -static const u8 sWindowVerticalScrollSpeeds[] = { +static const u8 sWindowVerticalScrollSpeeds[] = { [OPTIONS_TEXT_SPEED_SLOW] = 1, [OPTIONS_TEXT_SPEED_MID] = 2, [OPTIONS_TEXT_SPEED_FAST] = 4, @@ -299,7 +299,7 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, voi else { sTempTextPrinter.textSpeed = 0; - + // Render all text (up to limit) at once for (j = 0; j < 0x400; ++j) { diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 742f7d1b8..6f4d1e422 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -93,35 +93,35 @@ $(TILESETGFXDIR)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png SOOTOPOLISANIMDIR := $(TILESETGFXDIR)/secondary/sootopolis/anim $(SOOTOPOLISANIMDIR)/stormy_water/0.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/0_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/0_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/0_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/1.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/1_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/1_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/1_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/2.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/2_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/2_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/2_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/3.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/3_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/3_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/3_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/4.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/4_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/4_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/4_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/5.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/5_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/5_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/5_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/6.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/6_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/6_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/6_groudon.4bpp @cat $^ >$@ $(SOOTOPOLISANIMDIR)/stormy_water/7.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/7_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/7_groudon.4bpp + $(SOOTOPOLISANIMDIR)/stormy_water/7_groudon.4bpp @cat $^ >$@ $(TILESETGFXDIR)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png @@ -671,7 +671,7 @@ $(OBJEVENTGFXDIR)/pics/effects/unknown_4F6D38/0.4bpp: %.4bpp: %.png $(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 8 -Wnum_tiles - + $(BATTRANSGFXDIR)/frontier_logo_center.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 43 -Wnum_tiles @@ -699,7 +699,7 @@ $(PKNAVGFXDIR)/header.4bpp: %.4bpp: %.png $(PKNAVGFXDIR)/device_outline.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 53 -Wnum_tiles - + $(PKNAVGFXDIR)/match_call/ui.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 13 -Wnum_tiles diff --git a/include/battle.h b/include/battle.h index 5cc552185..e779dee3d 100644 --- a/include/battle.h +++ b/include/battle.h @@ -473,7 +473,7 @@ struct BattleStruct #define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7)) -// NOTE: The members of this struct have hard-coded offsets +// NOTE: The members of this struct have hard-coded offsets // in include/constants/battle_script_commands.h struct BattleScripting { diff --git a/include/global.h b/include/global.h index b1fd21d8b..6e2cfa9b8 100644 --- a/include/global.h +++ b/include/global.h @@ -878,7 +878,7 @@ struct MysteryGiftSave struct WonderCardMetadata cardMetadata; u16 questionnaireWords[NUM_QUESTIONNAIRE_WORDS]; struct WonderNewsMetadata newsMetadata; - u32 trainerIds[2][5]; // Saved ids for 10 trainers, 5 each for battles and trades + u32 trainerIds[2][5]; // Saved ids for 10 trainers, 5 each for battles and trades }; // 0x36C 0x3598 // For external event data storage. The majority of these may have never been used. diff --git a/include/link_rfu.h b/include/link_rfu.h index 673b19ff9..1e434e830 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -97,12 +97,12 @@ struct RfuGameCompatibilityData // wireless play (the kind the Pokémon games use) the gname data can be used for // anything the developers want. This struct is what GF decided to use it for. // It can be up to 13 bytes in size (RFU_GAME_NAME_LENGTH). -// The player's name is sent separately as the username ("uname"), and does not +// The player's name is sent separately as the username ("uname"), and does not // use a struct (gHostRfuUsername). struct __attribute__((packed, aligned(2))) RfuGameData { struct RfuGameCompatibilityData compatibility; - u8 partnerInfo[RFU_CHILD_MAX]; + u8 partnerInfo[RFU_CHILD_MAX]; u16 tradeSpecies:10; u16 tradeType:6; u8 activity:7; @@ -118,7 +118,7 @@ struct __attribute__((packed, aligned(2))) RfuGameData // Bits 0-2 are a shortened trainerId // Bit 3 is the player's gender // Bits 4-6 are unknown/unused -// Bit 7 is an 'active' flag +// Bit 7 is an 'active' flag #define PINFO_TID_MASK 0x7 #define PINFO_GENDER_SHIFT 3 #define PINFO_ACTIVE_FLAG (1 << 7) diff --git a/include/pokenav.h b/include/pokenav.h index 959998383..c6a8bb253 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -116,7 +116,7 @@ enum #define POKENAV_MENU_IDS_START 100000 enum { - POKENAV_MAIN_MENU = POKENAV_MENU_IDS_START, // The main menu where the player selects Hoenn Map/Condition/Match Call/Ribbons + POKENAV_MAIN_MENU = POKENAV_MENU_IDS_START, // The main menu where the player selects Hoenn Map/Condition/Match Call/Ribbons POKENAV_MAIN_MENU_CURSOR_ON_MAP, POKENAV_CONDITION_MENU, // The first Condition screen where the player selects Party or Search POKENAV_CONDITION_SEARCH_MENU, // The Condition search menu where the player selects a search parameter diff --git a/include/union_room.h b/include/union_room.h index acff4b592..514a15985 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -7,7 +7,7 @@ // In the Union Room the player is only ever connected to ≤ 4 other players. // However, there can be up to MAX_UNION_ROOM_LEADERS (8) object events to -// represent leaders of recently discovered link groups, and each of those groups +// represent leaders of recently discovered link groups, and each of those groups // may have up to MAX_RFU_PLAYERS (5) players in it including the leader. // These players are represented on-screen by NPC sprites drawn around the leader. // Thus there can be 40 sprites of other players on-screen, in 8 groups of 5. @@ -16,7 +16,7 @@ // The maximum number of recently connected players that can be tracked. // Note that this is significantly less than NUM_UNION_ROOM_SPRITES, i.e. not // every player that can be shown in the Union Room can be tracked at once. -// Information such as a group member's gender can instead be read from partnerInfo +// Information such as a group member's gender can instead be read from partnerInfo // of the leader's RfuGameData by tracking at least all of the group leaders. #define MAX_RFU_PLAYER_LIST_SIZE 16 diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 25817c074..a5d4659a9 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -495,7 +495,7 @@ static void TranslateSpriteInLissajousCurve(struct Sprite *sprite) sprite->y2 = Cos(sprite->sCirclePosY, sprite->sAmplitude); sprite->sCirclePosX += sprite->sCircleSpeedX; sprite->sCirclePosY += sprite->sCircleSpeedY; - + if (sprite->sCirclePosX >= 0x100) sprite->sCirclePosX -= 0x100; else if (sprite->sCirclePosX < 0) @@ -2429,7 +2429,7 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId) dest = (task->tPaletteNum + 16) * 16; src = (gSprites[task->tBattlerSpriteId].oam.paletteNum + 0x10) * 0x10; - + // Set trace's priority based on battler's subpriority task->tPriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); if (task->tPriority == 20 || task->tPriority == 40) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index d2235027c..fb5a7649a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6368,7 +6368,7 @@ static void Cmd_various(void) break; case VARIOUS_ARENA_JUDGMENT_WINDOW: i = BattleArena_ShowJudgmentWindow(&gBattleCommunication[0]); - + // BattleArena_ShowJudgmentWindow's last state was an intermediate step. // Return without advancing the current instruction so that it will be called again. if (i == ARENA_RESULT_RUNNING) diff --git a/src/battle_tent.c b/src/battle_tent.c index dba9e6e8a..e51ac38a5 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -390,7 +390,7 @@ static void GenerateOpponentMons(void) while (i != FRONTIER_PARTY_SIZE) { sRandMonId = monSet[Random() % numMons]; - + // Ensure none of the opponent's pokemon are the same as the potential rental pokemon for the player for (j = 0; j < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons); j++) { diff --git a/src/battle_transition.c b/src/battle_transition.c index bc289efa7..3675421ee 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -2434,7 +2434,7 @@ static bool8 Mugshot_WaitStartPlayerSlide(struct Task *task) { sTransitionData->BG0HOFS_Lower -= 8; sTransitionData->BG0HOFS_Upper += 8; - + // Start player's slide in once the opponent is finished if (IsTrainerPicSlideDone(task->tOpponentSpriteId)) { @@ -2770,7 +2770,7 @@ static bool8 Slice_Main(struct Task *task) { u16 *storeLoc1 = &gScanlineEffectRegBuffers[0][i]; u16 *storeLoc2 = &gScanlineEffectRegBuffers[0][i + DISPLAY_HEIGHT]; - + // Alternate rows if (i % 2) { @@ -3251,7 +3251,7 @@ static bool8 RectangularSpiral_Main(struct Task *task) // The line moved to a new position, draw the tile. done = FALSE; position = sRectangularSpiralLines[j].position; - + // Invert position for the two lines that start at the bottom. if ((j % 2) == 1) position = 637 - position; @@ -3281,7 +3281,7 @@ static bool8 RectangularSpiral_End(struct Task *task) static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, struct RectangularSpiralLine *line) { const s16 *moveData = moveDataTable[line->state]; - + // Has spiral finished? // Note that most move data arrays endsin SPIRAL_END but it is // only ever reached on the final array of spiraling outward. @@ -3294,9 +3294,9 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru sDebug_RectangularSpiralData = moveData[2]; sDebug_RectangularSpiralData = moveData[3]; - // Note that for the two lines originating at the bottom the + // Note that for the two lines originating at the bottom the // position is inverted, so the directions are flipped. - // i.e. position += 1 is right for the top lines and left + // i.e. position += 1 is right for the top lines and left // for their inverted partners on the bottom. switch (moveData[0]) { @@ -4170,13 +4170,13 @@ static void InitBlackWipe(s16 *data, s16 startX, s16 startY, s16 endX, s16 endY, static bool8 UpdateBlackWipe(s16 *data, bool8 xExact, bool8 yExact) { u8 numFinished; - + if (tWipeXDist > tWipeYDist) { // X has further to move, move it first tWipeCurrX += tWipeXMove; - // If it has been far enough since Y's + // If it has been far enough since Y's // last move then move it too tWipeTemp += tWipeYDist; if (tWipeTemp > tWipeXDist) @@ -4190,7 +4190,7 @@ static bool8 UpdateBlackWipe(s16 *data, bool8 xExact, bool8 yExact) // Y has further to move, move it first tWipeCurrY += tWipeYMove; - // If it has been far enough since X's + // If it has been far enough since X's // last move then move it too tWipeTemp += tWipeXDist; if (tWipeTemp > tWipeYDist) @@ -4201,9 +4201,9 @@ static bool8 UpdateBlackWipe(s16 *data, bool8 xExact, bool8 yExact) } numFinished = 0; - + // Has X coord reached end? - if ((tWipeXMove > 0 && tWipeCurrX >= tWipeEndX) + if ((tWipeXMove > 0 && tWipeCurrX >= tWipeEndX) || (tWipeXMove < 0 && tWipeCurrX <= tWipeEndX)) { numFinished++; @@ -4212,7 +4212,7 @@ static bool8 UpdateBlackWipe(s16 *data, bool8 xExact, bool8 yExact) } // Has Y coord reached end? - if ((tWipeYMove > 0 && tWipeCurrY >= tWipeEndY) + if ((tWipeYMove > 0 && tWipeCurrY >= tWipeEndY) || (tWipeYMove < 0 && tWipeCurrY <= tWipeEndY)) { numFinished++; diff --git a/src/data/field_effects/field_effect_objects.h b/src/data/field_effects/field_effect_objects.h index 938b6bfc5..d19adf6f0 100755 --- a/src/data/field_effects/field_effect_objects.h +++ b/src/data/field_effects/field_effect_objects.h @@ -1147,7 +1147,7 @@ static const union AnimCmd *const sAnimTable_AshPuff[] = sAnim_AshPuff, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff = +const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff = { .tileTag = TAG_NONE, .paletteTag = FLDEFF_PAL_TAG_ASH, diff --git a/src/decoration.c b/src/decoration.c index cc740f189..c5c7c02c3 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1211,7 +1211,7 @@ static void ShowDecorationOnMap_(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, { x = mapX + i; attributes = GetMetatileAttributesById(NUM_TILES_IN_PRIMARY + gDecorations[decoration].tiles[j * decWidth + i]); - if (MetatileBehavior_IsSecretBaseImpassable(attributes & METATILE_ATTR_BEHAVIOR_MASK) == TRUE + if (MetatileBehavior_IsSecretBaseImpassable(attributes & METATILE_ATTR_BEHAVIOR_MASK) == TRUE || (gDecorations[decoration].permission != DECORPERM_PASS_FLOOR && (attributes >> METATILE_ATTR_LAYER_SHIFT) != METATILE_LAYER_TYPE_NORMAL)) impassableFlag = MAPGRID_COLLISION_MASK; else @@ -1482,7 +1482,7 @@ static bool8 IsSecretBaseTrainerSpot(u8 behaviorAt, u16 layerType) // Can't place decoration where the player was standing when they interacted with the PC static bool8 IsntInitialPosition(u8 taskId, s16 x, s16 y, u16 layerType) { - if (x == gTasks[taskId].tInitialX + MAP_OFFSET + if (x == gTasks[taskId].tInitialX + MAP_OFFSET && y == gTasks[taskId].tInitialY + MAP_OFFSET && layerType != METATILE_LAYER_TYPE_NORMAL) return FALSE; diff --git a/src/ereader_screen.c b/src/ereader_screen.c index 3baff84a8..b6bf7133a 100755 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -112,7 +112,7 @@ static bool32 ValidateEReaderConnection(void) REG_IME = 0; *(u64 *)handshakes = *(u64 *)gLink.handshakeBuffer; REG_IME = backupIME; - + // Validate that we are player 1, the EReader is player 2, // and that players 3 and 4 are empty. if (handshakes[0] == SLAVE_HANDSHAKE && handshakes[1] == EREADER_HANDSHAKE @@ -154,8 +154,8 @@ enum { static u32 TryReceiveCard(u8 *state, u16 *timer) { - if (*state >= RECV_STATE_EXCHANGE - && *state <= RECV_STATE_WAIT_DISCONNECT + if (*state >= RECV_STATE_EXCHANGE + && *state <= RECV_STATE_WAIT_DISCONNECT && HasLinkErrorOccurred()) { // Return error status if an error occurs diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 87249af01..a63eeb22b 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -2623,7 +2623,7 @@ bool8 ObjectEventIsTrainerAndCloseToPlayer(struct ObjectEvent *objectEvent) minY = objY - objectEvent->trainerRange_berryTreeId; maxX = objX + objectEvent->trainerRange_berryTreeId; maxY = objY + objectEvent->trainerRange_berryTreeId; - if (minX > playerX || maxX < playerX + if (minX > playerX || maxX < playerX || minY > playerY || maxY < playerY) return FALSE; diff --git a/src/field_tasks.c b/src/field_tasks.c index 099014a4d..dec5cba80 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -251,7 +251,7 @@ static const struct PacifidlogMetatileOffsets *GetPacifidlogBridgeMetatileOffset static void TrySetPacifidlogBridgeMetatiles(const struct PacifidlogMetatileOffsets *offsets, s16 x, s16 y, bool32 redrawMap) { offsets = GetPacifidlogBridgeMetatileOffsets(offsets, MapGridGetMetatileBehaviorAt(x, y)); - + // If offsets is NULL, position is not a log (don't set it) if (offsets) { @@ -301,7 +301,7 @@ static bool32 ShouldRaisePacifidlogLogs(s16 newX, s16 newY, s16 oldX, s16 oldY) } else if (MetatileBehavior_IsPacifidlogHorizontalLogLeft(oldBehavior)) { - // Still on same one if moved from left to right + // Still on same one if moved from left to right if (newX > oldX) return FALSE; } @@ -340,13 +340,13 @@ static bool32 ShouldSinkPacifidlogLogs(s16 newX, s16 newY, s16 oldX, s16 oldY) } else if (MetatileBehavior_IsPacifidlogHorizontalLogLeft(newBehavior)) { - // Still on same one if moved from right to left + // Still on same one if moved from right to left if (newX < oldX) return FALSE; } else if (MetatileBehavior_IsPacifidlogHorizontalLogRight(newBehavior)) { - // Still on same one if moved from left to right + // Still on same one if moved from left to right if (newX > oldX) return FALSE; } @@ -371,7 +371,7 @@ static void PacifidlogBridgePerStepCallback(u8 taskId) case 0: tPrevX = x; tPrevY = y; - + // If player is already standing on a log when the callback // is set then immediately set it to submerged TrySetLogBridgeFullySubmerged(x, y, TRUE); @@ -424,7 +424,7 @@ static void PacifidlogBridgePerStepCallback(u8 taskId) { // If player's current position is a log submerge it fully. TrySetLogBridgeFullySubmerged(x, y, TRUE); - + // Player's previous position is not the other end of a log // they're standing on, try to raise their previous position. if (tToRaiseX != -1 && tToRaiseY != -1) @@ -499,7 +499,7 @@ static void FortreeBridgePerStepCallback(u8 taskId) case 0: tPrevX = x; tPrevY = y; - + // If player is already on bridge when callback is set then lower it immediately. if (MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y))) { @@ -518,7 +518,7 @@ static void FortreeBridgePerStepCallback(u8 taskId) isFortreeBridgeCur = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y)); isFortreeBridgePrev = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(prevX, prevY)); - + // Make sure player isn't below bridge elevation = PlayerGetElevation(); onBridgeElevation = FALSE; @@ -672,7 +672,7 @@ static void SootopolisGymIcePerStepCallback(u8 taskId) // End if player hasn't moved if (x == tPrevX && y == tPrevY) return; - + tPrevX = x; tPrevY = y; tileBehavior = MapGridGetMetatileBehaviorAt(x, y); diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c index 437cec2fd..4730c74fd 100644 --- a/src/link_rfu_2.c +++ b/src/link_rfu_2.c @@ -61,7 +61,7 @@ struct SioInfo u8 filler[92]; }; -// Struct is mostly empty, presumably because usage of +// Struct is mostly empty, presumably because usage of // its fields was largely removed before release struct RfuDebug { @@ -1643,7 +1643,7 @@ bool32 RfuTryDisconnectLeavingChildren(void) { u8 childrenLeaving = 0; s32 i; - + // Check all children, get those waiting to be disconnected for (i = 0; i < RFU_CHILD_MAX; i++) { @@ -2123,7 +2123,7 @@ void SetUnionRoomChatPlayerData(u32 numPlayers) // Only trainerId is shifted by the number of children, so the active flag and gender // are only ever set for the first child partnerInfo |= ((PINFO_ACTIVE_FLAG - | ((gLinkPlayers[gRfu.linkPlayerIdx[i]].gender & 1) << PINFO_GENDER_SHIFT) + | ((gLinkPlayers[gRfu.linkPlayerIdx[i]].gender & 1) << PINFO_GENDER_SHIFT) | (gLinkPlayers[gRfu.linkPlayerIdx[i]].trainerId & PINFO_TID_MASK)) << (numConnectedChildren * 8)); numConnectedChildren++; if (numConnectedChildren == numPlayers - 1) @@ -2477,7 +2477,7 @@ static void LinkManagerCB_UnionRoom(u8 msg, u8 paramCount) rfu_LMAN_stopManager(FALSE); } - if (gRfuLinkStatus->parentChild == MODE_NEUTRAL + if (gRfuLinkStatus->parentChild == MODE_NEUTRAL && !lman.pcswitch_flag && FuncIsActiveTask(Task_UnionRoomListen) == TRUE) gRfu.state = RFUSTATE_UR_CONNECT; @@ -2816,7 +2816,7 @@ static bool32 IsPartnerActivityIncompatible(s16 activity, struct RfuGameData *pa } else if (activity == (ACTIVITY_TRADE | IN_UNION_ROOM)) { - // Verify that the trade offered hasn't changed + // Verify that the trade offered hasn't changed struct RfuGameData *original = &gRfu.parent; if (original->tradeSpecies == SPECIES_EGG) { diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index 1e1fe5b34..0825daea2 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -824,7 +824,7 @@ void UpdateWirelessStatusIndicatorSprite(void) struct Sprite *sprite = &gSprites[gWirelessStatusIndicatorSpriteId]; u8 signalStrength = RFU_LINK_ICON_LEVEL4_MAX; u8 i = 0; - + // Get weakest signal strength if (gRfuLinkStatus->parentChild == MODE_PARENT) { diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 72d3ac632..e35a5b29a 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -795,7 +795,7 @@ u8 MetatileBehavior_GetBridgeType(u8 metatileBehavior) && metatileBehavior <= MB_BRIDGE_OVER_POND_HIGH) return metatileBehavior - MB_BRIDGE_OVER_OCEAN; - if (metatileBehavior >= MB_BRIDGE_OVER_POND_MED_EDGE_1 + if (metatileBehavior >= MB_BRIDGE_OVER_POND_MED_EDGE_1 && metatileBehavior <= MB_BRIDGE_OVER_POND_MED_EDGE_2) return BRIDGE_TYPE_POND_MED; diff --git a/src/mystery_gift.c b/src/mystery_gift.c index 72fc2b377..c4e63bfbb 100755 --- a/src/mystery_gift.c +++ b/src/mystery_gift.c @@ -171,8 +171,8 @@ static bool32 ValidateWonderCard(const struct WonderCard *card) return FALSE; if (card->type >= CARD_TYPE_COUNT) return FALSE; - if (!(card->sendType == SEND_TYPE_DISALLOWED - || card->sendType == SEND_TYPE_ALLOWED + if (!(card->sendType == SEND_TYPE_DISALLOWED + || card->sendType == SEND_TYPE_ALLOWED || card->sendType == SEND_TYPE_ALLOWED_ALWAYS)) return FALSE; if (card->bgType >= NUM_WONDER_BGS) @@ -429,7 +429,7 @@ u32 MysteryGift_CompareCardFlags(const u16 *flagId, const struct MysteryGiftLink u32 MysteryGift_CheckStamps(const u16 *stamp, const struct MysteryGiftLinkGameData *data, const void *unused) { int stampsMissing = data->maxStamps - GetNumStampsInMetadata(&data->cardMetadata, data->maxStamps); - + // Has full stamp card? if (stampsMissing == 0) return 1; @@ -598,7 +598,7 @@ void MysteryGift_TryIncrementStat(u32 stat, u32 trainerId) switch (stat) { case CARD_STAT_NUM_TRADES: - IncrementCardStatForNewTrainer(CARD_STAT_NUM_TRADES, + IncrementCardStatForNewTrainer(CARD_STAT_NUM_TRADES, trainerId, gSaveBlock1Ptr->mysteryGift.trainerIds[1], ARRAY_COUNT(gSaveBlock1Ptr->mysteryGift.trainerIds[1])); diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 92e544a27..9e4796bb2 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -1240,7 +1240,7 @@ static void Task_MysteryGift(u8 taskId) } else if (gSpecialVar_Result == LINKUP_FAILED) { - // Link failed, return to link start menu + // Link failed, return to link start menu ClearScreenInBg0(TRUE); data->state = MG_STATE_SOURCE_PROMPT; } diff --git a/src/mystery_gift_view.c b/src/mystery_gift_view.c index 384e8ef74..b059b183c 100644 --- a/src/mystery_gift_view.c +++ b/src/mystery_gift_view.c @@ -340,7 +340,7 @@ static void BufferCardText(void) if (sWonderCardData->card.idNumber > 999999) sWonderCardData->card.idNumber = 999999; ConvertIntToDecimalStringN(sWonderCardData->idNumberText, sWonderCardData->card.idNumber, STR_CONV_MODE_LEFT_ALIGN, 6); - + // Copy body text for (i = 0; i < WONDER_CARD_BODY_TEXT_LINES; i++) { @@ -364,12 +364,12 @@ static void BufferCardText(void) break; case CARD_TYPE_LINK_STAT: sWonderCardData->giftText[0] = EOS; - + // Load stats stats[0] = sWonderCardData->cardMetadata.battlesWon < MAX_WONDER_CARD_STAT ? sWonderCardData->cardMetadata.battlesWon : MAX_WONDER_CARD_STAT; stats[1] = sWonderCardData->cardMetadata.battlesLost < MAX_WONDER_CARD_STAT ? sWonderCardData->cardMetadata.battlesLost : MAX_WONDER_CARD_STAT; stats[2] = sWonderCardData->cardMetadata.numTrades < MAX_WONDER_CARD_STAT ? sWonderCardData->cardMetadata.numTrades : MAX_WONDER_CARD_STAT; - + // Init stat text arrays for (i = 0; i < ARRAY_COUNT(sWonderCardData->statTextData); i++) { @@ -446,7 +446,7 @@ static void DrawCardWindow(u8 whichWindow) sCard_FooterTextOffsets[sWonderCardData->card.type], sCard_TextColorTable[sWonderCardData->gfx->footerTextPal], 0, sWonderCardData->footerLine1Text); - + // Print footer line 2 if (sWonderCardData->card.type != CARD_TYPE_LINK_STAT) { @@ -486,7 +486,7 @@ static void CreateCardSprites(void) { u8 i = 0; sWonderCardData->monIconSpriteId = SPRITE_NONE; - + // Create icon sprite if (sWonderCardData->cardMetadata.iconSpecies != SPECIES_NONE) { @@ -505,7 +505,7 @@ static void CreateCardSprites(void) sWonderCardData->stampSpriteIds[i][1] = SPRITE_NONE; sWonderCardData->stampSpriteIds[i][0] = CreateSprite(&sSpriteTemplate_StampShadow, 216 - 32 * i, 144, 8); if (sWonderCardData->cardMetadata.stampData[STAMP_SPECIES][i] != SPECIES_NONE) - sWonderCardData->stampSpriteIds[i][1] = CreateMonIconNoPersonality(GetIconSpeciesNoPersonality(sWonderCardData->cardMetadata.stampData[STAMP_SPECIES][i]), + sWonderCardData->stampSpriteIds[i][1] = CreateMonIconNoPersonality(GetIconSpeciesNoPersonality(sWonderCardData->cardMetadata.stampData[STAMP_SPECIES][i]), SpriteCallbackDummy, 216 - 32 * i, 136, 0, 0); @@ -520,7 +520,7 @@ static void DestroyCardSprites(void) // Destroy icon sprite if (sWonderCardData->monIconSpriteId != SPRITE_NONE) FreeAndDestroyMonIconSprite(&gSprites[sWonderCardData->monIconSpriteId]); - + // Destroy stamp sprites if (sWonderCardData->card.maxStamps != 0 && sWonderCardData->card.type == CARD_TYPE_STAMP) { @@ -865,7 +865,7 @@ u32 WonderNews_GetInput(u16 input) static void BufferNewsText(void) { u8 i = 0; - + // Copy title text memcpy(sWonderNewsData->titleText, sWonderNewsData->news.titleText, WONDER_NEWS_TEXT_LENGTH); sWonderNewsData->titleText[WONDER_NEWS_TEXT_LENGTH] = EOS; @@ -896,7 +896,7 @@ static void DrawNewsWindows(void) if (x < 0) x = 0; AddTextPrinterParameterized3(sWonderNewsData->windowIds[NEWS_WIN_TITLE], FONT_SHORT_COPY_1, x, 6, sNews_TextColorTable[sWonderNewsData->gfx->titleTextPal], 0, sWonderNewsData->titleText); - + // Print body text for (; i < WONDER_NEWS_BODY_TEXT_LINES; i++) AddTextPrinterParameterized3(sWonderNewsData->windowIds[NEWS_WIN_BODY], FONT_SHORT_COPY_1, 0, diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index dde86f155..01cbacb44 100755 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -560,7 +560,7 @@ static void DoAreaGlow(void) if (sPokedexAreaScreen->markerTimer > 12) { sPokedexAreaScreen->markerTimer = 0; - + // Flash the marker // With a max of 4, the marker will disappear twice sPokedexAreaScreen->markerFlashCounter++; @@ -737,7 +737,7 @@ static void CreateAreaMarkerSprites(void) static void DestroyAreaScreenSprites(void) { u16 i; - + // Destroy area marker sprites FreeSpriteTilesByTag(TAG_AREA_MARKER); FreeSpritePaletteByTag(TAG_AREA_MARKER); @@ -772,7 +772,7 @@ static void CreateAreaUnknownSprites(void) if (sPokedexAreaScreen->numOverworldAreas || sPokedexAreaScreen->numSpecialAreas) { - // The current species is present on the map, don't create any "Area Unknown" sprites + // The current species is present on the map, don't create any "Area Unknown" sprites for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaUnknownSprites); i++) sPokedexAreaScreen->areaUnknownSprites[i] = NULL; } diff --git a/src/pokemon.c b/src/pokemon.c index e16bc64a6..b65f97bd8 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1848,7 +1848,7 @@ static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = #define PP_UP_SHIFTS_INV(val) (u8)~(val), (u8)~((val) << 2), (u8)~((val) << 4), (u8)~((val) << 6) // PP Up bonuses are stored for a Pokémon as a single byte. -// There are 2 bits (a value 0-3) for each move slot that +// There are 2 bits (a value 0-3) for each move slot that // represent how many PP Ups have been applied. // The following arrays take a move slot id and return: // gPPUpGetMask - A mask to get the number of PP Ups applied to that move slot @@ -3119,7 +3119,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de spAttack = attacker->spAttack; spDefense = defender->spDefense; - // Get attacker hold item info + // Get attacker hold item info if (attacker->item == ITEM_ENIGMA_BERRY) { attackerHoldEffect = gEnigmaBerries[battlerIdAtk].holdEffect; @@ -5204,7 +5204,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov case 4: // ITEM5_PP_MAX dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); temp2 = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); - + // Check if 3 PP Ups have been applied already, and that the move has a total PP of at least 5 (excludes Sketch) if (dataUnsigned < 3 && temp2 >= 5) { @@ -6918,7 +6918,7 @@ static bool8 ShouldSkipFriendshipChange(void) // Only the 'default' mode (MON_SPR_GFX_MODE_NORMAL) is used, which is set // up to allocate 4 sprites using the battler sprite templates (gBattlerSpriteTemplates). // MON_SPR_GFX_MODE_BATTLE is identical but never used. -// MON_SPR_GFX_MODE_FULL_PARTY is set up to allocate 7 sprites (party + trainer?) +// MON_SPR_GFX_MODE_FULL_PARTY is set up to allocate 7 sprites (party + trainer?) // using a generic 64x64 template, and is also never used. // Between the unnecessarily large sizes below, a mistake allocating the spritePointers @@ -6980,7 +6980,7 @@ struct MonSpritesGfxManager *CreateMonSpritesGfxManager(u8 managerId, u8 mode) gfx->dataSize = 1; gfx->mode = MON_SPR_GFX_MODE_FULL_PARTY; break; - // case MON_SPR_GFX_MODE_BATTLE: + // case MON_SPR_GFX_MODE_BATTLE: case MON_SPR_GFX_MODE_NORMAL: default: gfx->numSprites = MAX_BATTLERS_COUNT; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index aa55e42c7..74e1da2cc 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -3879,7 +3879,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state) summary->species2, summary->pid); else - HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_LEFT], summary->species2, summary->pid); @@ -3891,7 +3891,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state) if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE) HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_LEFT], - summary->species2, + summary->species2, summary->pid); else HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index bc55fa751..ec8d67cbe 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -904,7 +904,7 @@ static void StartOptionAnimations_Enter(void) // Not selected, set default position x = OPTION_DEFAULT_X; } - + // Slide new options in StartOptionSlide(gfx->iconSprites[i], OPTION_EXIT_X, x, 12); SetOptionInvisibility(gfx->iconSprites[i], FALSE); diff --git a/src/record_mixing.c b/src/record_mixing.c index b03d7be2f..c899db25e 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -879,7 +879,7 @@ static void ReceiveDaycareMailData(struct RecordMixingDaycareMail *records, size for (i = 0; i < linkPlayerCount; i++) { mixMail = (void *)records + i * recordSize; - + // Count number of players that have at least // one daycare Pokémon with no held item if (canHoldItem[i][0] == TRUE || canHoldItem[i][1] == TRUE) @@ -945,7 +945,7 @@ static void ReceiveDaycareMailData(struct RecordMixingDaycareMail *records, size case 4: // 4 players can swap, select which 2 pairings will swap ptr = idxs; - + // Swap pair 1 playerSlot1 = sDaycareMailSwapIds_4Player[tableId][0]; playerSlot2 = sDaycareMailSwapIds_4Player[tableId][1]; diff --git a/src/roamer.c b/src/roamer.c index c17ec490c..e9dc72a99 100644 --- a/src/roamer.c +++ b/src/roamer.c @@ -127,7 +127,7 @@ void UpdateLocationHistoryForRoamer(void) void RoamerMoveToOtherLocationSet(void) { u8 mapNum = 0; - + if (!ROAMER->active) return; @@ -170,8 +170,8 @@ void RoamerMove(void) // Choose a new map (excluding the first) within this set // Also exclude a map if the roamer was there 2 moves ago mapNum = sRoamerLocations[locSet][(Random() % (NUM_LOCATIONS_PER_SET - 1)) + 1]; - if (!(sLocationHistory[2][MAP_GRP] == ROAMER_MAP_GROUP - && sLocationHistory[2][MAP_NUM] == mapNum) + if (!(sLocationHistory[2][MAP_GRP] == ROAMER_MAP_GROUP + && sLocationHistory[2][MAP_NUM] == mapNum) && mapNum != MAP_NUM(UNDEFINED)) break; } diff --git a/src/rom_header.s b/src/rom_header.s index c5fa5ddf4..75edcebd8 100644 --- a/src/rom_header.s +++ b/src/rom_header.s @@ -1,5 +1,5 @@ @ Note: ROM header data is empty space here. -@ It's populated by gbafix using data provided in the Makefile. +@ It's populated by gbafix using data provided in the Makefile. .global Start Start: diff --git a/src/save.c b/src/save.c index e7c91580e..765fb045c 100644 --- a/src/save.c +++ b/src/save.c @@ -913,7 +913,7 @@ u16 GetSaveBlocksPointersBaseOffset(void) for (i = 0; i < NUM_SECTORS_PER_SLOT; i++) { ReadFlashSector(i + slotOffset, gReadWriteSector); - + // Base offset for SaveBlock2 is calculated using the trainer id if (gReadWriteSector->id == SECTOR_ID_SAVEBLOCK2) return sector->data[offsetof(struct SaveBlock2, playerTrainerId[0])] + diff --git a/src/script.c b/src/script.c index 484f8e966..c252c95f0 100644 --- a/src/script.c +++ b/src/script.c @@ -213,9 +213,9 @@ void ScriptContext_Init(void) sGlobalScriptContextStatus = CONTEXT_SHUTDOWN; } -// Runs the script until the script makes a wait* call, then returns true if -// there's more script to run, or false if the script has hit the end. -// This function also returns false if the context is finished +// Runs the script until the script makes a wait* call, then returns true if +// there's more script to run, or false if the script has hit the end. +// This function also returns false if the context is finished // or waiting (after a call to _Stop) bool8 ScriptContext_RunScript(void) { diff --git a/src/slot_machine.c b/src/slot_machine.c index dd2622e2b..3b82afde1 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -1880,7 +1880,7 @@ static u8 TrySelectBias_Regular(void) { s16 rval = Random() & 0xff; s16 value = sBiasProbabilities_Regular[whichBias][sSlotMachine->machineId]; - + // Boost odds of BIAS_POWER if it's a lucky game. if (whichBias == 0 && sSlotMachine->luckyGame == TRUE) { @@ -3668,7 +3668,7 @@ static void ReelTime_CheckExplode(struct Task *task) if (sSlotMachine->reelTimeDraw) { if (sSlotMachine->reelTimeSpinsLeft <= task->tExplodeChecks) - task->tState++; // RT_TASK_LAND + task->tState++; // RT_TASK_LAND } else if (task->tExplodeChecks > 3) { @@ -5309,7 +5309,7 @@ static const u8 sSpecialDrawOdds[NUM_SLOT_MACHINE_IDS][MAX_BET] = { }; static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS] = { - { + { // Probabilities for BIAS_STRAIGHT_7 [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5318,7 +5318,7 @@ static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 40, [SLOT_MACHINE_LUCKIEST] = 50 }, - { + { // Probabilities for BIAS_REELTIME [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5327,7 +5327,7 @@ static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 35, [SLOT_MACHINE_LUCKIEST] = 35 }, - { + { // Probabilities for BIAS_MIXED_7 [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5339,7 +5339,7 @@ static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS] = { }; static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { - { + { // Probabilities for BIAS_POWER [SLOT_MACHINE_UNLUCKIEST] = 20, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5348,7 +5348,7 @@ static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 25, [SLOT_MACHINE_LUCKIEST] = 25 }, - { + { // Probabilities for BIAS_AZURILL [SLOT_MACHINE_UNLUCKIEST] = 12, [SLOT_MACHINE_UNLUCKIER] = 15, @@ -5357,7 +5357,7 @@ static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 19, [SLOT_MACHINE_LUCKIEST] = 22 }, - { + { // Probabilities for BIAS_LOTAD [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5366,7 +5366,7 @@ static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 30, [SLOT_MACHINE_LUCKIEST] = 40 }, - { + { // Probabilities for BIAS_CHERRY [SLOT_MACHINE_UNLUCKIEST] = 25, [SLOT_MACHINE_UNLUCKIER] = 25, @@ -5375,7 +5375,7 @@ static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = { [SLOT_MACHINE_LUCKIER] = 15, [SLOT_MACHINE_LUCKIEST] = 15 }, - { + { // Probabilities for BIAS_REPLAY [SLOT_MACHINE_UNLUCKIEST] = 40, [SLOT_MACHINE_UNLUCKIER] = 40, diff --git a/src/sound.c b/src/sound.c index aa6fb32ee..15ebee831 100644 --- a/src/sound.c +++ b/src/sound.c @@ -377,7 +377,7 @@ void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode) u8 table; species--; - + // Set default values // May be overridden depending on mode. length = 140; diff --git a/src/trade.c b/src/trade.c index e24051e04..ba18e8d32 100644 --- a/src/trade.c +++ b/src/trade.c @@ -2465,7 +2465,7 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf else { // Player's Pokémon must be of the type the partner requested - if (gBaseStats[playerSpecies2].type1 != requestedType + if (gBaseStats[playerSpecies2].type1 != requestedType && gBaseStats[playerSpecies2].type2 != requestedType) return UR_TRADE_MSG_NOT_MON_PARTNER_WANTS; } diff --git a/src/tv.c b/src/tv.c index 2f3d17ee2..0c394acf7 100644 --- a/src/tv.c +++ b/src/tv.c @@ -2058,7 +2058,7 @@ static void SecretBaseVisit_CalculatePartyData(TVShow *show) { sTV_SecretBaseVisitMonsTemp[numPokemon].level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); sTV_SecretBaseVisitMonsTemp[numPokemon].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); - + // Check all the Pokémon's moves, then randomly select one to save numMoves = 0; move = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1); @@ -2093,7 +2093,7 @@ static void SecretBaseVisit_CalculatePartyData(TVShow *show) for (i = 0, sum = 0; i < numPokemon; i++) sum += sTV_SecretBaseVisitMonsTemp[i].level; - // Using the data calculated above, save the data to talk about on the show + // Using the data calculated above, save the data to talk about on the show // (average level, and one randomly selected species / move) show->secretBaseVisit.avgLevel = sum / numPokemon; j = Random() % numPokemon; @@ -2643,7 +2643,7 @@ void DoPokeNews(void) // News event is upcoming, make comment about countdown to event u16 dayCountdown = gSaveBlock1Ptr->pokeNews[i].dayCountdown; ConvertIntToDecimalStringN(gStringVar1, dayCountdown, STR_CONV_MODE_LEFT_ALIGN, 1); - + // Mark as inactive so the countdown TV airing doesn't repeat // Will be flagged as "upcoming" again by UpdatePokeNewsCountdown gSaveBlock1Ptr->pokeNews[i].state = POKENEWS_STATE_INACTIVE; @@ -2848,7 +2848,7 @@ static bool8 IsRecordMixShowAlreadySpawned(u8 kind, bool8 delete) static void SortPurchasesByQuantity(void) { u8 i, j; - + for (i = 0; i < SMARTSHOPPER_NUM_ITEMS - 1; i++) { for (j = i + 1; j < SMARTSHOPPER_NUM_ITEMS; j++) diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index beff4440d..86a0f1a44 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -569,7 +569,7 @@ bool32 TryInteractWithUnionRoomMember(struct RfuPlayerList *list, s16 *memberIdP for (memberId = 0; memberId < MAX_RFU_PLAYERS; memberId++) { s32 id = UR_PLAYER_SPRITE_ID(i, memberId); - + // Is the player in front of a group member position? if (x != sUnionRoomPlayerCoords[i][0] + sUnionRoomGroupOffsets[memberId][0] + 7) continue; diff --git a/src/walda_phrase.c b/src/walda_phrase.c index 025f900e5..e5556b53e 100644 --- a/src/walda_phrase.c +++ b/src/walda_phrase.c @@ -174,7 +174,7 @@ static bool32 TryCalculateWallpaper(u16 *backgroundClr, u16 *foregroundClr, u8 * if (GetWallpaperDataBits(data, 0, 3) != GetWallpaperDataBits(charsByTableId, TO_BIT_OFFSET(WALDA_PHRASE_LENGTH - 1) + 2, 3)) return FALSE; - // Perform some relatively arbitrary changes to the wallpaper data using the last byte (KEY) + // Perform some relatively arbitrary changes to the wallpaper data using the last byte (KEY) RotateWallpaperDataLeft(data, NUM_WALLPAPER_DATA_BYTES, 21); RotateWallpaperDataLeft(data, NUM_WALLPAPER_DATA_BYTES - 1, KEY & 0xF); MaskWallpaperData(data, NUM_WALLPAPER_DATA_BYTES - 1, KEY >> 4); diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 4f9697753..01161e6cc 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -64,7 +64,7 @@ static const struct WildPokemon sWildFeebas = {20, 25, SPECIES_FEEBAS}; static const u16 sRoute119WaterTileData[] = { -//yMin, yMax, numSpots in previous sections +//yMin, yMax, numSpots in previous sections 0, 45, 0, 46, 91, NUM_FISHING_SPOTS_1, 92, 139, NUM_FISHING_SPOTS_1 + NUM_FISHING_SPOTS_2, @@ -142,7 +142,7 @@ static bool8 CheckFeebas(void) feebasSpots[i] = FeebasRandom() % NUM_FISHING_SPOTS; if (feebasSpots[i] == 0) feebasSpots[i] = NUM_FISHING_SPOTS; - + // < 1 below is a pointless check, it will never be TRUE. // >= 4 to skip fishing spots 1-3, because these are inaccessible // spots at the top of the map, at (9,7), (7,13), and (15,16). diff --git a/src/wonder_news.c b/src/wonder_news.c index ec93d293e..e083575d9 100644 --- a/src/wonder_news.c +++ b/src/wonder_news.c @@ -76,7 +76,7 @@ u16 RetrieveWonderNewsVal(void) struct WonderNewsMetadata *data = GetSavedWonderNewsMetadata(); u16 newsVal; - // Checks if Mystery Event is enabled, not Mystery Gift? + // Checks if Mystery Event is enabled, not Mystery Gift? if (!IsMysteryEventEnabled() || !ValidateSavedWonderNews()) return 0; diff --git a/sym_common.txt b/sym_common.txt index 407b183a7..7eebcac74 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -53,9 +53,9 @@ gReservedSpritePaletteCount: .include "tv.o" .include "mauville_old_man.o" .include "image_processing_effects.o" - + .space 0x4 - + .include "contest_painting.o" .include "field_specials.o" .include "evolution_scene.o" @@ -66,12 +66,12 @@ gReservedSpritePaletteCount: .include "battle_anim_throw.o" .include "battle_factory_screen.o" .include "apprentice.o" - + .space 0x8 - + .include "list_menu.o" .include "party_menu.o" - + .space 0x44 .include "ereader_screen.o" From 806106b537cc84f45c6ca97b5253cd7a8a9a77e3 Mon Sep 17 00:00:00 2001 From: TheXaman <48356183+TheXaman@users.noreply.github.com> Date: Mon, 12 Sep 2022 12:12:26 +0200 Subject: [PATCH 063/147] removed flickering in debug menu @Jaizu --- src/debug.c | 61 +++++++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/src/debug.c b/src/debug.c index 4cc1ac616..ac5c23831 100644 --- a/src/debug.c +++ b/src/debug.c @@ -175,6 +175,7 @@ struct DebugMonData static void Debug_ShowMenu(void (*HandleInput)(u8), struct ListMenuTemplate LMtemplate); void Debug_ShowMainMenu(void); static void Debug_DestroyMenu(u8); +static void Debug_DestroyMenu_Full(u8); static void DebugAction_Cancel(u8); static void DebugAction_DestroyExtraWindow(u8 taskId); @@ -697,6 +698,12 @@ static void Debug_ShowMenu(void (*HandleInput)(u8), struct ListMenuTemplate LMte gTasks[inputTaskId].data[1] = windowId; } static void Debug_DestroyMenu(u8 taskId) +{ + DestroyListMenuTask(gTasks[taskId].data[0], NULL, NULL); + RemoveWindow(gTasks[taskId].data[1]); + DestroyTask(taskId); +} +static void Debug_DestroyMenu_Full(u8 taskId) { DestroyListMenuTask(gTasks[taskId].data[0], NULL, NULL); ClearStdWindowAndFrame(gTasks[taskId].data[1], TRUE); @@ -705,7 +712,7 @@ static void Debug_DestroyMenu(u8 taskId) } static void DebugAction_Cancel(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); ScriptContext_Enable(); } static void DebugAction_DestroyExtraWindow(u8 taskId) @@ -737,7 +744,7 @@ static void DebugTask_HandleMenuInput_Main(u8 taskId) else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); ScriptContext_Enable(); } } @@ -891,7 +898,7 @@ static void DebugAction_Util_HealParty(u8 taskId) PlaySE(SE_USE_ITEM); HealPlayerParty(); ScriptContext_Enable(); - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); } static void DebugAction_Util_Fly(u8 taskId) { @@ -913,7 +920,7 @@ static void DebugAction_Util_Fly(u8 taskId) FlagSet(FLAG_VISITED_EVER_GRANDE_CITY); FlagSet(FLAG_LANDMARK_POKEMON_LEAGUE); FlagSet(FLAG_LANDMARK_BATTLE_FRONTIER); - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); SetMainCallback2(CB2_OpenFlyMap); } @@ -1141,26 +1148,26 @@ static void DebugAction_Util_CheckSaveBlock(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, sizeof(struct PokemonStorage), STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gDebugText_SaveBlockSize); - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_ShowFieldMessageStringVar4); } static void DebugAction_Util_CheckWallClock(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(PlayersHouse_2F_EventScript_CheckWallClock); } static void DebugAction_Util_SetWallClock(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(PlayersHouse_2F_EventScript_SetWallClock); } static void DebugAction_Util_WatchCredits(u8 taskId) { struct Task* task = &gTasks[taskId]; - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); SetMainCallback2(CB2_StartCreditsSequence); } static void DebugAction_Util_Trainer_Name(u8 taskId) @@ -1174,14 +1181,14 @@ static void DebugAction_Util_Trainer_Gender(u8 taskId) gSaveBlock2Ptr->playerGender = 1; else gSaveBlock2Ptr->playerGender = 0; + Debug_DestroyMenu_Full(taskId); ScriptContext_Enable(); - Debug_DestroyMenu(taskId); } static void DebugAction_Util_Trainer_Id(u8 taskId) { u32 trainerId = ((Random() << 16) | Random()); SetTrainerId(trainerId, gSaveBlock2Ptr->playerTrainerId); - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); ScriptContext_Enable(); } @@ -1189,49 +1196,49 @@ static void DebugAction_Util_Trainer_Id(u8 taskId) // Actions Scripts static void DebugAction_Util_Script_1(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_Script_1); } static void DebugAction_Util_Script_2(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_Script_2); } static void DebugAction_Util_Script_3(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_Script_3); } static void DebugAction_Util_Script_4(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_Script_4); } static void DebugAction_Util_Script_5(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_Script_5); } static void DebugAction_Util_Script_6(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_Script_6); } static void DebugAction_Util_Script_7(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_Script_7); } static void DebugAction_Util_Script_8(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_Script_8); } @@ -1338,7 +1345,7 @@ static void DebugAction_Flags_SetPokedexFlags(u8 taskId) GetSetPokedexFlag(i + 1, FLAG_SET_CAUGHT); GetSetPokedexFlag(i + 1, FLAG_SET_SEEN); } - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); ScriptContext_Enable(); } static void DebugAction_Flags_SwitchDex(u8 taskId) @@ -1426,7 +1433,7 @@ static void DebugAction_Flags_ToggleFrontierPass(u8 taskId) static void DebugAction_Flags_CollisionOnOff(u8 taskId) { #if DEBUG_FLAG_NO_COLLISION == 0 - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_FlagsNotSetMessage); #else @@ -1440,7 +1447,7 @@ static void DebugAction_Flags_CollisionOnOff(u8 taskId) static void DebugAction_Flags_EncounterOnOff(u8 taskId) { #if OW_FLAG_NO_ENCOUNTER == 0 - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_FlagsNotSetMessage); #else @@ -1454,7 +1461,7 @@ static void DebugAction_Flags_EncounterOnOff(u8 taskId) static void DebugAction_Flags_TrainerSeeOnOff(u8 taskId) { #if OW_FLAG_NO_TRAINER_SEE == 0 - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_FlagsNotSetMessage); #else @@ -1468,7 +1475,7 @@ static void DebugAction_Flags_TrainerSeeOnOff(u8 taskId) static void DebugAction_Flags_BagUseOnOff(u8 taskId) { #if B_FLAG_NO_BAG_USE == 0 - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_FlagsNotSetMessage); #else @@ -1482,7 +1489,7 @@ static void DebugAction_Flags_BagUseOnOff(u8 taskId) static void DebugAction_Flags_CatchingOnOff(u8 taskId) { #if B_FLAG_NO_CATCHING_USE == 0 - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_FlagsNotSetMessage); #else @@ -1841,7 +1848,7 @@ static void DebugAction_Give_AllTMs(u8 taskId) if (ItemIdToBattleMoveId(i) != MOVE_NONE && !CheckBagHasItem(i, 1)) AddBagItem(i, 1); } - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); ScriptContext_Enable(); } @@ -2656,7 +2663,7 @@ static void DebugAction_Give_FillPC(u8 taskId) //Credit: Sierraffinity static void DebugAction_Give_CHEAT(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_CheatStart); } @@ -2673,7 +2680,7 @@ static void Task_WaitFadeAccessPC(u8 taskId) static void DebugAction_AccessPC(u8 taskId) { - Debug_DestroyMenu(taskId); + Debug_DestroyMenu_Full(taskId); CleanupOverworldWindowsAndTilemaps(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); CreateTask(Task_WaitFadeAccessPC, 0); From 041870672ac07c98f4cab39c25737201740728ea Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 12 Sep 2022 15:11:58 -0400 Subject: [PATCH 064/147] Add misc constant usage to field_weather_effect --- src/field_weather_effect.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 820628ff8..f5769cc23 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -596,8 +596,8 @@ static void UpdateRainSprite(struct Sprite *sprite) sprite->y = sprite->tPosY >> 4; if (sprite->tActive - && (sprite->x >= -8 && sprite->x <= 248) - && sprite->y >= -16 && sprite->y <= 176) + && (sprite->x >= -8 && sprite->x <= DISPLAY_WIDTH + 8) + && sprite->y >= -16 && sprite->y <= DISPLAY_HEIGHT + 16) sprite->invisible = FALSE; else sprite->invisible = TRUE; @@ -1442,9 +1442,9 @@ static void FogHorizontalSpriteCallback(struct Sprite *sprite) { sprite->y2 = (u8)gSpriteCoordOffsetY; sprite->x = gWeatherPtr->fogHScrollPosX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = 480 + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64; + sprite->x = (DISPLAY_WIDTH * 2) + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -1701,9 +1701,9 @@ static void UpdateAshSprite(struct Sprite *sprite) sprite->y = gSpriteCoordOffsetY + sprite->tOffsetY; sprite->x = gWeatherPtr->ashBaseSpritesX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = gWeatherPtr->ashBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->x = gWeatherPtr->ashBaseSpritesX + (DISPLAY_WIDTH * 2) - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -1911,9 +1911,9 @@ static void UpdateFogDiagonalSprite(struct Sprite *sprite) { sprite->y2 = gWeatherPtr->fogDPosY; sprite->x = gWeatherPtr->fogDBaseSpritesX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = gWeatherPtr->fogDBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->x = gWeatherPtr->fogDBaseSpritesX + (DISPLAY_WIDTH * 2) - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -2187,9 +2187,9 @@ static void UpdateSandstormSprite(struct Sprite *sprite) { sprite->y2 = gWeatherPtr->sandstormPosY; sprite->x = gWeatherPtr->sandstormBaseSpritesX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = gWeatherPtr->sandstormBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->x = gWeatherPtr->sandstormBaseSpritesX + (DISPLAY_WIDTH * 2) - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -2206,7 +2206,7 @@ static void UpdateSandstormSwirlSprite(struct Sprite *sprite) if (--sprite->y < -48) { - sprite->y = 208; + sprite->y = DISPLAY_HEIGHT + 48; sprite->tRadius = 4; } @@ -2567,14 +2567,16 @@ void ResumePausedWeather(void) SetCurrentAndNextWeather(weather); } -static const u8 sWeatherCycleRoute119[] = +#define WEATHER_CYCLE_LENGTH 4 + +static const u8 sWeatherCycleRoute119[WEATHER_CYCLE_LENGTH] = { WEATHER_SUNNY, WEATHER_RAIN, WEATHER_RAIN_THUNDERSTORM, WEATHER_RAIN, }; -static const u8 sWeatherCycleRoute123[] = +static const u8 sWeatherCycleRoute123[WEATHER_CYCLE_LENGTH] = { WEATHER_SUNNY, WEATHER_SUNNY, @@ -2611,7 +2613,7 @@ static u8 TranslateWeatherNum(u8 weather) void UpdateWeatherPerDay(u16 increment) { u16 weatherStage = gSaveBlock1Ptr->weatherCycleStage + increment; - weatherStage %= 4; + weatherStage %= WEATHER_CYCLE_LENGTH; gSaveBlock1Ptr->weatherCycleStage = weatherStage; } From 5eb931225082972b013964c1a160989b7d69bd69 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 12 Sep 2022 21:14:15 -0300 Subject: [PATCH 065/147] Added missing labels in headers --- gflib/text.h | 1 - include/event_object_movement.h | 99 ++++++++++++++++----------------- include/field_effect.h | 2 +- include/field_player_avatar.h | 2 +- include/link.h | 2 +- include/menu.h | 2 +- include/palette.h | 22 ++++---- 7 files changed, 64 insertions(+), 66 deletions(-) diff --git a/gflib/text.h b/gflib/text.h index c07817290..a88cb990e 100644 --- a/gflib/text.h +++ b/gflib/text.h @@ -148,7 +148,6 @@ void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor); void DecompressGlyphTile(const void *src_, void *dest_); void CopyGlyphToWindow(struct TextPrinter *x); void ClearTextSpan(struct TextPrinter *textPrinter, u32 width); -u8 GetMenuCursorDimensionByFont(u8, u8); void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter); void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 22cef4921..aad161553 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -77,55 +77,55 @@ extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[]; extern const u8 *const gBerryTreePaletteSlotTablePointers[]; void ResetObjectEvents(void); -u8 GetMoveDirectionAnimNum(u8); -u8 GetObjectEventIdByLocalIdAndMap(u8, u8, u8); -bool8 TryGetObjectEventIdByLocalIdAndMap(u8, u8, u8, u8 *); -u8 GetObjectEventIdByXY(s16, s16); -void SetObjectEventDirection(struct ObjectEvent *, u8); +u8 GetMoveDirectionAnimNum(u8 direction); +u8 GetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId); +bool8 TryGetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u8 *objectEventId); +u8 GetObjectEventIdByXY(s16 x, s16 y); +void SetObjectEventDirection(struct ObjectEvent *objectEvent, u8 direction); u8 GetFirstInactiveObjectEventId(void); -void RemoveObjectEventByLocalIdAndMap(u8, u8, u8); -void LoadPlayerObjectReflectionPalette(u16, u8); -void LoadSpecialObjectReflectionPalette(u16, u8); -void TryMoveObjectEventToMapCoords(u8, u8, u8, s16, s16); -void PatchObjectPalette(u16, u8); -void SpawnObjectEventsOnReturnToField(s16, s16); +void RemoveObjectEventByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup); +void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot); +void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot); +void TryMoveObjectEventToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); +void PatchObjectPalette(u16 paletteTag, u8 paletteSlot); +void SpawnObjectEventsOnReturnToField(s16 x, s16 y); void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); -void GetMapCoordsFromSpritePos(s16, s16, s16 *, s16 *); -u8 GetFaceDirectionAnimNum(u8); -void SetSpritePosToOffsetMapCoords(s16 *, s16 *, s16, s16); +void GetMapCoordsFromSpritePos(s16 x, s16 y, s16 *destX, s16 *destY); +u8 GetFaceDirectionAnimNum(u8 direction); +void SetSpritePosToOffsetMapCoords(s16 *x, s16 *y, s16 dx, s16 dy); void ObjectEventClearHeldMovement(struct ObjectEvent *); void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *); -void TrySpawnObjectEvents(s16, s16); +void TrySpawnObjectEvents(s16 cameraX, s16 cameraY); u8 CreateObjectGraphicsSprite(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority); -u8 TrySpawnObjectEvent(u8, u8, u8); +u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation); u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); -void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *); +void SetSpritePosToMapCoords(s16 mapX, s16 mapY, s16 *destX, s16 *destY); void CameraObjectReset1(void); void ObjectEventSetGraphicsId(struct ObjectEvent *, u8 graphicsId); -void ObjectEventTurn(struct ObjectEvent *, u8); -void ObjectEventTurnByLocalIdAndMap(u8, u8, u8, u8); +void ObjectEventTurn(struct ObjectEvent *, u8 direction); +void ObjectEventTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction); const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId); -void SetObjectInvisibility(u8, u8, u8, bool8); +void SetObjectInvisibility(u8 localId, u8 mapNum, u8 mapGroup, bool8 invisible); void FreeAndReserveObjectSpritePalettes(void); void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); -void ResetObjectSubpriority(u8, u8, u8); -void SetObjectSubpriority(u8, u8, u8, u8); -void AllowObjectAtPosTriggerGroundEffects(s16, s16); +void ResetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup); +void SetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority); +void AllowObjectAtPosTriggerGroundEffects(s16 x, s16 y); void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup); -void ShiftObjectEventCoords(struct ObjectEvent *, s16, s16); -void MoveObjectEventToMapCoords(struct ObjectEvent *, s16, s16); -void TryOverrideObjectEventTemplateCoords(u8, u8, u8); +void ShiftObjectEventCoords(struct ObjectEvent *, s16 x, s16 y); +void MoveObjectEventToMapCoords(struct ObjectEvent *, s16 x, s16 y); +void TryOverrideObjectEventTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup); void InitObjectEventPalettes(u8 palSlot); void UpdateObjectEventCurrentMovement(struct ObjectEvent *, struct Sprite *, bool8(struct ObjectEvent *, struct Sprite *)); -u8 ObjectEventFaceOppositeDirection(struct ObjectEvent *, u8); -u8 GetOppositeDirection(u8); +u8 ObjectEventFaceOppositeDirection(struct ObjectEvent *, u8 direction); +u8 GetOppositeDirection(u8 direction); u8 GetWalkInPlaceFasterMovementAction(u32); u8 GetWalkInPlaceFastMovementAction(u32); u8 GetWalkInPlaceNormalMovementAction(u32); u8 GetWalkInPlaceSlowMovementAction(u32); -u8 GetCollisionAtCoords(struct ObjectEvent *, s16, s16, u32); -void MoveCoords(u8, s16 *, s16 *); +u8 GetCollisionAtCoords(struct ObjectEvent *, s16 x, s16 y, u32 dir); +void MoveCoords(u8 direction, s16 *x, s16 *y); bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *); u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); u8 GetObjectEventIdByPosition(u16 x, u16 y, u8 elevation); @@ -168,22 +168,22 @@ u8 AddCameraObject(u8 linkedSpriteId); void UpdateObjectEventsForCameraUpdate(s16 x, s16 y); u8 GetWalkSlowMovementAction(u32); u8 GetJumpMovementAction(u32); -u8 ElevationToPriority(u8); +u8 ElevationToPriority(u8 elevation); void ObjectEventUpdateElevation(struct ObjectEvent *objEvent); -void SetObjectSubpriorityByElevation(u8, struct Sprite *, u8); +void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *, u8 subpriority); void UnfreezeObjectEvent(struct ObjectEvent *); u8 FindLockedObjectEventIndex(struct ObjectEvent *); -void SetAndStartSpriteAnim(struct Sprite *, u8, u8); +void SetAndStartSpriteAnim(struct Sprite *, u8 animNum, u8 animCmdIndex); bool8 SpriteAnimEnded(struct Sprite *); void UnfreezeObjectEvents(void); void FreezeObjectEventsExceptOne(u8 objectEventId); void FreezeObjectEventsExceptTwo(u8 objectEventId1, u8 objectEventId2); void FreezeObjectEvents(void); bool8 FreezeObjectEvent(struct ObjectEvent *objectEvent); -u8 GetMoveDirectionFastAnimNum(u8); -u8 GetMoveDirectionFasterAnimNum(u8); -u8 GetMoveDirectionFastestAnimNum(u8); -u8 GetLedgeJumpDirection(s16, s16, u8); +u8 GetMoveDirectionFastAnimNum(u8 direction); +u8 GetMoveDirectionFasterAnimNum(u8 direction); +u8 GetMoveDirectionFastestAnimNum(u8 direction); +u8 GetLedgeJumpDirection(s16 x, s16 y, u8 direction); void CameraObjectSetFollowedSpriteId(u8 objectId); u16 GetObjectPaletteTag(u8 palSlot); void UpdateObjectEventSpriteInvisibility(struct Sprite *sprite, bool8 invisible); @@ -192,7 +192,7 @@ s16 GetFigure8YOffset(s16 idx); void CameraObjectReset2(void); u8 GetObjectEventBerryTreeId(u8 objectEventId); void SetBerryTreeJustPicked(u8 mapId, u8 mapNumber, u8 mapGroup); -bool8 IsBerryTreeSparkling(u8, u8, u8); +bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); @@ -250,7 +250,6 @@ void MovementType_RunInPlace(struct Sprite *); void MovementType_Invisible(struct Sprite *); void MovementType_WalkSlowlyInPlace(struct Sprite *); u8 GetSlideMovementAction(u32); -u8 GetJumpInPlaceMovementAction(u32); u8 GetJumpMovementAction(u32); u8 GetJump2MovementAction(u32); u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority); @@ -262,17 +261,17 @@ u8 MovementType_WanderAround_Step3(struct ObjectEvent *, struct Sprite *); u8 MovementType_WanderAround_Step4(struct ObjectEvent *, struct Sprite *); u8 MovementType_WanderAround_Step5(struct ObjectEvent *, struct Sprite *); u8 MovementType_WanderAround_Step6(struct ObjectEvent *, struct Sprite *); -u8 GetVectorDirection(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_SouthNorth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_WestEast(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_WestNorth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_EastNorth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_WestSouth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_EastSouth(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_SouthNorthWest(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_SouthNorthEast(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_NorthWestEast(s16, s16, s16, s16); -u8 GetLimitedVectorDirection_SouthWestEast(s16, s16, s16, s16); +u8 GetVectorDirection(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_SouthNorth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_WestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_WestNorth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_EastNorth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_WestSouth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_EastSouth(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_SouthNorthWest(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_SouthNorthEast(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_NorthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); +u8 GetLimitedVectorDirection_SouthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 MovementType_LookAround_Step0(struct ObjectEvent *, struct Sprite *); u8 MovementType_LookAround_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementType_LookAround_Step2(struct ObjectEvent *, struct Sprite *); diff --git a/include/field_effect.h b/include/field_effect.h index b35a8c869..4cde29e8a 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -18,7 +18,7 @@ void FieldEffectStop(struct Sprite *sprite, u8 id); u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); void FldEff_TeleportWarpOut(void); void FieldEffectActiveListRemove(u8 id); -void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8); +void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); void FieldEffectActiveListAdd(u8 id); void FieldEffectScript_LoadTiles(u8 **script); void FieldEffectScript_LoadFadedPalette(u8 **script); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 2bf2df269..39fc886af 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -38,7 +38,7 @@ void PlayerFreeze(void); void StopPlayerAvatar(void); void SetSpinStartFacingDir(u8); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); -u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8); +u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender); void SetPlayerAvatarFieldMove(void); u8 GetPlayerAvatarGraphicsIdByCurrentState(void); void SetPlayerAvatarStateMask(u8 flags); diff --git a/include/link.h b/include/link.h index 120c25784..7fa5e3fae 100644 --- a/include/link.h +++ b/include/link.h @@ -284,7 +284,7 @@ void SerialCB(void); bool32 InUnionRoom(void); void LoadWirelessStatusIndicatorSpriteGfx(void); bool8 IsLinkTaskFinished(void); -void CreateWirelessStatusIndicatorSprite(u8, u8); +void CreateWirelessStatusIndicatorSprite(u8 x, u8 y); void SetLinkStandbyCallback(void); void SetWirelessCommType1(void); void CheckShouldAdvanceLinkState(void); diff --git a/include/menu.h b/include/menu.h index 43b564da2..0b0a42423 100644 --- a/include/menu.h +++ b/include/menu.h @@ -92,7 +92,7 @@ void PrintMenuActionGrid(u8 windowId, u8 fontId, u8 left, u8 top, u8 optionWidth u8 InitMenuActionGrid(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos); u8 ChangeMenuGridCursorPosition(s8 deltaX, s8 deltaY); u8 GetStartMenuWindowId(void); -void ListMenuLoadStdPalAt(u8, u8); +void ListMenuLoadStdPalAt(u8 palOffset, u8 palId); u8 Menu_MoveCursor(s8 cursorDelta); u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta); void DrawStdWindowFrame(u8 windowId, bool8 CopyToVram); diff --git a/include/palette.h b/include/palette.h index 81a1e1cae..736fde96b 100644 --- a/include/palette.h +++ b/include/palette.h @@ -52,22 +52,22 @@ extern u8 gPaletteDecompressionBuffer[]; extern u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE]; extern u16 gPlttBufferFaded[PLTT_BUFFER_SIZE]; -void LoadCompressedPalette(const u32 *, u16, u16); -void LoadPalette(const void *, u16, u16); -void FillPalette(u16, u16, u16); +void LoadCompressedPalette(const u32 *src, u16 offset, u16 size); +void LoadPalette(const void *src, u16 offset, u16 size); +void FillPalette(u16 value, u16 offset, u16 size); void TransferPlttBuffer(void); u8 UpdatePaletteFade(void); void ResetPaletteFade(void); -bool8 BeginNormalPaletteFade(u32, s8, u8, u8, u16); -void PaletteStruct_ResetById(u16); +bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, u16 blendColor); +void PaletteStruct_ResetById(u16 id); void ResetPaletteFadeControl(void); -void InvertPlttBuffer(u32); -void TintPlttBuffer(u32, s8, s8, s8); -void UnfadePlttBuffer(u32); -void BeginFastPaletteFade(u8); -void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); +void InvertPlttBuffer(u32 selectedPalettes); +void TintPlttBuffer(u32 selectedPalettes, s8 r, s8 g, s8 b); +void UnfadePlttBuffer(u32 selectedPalettes); +void BeginFastPaletteFade(u8 submode); +void BeginHardwarePaletteFade(u8 blendCnt, u8 delay, u8 y, u8 targetY, u8 shouldResetBlendRegisters); void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color); -void BlendPalettesUnfaded(u32, u8, u16); +void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u16 color); void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id); void TintPalette_GrayScale(u16 *palette, u16 count); void TintPalette_GrayScale2(u16 *palette, u16 count); From 222362e8045e653115cf4e4759c1a25732cea899 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 12 Sep 2022 21:26:22 -0300 Subject: [PATCH 066/147] Fixed Raquaza typo --- data/maps/SkyPillar_Top/map.json | 2 +- data/maps/SkyPillar_Top/scripts.inc | 2 +- include/constants/vars.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/maps/SkyPillar_Top/map.json b/data/maps/SkyPillar_Top/map.json index a980c6b07..2fee12106 100644 --- a/data/maps/SkyPillar_Top/map.json +++ b/data/maps/SkyPillar_Top/map.json @@ -56,7 +56,7 @@ "x": 14, "y": 9, "elevation": 3, - "var": "VAR_SKY_PILLAR_RAQUAZA_CRY_DONE", + "var": "VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE", "var_value": "0", "script": "SkyPillar_Top_EventScript_AwakenRayquaza" } diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index 7b65d9e25..19cd7e4f4 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -128,7 +128,7 @@ SkyPillar_Top_EventScript_AwakenRayquaza:: special RemoveCameraObject setvar VAR_SOOTOPOLIS_CITY_STATE, 5 setvar VAR_SKY_PILLAR_STATE, 1 - setvar VAR_SKY_PILLAR_RAQUAZA_CRY_DONE, 1 + setvar VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE, 1 releaseall end diff --git a/include/constants/vars.h b/include/constants/vars.h index 8128b6f32..dbcb658ff 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -231,7 +231,7 @@ #define VAR_SS_TIDAL_SCOTT_STATE 0x40D4 // Always equal to FLAG_MET_SCOTT_ON_SS_TIDAL #define VAR_ROAMER_POKEMON 0x40D5 // 0 = Latias, 1 = Latios #define VAR_TRAINER_HILL_IS_ACTIVE 0x40D6 -#define VAR_SKY_PILLAR_RAQUAZA_CRY_DONE 0x40D7 +#define VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE 0x40D7 #define VAR_SOOTOPOLIS_WALLACE_STATE 0x40D8 #define VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT 0x40D9 #define VAR_REGISTER_BIRCH_STATE 0x40DA From cb83a0920318b2e98782a9a10a098b8441a99913 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 12 Sep 2022 21:27:53 -0300 Subject: [PATCH 067/147] Fixed vars alignment --- include/constants/vars.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/constants/vars.h b/include/constants/vars.h index dbcb658ff..019585d66 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -231,7 +231,7 @@ #define VAR_SS_TIDAL_SCOTT_STATE 0x40D4 // Always equal to FLAG_MET_SCOTT_ON_SS_TIDAL #define VAR_ROAMER_POKEMON 0x40D5 // 0 = Latias, 1 = Latios #define VAR_TRAINER_HILL_IS_ACTIVE 0x40D6 -#define VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE 0x40D7 +#define VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE 0x40D7 #define VAR_SOOTOPOLIS_WALLACE_STATE 0x40D8 #define VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT 0x40D9 #define VAR_REGISTER_BIRCH_STATE 0x40DA From 14c6d8b91a49d214d3da2bba2b90e4cb9d811587 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 12 Sep 2022 21:32:42 -0300 Subject: [PATCH 068/147] Fixed alignment for the value of vars 0x4020 to 0x40FF --- include/constants/vars.h | 450 +++++++++++++++++++-------------------- 1 file changed, 225 insertions(+), 225 deletions(-) diff --git a/include/constants/vars.h b/include/constants/vars.h index 019585d66..bd988c789 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -46,235 +46,235 @@ #define VAR_OBJ_GFX_ID_F 0x401F // general purpose vars -#define VAR_RECYCLE_GOODS 0x4020 -#define VAR_REPEL_STEP_COUNT 0x4021 -#define VAR_ICE_STEP_COUNT 0x4022 -#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip -#define VAR_MIRAGE_RND_H 0x4024 -#define VAR_MIRAGE_RND_L 0x4025 -#define VAR_SECRET_BASE_MAP 0x4026 -#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027 -#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028 -#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029 -#define VAR_FRIENDSHIP_STEP_COUNTER 0x402A -#define VAR_POISON_STEP_COUNTER 0x402B -#define VAR_RESET_RTC_ENABLE 0x402C -#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D -#define VAR_WONDER_NEWS_COUNTER 0x402E +#define VAR_RECYCLE_GOODS 0x4020 +#define VAR_REPEL_STEP_COUNT 0x4021 +#define VAR_ICE_STEP_COUNT 0x4022 +#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip +#define VAR_MIRAGE_RND_H 0x4024 +#define VAR_MIRAGE_RND_L 0x4025 +#define VAR_SECRET_BASE_MAP 0x4026 +#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027 +#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028 +#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029 +#define VAR_FRIENDSHIP_STEP_COUNTER 0x402A +#define VAR_POISON_STEP_COUNTER 0x402B +#define VAR_RESET_RTC_ENABLE 0x402C +#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D +#define VAR_WONDER_NEWS_COUNTER 0x402E -#define VAR_FRONTIER_MANIAC_FACILITY 0x402F -#define VAR_FRONTIER_GAMBLER_CHALLENGE 0x4030 -#define VAR_FRONTIER_GAMBLER_SET_CHALLENGE 0x4031 -#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 -#define VAR_FRONTIER_GAMBLER_STATE 0x4033 +#define VAR_FRONTIER_MANIAC_FACILITY 0x402F +#define VAR_FRONTIER_GAMBLER_CHALLENGE 0x4030 +#define VAR_FRONTIER_GAMBLER_SET_CHALLENGE 0x4031 +#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 +#define VAR_FRONTIER_GAMBLER_STATE 0x4033 -#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 -#define VAR_DEOXYS_ROCK_LEVEL 0x4035 -#define VAR_PC_BOX_TO_SEND_MON 0x4036 -#define VAR_ABNORMAL_WEATHER_LOCATION 0x4037 -#define VAR_ABNORMAL_WEATHER_STEP_COUNTER 0x4038 -#define VAR_SHOULD_END_ABNORMAL_WEATHER 0x4039 -#define VAR_FARAWAY_ISLAND_STEP_COUNTER 0x403A -#define VAR_REGICE_STEPS_1 0x403B -#define VAR_REGICE_STEPS_2 0x403C -#define VAR_REGICE_STEPS_3 0x403D -#define VAR_ALTERING_CAVE_WILD_SET 0x403E -#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing -#define VAR_DAYS 0x4040 -#define VAR_FANCLUB_FAN_COUNTER 0x4041 -#define VAR_FANCLUB_LOSE_FAN_TIMER 0x4042 -#define VAR_DEPT_STORE_FLOOR 0x4043 -#define VAR_TRICK_HOUSE_LEVEL 0x4044 -#define VAR_POKELOT_PRIZE_ITEM 0x4045 -#define VAR_NATIONAL_DEX 0x4046 -#define VAR_SEEDOT_SIZE_RECORD 0x4047 -#define VAR_ASH_GATHER_COUNT 0x4048 -#define VAR_BIRCH_STATE 0x4049 -#define VAR_CRUISE_STEP_COUNT 0x404A -#define VAR_POKELOT_RND1 0x404B -#define VAR_POKELOT_RND2 0x404C -#define VAR_POKELOT_PRIZE_PLACE 0x404D -#define VAR_UNUSED_0x404E 0x404E // Unused Var -#define VAR_LOTAD_SIZE_RECORD 0x404F -#define VAR_LITTLEROOT_TOWN_STATE 0x4050 -#define VAR_OLDALE_TOWN_STATE 0x4051 -#define VAR_DEWFORD_TOWN_STATE 0x4052 // Unused Var -#define VAR_LAVARIDGE_TOWN_STATE 0x4053 -#define VAR_CURRENT_SECRET_BASE 0x4054 // was probably allocated for VAR_FALLARBOR_TOWN_STATE at one point -#define VAR_VERDANTURF_TOWN_STATE 0x4055 // Unused Var -#define VAR_PACIFIDLOG_TOWN_STATE 0x4056 // Unused Var -#define VAR_PETALBURG_CITY_STATE 0x4057 -#define VAR_SLATEPORT_CITY_STATE 0x4058 -#define VAR_MAUVILLE_CITY_STATE 0x4059 // Unused Var -#define VAR_RUSTBORO_CITY_STATE 0x405A -#define VAR_FORTREE_CITY_STATE 0x405B // Unused Var -#define VAR_LILYCOVE_CITY_STATE 0x405C // Unused Var -#define VAR_MOSSDEEP_CITY_STATE 0x405D -#define VAR_SOOTOPOLIS_CITY_STATE 0x405E -#define VAR_EVER_GRANDE_CITY_STATE 0x405F // Unused Var -#define VAR_ROUTE101_STATE 0x4060 -#define VAR_ROUTE102_STATE 0x4061 // Unused Var -#define VAR_ROUTE103_STATE 0x4062 // Unused Var -#define VAR_ROUTE104_STATE 0x4063 -#define VAR_ROUTE105_STATE 0x4064 // Unused Var -#define VAR_ROUTE106_STATE 0x4065 // Unused Var -#define VAR_ROUTE107_STATE 0x4066 // Unused Var -#define VAR_ROUTE108_STATE 0x4067 // Unused Var -#define VAR_ROUTE109_STATE 0x4068 // Unused Var -#define VAR_ROUTE110_STATE 0x4069 -#define VAR_ROUTE111_STATE 0x406A // Unused Var -#define VAR_ROUTE112_STATE 0x406B // Unused Var -#define VAR_ROUTE113_STATE 0x406C // Unused Var -#define VAR_ROUTE114_STATE 0x406D // Unused Var -#define VAR_ROUTE115_STATE 0x406E // Unused Var -#define VAR_ROUTE116_STATE 0x406F -#define VAR_ROUTE117_STATE 0x4070 // Unused Var -#define VAR_ROUTE118_STATE 0x4071 -#define VAR_ROUTE119_STATE 0x4072 -#define VAR_ROUTE120_STATE 0x4073 // Unused Var -#define VAR_ROUTE121_STATE 0x4074 -#define VAR_ROUTE122_STATE 0x4075 // Unused Var -#define VAR_ROUTE123_STATE 0x4076 // Unused Var -#define VAR_ROUTE124_STATE 0x4077 // Unused Var -#define VAR_ROUTE125_STATE 0x4078 // Unused Var -#define VAR_ROUTE126_STATE 0x4079 // Unused Var -#define VAR_ROUTE127_STATE 0x407A // Unused Var -#define VAR_ROUTE128_STATE 0x407B -#define VAR_ROUTE129_STATE 0x407C // Unused Var -#define VAR_ROUTE130_STATE 0x407D // Unused Var -#define VAR_ROUTE131_STATE 0x407E // Unused Var -#define VAR_ROUTE132_STATE 0x407F // Unused Var -#define VAR_ROUTE133_STATE 0x4080 // Unused Var -#define VAR_ROUTE134_STATE 0x4081 // Unused Var -#define VAR_LITTLEROOT_HOUSES_STATE_MAY 0x4082 -#define VAR_UNUSED_0x4083 0x4083 // Unused Var -#define VAR_BIRCH_LAB_STATE 0x4084 -#define VAR_PETALBURG_GYM_STATE 0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman -#define VAR_CONTEST_HALL_STATE 0x4086 -#define VAR_CABLE_CLUB_STATE 0x4087 -#define VAR_CONTEST_TYPE 0x4088 -#define VAR_SECRET_BASE_INITIALIZED 0x4089 -#define VAR_CONTEST_PRIZE_PICKUP 0x408A -#define VAR_UNUSED_0x408B 0x408B // Unused Var -#define VAR_LITTLEROOT_HOUSES_STATE_BRENDAN 0x408C -#define VAR_LITTLEROOT_RIVAL_STATE 0x408D -#define VAR_BOARD_BRINEY_BOAT_STATE 0x408E -#define VAR_DEVON_CORP_3F_STATE 0x408F -#define VAR_BRINEY_HOUSE_STATE 0x4090 -#define VAR_UNUSED_0x4091 0x4091 // Unused Var -#define VAR_LITTLEROOT_INTRO_STATE 0x4092 -#define VAR_MAUVILLE_GYM_STATE 0x4093 -#define VAR_LILYCOVE_MUSEUM_2F_STATE 0x4094 -#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095 -#define VAR_BRINEY_LOCATION 0x4096 -#define VAR_INIT_SECRET_BASE 0x4097 -#define VAR_PETALBURG_WOODS_STATE 0x4098 -#define VAR_LILYCOVE_CONTEST_LOBBY_STATE 0x4099 -#define VAR_RUSTURF_TUNNEL_STATE 0x409A -#define VAR_UNUSED_0x409B 0x409B // Unused Var -#define VAR_ELITE_4_STATE 0x409C -#define VAR_UNUSED_0x409D 0x409D // Unused Var -#define VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE 0x409E -#define VAR_MOSSDEEP_SPACE_CENTER_STATE 0x409F -#define VAR_SLATEPORT_HARBOR_STATE 0x40A0 -#define VAR_UNUSED_0x40A1 0x40A1 // Unused var -#define VAR_SEAFLOOR_CAVERN_STATE 0x40A2 -#define VAR_CABLE_CAR_STATION_STATE 0x40A3 -#define VAR_SAFARI_ZONE_STATE 0x40A4 // 0: In or out of SZ, 1: Player exiting SZ, 2: Player entering SZ -#define VAR_TRICK_HOUSE_BEING_WATCHED_STATE 0x40A5 -#define VAR_TRICK_HOUSE_FOUND_TRICK_MASTER 0x40A6 -#define VAR_TRICK_HOUSE_ENTRANCE_STATE 0x40A7 -#define VAR_UNUSED_0x40A8 0x40A8 // Unused Var -#define VAR_CYCLING_CHALLENGE_STATE 0x40A9 -#define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA -#define VAR_TRICK_HOUSE_PUZZLE_1_STATE 0x40AB -#define VAR_TRICK_HOUSE_PUZZLE_2_STATE 0x40AC -#define VAR_TRICK_HOUSE_PUZZLE_3_STATE 0x40AD -#define VAR_TRICK_HOUSE_PUZZLE_4_STATE 0x40AE -#define VAR_TRICK_HOUSE_PUZZLE_5_STATE 0x40AF -#define VAR_TRICK_HOUSE_PUZZLE_6_STATE 0x40B0 -#define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1 -#define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2 -#define VAR_WEATHER_INSTITUTE_STATE 0x40B3 -#define VAR_SS_TIDAL_STATE 0x40B4 -#define VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR 0x40B5 -#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 // Leftover from RS, never set -#define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7 -#define VAR_UNUSED_0x40B8 0x40B8 // Unused Var -#define VAR_MT_PYRE_STATE 0x40B9 -#define VAR_NEW_MAUVILLE_STATE 0x40BA -#define VAR_UNUSED_0x40BB 0x40BB // Unused Var -#define VAR_BRAVO_TRAINER_BATTLE_TOWER_ON 0x40BC -#define VAR_JAGGED_PASS_ASH_WEATHER 0x40BD -#define VAR_GLASS_WORKSHOP_STATE 0x40BE -#define VAR_METEOR_FALLS_STATE 0x40BF -#define VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE 0x40C0 -#define VAR_TRICK_HOUSE_PRIZE_PICKUP 0x40C1 -#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2 -#define VAR_VICTORY_ROAD_1F_STATE 0x40C3 -#define VAR_FOSSIL_RESURRECTION_STATE 0x40C4 -#define VAR_WHICH_FOSSIL_REVIVED 0x40C5 -#define VAR_STEVENS_HOUSE_STATE 0x40C6 -#define VAR_OLDALE_RIVAL_STATE 0x40C7 -#define VAR_JAGGED_PASS_STATE 0x40C8 -#define VAR_SCOTT_PETALBURG_ENCOUNTER 0x40C9 -#define VAR_SKY_PILLAR_STATE 0x40CA -#define VAR_MIRAGE_TOWER_STATE 0x40CB -#define VAR_FOSSIL_MANIAC_STATE 0x40CC -#define VAR_CABLE_CLUB_TUTORIAL_STATE 0x40CD -#define VAR_FRONTIER_BATTLE_MODE 0x40CE -#define VAR_FRONTIER_FACILITY 0x40CF -#define VAR_HAS_ENTERED_BATTLE_FRONTIER 0x40D0 // Var is used like a flag. -#define VAR_SCOTT_STATE 0x40D1 -#define VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE 0x40D2 -#define VAR_DEX_UPGRADE_JOHTO_STARTER_STATE 0x40D3 -#define VAR_SS_TIDAL_SCOTT_STATE 0x40D4 // Always equal to FLAG_MET_SCOTT_ON_SS_TIDAL -#define VAR_ROAMER_POKEMON 0x40D5 // 0 = Latias, 1 = Latios -#define VAR_TRAINER_HILL_IS_ACTIVE 0x40D6 -#define VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE 0x40D7 -#define VAR_SOOTOPOLIS_WALLACE_STATE 0x40D8 +#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 +#define VAR_DEOXYS_ROCK_LEVEL 0x4035 +#define VAR_PC_BOX_TO_SEND_MON 0x4036 +#define VAR_ABNORMAL_WEATHER_LOCATION 0x4037 +#define VAR_ABNORMAL_WEATHER_STEP_COUNTER 0x4038 +#define VAR_SHOULD_END_ABNORMAL_WEATHER 0x4039 +#define VAR_FARAWAY_ISLAND_STEP_COUNTER 0x403A +#define VAR_REGICE_STEPS_1 0x403B +#define VAR_REGICE_STEPS_2 0x403C +#define VAR_REGICE_STEPS_3 0x403D +#define VAR_ALTERING_CAVE_WILD_SET 0x403E +#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing +#define VAR_DAYS 0x4040 +#define VAR_FANCLUB_FAN_COUNTER 0x4041 +#define VAR_FANCLUB_LOSE_FAN_TIMER 0x4042 +#define VAR_DEPT_STORE_FLOOR 0x4043 +#define VAR_TRICK_HOUSE_LEVEL 0x4044 +#define VAR_POKELOT_PRIZE_ITEM 0x4045 +#define VAR_NATIONAL_DEX 0x4046 +#define VAR_SEEDOT_SIZE_RECORD 0x4047 +#define VAR_ASH_GATHER_COUNT 0x4048 +#define VAR_BIRCH_STATE 0x4049 +#define VAR_CRUISE_STEP_COUNT 0x404A +#define VAR_POKELOT_RND1 0x404B +#define VAR_POKELOT_RND2 0x404C +#define VAR_POKELOT_PRIZE_PLACE 0x404D +#define VAR_UNUSED_0x404E 0x404E // Unused Var +#define VAR_LOTAD_SIZE_RECORD 0x404F +#define VAR_LITTLEROOT_TOWN_STATE 0x4050 +#define VAR_OLDALE_TOWN_STATE 0x4051 +#define VAR_DEWFORD_TOWN_STATE 0x4052 // Unused Var +#define VAR_LAVARIDGE_TOWN_STATE 0x4053 +#define VAR_CURRENT_SECRET_BASE 0x4054 // was probably allocated for VAR_FALLARBOR_TOWN_STATE at one point +#define VAR_VERDANTURF_TOWN_STATE 0x4055 // Unused Var +#define VAR_PACIFIDLOG_TOWN_STATE 0x4056 // Unused Var +#define VAR_PETALBURG_CITY_STATE 0x4057 +#define VAR_SLATEPORT_CITY_STATE 0x4058 +#define VAR_MAUVILLE_CITY_STATE 0x4059 // Unused Var +#define VAR_RUSTBORO_CITY_STATE 0x405A +#define VAR_FORTREE_CITY_STATE 0x405B // Unused Var +#define VAR_LILYCOVE_CITY_STATE 0x405C // Unused Var +#define VAR_MOSSDEEP_CITY_STATE 0x405D +#define VAR_SOOTOPOLIS_CITY_STATE 0x405E +#define VAR_EVER_GRANDE_CITY_STATE 0x405F // Unused Var +#define VAR_ROUTE101_STATE 0x4060 +#define VAR_ROUTE102_STATE 0x4061 // Unused Var +#define VAR_ROUTE103_STATE 0x4062 // Unused Var +#define VAR_ROUTE104_STATE 0x4063 +#define VAR_ROUTE105_STATE 0x4064 // Unused Var +#define VAR_ROUTE106_STATE 0x4065 // Unused Var +#define VAR_ROUTE107_STATE 0x4066 // Unused Var +#define VAR_ROUTE108_STATE 0x4067 // Unused Var +#define VAR_ROUTE109_STATE 0x4068 // Unused Var +#define VAR_ROUTE110_STATE 0x4069 +#define VAR_ROUTE111_STATE 0x406A // Unused Var +#define VAR_ROUTE112_STATE 0x406B // Unused Var +#define VAR_ROUTE113_STATE 0x406C // Unused Var +#define VAR_ROUTE114_STATE 0x406D // Unused Var +#define VAR_ROUTE115_STATE 0x406E // Unused Var +#define VAR_ROUTE116_STATE 0x406F +#define VAR_ROUTE117_STATE 0x4070 // Unused Var +#define VAR_ROUTE118_STATE 0x4071 +#define VAR_ROUTE119_STATE 0x4072 +#define VAR_ROUTE120_STATE 0x4073 // Unused Var +#define VAR_ROUTE121_STATE 0x4074 +#define VAR_ROUTE122_STATE 0x4075 // Unused Var +#define VAR_ROUTE123_STATE 0x4076 // Unused Var +#define VAR_ROUTE124_STATE 0x4077 // Unused Var +#define VAR_ROUTE125_STATE 0x4078 // Unused Var +#define VAR_ROUTE126_STATE 0x4079 // Unused Var +#define VAR_ROUTE127_STATE 0x407A // Unused Var +#define VAR_ROUTE128_STATE 0x407B +#define VAR_ROUTE129_STATE 0x407C // Unused Var +#define VAR_ROUTE130_STATE 0x407D // Unused Var +#define VAR_ROUTE131_STATE 0x407E // Unused Var +#define VAR_ROUTE132_STATE 0x407F // Unused Var +#define VAR_ROUTE133_STATE 0x4080 // Unused Var +#define VAR_ROUTE134_STATE 0x4081 // Unused Var +#define VAR_LITTLEROOT_HOUSES_STATE_MAY 0x4082 +#define VAR_UNUSED_0x4083 0x4083 // Unused Var +#define VAR_BIRCH_LAB_STATE 0x4084 +#define VAR_PETALBURG_GYM_STATE 0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman +#define VAR_CONTEST_HALL_STATE 0x4086 +#define VAR_CABLE_CLUB_STATE 0x4087 +#define VAR_CONTEST_TYPE 0x4088 +#define VAR_SECRET_BASE_INITIALIZED 0x4089 +#define VAR_CONTEST_PRIZE_PICKUP 0x408A +#define VAR_UNUSED_0x408B 0x408B // Unused Var +#define VAR_LITTLEROOT_HOUSES_STATE_BRENDAN 0x408C +#define VAR_LITTLEROOT_RIVAL_STATE 0x408D +#define VAR_BOARD_BRINEY_BOAT_STATE 0x408E +#define VAR_DEVON_CORP_3F_STATE 0x408F +#define VAR_BRINEY_HOUSE_STATE 0x4090 +#define VAR_UNUSED_0x4091 0x4091 // Unused Var +#define VAR_LITTLEROOT_INTRO_STATE 0x4092 +#define VAR_MAUVILLE_GYM_STATE 0x4093 +#define VAR_LILYCOVE_MUSEUM_2F_STATE 0x4094 +#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095 +#define VAR_BRINEY_LOCATION 0x4096 +#define VAR_INIT_SECRET_BASE 0x4097 +#define VAR_PETALBURG_WOODS_STATE 0x4098 +#define VAR_LILYCOVE_CONTEST_LOBBY_STATE 0x4099 +#define VAR_RUSTURF_TUNNEL_STATE 0x409A +#define VAR_UNUSED_0x409B 0x409B // Unused Var +#define VAR_ELITE_4_STATE 0x409C +#define VAR_UNUSED_0x409D 0x409D // Unused Var +#define VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE 0x409E +#define VAR_MOSSDEEP_SPACE_CENTER_STATE 0x409F +#define VAR_SLATEPORT_HARBOR_STATE 0x40A0 +#define VAR_UNUSED_0x40A1 0x40A1 // Unused var +#define VAR_SEAFLOOR_CAVERN_STATE 0x40A2 +#define VAR_CABLE_CAR_STATION_STATE 0x40A3 +#define VAR_SAFARI_ZONE_STATE 0x40A4 // 0: In or out of SZ, 1: Player exiting SZ, 2: Player entering SZ +#define VAR_TRICK_HOUSE_BEING_WATCHED_STATE 0x40A5 +#define VAR_TRICK_HOUSE_FOUND_TRICK_MASTER 0x40A6 +#define VAR_TRICK_HOUSE_ENTRANCE_STATE 0x40A7 +#define VAR_UNUSED_0x40A8 0x40A8 // Unused Var +#define VAR_CYCLING_CHALLENGE_STATE 0x40A9 +#define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA +#define VAR_TRICK_HOUSE_PUZZLE_1_STATE 0x40AB +#define VAR_TRICK_HOUSE_PUZZLE_2_STATE 0x40AC +#define VAR_TRICK_HOUSE_PUZZLE_3_STATE 0x40AD +#define VAR_TRICK_HOUSE_PUZZLE_4_STATE 0x40AE +#define VAR_TRICK_HOUSE_PUZZLE_5_STATE 0x40AF +#define VAR_TRICK_HOUSE_PUZZLE_6_STATE 0x40B0 +#define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1 +#define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2 +#define VAR_WEATHER_INSTITUTE_STATE 0x40B3 +#define VAR_SS_TIDAL_STATE 0x40B4 +#define VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR 0x40B5 +#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 // Leftover from RS, never set +#define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7 +#define VAR_UNUSED_0x40B8 0x40B8 // Unused Var +#define VAR_MT_PYRE_STATE 0x40B9 +#define VAR_NEW_MAUVILLE_STATE 0x40BA +#define VAR_UNUSED_0x40BB 0x40BB // Unused Var +#define VAR_BRAVO_TRAINER_BATTLE_TOWER_ON 0x40BC +#define VAR_JAGGED_PASS_ASH_WEATHER 0x40BD +#define VAR_GLASS_WORKSHOP_STATE 0x40BE +#define VAR_METEOR_FALLS_STATE 0x40BF +#define VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE 0x40C0 +#define VAR_TRICK_HOUSE_PRIZE_PICKUP 0x40C1 +#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2 +#define VAR_VICTORY_ROAD_1F_STATE 0x40C3 +#define VAR_FOSSIL_RESURRECTION_STATE 0x40C4 +#define VAR_WHICH_FOSSIL_REVIVED 0x40C5 +#define VAR_STEVENS_HOUSE_STATE 0x40C6 +#define VAR_OLDALE_RIVAL_STATE 0x40C7 +#define VAR_JAGGED_PASS_STATE 0x40C8 +#define VAR_SCOTT_PETALBURG_ENCOUNTER 0x40C9 +#define VAR_SKY_PILLAR_STATE 0x40CA +#define VAR_MIRAGE_TOWER_STATE 0x40CB +#define VAR_FOSSIL_MANIAC_STATE 0x40CC +#define VAR_CABLE_CLUB_TUTORIAL_STATE 0x40CD +#define VAR_FRONTIER_BATTLE_MODE 0x40CE +#define VAR_FRONTIER_FACILITY 0x40CF +#define VAR_HAS_ENTERED_BATTLE_FRONTIER 0x40D0 // Var is used like a flag. +#define VAR_SCOTT_STATE 0x40D1 +#define VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE 0x40D2 +#define VAR_DEX_UPGRADE_JOHTO_STARTER_STATE 0x40D3 +#define VAR_SS_TIDAL_SCOTT_STATE 0x40D4 // Always equal to FLAG_MET_SCOTT_ON_SS_TIDAL +#define VAR_ROAMER_POKEMON 0x40D5 // 0 = Latias, 1 = Latios +#define VAR_TRAINER_HILL_IS_ACTIVE 0x40D6 +#define VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE 0x40D7 +#define VAR_SOOTOPOLIS_WALLACE_STATE 0x40D8 #define VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT 0x40D9 -#define VAR_REGISTER_BIRCH_STATE 0x40DA -#define VAR_UNUSED_0x40DB 0x40DB // Unused Var -#define VAR_UNUSED_0x40DC 0x40DC // Unused Var -#define VAR_GIFT_PICHU_SLOT 0x40DD -#define VAR_GIFT_UNUSED_1 0x40DE // Var is written to, but never read -#define VAR_GIFT_UNUSED_2 0x40DF // Var is written to, but never read -#define VAR_GIFT_UNUSED_3 0x40E0 // Var is written to, but never read -#define VAR_GIFT_UNUSED_4 0x40E1 // Var is written to, but never read -#define VAR_GIFT_UNUSED_5 0x40E2 // Var is written to, but never read -#define VAR_GIFT_UNUSED_6 0x40E3 // Var is written to, but never read -#define VAR_GIFT_UNUSED_7 0x40E4 // var is written to, but never read -#define VAR_UNUSED_0x40E5 0x40E5 // Unused Var -#define VAR_DAILY_SLOTS 0x40E6 -#define VAR_DAILY_WILDS 0x40E7 -#define VAR_DAILY_BLENDER 0x40E8 -#define VAR_DAILY_PLANTED_BERRIES 0x40E9 -#define VAR_DAILY_PICKED_BERRIES 0x40EA -#define VAR_DAILY_ROULETTE 0x40EB -#define VAR_SECRET_BASE_STEP_COUNTER 0x40EC // Used by Secret Base TV programs -#define VAR_SECRET_BASE_LAST_ITEM_USED 0x40ED // Used by Secret Base TV programs -#define VAR_SECRET_BASE_LOW_TV_FLAGS 0x40EE // Used by Secret Base TV programs -#define VAR_SECRET_BASE_HIGH_TV_FLAGS 0x40EF // Used by Secret Base TV programs -#define VAR_SECRET_BASE_IS_NOT_LOCAL 0x40F0 // Set to TRUE while in another player's secret base. -#define VAR_DAILY_BP 0x40F1 -#define VAR_WALLY_CALL_STEP_COUNTER 0x40F2 -#define VAR_SCOTT_FORTREE_CALL_STEP_COUNTER 0x40F3 -#define VAR_ROXANNE_CALL_STEP_COUNTER 0x40F4 -#define VAR_SCOTT_BF_CALL_STEP_COUNTER 0x40F5 -#define VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER 0x40F6 -#define VAR_UNUSED_0x40F7 0x40F7 // Unused Var -#define VAR_UNUSED_0x40F8 0x40F8 // Unused Var -#define VAR_UNUSED_0x40F9 0x40F9 // Unused Var -#define VAR_UNUSED_0x40FA 0x40FA // Unused Var -#define VAR_UNUSED_0x40FB 0x40FB // Unused Var -#define VAR_UNUSED_0x40FC 0x40FC // Unused Var -#define VAR_UNUSED_0x40FD 0x40FD // Unused Var -#define VAR_UNUSED_0x40FE 0x40FE // Unused Var -#define VAR_UNUSED_0x40FF 0x40FF // Unused Var +#define VAR_REGISTER_BIRCH_STATE 0x40DA +#define VAR_UNUSED_0x40DB 0x40DB // Unused Var +#define VAR_UNUSED_0x40DC 0x40DC // Unused Var +#define VAR_GIFT_PICHU_SLOT 0x40DD +#define VAR_GIFT_UNUSED_1 0x40DE // Var is written to, but never read +#define VAR_GIFT_UNUSED_2 0x40DF // Var is written to, but never read +#define VAR_GIFT_UNUSED_3 0x40E0 // Var is written to, but never read +#define VAR_GIFT_UNUSED_4 0x40E1 // Var is written to, but never read +#define VAR_GIFT_UNUSED_5 0x40E2 // Var is written to, but never read +#define VAR_GIFT_UNUSED_6 0x40E3 // Var is written to, but never read +#define VAR_GIFT_UNUSED_7 0x40E4 // var is written to, but never read +#define VAR_UNUSED_0x40E5 0x40E5 // Unused Var +#define VAR_DAILY_SLOTS 0x40E6 +#define VAR_DAILY_WILDS 0x40E7 +#define VAR_DAILY_BLENDER 0x40E8 +#define VAR_DAILY_PLANTED_BERRIES 0x40E9 +#define VAR_DAILY_PICKED_BERRIES 0x40EA +#define VAR_DAILY_ROULETTE 0x40EB +#define VAR_SECRET_BASE_STEP_COUNTER 0x40EC // Used by Secret Base TV programs +#define VAR_SECRET_BASE_LAST_ITEM_USED 0x40ED // Used by Secret Base TV programs +#define VAR_SECRET_BASE_LOW_TV_FLAGS 0x40EE // Used by Secret Base TV programs +#define VAR_SECRET_BASE_HIGH_TV_FLAGS 0x40EF // Used by Secret Base TV programs +#define VAR_SECRET_BASE_IS_NOT_LOCAL 0x40F0 // Set to TRUE while in another player's secret base. +#define VAR_DAILY_BP 0x40F1 +#define VAR_WALLY_CALL_STEP_COUNTER 0x40F2 +#define VAR_SCOTT_FORTREE_CALL_STEP_COUNTER 0x40F3 +#define VAR_ROXANNE_CALL_STEP_COUNTER 0x40F4 +#define VAR_SCOTT_BF_CALL_STEP_COUNTER 0x40F5 +#define VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER 0x40F6 +#define VAR_UNUSED_0x40F7 0x40F7 // Unused Var +#define VAR_UNUSED_0x40F8 0x40F8 // Unused Var +#define VAR_UNUSED_0x40F9 0x40F9 // Unused Var +#define VAR_UNUSED_0x40FA 0x40FA // Unused Var +#define VAR_UNUSED_0x40FB 0x40FB // Unused Var +#define VAR_UNUSED_0x40FC 0x40FC // Unused Var +#define VAR_UNUSED_0x40FD 0x40FD // Unused Var +#define VAR_UNUSED_0x40FE 0x40FE // Unused Var +#define VAR_UNUSED_0x40FF 0x40FF // Unused Var -#define VARS_END 0x40FF -#define VARS_COUNT (VARS_END - VARS_START + 1) +#define VARS_END 0x40FF +#define VARS_COUNT (VARS_END - VARS_START + 1) #define SPECIAL_VARS_START 0x8000 // special vars From 96d190f5ad3e36a6fdebb28a0316b40c55d22732 Mon Sep 17 00:00:00 2001 From: Ct11217 Date: Mon, 12 Sep 2022 20:39:21 -0600 Subject: [PATCH 069/147] Updated Toxic Status Counter --- src/battle_ai_switch_items.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index f72459e8d..184cea1c6 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -337,7 +337,7 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) { //Toxic moduloChance = 2; //50% - if (gBattleMons[gActiveBattler].status1 & (STATUS1_TOXIC_COUNTER > 2) + if (((gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_COUNTER) >= STATUS1_TOXIC_TURN(2)) && gBattleMons[gActiveBattler].hp >= (gBattleMons[gActiveBattler].maxHP / 3) && (Random() % (moduloChance*chanceReducer)) == 0) switchMon = TRUE; From 2d841a25f96854ffa449650cc1f04d7154883d0b Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 13 Sep 2022 15:45:01 -0300 Subject: [PATCH 070/147] Removed unused extern declaration of old gUnknown func --- src/item.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/item.c b/src/item.c index 0f5746027..acb00acc7 100644 --- a/src/item.c +++ b/src/item.c @@ -15,8 +15,6 @@ #include "constants/items.h" #include "constants/hold_effects.h" -extern u16 gUnknown_0203CF30[]; - // this file's functions static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count); static bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count); From de32940fdf9e00d3f7c2b6a748219658f78a3a81 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 13 Sep 2022 16:26:36 -0300 Subject: [PATCH 071/147] Further removed trailing whitespaces --- asm/macros/battle_anim_script.inc | 6 +- asm/macros/battle_frontier/battle_tower.inc | 20 +- asm/macros/music_voice.inc | 4 +- data/battle_anim_scripts.s | 18 +- data/battle_scripts_1.s | 10 +- include/constants/battle_anim.h | 2 +- include/constants/battle_string_ids.h | 2 +- sound/direct_sound_data.inc | 2 +- src/battle_ai_switch_items.c | 14 +- src/battle_ai_util.c | 36 +- src/battle_anim.c | 2 +- src/battle_anim_effects_1.c | 2 +- src/battle_anim_ghost.c | 4 +- src/battle_anim_new.c | 472 +++++++++--------- src/battle_debug.c | 8 +- src/battle_interface.c | 2 +- src/battle_message.c | 6 +- src/battle_z_move.c | 58 +-- src/data/battle_moves.h | 6 +- src/data/pokemon/base_stats.h | 10 +- src/data/pokemon/form_change_table_pointers.h | 2 +- .../pokemon/form_species_table_pointers.h | 10 +- src/data/pokemon/level_up_learnsets.h | 30 +- src/data/pokemon/pokedex_orders.h | 28 +- src/data/text/move_descriptions.h | 70 +-- src/data/text/move_names.h | 2 +- src/daycare.c | 4 +- src/debug.c | 4 +- src/evolution_scene.c | 2 +- src/item_use.c | 2 +- src/pokemon.c | 14 +- src/pokemon_debug.c | 38 +- src/pokemon_summary_screen.c | 2 +- src/scrcmd.c | 2 +- src/start_menu.c | 2 +- src/wild_encounter.c | 2 +- tools/aif2pcm/main.c | 14 +- tools/gbagfx/font.c | 6 +- tools/jsonproc/inja.hpp | 2 +- tools/mapjson/mapjson.cpp | 14 +- tools/preproc/c_file.cpp | 4 +- tools/preproc/charmap.cpp | 2 +- tools/scaninc/source_file.cpp | 4 +- 43 files changed, 472 insertions(+), 472 deletions(-) diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index bdc119748..a98a344fa 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -283,7 +283,7 @@ .macro jumpretfalse ptr:req jumpreteq FALSE, \ptr .endm - + .macro jumpifdoublebattle ptr:req createvisualtask AnimTask_IsDoubleBattle, 0 jumprettrue \ptr @@ -305,7 +305,7 @@ .hword \launchtemplatearg7 .hword \launchtemplatearg8 .endm - + .macro launchtask launchtaskPtr launchtaskPriority launchtaskArgsNo launchtaskarg0 launchtaskarg1 launchtaskarg2 launchtaskarg3 launchtaskarg4 launchtaskarg5 launchtaskarg6 launchtaskarg7 launchtaskarg8 .byte 0x3 .word \launchtaskPtr @@ -321,7 +321,7 @@ .hword \launchtaskarg7 .hword \launchtaskarg8 .endm - + .macro setblends setblends_value .byte 0xC .hword \setblends_value diff --git a/asm/macros/battle_frontier/battle_tower.inc b/asm/macros/battle_frontier/battle_tower.inc index 46bbc392f..49e72e744 100644 --- a/asm/macros/battle_frontier/battle_tower.inc +++ b/asm/macros/battle_frontier/battle_tower.inc @@ -89,15 +89,15 @@ setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA special CallBattleTowerFunc .endm - + @Custom multi-battle commands - + .macro choose_mons fadescreen 1 special ChooseHalfPartyForBattle @ choose 3 mons for battle waitstate .endm - + .macro multi_do type:req, partnerId:req, partnerPicId:req special ReducePlayerPartyToSelectedMons setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA @@ -113,26 +113,26 @@ special CallFrontierUtilFunc special LoadPlayerParty .endm - + .macro multi_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req, partnerPicId:req special SavePlayerParty trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons trainerbattle TRAINER_BATTLE_SET_TRAINER_B, \trainer2Id, 0, NULL, \trainer2LoseText @ set second trainer mons multi_do MULTI_BATTLE_2_VS_2, \partnerId, \partnerPicId .endm - + .macro multi_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req, partnerPicId:req special SavePlayerParty trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons multi_do MULTI_BATTLE_2_VS_1, \partnerId, \partnerPicId .endm - + @ Wild mons need to be assigned to gEnemyParty 0 and 3 slots, other slots need to be cleared out. .macro multi_wild partnerId:req, partnerPicId:req special SavePlayerParty multi_do MULTI_BATTLE_2_VS_WILD, \partnerId, \partnerPicId .endm - + .macro multi_do_fixed type:req, partnerId:req, partnerPicId:req setvar VAR_0x8004, SPECIAL_BATTLE_MULTI setvar VAR_0x8005, \type @@ -144,20 +144,20 @@ special CallFrontierUtilFunc special LoadPlayerParty .endm - + .macro multi_fixed_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req, partnerPicId:req special SavePlayerParty trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons trainerbattle TRAINER_BATTLE_SET_TRAINER_B, \trainer2Id, 0, NULL, \trainer2LoseText @ set second trainer mons multi_do_fixed MULTI_BATTLE_2_VS_2, \partnerId, \partnerPicId .endm - + .macro multi_fixed_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req, partnerPicId:req special SavePlayerParty trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons multi_do_fixed MULTI_BATTLE_2_VS_1, \partnerId, \partnerPicId .endm - + @ Wild mons need to be assigned to gEnemyParty 0 and 3 slots, other slots need to be cleared out. .macro multi_fixed_wild partnerId:req, partnerPicId:req special SavePlayerParty diff --git a/asm/macros/music_voice.inc b/asm/macros/music_voice.inc index 1460efe9e..a4bbbcba6 100644 --- a/asm/macros/music_voice.inc +++ b/asm/macros/music_voice.inc @@ -150,13 +150,13 @@ .4byte \sample .byte 0xff, 0, 0xff, 0 .endm - + .macro cry_uncomp sample @ not compressed .byte 0x0, 60, 0, 0 .4byte \sample .byte 0xff, 0, 0xff, 0 .endm - + .macro cry_reverse_uncomp sample @ not compressed .byte 0x10, 60, 0, 0 .4byte \sample diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index f83d437a5..a36eddb16 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -14196,7 +14196,7 @@ TerrainPulseElectric: createvisualtask AnimTask_SwayMon, 5, 0, 4, 51200, 24, ANIM_TARGET createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(27, 27, 0) goto TerrainPulseEnd - + TerrainPulseGrass: createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_DRAGON_PULSE, 0, 12, 12, RGB(11, 26, 11) waitforvisualfinish @@ -14218,7 +14218,7 @@ TerrainPulseFairy: createvisualtask AnimTask_SwayMon, 5, 0, 4, 51200, 24, ANIM_TARGET createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(31, 24, 31) goto TerrainPulseEnd - + TerrainPulsePsychic: createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_DRAGON_PULSE, 0, 12, 12, RGB(27, 0, 13) waitforvisualfinish @@ -24740,7 +24740,7 @@ General_RestoreBg: restorebg waitbgfadein end - + end General_ZMoveActivate: @@ -25263,8 +25263,8 @@ FinishSupersonicSkystrike: call UnsetPsychicBg waitforvisualfinish end - - + + Move_ACID_DOWNPOUR: loadspritegfx ANIM_TAG_BLUE_ORB @ reversal loadspritegfx ANIM_TAG_POISON_JAB @ poison jab @@ -25951,7 +25951,7 @@ NeverendingNightmareGeyser: createsprite gNeverEndingNightmareGeyserHexSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, 0xfff0, 0x10 return - + Move_CORKSCREW_CRASH:: loadspritegfx ANIM_TAG_SPIKES @metal bits loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge @@ -26669,7 +26669,7 @@ HavocSpearSparkTarget: @ launchtemplate gSparkElectricityFlashingSpriteTemplate 0x4 0x8 0x0 0x0 0x20 0xc SOUND_PAN_ATTACKER 0x14 0x2 0x8000 launchtemplate gSparkElectricityFlashingSpriteTemplate 0x4 0x8 0x0 0x0 0x10 0xc SOUND_PAN_ATTACKER 0x14 0x2 0x8000 return - + Move_SHATTERED_PSYCHE:: loadspritegfx ANIM_TAG_IMPACT @hit @@ -29127,7 +29127,7 @@ OceanicOperettaExplosion: launchtemplate gOceanOperaExplosionSpriteTemplate 0x33 0x4 0x10 0x10 ANIM_TARGET 0x1 delay 0x6 return - + Move_SPLINTERED_STORMSHARDS:: loadspritegfx ANIM_TAG_ROCKS @rock @@ -29388,7 +29388,7 @@ SplinteredStormshardsFinishFadeReturn: return -Move_LETS_SNUGGLE_FOREVER:: +Move_LETS_SNUGGLE_FOREVER:: loadspritegfx ANIM_TAG_MAGENTA_HEART @sharm loadspritegfx ANIM_TAG_MUSIC_NOTES @music note loadspritegfx ANIM_TAG_SMALL_BUBBLES @fake tears diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 31c284e7d..3c4b0ef2b 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -511,7 +511,7 @@ BattleScript_BeakBlastSetUp:: setbeakblast BS_ATTACKER printstring STRINGID_EMPTYSTRING3 waitmessage 1 - playanimation BS_ATTACKER, B_ANIM_BEAK_BLAST_SETUP, NULL + playanimation BS_ATTACKER, B_ANIM_BEAK_BLAST_SETUP, NULL printstring STRINGID_HEATUPBEAK waitmessage B_WAIT_TIME_LONG end2 @@ -601,7 +601,7 @@ BattleScript_ScaleShotEnd:: moveendcase MOVEEND_SYNCHRONIZE_TARGET moveendfrom MOVEEND_STATUS_IMMUNITY_ABILITIES end - + BattleScript_EffectSkyDrop: jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_SkyDropTurn2 attackcanceler @@ -5648,7 +5648,7 @@ BattleScript_EffectRolePlay:: pause 20 destroyabilitypopup pause 40 -.endif +.endif printstring STRINGID_PKMNCOPIEDFOE waitmessage B_WAIT_TIME_LONG switchinabilities BS_ATTACKER @@ -9625,7 +9625,7 @@ BattleScript_StatUpZMove:: waitmessage B_WAIT_TIME_LONG BattleScript_StatUpZMoveEnd: return - + BattleScript_HealReplacementZMove:: playanimation BS_SCRIPTING B_ANIM_WISH_HEAL 0x0 printfromtable gZEffectStringIds @@ -9836,7 +9836,7 @@ BattleScript_NeutralizingGasExitsLoop: jumpifbytenotequal gBattlerTarget, sByteFour, BattleScript_NeutralizingGasExitsLoop @ SOMEHOW, comparing to gBattlersCount is problematic. restoretarget return - + BattleScript_MagicianActivates:: call BattleScript_AbilityPopUp call BattleScript_ItemSteal diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index db2efd8d0..0cdb878df 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -461,7 +461,7 @@ #define BG_WATER_2 41 #define BG_POISON 42 #define BG_AEROBLAST 43 -#define BG_HURRICANE 44 +#define BG_HURRICANE 44 #define BG_ELECTRIC_TERRAIN 45 #define BG_GRASSY_TERRAIN 46 #define BG_MISTY_TERRAIN 47 diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 4ef2a3a82..4bce51a45 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -379,7 +379,7 @@ #define STRINGID_PKMNBOXLANETTESPCFULL 378 #define STRINGID_TRAINER1WINTEXT 379 #define STRINGID_TRAINER2WINTEXT 380 - + #define STRINGID_ENDUREDSTURDY 381 #define STRINGID_POWERHERB 382 #define STRINGID_HURTBYITEM 383 diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc index 4ce03dbed..95c96fc1e 100644 --- a/sound/direct_sound_data.inc +++ b/sound/direct_sound_data.inc @@ -3978,7 +3978,7 @@ Cry_Spectrier:: .align 2 Cry_Calyrex:: .incbin "sound/direct_sound_samples/cries/calyrex.bin" -/* +/* .align 2 Cry_Wyrdeer:: .incbin "sound/direct_sound_samples/cries/wyrdeer.bin" diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index f2a2efe55..69ba58122 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -793,17 +793,17 @@ static bool32 AiExpectsToFaintPlayer(void) bool32 canFaintPlayer; u32 i; u8 target = gBattleStruct->aiChosenTarget[gActiveBattler]; - + if (gBattleStruct->aiMoveOrAction[gActiveBattler] > 3) return FALSE; // AI not planning to use move - + if (GetBattlerSide(target) != GetBattlerSide(gActiveBattler) && CanIndexMoveFaintTarget(gActiveBattler, target, gBattleStruct->aiMoveOrAction[gActiveBattler], 0) && AI_WhoStrikesFirst(gActiveBattler, target, GetAIChosenMove(gActiveBattler)) == AI_IS_FASTER) { // We expect to faint the target and move first -> dont use an item return TRUE; } - + return FALSE; } @@ -818,10 +818,10 @@ static bool8 ShouldUseItem(void) if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT) || gStatuses3[gActiveBattler] & STATUS3_SKY_DROPPED) return FALSE; - + if (gStatuses3[gActiveBattler] & STATUS3_EMBARGO) return FALSE; - + if (AiExpectsToFaintPlayer()) return FALSE; @@ -948,14 +948,14 @@ static bool8 ShouldUseItem(void) static bool32 AI_ShouldHeal(u32 healAmount) { bool32 shouldHeal = FALSE; - + if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 4 || gBattleMons[gActiveBattler].hp == 0 || (healAmount != 0 && gBattleMons[gActiveBattler].maxHP - gBattleMons[gActiveBattler].hp > healAmount)) { // We have low enough HP to consider healing shouldHeal = !AI_OpponentCanFaintAiWithMod(healAmount); // if target can kill us even after we heal, why bother } - + return shouldHeal; } diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 75964664e..e1654eb30 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -793,7 +793,7 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, dmg *= 2; else if (move == MOVE_SURGING_STRIKES || (move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH)) dmg *= 3; - + if (dmg == 0) dmg = 1; } @@ -804,7 +804,7 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, RestoreBattlerData(battlerAtk); RestoreBattlerData(battlerDef); - + // convert multiper to AI_EFFECTIVENESS_xX *typeEffectiveness = AI_GetEffectiveness(effectivenessMultiplier); @@ -1159,11 +1159,11 @@ bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability) s32 AI_GetAbility(u32 battlerId) { u32 knownAbility = GetBattlerAbility(battlerId); - + // The AI knows its own ability. if (IsBattlerAIControlled(battlerId)) return knownAbility; - + // Check neutralizing gas, gastro acid if (knownAbility == ABILITY_NONE) return knownAbility; @@ -1183,10 +1183,10 @@ s32 AI_GetAbility(u32 battlerId) { abilityGuess = gBaseStats[gBattleMons[battlerId].species].abilities[Random() % NUM_ABILITY_SLOTS]; } - + return abilityGuess; } - + return ABILITY_NONE; // Unknown. } @@ -2691,7 +2691,7 @@ static bool32 AI_CanPoisonType(u8 battlerAttacker, u8 battlerTarget) static bool32 AI_CanBePoisoned(u8 battlerAtk, u8 battlerDef) { u16 ability = AI_DATA->abilities[battlerDef]; - + if (!(AI_CanPoisonType(battlerAtk, battlerDef)) || gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_SAFEGUARD || gBattleMons[battlerDef].status1 & STATUS1_ANY @@ -3042,7 +3042,7 @@ bool32 IsValidDoubleBattle(u8 battlerAtk) u16 GetAllyChosenMove(u8 battlerId) { u8 partnerBattler = BATTLE_PARTNER(battlerId); - + if (!IsBattlerAlive(partnerBattler) || !IsBattlerAIControlled(partnerBattler)) return MOVE_NONE; else if (partnerBattler > battlerId) // Battler with the lower id chooses the move first. @@ -3444,7 +3444,7 @@ void IncreaseStatUpScore(u8 battlerAtk, u8 battlerDef, u8 statId, s16 *score) if (AI_DATA->hpPercents[battlerAtk] < 80 && AI_RandLessThan(128)) return; - + if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; // Damaging moves would get a score boost from AI_TryToFaint or PreferStrongestMove so we don't consider them here @@ -3563,7 +3563,7 @@ void IncreaseParalyzeScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; - + if (AI_CanParalyze(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) { u8 atkSpeed = GetBattlerTotalSpeedStat(battlerAtk); @@ -3584,7 +3584,7 @@ void IncreaseSleepScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; - + if (AI_CanPutToSleep(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) *score += 2; else @@ -3602,7 +3602,7 @@ void IncreaseConfusionScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; - + if (AI_CanConfuse(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_CURE_CONFUSION && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_CURE_STATUS) @@ -3633,26 +3633,26 @@ bool32 ShouldUseZMove(u8 battlerAtk, u8 battlerDef, u16 chosenMove) return FALSE; //don't use z move on partner if (gBattleStruct->zmove.used[battlerAtk]) return FALSE; //cant use z move twice - + if (IsViableZMove(battlerAtk, chosenMove)) { u8 effectiveness; - + if (gBattleMons[battlerDef].ability == ABILITY_DISGUISE && gBattleMons[battlerDef].species == SPECIES_MIMIKYU) return FALSE; // Don't waste a Z-Move busting disguise if (gBattleMons[battlerDef].ability == ABILITY_ICE_FACE && gBattleMons[battlerDef].species == SPECIES_EISCUE && IS_MOVE_PHYSICAL(chosenMove)) return FALSE; // Don't waste a Z-Move busting Ice Face - + if (IS_MOVE_STATUS(chosenMove) && !IS_MOVE_STATUS(gBattleStruct->zmove.chosenZMove)) return FALSE; else if (!IS_MOVE_STATUS(chosenMove) && IS_MOVE_STATUS(gBattleStruct->zmove.chosenZMove)) return FALSE; - + if (!IS_MOVE_STATUS(chosenMove) && AI_CalcDamage(chosenMove, battlerAtk, battlerDef, &effectiveness, FALSE) >= gBattleMons[battlerDef].hp) return FALSE; // don't waste damaging z move if can otherwise faint target - + return TRUE; } - + return FALSE; } diff --git a/src/battle_anim.c b/src/battle_anim.c index 280616014..509369789 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -219,7 +219,7 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo { s32 i; bool32 hideHpBoxes = (tableId == MOVE_TRANSFORM) ? FALSE : TRUE; - + if (!isMoveAnim) { switch (tableId) diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 048b37c66..93bb49524 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -6798,7 +6798,7 @@ static const union AffineAnimCmd sCompressTargetHorizontallyAffineAnimCmds[] = static void AnimTask_CompressTargetStep(u8 taskId) { struct Task* task = &gTasks[taskId]; - + if (!RunAffineAnimFromTaskData(task)) DestroyAnimVisualTask(taskId); } diff --git a/src/battle_anim_ghost.c b/src/battle_anim_ghost.c index 81cc6760c..f21654e3e 100644 --- a/src/battle_anim_ghost.c +++ b/src/battle_anim_ghost.c @@ -888,7 +888,7 @@ void AnimTask_DestinyBondWhiteShadow(u8 taskId) spriteId = CreateSprite(&gDarkVoidBlackHoleTemplate, baseX, baseY, 55); //dark void else spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55); //destiny bond - + if (spriteId != MAX_SPRITES) { x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2); @@ -914,7 +914,7 @@ void AnimTask_DestinyBondWhiteShadow(u8 taskId) spriteId = CreateSprite(&gDarkVoidBlackHoleTemplate, baseX, baseY, 55); //dark void else spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55); //destiny bond - + if (spriteId != MAX_SPRITES) { x = 48; diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 0a3d433b4..2134a8914 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -85,7 +85,7 @@ static const union AffineAnimCmd sSquishTargetAffineAnimCmds[] = // GEN 4 // shadow sneak -const struct SpriteTemplate gShadowSneakImpactSpriteTemplate = +const struct SpriteTemplate gShadowSneakImpactSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -97,7 +97,7 @@ const struct SpriteTemplate gShadowSneakImpactSpriteTemplate = }; // power trick -const struct SpriteTemplate gPowerTrickSpriteTemplate = +const struct SpriteTemplate gPowerTrickSpriteTemplate = { .tileTag = ANIM_TAG_POWER_TRICK, .paletteTag = ANIM_TAG_POWER_TRICK, @@ -111,7 +111,7 @@ const struct SpriteTemplate gPowerTrickSpriteTemplate = //// GEN 5 //shell smash -const struct SpriteTemplate gShellSmashLeftShellSpriteTemplate = +const struct SpriteTemplate gShellSmashLeftShellSpriteTemplate = { .tileTag = ANIM_TAG_SHELL_RIGHT, .paletteTag = ANIM_TAG_SHELL_RIGHT, @@ -122,7 +122,7 @@ const struct SpriteTemplate gShellSmashLeftShellSpriteTemplate = .callback = AnimBite }; -const struct SpriteTemplate gShellSmashRightShellSpriteTemplate = +const struct SpriteTemplate gShellSmashRightShellSpriteTemplate = { .tileTag = ANIM_TAG_SHELL_LEFT, .paletteTag = ANIM_TAG_SHELL_LEFT, @@ -133,7 +133,7 @@ const struct SpriteTemplate gShellSmashRightShellSpriteTemplate = .callback = AnimBite }; -const struct SpriteTemplate gShellSmashPurpleRocksSpriteTemplate = +const struct SpriteTemplate gShellSmashPurpleRocksSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_SHELL_RIGHT, @@ -352,7 +352,7 @@ const struct SpriteTemplate gSimpleBeamBrownTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = TranslateAnimSpriteToTargetMonLocation }; - + const struct SpriteTemplate gSimpleBeamPinkTemplate = { .tileTag = ANIM_TAG_GOLD_RING, @@ -411,12 +411,12 @@ const struct SpriteTemplate gQuickGuardArmImpactTemplate = }; //sky drop -static const union AffineAnimCmd sSkyDropFlyBallAffineAnimCmd_0[] = +static const union AffineAnimCmd sSkyDropFlyBallAffineAnimCmd_0[] = { - AFFINEANIMCMD_FRAME(0xa0, 0x100, 0x50, 0x0), + AFFINEANIMCMD_FRAME(0xa0, 0x100, 0x50, 0x0), AFFINEANIMCMD_END }; -static const union AffineAnimCmd *const sSkyDropFlyBallAffineAnimCmds[] = +static const union AffineAnimCmd *const sSkyDropFlyBallAffineAnimCmds[] = { sSkyDropFlyBallAffineAnimCmd_0 }; @@ -604,7 +604,7 @@ const struct SpriteTemplate gHornLeechHornTemplate = }; //dual chop -const struct SpriteTemplate gDualChopImpactTemplate = +const struct SpriteTemplate gDualChopImpactTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -971,7 +971,7 @@ const struct SpriteTemplate gTechnoBlastIceBlastTemplate = .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = TranslateAnimSpriteToTargetMonLocation -}; +}; const struct SpriteTemplate gTechnoBlastIceSparkTemplate = { .tileTag = ANIM_TAG_SPARK_2, @@ -1202,7 +1202,7 @@ static const union AffineAnimCmd sSpriteAffineAnim_DrakeStrikePlayer[] = AFFINEANIMCMD_FRAME(0, 0, 0xb9, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd sSpriteAffineAnim_DrakeStrikeOpponent[] = +static const union AffineAnimCmd sSpriteAffineAnim_DrakeStrikeOpponent[] = { AFFINEANIMCMD_FRAME(0, 0, 0x50, 1), AFFINEANIMCMD_END, @@ -1270,15 +1270,15 @@ const struct SpriteTemplate gForestsCurseIngrainTemplate = }; //petal blizzard -static const union AnimCmd sAnimCmd_PetalBlizzard1_0[] = +static const union AnimCmd sAnimCmd_PetalBlizzard1_0[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_JUMP(0), }; -static const union AnimCmd *const sAnimCmdTable_PetalBlizzard1[] = +static const union AnimCmd *const sAnimCmdTable_PetalBlizzard1[] = { sAnimCmd_PetalBlizzard1_0, -}; +}; const struct SpriteTemplate gPetalBlizzardTwister1Template = { .tileTag = ANIM_TAG_FLOWER, @@ -1290,13 +1290,13 @@ const struct SpriteTemplate gPetalBlizzardTwister1Template = .callback = AnimMoveTwisterParticle }; static const u16 sPetalBlizzardFlowerOam[] = {0x0, 0x2000,0x0800,0x0}; //todo: convert to oam data -static const union AnimCmd sAnimCmd_PetalBlizzard2_0[] = +static const union AnimCmd sAnimCmd_PetalBlizzard2_0[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(4, 0), ANIMCMD_END, }; -static const union AnimCmd *const sAnimCmdTable_PetalBlizzard2[] = +static const union AnimCmd *const sAnimCmdTable_PetalBlizzard2[] = { sAnimCmd_PetalBlizzard2_0, }; @@ -2040,7 +2040,7 @@ const struct SpriteTemplate gPrecipiceBladesPlumeTemplate = }; //dragon ascent -static const union AffineAnimCmd sAffineAnimCmd_Drake[] = +static const union AffineAnimCmd sAffineAnimCmd_Drake[] = { AFFINEANIMCMD_FRAME(0, 0, 0, 1), //drake faces up AFFINEANIMCMD_END, @@ -2837,7 +2837,7 @@ const struct SpriteTemplate gCoreEnforcerBeamTemplate = .callback = SpriteCB_CoreEnforcerBeam }; -const struct SpriteTemplate gCoreEnforcerExplosionTemplate = +const struct SpriteTemplate gCoreEnforcerExplosionTemplate = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_EXPLOSION, @@ -3009,7 +3009,7 @@ const struct SpriteTemplate gPrismaticLaserChargeTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; - + const struct SpriteTemplate gPrismaticLaserYellowOutwardTemplate = { .tileTag = ANIM_TAG_GREEN_SPIKE, @@ -4111,7 +4111,7 @@ const struct SpriteTemplate gSteelBeamSpikeShardTemplate = // Z MOVES //activate -const struct SpriteTemplate gZMoveSymbolSpriteTemplate = +const struct SpriteTemplate gZMoveSymbolSpriteTemplate = { .tileTag = ANIM_TAG_Z_MOVE_SYMBOL, .paletteTag = ANIM_TAG_Z_MOVE_SYMBOL, @@ -4152,7 +4152,7 @@ const struct SpriteTemplate gYellowZMoveEnergySpriteTemplate = .callback = AnimEndureEnergy, }; // breakneck blitz -const struct SpriteTemplate gBreakneckBlitzDanceSpriteTemplate = +const struct SpriteTemplate gBreakneckBlitzDanceSpriteTemplate = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_FLAT_ROCK, @@ -4162,7 +4162,7 @@ const struct SpriteTemplate gBreakneckBlitzDanceSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimDragonDanceOrb }; -const struct SpriteTemplate gBreakneckBlitzHitSpriteTemplate = +const struct SpriteTemplate gBreakneckBlitzHitSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_FLAT_ROCK, @@ -4173,7 +4173,7 @@ const struct SpriteTemplate gBreakneckBlitzHitSpriteTemplate = .callback = AnimHitSplatBasic }; // all out pummelling -const struct SpriteTemplate gAllOutPummelingOnslaughtSpriteTemplate = +const struct SpriteTemplate gAllOutPummelingOnslaughtSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_IMPACT, @@ -4196,7 +4196,7 @@ static const union AffineAnimCmd* const sSupersonicSkystrikeAffineAnimTable[] = sSupersonicSkystrikeAffinePlayerSide, sSupersonicSkystrikeAffineOpponentSide, }; -const struct SpriteTemplate gSupersonicSkystrikeFlySpriteTemplate = +const struct SpriteTemplate gSupersonicSkystrikeFlySpriteTemplate = { .tileTag = ANIM_TAG_BIRD, .paletteTag = ANIM_TAG_BIRD, @@ -4207,7 +4207,7 @@ const struct SpriteTemplate gSupersonicSkystrikeFlySpriteTemplate = .callback = AnimFlyBallAttack }; //acid downpour -const struct SpriteTemplate gAcidDownpourReversalSpriteTemplate = +const struct SpriteTemplate gAcidDownpourReversalSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -4217,7 +4217,7 @@ const struct SpriteTemplate gAcidDownpourReversalSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimReversalOrb }; -const struct SpriteTemplate gAcidDownpourAuraSpriteTemplate = +const struct SpriteTemplate gAcidDownpourAuraSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -4228,7 +4228,7 @@ const struct SpriteTemplate gAcidDownpourAuraSpriteTemplate = .callback = AnimParticleInVortex }; //tectonic rage -const struct SpriteTemplate gTectonicRageBlastBurnSpriteTemplate = +const struct SpriteTemplate gTectonicRageBlastBurnSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, @@ -4238,7 +4238,7 @@ const struct SpriteTemplate gTectonicRageBlastBurnSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimBlastBurnTargetPlume }; -const struct SpriteTemplate gTectonicRageExplosionSpriteTemplate = +const struct SpriteTemplate gTectonicRageExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_EXPLOSION_2, @@ -4250,7 +4250,7 @@ const struct SpriteTemplate gTectonicRageExplosionSpriteTemplate = }; // continental crush -const struct SpriteTemplate gContinentalCrushNeedleArmSpriteTemplate = +const struct SpriteTemplate gContinentalCrushNeedleArmSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, @@ -4260,7 +4260,7 @@ const struct SpriteTemplate gContinentalCrushNeedleArmSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimNeedleArmSpike }; -const struct SpriteTemplate gContinentalCrushBigRockStompSpriteTemplate = +const struct SpriteTemplate gContinentalCrushBigRockStompSpriteTemplate = { .tileTag = ANIM_TAG_REALLY_BIG_ROCK, .paletteTag = ANIM_TAG_REALLY_BIG_ROCK, @@ -4270,7 +4270,7 @@ const struct SpriteTemplate gContinentalCrushBigRockStompSpriteTemplate = .affineAnims = sSpriteAffineAnimTable_LargeHailRock, .callback = SpriteCB_FallingObject }; -const struct SpriteTemplate gContinentalCrushFocusEnergySpriteTemplate = +const struct SpriteTemplate gContinentalCrushFocusEnergySpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_ROCKS, @@ -4280,7 +4280,7 @@ const struct SpriteTemplate gContinentalCrushFocusEnergySpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEndureEnergy }; -const struct SpriteTemplate gContinentalCrushGrowingRockSpriteTemplate = +const struct SpriteTemplate gContinentalCrushGrowingRockSpriteTemplate = { .tileTag = ANIM_TAG_REALLY_BIG_ROCK, .paletteTag = ANIM_TAG_REALLY_BIG_ROCK, @@ -4290,7 +4290,7 @@ const struct SpriteTemplate gContinentalCrushGrowingRockSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gContinentalCrushEruptionSpriteTemplate = +const struct SpriteTemplate gContinentalCrushEruptionSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, @@ -4302,7 +4302,7 @@ const struct SpriteTemplate gContinentalCrushEruptionSpriteTemplate = }; // savage spin out -const struct SpriteTemplate gSavageSpinOutStringBlastSpriteTemplate = +const struct SpriteTemplate gSavageSpinOutStringBlastSpriteTemplate = { .tileTag = ANIM_TAG_STRING, .paletteTag = ANIM_TAG_STRING, @@ -4312,7 +4312,7 @@ const struct SpriteTemplate gSavageSpinOutStringBlastSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimAirWaveCrescent }; -const struct SpriteTemplate gSavageSpinOutCacoonSpriteTemplate = +const struct SpriteTemplate gSavageSpinOutCacoonSpriteTemplate = { .tileTag = ANIM_TAG_COCOON, .paletteTag = ANIM_TAG_COCOON, @@ -4322,7 +4322,7 @@ const struct SpriteTemplate gSavageSpinOutCacoonSpriteTemplate = .affineAnims = gAffineAnims_Bite, .callback = AnimBite }; -const struct SpriteTemplate gSavageSpinOutGreenChargeSpriteTemplate = +const struct SpriteTemplate gSavageSpinOutGreenChargeSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_RAZOR_LEAF, @@ -4332,7 +4332,7 @@ const struct SpriteTemplate gSavageSpinOutGreenChargeSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gSavageSpinOutGreenCutSpriteTemplate = +const struct SpriteTemplate gSavageSpinOutGreenCutSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_RAZOR_LEAF, @@ -4342,7 +4342,7 @@ const struct SpriteTemplate gSavageSpinOutGreenCutSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimCuttingSlice }; -const struct SpriteTemplate gSavageSpinOutWhiteExplosionSpriteTemplate = +const struct SpriteTemplate gSavageSpinOutWhiteExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_AIR_WAVE_2, @@ -4354,7 +4354,7 @@ const struct SpriteTemplate gSavageSpinOutWhiteExplosionSpriteTemplate = }; // never ending nightmare -const struct SpriteTemplate gNeverEndingNightmareRingAttackerSpriteTemplate = +const struct SpriteTemplate gNeverEndingNightmareRingAttackerSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -4364,7 +4364,7 @@ const struct SpriteTemplate gNeverEndingNightmareRingAttackerSpriteTemplate = .affineAnims = gThinRingExpandingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gNeverEndingNightmareRingTargetSpriteTemplate = +const struct SpriteTemplate gNeverEndingNightmareRingTargetSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -4374,7 +4374,7 @@ const struct SpriteTemplate gNeverEndingNightmareRingTargetSpriteTemplate = .affineAnims = gThinRingShrinkingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gNeverEndingNightmareFocusEnergySpriteTemplate = +const struct SpriteTemplate gNeverEndingNightmareFocusEnergySpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -4384,7 +4384,7 @@ const struct SpriteTemplate gNeverEndingNightmareFocusEnergySpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEndureEnergy }; -const struct SpriteTemplate gNeverEndingNightmareHandSpriteTemplate = +const struct SpriteTemplate gNeverEndingNightmareHandSpriteTemplate = { .tileTag = ANIM_TAG_ASSURANCE_HAND, .paletteTag = ANIM_TAG_ASSURANCE_HAND, @@ -4394,7 +4394,7 @@ const struct SpriteTemplate gNeverEndingNightmareHandSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimNeedleArmSpike }; -const struct SpriteTemplate gNeverEndingNightmareBlastBurnSpriteTemplate = +const struct SpriteTemplate gNeverEndingNightmareBlastBurnSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -4404,7 +4404,7 @@ const struct SpriteTemplate gNeverEndingNightmareBlastBurnSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimBlastBurnTargetPlume }; -const struct SpriteTemplate gNeverEndingNightmareGeyserHexSpriteTemplate = +const struct SpriteTemplate gNeverEndingNightmareGeyserHexSpriteTemplate = { .tileTag = ANIM_TAG_VERTICAL_HEX, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -4414,7 +4414,7 @@ const struct SpriteTemplate gNeverEndingNightmareGeyserHexSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_GeyserTarget }; -const struct SpriteTemplate gNeverEndingNightmareExplosionSpriteTemplate = +const struct SpriteTemplate gNeverEndingNightmareExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -4426,7 +4426,7 @@ const struct SpriteTemplate gNeverEndingNightmareExplosionSpriteTemplate = }; // corkscrew crash -const struct SpriteTemplate gCorkscrewCrashMetalBitSpriteTemplate = +const struct SpriteTemplate gCorkscrewCrashMetalBitSpriteTemplate = { .tileTag = ANIM_TAG_SPIKES, .paletteTag = ANIM_TAG_SPIKES, @@ -4436,7 +4436,7 @@ const struct SpriteTemplate gCorkscrewCrashMetalBitSpriteTemplate = .affineAnims = gAffineAnims_TearDrop, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gCorkscrewCrashChargeSpriteTemplate = +const struct SpriteTemplate gCorkscrewCrashChargeSpriteTemplate = { .tileTag = ANIM_TAG_CORKSCREW, .paletteTag = ANIM_TAG_CORKSCREW, @@ -4446,7 +4446,7 @@ const struct SpriteTemplate gCorkscrewCrashChargeSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gCorkscrewCrashCorkscrewFlyUpSpriteTemplate = +const struct SpriteTemplate gCorkscrewCrashCorkscrewFlyUpSpriteTemplate = { .tileTag = ANIM_TAG_CORKSCREW, .paletteTag = ANIM_TAG_CORKSCREW, @@ -4463,7 +4463,7 @@ static const union AffineAnimCmd sCorkscrewCrashFlyDownAffineOpponentSide[] = { static const union AffineAnimCmd* const sCorkscrewCrashFlyDownAffineAnimTable[] = { sCorkscrewCrashFlyDownAffineOpponentSide, }; -const struct SpriteTemplate gCorkscrewCrashCorkscrewFlyDownSpriteTemplate = +const struct SpriteTemplate gCorkscrewCrashCorkscrewFlyDownSpriteTemplate = { .tileTag = ANIM_TAG_CORKSCREW, .paletteTag = ANIM_TAG_CORKSCREW, @@ -4485,7 +4485,7 @@ static const union AffineAnimCmd* const sCorkscrewCrashStrikeAffineAnimTable[] = sCorkscrewCrashStrikePlayerAffineAnims, sCorkscrewCrashStrikeTargetAffineAnims, }; -const struct SpriteTemplate gCorkscrewCrashStrikeSpriteTemplate = +const struct SpriteTemplate gCorkscrewCrashStrikeSpriteTemplate = { .tileTag = ANIM_TAG_CORKSCREW, .paletteTag = ANIM_TAG_CORKSCREW, @@ -4502,7 +4502,7 @@ static const union AffineAnimCmd sCorkscrewCrashLeftAffineAnims[] = { static const union AffineAnimCmd* const sCorkscrewCrashLeftAffineAnimTable[] = { sCorkscrewCrashLeftAffineAnims, }; -const struct SpriteTemplate gCorkscrewCrashLeftUpSpriteTemplate = +const struct SpriteTemplate gCorkscrewCrashLeftUpSpriteTemplate = { .tileTag = ANIM_TAG_CORKSCREW, .paletteTag = ANIM_TAG_CORKSCREW, @@ -4512,7 +4512,7 @@ const struct SpriteTemplate gCorkscrewCrashLeftUpSpriteTemplate = .affineAnims = sCorkscrewCrashLeftAffineAnimTable, .callback = AnimAssistPawprint }; -const struct SpriteTemplate gCorkscrewCrashLeftDownSpriteTemplate = +const struct SpriteTemplate gCorkscrewCrashLeftDownSpriteTemplate = { .tileTag = ANIM_TAG_CORKSCREW, .paletteTag = ANIM_TAG_CORKSCREW, @@ -4529,7 +4529,7 @@ static const union AffineAnimCmd sCorkscrewCrashRightUpAffineAnims[] = { static const union AffineAnimCmd* const sCorkscrewCrashRightUpAffineAnimTable[] = { sCorkscrewCrashRightUpAffineAnims, }; -const struct SpriteTemplate gCorkscrewCrashRightUpSpriteTemplate = +const struct SpriteTemplate gCorkscrewCrashRightUpSpriteTemplate = { .tileTag = ANIM_TAG_CORKSCREW, .paletteTag = ANIM_TAG_CORKSCREW, @@ -4546,7 +4546,7 @@ static const union AffineAnimCmd sCorkscrewCrashRightDownAffineAnims[] = { static const union AffineAnimCmd* const sCorkscrewCrashRightDownAffineAnimTable[] = { sCorkscrewCrashRightDownAffineAnims, }; -const struct SpriteTemplate gCorkscrewCrashRightDownSpriteTemplate = +const struct SpriteTemplate gCorkscrewCrashRightDownSpriteTemplate = { .tileTag = ANIM_TAG_CORKSCREW, .paletteTag = ANIM_TAG_CORKSCREW, @@ -4558,7 +4558,7 @@ const struct SpriteTemplate gCorkscrewCrashRightDownSpriteTemplate = }; // inferno overdrive -const struct SpriteTemplate gInfernoOverdriveSuperpowerSpriteTemplate = +const struct SpriteTemplate gInfernoOverdriveSuperpowerSpriteTemplate = { .tileTag = ANIM_TAG_METEOR, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -4568,7 +4568,7 @@ const struct SpriteTemplate gInfernoOverdriveSuperpowerSpriteTemplate = .affineAnims = sSpriteAffineAnimTable_GrowingSuperpower, .callback = SpriteCB_GrowingSuperpower }; -const struct SpriteTemplate gInfernoOverdriveChargeSpriteTemplate = +const struct SpriteTemplate gInfernoOverdriveChargeSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -4578,7 +4578,7 @@ const struct SpriteTemplate gInfernoOverdriveChargeSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gInfernoOverdriveExplosionSpriteTemplate = +const struct SpriteTemplate gInfernoOverdriveExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_EXPLOSION_2, @@ -4590,7 +4590,7 @@ const struct SpriteTemplate gInfernoOverdriveExplosionSpriteTemplate = }; // hydro vortex -const struct SpriteTemplate gHydroVortexSuperpowerSpriteTemplate = +const struct SpriteTemplate gHydroVortexSuperpowerSpriteTemplate = { .tileTag = ANIM_TAG_METEOR, .paletteTag = ANIM_TAG_WATER_ORB, @@ -4600,7 +4600,7 @@ const struct SpriteTemplate gHydroVortexSuperpowerSpriteTemplate = .affineAnims = sSpriteAffineAnimTable_GrowingSuperpower, .callback = SpriteCB_GrowingSuperpower }; -const struct SpriteTemplate gHydroVortexHurricaneSpriteTemplate = +const struct SpriteTemplate gHydroVortexHurricaneSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_WATER_ORB, @@ -4610,7 +4610,7 @@ const struct SpriteTemplate gHydroVortexHurricaneSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEllipticalGust }; -const struct SpriteTemplate gHydroVortexImpactSpriteTemplate = +const struct SpriteTemplate gHydroVortexImpactSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_WATER_ORB, @@ -4622,7 +4622,7 @@ const struct SpriteTemplate gHydroVortexImpactSpriteTemplate = }; // bloom doom -const struct SpriteTemplate gBloomDoomPetalSpinSpriteTemplate = +const struct SpriteTemplate gBloomDoomPetalSpinSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, @@ -4632,7 +4632,7 @@ const struct SpriteTemplate gBloomDoomPetalSpinSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFireSpiralOutward }; -const struct SpriteTemplate gBloomDoomGreenChargeSpriteTemplate = +const struct SpriteTemplate gBloomDoomGreenChargeSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_RAZOR_LEAF, @@ -4642,7 +4642,7 @@ const struct SpriteTemplate gBloomDoomGreenChargeSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gBloomDoomHurricaneSpriteTemplate = +const struct SpriteTemplate gBloomDoomHurricaneSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_RAZOR_LEAF, @@ -4652,7 +4652,7 @@ const struct SpriteTemplate gBloomDoomHurricaneSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEllipticalGustAttacker, }; -const struct SpriteTemplate gBloomDoomFlowerGeyserSpriteTemplate = +const struct SpriteTemplate gBloomDoomFlowerGeyserSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, @@ -4662,7 +4662,7 @@ const struct SpriteTemplate gBloomDoomFlowerGeyserSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_Geyser }; -const struct SpriteTemplate gBloomDoomGreenBeamSpriteTemplate = +const struct SpriteTemplate gBloomDoomGreenBeamSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_RAZOR_LEAF, @@ -4672,7 +4672,7 @@ const struct SpriteTemplate gBloomDoomGreenBeamSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimHyperBeamOrb }; -const struct SpriteTemplate gBloomDoomPetalStarSpriteTemplate = +const struct SpriteTemplate gBloomDoomPetalStarSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, @@ -4682,7 +4682,7 @@ const struct SpriteTemplate gBloomDoomPetalStarSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimNeedleArmSpike }; -const struct SpriteTemplate gBloomDoomExplosionSpriteTemplate = +const struct SpriteTemplate gBloomDoomExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_RAZOR_LEAF, @@ -4694,7 +4694,7 @@ const struct SpriteTemplate gBloomDoomExplosionSpriteTemplate = }; // gigavolt havoc -const struct SpriteTemplate gGigavoltHavocChargingSpearSpriteTemplate = +const struct SpriteTemplate gGigavoltHavocChargingSpearSpriteTemplate = { .tileTag = ANIM_TAG_HAVOC_SPEAR, .paletteTag = ANIM_TAG_HAVOC_SPEAR, @@ -4704,7 +4704,7 @@ const struct SpriteTemplate gGigavoltHavocChargingSpearSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gGigavoltHavocLaunchSpearSpriteTemplate = +const struct SpriteTemplate gGigavoltHavocLaunchSpearSpriteTemplate = { .tileTag = ANIM_TAG_HAVOC_SPEAR, .paletteTag = ANIM_TAG_HAVOC_SPEAR, @@ -4714,7 +4714,7 @@ const struct SpriteTemplate gGigavoltHavocLaunchSpearSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSuperpowerFireball }; -const struct SpriteTemplate gGigavoltHavocRingsSpriteTemplate = +const struct SpriteTemplate gGigavoltHavocRingsSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -4724,7 +4724,7 @@ const struct SpriteTemplate gGigavoltHavocRingsSpriteTemplate = .affineAnims = gThinRingExpandingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gGigavoltHavocGeyserSpriteTemplate = +const struct SpriteTemplate gGigavoltHavocGeyserSpriteTemplate = { .tileTag = ANIM_TAG_VERTICAL_HEX, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -4736,7 +4736,7 @@ const struct SpriteTemplate gGigavoltHavocGeyserSpriteTemplate = }; // shattered psyche -const struct SpriteTemplate gShatteredPsycheReflectHitSpriteTemplate = +const struct SpriteTemplate gShatteredPsycheReflectHitSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, @@ -4746,7 +4746,7 @@ const struct SpriteTemplate gShatteredPsycheReflectHitSpriteTemplate = .affineAnims = gAffineAnims_HitSplat, .callback = AnimHitSplatBasic }; -const struct SpriteTemplate gShatteredPsychePinkChargeSpriteTemplate = +const struct SpriteTemplate gShatteredPsychePinkChargeSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_PINK_PETAL, @@ -4756,7 +4756,7 @@ const struct SpriteTemplate gShatteredPsychePinkChargeSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gShatteredPsycheRingSpriteTemplate = +const struct SpriteTemplate gShatteredPsycheRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_PINK_PETAL, @@ -4768,7 +4768,7 @@ const struct SpriteTemplate gShatteredPsycheRingSpriteTemplate = }; // subzero slammer -const struct SpriteTemplate gSubzeroSlammerIceSpinSpriteTemplate = +const struct SpriteTemplate gSubzeroSlammerIceSpinSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -4778,7 +4778,7 @@ const struct SpriteTemplate gSubzeroSlammerIceSpinSpriteTemplate = .affineAnims = gAffineAnims_IceCrystalHit, .callback = AnimFireSpiralOutward }; -const struct SpriteTemplate gSubzeroSlammerExplosionSpriteTemplate = +const struct SpriteTemplate gSubzeroSlammerExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_EXPLOSION_2, @@ -4788,7 +4788,7 @@ const struct SpriteTemplate gSubzeroSlammerExplosionSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gSubzeroSlammerIceSwirlSpriteTemplate = +const struct SpriteTemplate gSubzeroSlammerIceSwirlSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -4836,7 +4836,7 @@ static const union AffineAnimCmd* const sDevastatingDrakeLeftAffineAnimTable[] = sDevastatingDrakeLeftAffineAnims, sDevastatingDrakeLeftAffineAnims, }; -const struct SpriteTemplate gDevastatingDrakePurpleEnergySpriteTemplate = +const struct SpriteTemplate gDevastatingDrakePurpleEnergySpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -4846,7 +4846,7 @@ const struct SpriteTemplate gDevastatingDrakePurpleEnergySpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEndureEnergy }; -const struct SpriteTemplate gDevastatingDrakeShockwaveSpriteTemplate = +const struct SpriteTemplate gDevastatingDrakeShockwaveSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -4856,7 +4856,7 @@ const struct SpriteTemplate gDevastatingDrakeShockwaveSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingShockWaveOrb }; -const struct SpriteTemplate gDevastatingDrakeDrakeUpSpriteTemplate = +const struct SpriteTemplate gDevastatingDrakeDrakeUpSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_DRAKE, .paletteTag = ANIM_TAG_PURPLE_DRAKE, @@ -4866,7 +4866,7 @@ const struct SpriteTemplate gDevastatingDrakeDrakeUpSpriteTemplate = .affineAnims = sDevastatingDrakeFlyUpAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gDevastatingDrakeRightSpriteTemplate = +const struct SpriteTemplate gDevastatingDrakeRightSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_DRAKE, .paletteTag = ANIM_TAG_PURPLE_DRAKE, @@ -4876,7 +4876,7 @@ const struct SpriteTemplate gDevastatingDrakeRightSpriteTemplate = .affineAnims = sDevastatingDrakeRightAffineAnimTable, .callback = AnimAssistPawprint }; -const struct SpriteTemplate gDevastatingDrakeLeftSpriteTemplate = +const struct SpriteTemplate gDevastatingDrakeLeftSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_DRAKE, .paletteTag = ANIM_TAG_PURPLE_DRAKE, @@ -4886,7 +4886,7 @@ const struct SpriteTemplate gDevastatingDrakeLeftSpriteTemplate = .affineAnims = sDevastatingDrakeLeftAffineAnimTable, .callback = AnimAssistPawprint }; -const struct SpriteTemplate gDevastatingDrakeStrikeSpriteTemplate = +const struct SpriteTemplate gDevastatingDrakeStrikeSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_DRAKE, .paletteTag = ANIM_TAG_PURPLE_DRAKE, @@ -4896,7 +4896,7 @@ const struct SpriteTemplate gDevastatingDrakeStrikeSpriteTemplate = .affineAnims = sDevastatingDrakeStrikeAffineAnimTable, .callback = AnimFlyBallAttack }; -const struct SpriteTemplate gDevastatingDrakePurpleBlastSpriteTemplate = +const struct SpriteTemplate gDevastatingDrakePurpleBlastSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, @@ -4906,7 +4906,7 @@ const struct SpriteTemplate gDevastatingDrakePurpleBlastSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimBlastBurnTargetPlume }; -const struct SpriteTemplate gDevastatingDrakeHexSpriteTemplate = +const struct SpriteTemplate gDevastatingDrakeHexSpriteTemplate = { .tileTag = ANIM_TAG_VERTICAL_HEX, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -4916,7 +4916,7 @@ const struct SpriteTemplate gDevastatingDrakeHexSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_Geyser }; -const struct SpriteTemplate gDevastatingDrakeExplosionSpriteTemplate = +const struct SpriteTemplate gDevastatingDrakeExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_EXPLOSION, @@ -4926,7 +4926,7 @@ const struct SpriteTemplate gDevastatingDrakeExplosionSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gDevastatingDrakeExplosion2SpriteTemplate = +const struct SpriteTemplate gDevastatingDrakeExplosion2SpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_EXPLOSION_2, @@ -4938,7 +4938,7 @@ const struct SpriteTemplate gDevastatingDrakeExplosion2SpriteTemplate = }; // black hole eclipse -const struct SpriteTemplate gBlackHoleEclipseShockwaveSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseShockwaveSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_BLACK_BALL_2, @@ -4948,7 +4948,7 @@ const struct SpriteTemplate gBlackHoleEclipseShockwaveSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingShockWaveOrb }; -const struct SpriteTemplate gBlackHoleEclipseBlueRingSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseBlueRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_ICE_CHUNK, @@ -4958,7 +4958,7 @@ const struct SpriteTemplate gBlackHoleEclipseBlueRingSpriteTemplate = .affineAnims = gThinRingExpandingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gBlackHoleEclipseBlackRingSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseBlackRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -4968,7 +4968,7 @@ const struct SpriteTemplate gBlackHoleEclipseBlackRingSpriteTemplate = .affineAnims = gThinRingExpandingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gBlackHoleEclipseRedExplosionSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseRedExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -4978,7 +4978,7 @@ const struct SpriteTemplate gBlackHoleEclipseRedExplosionSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gBlackHoleEclipseWispSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseWispSpriteTemplate = { .tileTag = ANIM_TAG_WISP_ORB, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -4988,7 +4988,7 @@ const struct SpriteTemplate gBlackHoleEclipseWispSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimWillOWispOrb }; -const struct SpriteTemplate gBlackHoleEclipseRedRingSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseRedRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -4998,7 +4998,7 @@ const struct SpriteTemplate gBlackHoleEclipseRedRingSpriteTemplate = .affineAnims = gThinRingExpandingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gBlackHoleEclipseBlueRingInwardsSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseBlueRingInwardsSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_ICE_CHUNK, @@ -5008,7 +5008,7 @@ const struct SpriteTemplate gBlackHoleEclipseBlueRingInwardsSpriteTemplate = .affineAnims = gThinRingShrinkingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gBlackHoleEclipseRedRingInwardsSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseRedRingInwardsSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5026,7 +5026,7 @@ static const union AffineAnimCmd gGrowingBackHoleTargetAffineCmds[] = { static const union AffineAnimCmd *const gGrowingBlackHoleTargetAffineAnimTable[] = { gGrowingBackHoleTargetAffineCmds, }; -const struct SpriteTemplate gBlackHoleEclipseHoleSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseHoleSpriteTemplate = { .tileTag = ANIM_TAG_SHADOW_BALL, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5044,7 +5044,7 @@ static const union AffineAnimCmd gShrinkingBlackHoleAffineCmds[] = { static const union AffineAnimCmd *const gShrinkingBlackHoleAffineAnimTable[] = { gShrinkingBlackHoleAffineCmds, }; -const struct SpriteTemplate gBlackHoleEclipseHoleShrinkSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseHoleShrinkSpriteTemplate = { .tileTag = ANIM_TAG_SHADOW_BALL, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5062,7 +5062,7 @@ static const union AffineAnimCmd gGrowingBackHoleAffineCmds[] = { static const union AffineAnimCmd *const gGrowingBlackHoleAffineAnimTable[] = { gGrowingBackHoleAffineCmds, }; -const struct SpriteTemplate gBlackHoleEclipseHoleUserSpriteTemplate = +const struct SpriteTemplate gBlackHoleEclipseHoleUserSpriteTemplate = { .tileTag = ANIM_TAG_SHADOW_BALL, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -5072,7 +5072,7 @@ const struct SpriteTemplate gBlackHoleEclipseHoleUserSpriteTemplate = .affineAnims = gGrowingBlackHoleAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gTargetTwinkleSpriteTemplate = +const struct SpriteTemplate gTargetTwinkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, @@ -5098,7 +5098,7 @@ static const union AffineAnimCmd *const sTwinkleTackleStarAffineAnimTable[] = { sTwinkleTackleStarPlayerAffineAnims, sTwinkleTackleStarOpponentAffineAnims }; -const struct SpriteTemplate gTwinkleTacklePinkStarSpriteTemplate = +const struct SpriteTemplate gTwinkleTacklePinkStarSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_2, .paletteTag = ANIM_TAG_PINK_PETAL, @@ -5108,7 +5108,7 @@ const struct SpriteTemplate gTwinkleTacklePinkStarSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimGrantingStars }; -const struct SpriteTemplate gTwinkleTacklePinkRingSpriteTemplate = +const struct SpriteTemplate gTwinkleTacklePinkRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_PINK_PETAL, @@ -5118,7 +5118,7 @@ const struct SpriteTemplate gTwinkleTacklePinkRingSpriteTemplate = .affineAnims = gThinRingExpandingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gTwinkleTackleStarGrowSpriteTemplate = +const struct SpriteTemplate gTwinkleTackleStarGrowSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_STAR, .paletteTag = ANIM_TAG_YELLOW_STAR, @@ -5128,7 +5128,7 @@ const struct SpriteTemplate gTwinkleTackleStarGrowSpriteTemplate = .affineAnims = sTwinkleTackleStarAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gTwinkleTackleTwinkleSpriteTemplate = +const struct SpriteTemplate gTwinkleTackleTwinkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, @@ -5138,7 +5138,7 @@ const struct SpriteTemplate gTwinkleTackleTwinkleSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_TwinkleOnBattler }; -const struct SpriteTemplate gTwinkleTackleDigStarSpriteTemplate = +const struct SpriteTemplate gTwinkleTackleDigStarSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_STAR, .paletteTag = ANIM_TAG_YELLOW_STAR, @@ -5148,7 +5148,7 @@ const struct SpriteTemplate gTwinkleTackleDigStarSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimDirtPlumeParticle }; -const struct SpriteTemplate gTwinkleTackleYellowImpactSpriteTemplate = +const struct SpriteTemplate gTwinkleTackleYellowImpactSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_YELLOW_STAR, @@ -5158,7 +5158,7 @@ const struct SpriteTemplate gTwinkleTackleYellowImpactSpriteTemplate = .affineAnims = gAffineAnims_HitSplat, .callback = AnimHitSplatBasic }; -const struct SpriteTemplate gTwinkleTackleImpactStarsSpriteTemplate = +const struct SpriteTemplate gTwinkleTackleImpactStarsSpriteTemplate = { .tileTag = ANIM_TAG_PAIN_SPLIT, .paletteTag = ANIM_TAG_YELLOW_STAR, @@ -5170,7 +5170,7 @@ const struct SpriteTemplate gTwinkleTackleImpactStarsSpriteTemplate = }; // catastrokpika -const struct SpriteTemplate gCatastrokpikaSuperpowerSpriteTemplate = +const struct SpriteTemplate gCatastrokpikaSuperpowerSpriteTemplate = { .tileTag = ANIM_TAG_METEOR, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -5182,7 +5182,7 @@ const struct SpriteTemplate gCatastrokpikaSuperpowerSpriteTemplate = }; // 10e6 volt thunderbolt -const struct SpriteTemplate g10MillionVoltBoltYellowFlySpriteTemplate = +const struct SpriteTemplate g10MillionVoltBoltYellowFlySpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_SPARK_2, @@ -5192,7 +5192,7 @@ const struct SpriteTemplate g10MillionVoltBoltYellowFlySpriteTemplate = .affineAnims = gAffineAnims_FlyBallUp, .callback = AnimFlyBallUp }; -const struct SpriteTemplate g10MillionVoltBoltShockwaveSpriteTemplate = +const struct SpriteTemplate g10MillionVoltBoltShockwaveSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -5202,7 +5202,7 @@ const struct SpriteTemplate g10MillionVoltBoltShockwaveSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingShockWaveOrbOnTarget, }; -const struct SpriteTemplate g10MillionVoltBoltRedBeamSpriteTemplate = +const struct SpriteTemplate g10MillionVoltBoltRedBeamSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5212,7 +5212,7 @@ const struct SpriteTemplate g10MillionVoltBoltRedBeamSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimHyperBeamOrb }; -const struct SpriteTemplate g10MillionVoltBoltBlueBeamSpriteTemplate = +const struct SpriteTemplate g10MillionVoltBoltBlueBeamSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5222,7 +5222,7 @@ const struct SpriteTemplate g10MillionVoltBoltBlueBeamSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimHyperBeamOrb }; -const struct SpriteTemplate g10MillionVoltBoltPinkBeamSpriteTemplate = +const struct SpriteTemplate g10MillionVoltBoltPinkBeamSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_BERRY_EATEN, @@ -5232,7 +5232,7 @@ const struct SpriteTemplate g10MillionVoltBoltPinkBeamSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimHyperBeamOrb }; -const struct SpriteTemplate g10MillionVoltBoltYellowBeamSpriteTemplate = +const struct SpriteTemplate g10MillionVoltBoltYellowBeamSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ELECTRIC_ORBS, @@ -5242,7 +5242,7 @@ const struct SpriteTemplate g10MillionVoltBoltYellowBeamSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimHyperBeamOrb }; -const struct SpriteTemplate g10MillionVoltBoltGreenBeamSpriteTemplate = +const struct SpriteTemplate g10MillionVoltBoltGreenBeamSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_LEAF, @@ -5252,7 +5252,7 @@ const struct SpriteTemplate g10MillionVoltBoltGreenBeamSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimHyperBeamOrb }; -const struct SpriteTemplate g10MillionVoltBoltPurpleBeamSpriteTemplate = +const struct SpriteTemplate g10MillionVoltBoltPurpleBeamSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -5264,7 +5264,7 @@ const struct SpriteTemplate g10MillionVoltBoltPurpleBeamSpriteTemplate = }; // stoked sparksurfer -const struct SpriteTemplate gStokedSparksurferFlySpriteTemplate = +const struct SpriteTemplate gStokedSparksurferFlySpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_SPARK_2, @@ -5276,7 +5276,7 @@ const struct SpriteTemplate gStokedSparksurferFlySpriteTemplate = }; // extreme evoboost -const struct SpriteTemplate gExtremeEvoboostRedChargeUpSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostRedChargeUpSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5286,7 +5286,7 @@ const struct SpriteTemplate gExtremeEvoboostRedChargeUpSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gExtremeEvoboostPinkChargeUpSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostPinkChargeUpSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_BERRY_EATEN, @@ -5296,7 +5296,7 @@ const struct SpriteTemplate gExtremeEvoboostPinkChargeUpSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gExtremeEvoboostIceChargeUpSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostIceChargeUpSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_ICE_CHUNK, @@ -5306,7 +5306,7 @@ const struct SpriteTemplate gExtremeEvoboostIceChargeUpSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gExtremeEvoboostBlackChargeUpSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostBlackChargeUpSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WISP_ORB, @@ -5316,7 +5316,7 @@ const struct SpriteTemplate gExtremeEvoboostBlackChargeUpSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gExtremeEvoboostBlueChargeUpSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostBlueChargeUpSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5326,7 +5326,7 @@ const struct SpriteTemplate gExtremeEvoboostBlueChargeUpSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gExtremeEvoboostPurpleChargeUpSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostPurpleChargeUpSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -5336,7 +5336,7 @@ const struct SpriteTemplate gExtremeEvoboostPurpleChargeUpSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gExtremeEvoboostYellowChargeUpSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostYellowChargeUpSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -5346,7 +5346,7 @@ const struct SpriteTemplate gExtremeEvoboostYellowChargeUpSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gExtremeEvoboostGreenChargeUpSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostGreenChargeUpSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_LEAF, @@ -5356,7 +5356,7 @@ const struct SpriteTemplate gExtremeEvoboostGreenChargeUpSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gExtremeEvoboostRedChargeCircleSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostRedChargeCircleSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5366,7 +5366,7 @@ const struct SpriteTemplate gExtremeEvoboostRedChargeCircleSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimExtremeEvoboostCircle }; -const struct SpriteTemplate gExtremeEvoboostPinkChargeCircleSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostPinkChargeCircleSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_BERRY_EATEN, @@ -5376,7 +5376,7 @@ const struct SpriteTemplate gExtremeEvoboostPinkChargeCircleSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimExtremeEvoboostCircle }; -const struct SpriteTemplate gExtremeEvoboostIceChargeCircleSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostIceChargeCircleSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_ICE_CHUNK, @@ -5386,7 +5386,7 @@ const struct SpriteTemplate gExtremeEvoboostIceChargeCircleSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimExtremeEvoboostCircle }; -const struct SpriteTemplate gExtremeEvoboostBlackChargeCircleSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostBlackChargeCircleSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WISP_ORB, @@ -5396,7 +5396,7 @@ const struct SpriteTemplate gExtremeEvoboostBlackChargeCircleSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimExtremeEvoboostCircle }; -const struct SpriteTemplate gExtremeEvoboostBlueChargeCircleSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostBlueChargeCircleSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5406,7 +5406,7 @@ const struct SpriteTemplate gExtremeEvoboostBlueChargeCircleSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimExtremeEvoboostCircle }; -const struct SpriteTemplate gExtremeEvoboostPurpleChargeCircleSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostPurpleChargeCircleSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -5416,7 +5416,7 @@ const struct SpriteTemplate gExtremeEvoboostPurpleChargeCircleSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimExtremeEvoboostCircle }; -const struct SpriteTemplate gExtremeEvoboostYellowChargeCircleSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostYellowChargeCircleSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -5426,7 +5426,7 @@ const struct SpriteTemplate gExtremeEvoboostYellowChargeCircleSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimExtremeEvoboostCircle }; -const struct SpriteTemplate gExtremeEvoboostGreenChargeCircleSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostGreenChargeCircleSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_LEAF, @@ -5436,7 +5436,7 @@ const struct SpriteTemplate gExtremeEvoboostGreenChargeCircleSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimExtremeEvoboostCircle }; -const struct SpriteTemplate gExtremeEvoboostRedStockpileSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostRedStockpileSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5446,7 +5446,7 @@ const struct SpriteTemplate gExtremeEvoboostRedStockpileSpriteTemplate = .affineAnims = gStockpileAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb }; -const struct SpriteTemplate gExtremeEvoboostPinkStockpileSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostPinkStockpileSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_BERRY_EATEN, @@ -5456,7 +5456,7 @@ const struct SpriteTemplate gExtremeEvoboostPinkStockpileSpriteTemplate = .affineAnims = gStockpileAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb }; -const struct SpriteTemplate gExtremeEvoboostIceStockpileSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostIceStockpileSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_ICE_CHUNK, @@ -5466,7 +5466,7 @@ const struct SpriteTemplate gExtremeEvoboostIceStockpileSpriteTemplate = .affineAnims = gStockpileAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb }; -const struct SpriteTemplate gExtremeEvoboostBlackStockpileSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostBlackStockpileSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WISP_ORB, @@ -5476,7 +5476,7 @@ const struct SpriteTemplate gExtremeEvoboostBlackStockpileSpriteTemplate = .affineAnims = gStockpileAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb }; -const struct SpriteTemplate gExtremeEvoboostBlueStockpileSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostBlueStockpileSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5486,7 +5486,7 @@ const struct SpriteTemplate gExtremeEvoboostBlueStockpileSpriteTemplate = .affineAnims = gStockpileAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb }; -const struct SpriteTemplate gExtremeEvoboostPurpleStockpileSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostPurpleStockpileSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -5496,7 +5496,7 @@ const struct SpriteTemplate gExtremeEvoboostPurpleStockpileSpriteTemplate = .affineAnims = gStockpileAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb }; -const struct SpriteTemplate gExtremeEvoboostYellowStockpileSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostYellowStockpileSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -5506,7 +5506,7 @@ const struct SpriteTemplate gExtremeEvoboostYellowStockpileSpriteTemplate = .affineAnims = gStockpileAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb }; -const struct SpriteTemplate gExtremeEvoboostGreenStockpileSpriteTemplate = +const struct SpriteTemplate gExtremeEvoboostGreenStockpileSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_LEAF, @@ -5518,7 +5518,7 @@ const struct SpriteTemplate gExtremeEvoboostGreenStockpileSpriteTemplate = }; // pulverizing pancake -const struct SpriteTemplate gPulverizingPancakeRedDetectSpriteTemplate = +const struct SpriteTemplate gPulverizingPancakeRedDetectSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5528,7 +5528,7 @@ const struct SpriteTemplate gPulverizingPancakeRedDetectSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpinningSparkle }; -const struct SpriteTemplate gPulverizingPancakeExplosionSpriteTemplate = +const struct SpriteTemplate gPulverizingPancakeExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_ELECTRIC_ORBS, @@ -5538,7 +5538,7 @@ const struct SpriteTemplate gPulverizingPancakeExplosionSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gPulverizingPancakeYellowRingSpriteTemplate = +const struct SpriteTemplate gPulverizingPancakeYellowRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_ELECTRIC_ORBS, @@ -5550,7 +5550,7 @@ const struct SpriteTemplate gPulverizingPancakeYellowRingSpriteTemplate = }; // genesis supernova -const struct SpriteTemplate gGenesisSupernovaOrbRiseSpriteTemplate = +const struct SpriteTemplate gGenesisSupernovaOrbRiseSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_JAB, @@ -5560,7 +5560,7 @@ const struct SpriteTemplate gGenesisSupernovaOrbRiseSpriteTemplate = .affineAnims = gAffineAnims_Bubble, .callback = AnimAssistPawprint }; -const struct SpriteTemplate gGenesisSupernovaReversalSpriteTemplate = +const struct SpriteTemplate gGenesisSupernovaReversalSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_JAB, @@ -5570,7 +5570,7 @@ const struct SpriteTemplate gGenesisSupernovaReversalSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimReversalOrb }; -const struct SpriteTemplate gGenesisSupernovaSpinUpSpriteTemplate = +const struct SpriteTemplate gGenesisSupernovaSpinUpSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_JAB, @@ -5580,7 +5580,7 @@ const struct SpriteTemplate gGenesisSupernovaSpinUpSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gGenesisSupernovaChargeSpriteTemplate = +const struct SpriteTemplate gGenesisSupernovaChargeSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_POISON_JAB, @@ -5590,7 +5590,7 @@ const struct SpriteTemplate gGenesisSupernovaChargeSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gGenesisSupernovaSuperpowerSpriteTemplate = +const struct SpriteTemplate gGenesisSupernovaSuperpowerSpriteTemplate = { .tileTag = ANIM_TAG_METEOR, .paletteTag = ANIM_TAG_WISP_ORB, @@ -5600,7 +5600,7 @@ const struct SpriteTemplate gGenesisSupernovaSuperpowerSpriteTemplate = .affineAnims = sSpriteAffineAnimTable_GrowingSuperpower, .callback = SpriteCB_GrowingSuperpower }; -const struct SpriteTemplate gGenesisSupernovaBubbleSpriteTemplate = +const struct SpriteTemplate gGenesisSupernovaBubbleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_JAB, @@ -5610,7 +5610,7 @@ const struct SpriteTemplate gGenesisSupernovaBubbleSpriteTemplate = .affineAnims = gAffineAnims_Bubble, .callback = AnimBubbleEffect }; -const struct SpriteTemplate gGenesisSupernovaExplosionSpriteTemplate = +const struct SpriteTemplate gGenesisSupernovaExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_WISP_ORB, @@ -5650,7 +5650,7 @@ static const union AffineAnimCmd *const sArrowRaidFlyLeftAffineAnimTable[] = { sArrowRaidFlyLeftAffineAnims, sArrowRaidFlyLeftAffineAnims }; -const struct SpriteTemplate gArrowRaidExplosionSpriteTemplate = +const struct SpriteTemplate gArrowRaidExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -5660,7 +5660,7 @@ const struct SpriteTemplate gArrowRaidExplosionSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gArrowRaidFlyUpSpriteTemplate = +const struct SpriteTemplate gArrowRaidFlyUpSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_LEAF, @@ -5670,7 +5670,7 @@ const struct SpriteTemplate gArrowRaidFlyUpSpriteTemplate = .affineAnims = gAffineAnims_FlyBallUp, .callback = AnimFlyBallUp }; -const struct SpriteTemplate gArrowRaidFlyRightSpriteTemplate = +const struct SpriteTemplate gArrowRaidFlyRightSpriteTemplate = { .tileTag = ANIM_TAG_BIRD, .paletteTag = ANIM_TAG_LEAF, @@ -5680,7 +5680,7 @@ const struct SpriteTemplate gArrowRaidFlyRightSpriteTemplate = .affineAnims = sArrowRaidFlyRightAffineAnimTable, .callback = AnimAssistPawprint }; -const struct SpriteTemplate gArrowRaidFlyLeftSpriteTemplate = +const struct SpriteTemplate gArrowRaidFlyLeftSpriteTemplate = { .tileTag = ANIM_TAG_BIRD, .paletteTag = ANIM_TAG_LEAF, @@ -5690,7 +5690,7 @@ const struct SpriteTemplate gArrowRaidFlyLeftSpriteTemplate = .affineAnims = sArrowRaidFlyLeftAffineAnimTable, .callback = AnimAssistPawprint }; -const struct SpriteTemplate gArrowRaidFlyStrikeSpriteTemplate = +const struct SpriteTemplate gArrowRaidFlyStrikeSpriteTemplate = { .tileTag = ANIM_TAG_BIRD, .paletteTag = ANIM_TAG_LEAF, @@ -5707,7 +5707,7 @@ static const union AffineAnimCmd sArrowRaidArrowUpAffineAnims[] = { static const union AffineAnimCmd *const sArrowRaidArrowUpAffineAnimTable[] = { sArrowRaidArrowUpAffineAnims, }; -const struct SpriteTemplate gArrowRaidArrowUpSpriteTemplate = +const struct SpriteTemplate gArrowRaidArrowUpSpriteTemplate = { .tileTag = ANIM_TAG_SPIRIT_ARROW, .paletteTag = ANIM_TAG_SPIRIT_ARROW, @@ -5724,7 +5724,7 @@ static const union AffineAnimCmd sArrowRaidArrowRightUpAffineAnims[] = { static const union AffineAnimCmd *const sArrowRaidArrowRightUpAffineAnimTable[] = { sArrowRaidArrowRightUpAffineAnims, }; -const struct SpriteTemplate gArrowRaidRightUpSpriteTemplate = +const struct SpriteTemplate gArrowRaidRightUpSpriteTemplate = { .tileTag = ANIM_TAG_SPIRIT_ARROW, .paletteTag = ANIM_TAG_SPIRIT_ARROW, @@ -5741,7 +5741,7 @@ static const union AffineAnimCmd sArrowRaidRightDownAffineAnims[] = { static const union AffineAnimCmd *const sArrowRaidRightDownAffineAnimTable[] = { sArrowRaidRightDownAffineAnims, }; -const struct SpriteTemplate gArrowRaidRightDownSpriteTemplate = +const struct SpriteTemplate gArrowRaidRightDownSpriteTemplate = { .tileTag = ANIM_TAG_SPIRIT_ARROW, .paletteTag = ANIM_TAG_SPIRIT_ARROW, @@ -5758,7 +5758,7 @@ static const union AffineAnimCmd sArrowRaidArrowLeftUpAffineAnims[] = { static const union AffineAnimCmd *const sArrowRaidLeftUpAffineAnimTable[] = { sArrowRaidArrowLeftUpAffineAnims, }; -const struct SpriteTemplate gArrowRaidLeftUpSpriteTemplate = +const struct SpriteTemplate gArrowRaidLeftUpSpriteTemplate = { .tileTag = ANIM_TAG_SPIRIT_ARROW, .paletteTag = ANIM_TAG_SPIRIT_ARROW, @@ -5775,7 +5775,7 @@ static const union AffineAnimCmd sArrowRaidFaceUpLeftAffineAnims[] = { static const union AffineAnimCmd *const sArrowRaidFaceUpLeftAffineAnimTable[] = { sArrowRaidFaceUpLeftAffineAnims, }; -const struct SpriteTemplate gArrowRaidFaceUpLeftSpriteTemplate = +const struct SpriteTemplate gArrowRaidFaceUpLeftSpriteTemplate = { .tileTag = ANIM_TAG_SPIRIT_ARROW, .paletteTag = ANIM_TAG_SPIRIT_ARROW, @@ -5792,7 +5792,7 @@ static const union AffineAnimCmd sArrowRaidArrowFaceRightAffineAnims[] = { static const union AffineAnimCmd *const sArrowRaidArrowFaceRightAffineAnimTable[] = { sArrowRaidArrowFaceRightAffineAnims }; -const struct SpriteTemplate gArrowRaidRightSpriteTemplate = +const struct SpriteTemplate gArrowRaidRightSpriteTemplate = { .tileTag = ANIM_TAG_SPIRIT_ARROW, .paletteTag = ANIM_TAG_SPIRIT_ARROW, @@ -5809,7 +5809,7 @@ static const union AffineAnimCmd sArrowRaidLeftDownAffineAnims[] = { static const union AffineAnimCmd *const sArrowRaidLeftDownAffineAnimTable[] = { sArrowRaidLeftDownAffineAnims }; -const struct SpriteTemplate gArrowRaidLeftDownSpriteTemplate = +const struct SpriteTemplate gArrowRaidLeftDownSpriteTemplate = { .tileTag = ANIM_TAG_SPIRIT_ARROW, .paletteTag = ANIM_TAG_SPIRIT_ARROW, @@ -5826,7 +5826,7 @@ static const union AffineAnimCmd sArrowRaidOnslaughtAffineAnims[] = { static const union AffineAnimCmd *const sArrowRaidOnslaughtAffineAnimTable[] = { sArrowRaidOnslaughtAffineAnims }; -const struct SpriteTemplate gArrowRaidArrowOnslaughtSpriteTemplate = +const struct SpriteTemplate gArrowRaidArrowOnslaughtSpriteTemplate = { .tileTag = ANIM_TAG_SPIRIT_ARROW, .paletteTag = ANIM_TAG_SPIRIT_ARROW, @@ -5838,7 +5838,7 @@ const struct SpriteTemplate gArrowRaidArrowOnslaughtSpriteTemplate = }; // malicious moonsault -const struct SpriteTemplate gMaliciousMoonsaultRedFlySpriteTemplate = +const struct SpriteTemplate gMaliciousMoonsaultRedFlySpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5848,7 +5848,7 @@ const struct SpriteTemplate gMaliciousMoonsaultRedFlySpriteTemplate = .affineAnims = gAffineAnims_FlyBallUp, .callback = AnimFlyBallUp }; -const struct SpriteTemplate gMaliciousMoonsaultRedBounceSpriteTemplate = +const struct SpriteTemplate gMaliciousMoonsaultRedBounceSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5858,7 +5858,7 @@ const struct SpriteTemplate gMaliciousMoonsaultRedBounceSpriteTemplate = .affineAnims = gAffineAnims_BounceBallLand, .callback = AnimBounceBallLand }; -const struct SpriteTemplate gMaliciousMoonsaultRedImpactSpriteTemplate = +const struct SpriteTemplate gMaliciousMoonsaultRedImpactSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5868,7 +5868,7 @@ const struct SpriteTemplate gMaliciousMoonsaultRedImpactSpriteTemplate = .affineAnims = gAffineAnims_HitSplat, .callback = AnimHitSplatBasic }; -const struct SpriteTemplate gMaliciousMoonsaultFireblastSpriteTemplate = +const struct SpriteTemplate gMaliciousMoonsaultFireblastSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -5878,7 +5878,7 @@ const struct SpriteTemplate gMaliciousMoonsaultFireblastSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFireCross }; -const struct SpriteTemplate gMaliciousMoonsaultExplosionSpriteTemplate = +const struct SpriteTemplate gMaliciousMoonsaultExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_EXPLOSION_2, @@ -5900,7 +5900,7 @@ const struct SpriteTemplate gOceanOperaSpotlightSpriteTemplate = .affineAnims = gSpotlightAffineAnimTable, .callback = AnimOceanicOperettaSpotlight, }; -const struct SpriteTemplate gOceanOperaBlueFlareSpriteTemplate = +const struct SpriteTemplate gOceanOperaBlueFlareSpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5910,7 +5910,7 @@ const struct SpriteTemplate gOceanOperaBlueFlareSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEndureEnergy }; -const struct SpriteTemplate gOceanOperaBlueChargeSpriteTemplate = +const struct SpriteTemplate gOceanOperaBlueChargeSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5920,7 +5920,7 @@ const struct SpriteTemplate gOceanOperaBlueChargeSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gOceanOperaBlueRingSpriteTemplate = +const struct SpriteTemplate gOceanOperaBlueRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5930,7 +5930,7 @@ const struct SpriteTemplate gOceanOperaBlueRingSpriteTemplate = .affineAnims = gThinRingShrinkingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gOceanOperaMovingOrbsSpriteTemplate = +const struct SpriteTemplate gOceanOperaMovingOrbsSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5940,7 +5940,7 @@ const struct SpriteTemplate gOceanOperaMovingOrbsSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimThrowMistBall }; -const struct SpriteTemplate gOceanOperaBlueOrbsSpriteTemplate = +const struct SpriteTemplate gOceanOperaBlueOrbsSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5950,7 +5950,7 @@ const struct SpriteTemplate gOceanOperaBlueOrbsSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimBite }; -const struct SpriteTemplate gOceanOperaExpandingRingSpriteTemplate = +const struct SpriteTemplate gOceanOperaExpandingRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5960,7 +5960,7 @@ const struct SpriteTemplate gOceanOperaExpandingRingSpriteTemplate = .affineAnims = gThinRingExpandingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gOceanOperaExplosionSpriteTemplate = +const struct SpriteTemplate gOceanOperaExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5970,7 +5970,7 @@ const struct SpriteTemplate gOceanOperaExplosionSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gOceanOperaSparkleSpriteTemplate = +const struct SpriteTemplate gOceanOperaSparkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_2, .paletteTag = ANIM_TAG_WATER_ORB, @@ -5982,7 +5982,7 @@ const struct SpriteTemplate gOceanOperaSparkleSpriteTemplate = }; // splintered stormshards -const struct SpriteTemplate gSplinteredShardsFlySpriteTemplate = +const struct SpriteTemplate gSplinteredShardsFlySpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROCKS, @@ -5992,7 +5992,7 @@ const struct SpriteTemplate gSplinteredShardsFlySpriteTemplate = .affineAnims = gAffineAnims_FlyBallUp, .callback = AnimFlyBallUp }; -const struct SpriteTemplate gSplinteredShardsExplosionSpriteTemplate = +const struct SpriteTemplate gSplinteredShardsExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_ROCKS, @@ -6002,7 +6002,7 @@ const struct SpriteTemplate gSplinteredShardsExplosionSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gSplinteredShardsRisingSpearSpriteTemplate = +const struct SpriteTemplate gSplinteredShardsRisingSpearSpriteTemplate = { .tileTag = ANIM_TAG_ICICLE_SPEAR, .paletteTag = ANIM_TAG_ROCKS, @@ -6019,7 +6019,7 @@ static const union AffineAnimCmd sSplinteredShardsOpponentSteepAffineAnims[] = { static const union AffineAnimCmd *const sSplinteredShardsOpponentSteepAffineAnimTable[] = { sSplinteredShardsOpponentSteepAffineAnims, }; -const struct SpriteTemplate gSplinteredShardsSplinterOpponentSteepSpriteTemplate = +const struct SpriteTemplate gSplinteredShardsSplinterOpponentSteepSpriteTemplate = { .tileTag = ANIM_TAG_ICICLE_SPEAR, .paletteTag = ANIM_TAG_ROCKS, @@ -6036,7 +6036,7 @@ static const union AffineAnimCmd sSplinteredShardsOpponentShallowAffineAnims[] = static const union AffineAnimCmd *const sSplinteredShardsOpponentShallowAffineAnimTable[] = { sSplinteredShardsOpponentShallowAffineAnims }; -const struct SpriteTemplate gSplinteredShardsSplinterOpponentShallowSpriteTemplate = +const struct SpriteTemplate gSplinteredShardsSplinterOpponentShallowSpriteTemplate = { .tileTag = ANIM_TAG_ICICLE_SPEAR, .paletteTag = ANIM_TAG_ROCKS, @@ -6053,7 +6053,7 @@ static const union AffineAnimCmd sSplinteredShardsPlayerSteepAffineAnims[] = { static const union AffineAnimCmd *const sSplinteredShardsPlayerSteepAffineAnimTable[] = { sSplinteredShardsPlayerSteepAffineAnims }; -const struct SpriteTemplate gSplinteredShardsSplinterPlayerSteepSpriteTemplate = +const struct SpriteTemplate gSplinteredShardsSplinterPlayerSteepSpriteTemplate = { .tileTag = ANIM_TAG_ICICLE_SPEAR, .paletteTag = ANIM_TAG_ROCKS, @@ -6070,7 +6070,7 @@ static const union AffineAnimCmd sSplinteredShardsPlayerShallowAffineAnims[] = { static const union AffineAnimCmd *const sSplinteredShardsPlayerShallowAffineAnimTable[] = { sSplinteredShardsPlayerShallowAffineAnims }; -const struct SpriteTemplate gSplinteredShardsSplinterPlayerShallowSpriteTemplate = +const struct SpriteTemplate gSplinteredShardsSplinterPlayerShallowSpriteTemplate = { .tileTag = ANIM_TAG_ICICLE_SPEAR, .paletteTag = ANIM_TAG_ROCKS, @@ -6082,7 +6082,7 @@ const struct SpriteTemplate gSplinteredShardsSplinterPlayerShallowSpriteTemplate }; // lets snuggle forever -const struct SpriteTemplate gSnuggleForeverEyesSpriteTemplate = +const struct SpriteTemplate gSnuggleForeverEyesSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -6092,7 +6092,7 @@ const struct SpriteTemplate gSnuggleForeverEyesSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpinningSparkle }; -const struct SpriteTemplate gSnuggleForeverStarSpriteTemplate = +const struct SpriteTemplate gSnuggleForeverStarSpriteTemplate = { .tileTag = ANIM_TAG_PAIN_SPLIT, .paletteTag = ANIM_TAG_DUCK, @@ -6102,7 +6102,7 @@ const struct SpriteTemplate gSnuggleForeverStarSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimDizzyPunchDuck }; -const struct SpriteTemplate gSnuggleForeverHeartSpriteTemplate = +const struct SpriteTemplate gSnuggleForeverHeartSpriteTemplate = { .tileTag = ANIM_TAG_MAGENTA_HEART, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -6114,7 +6114,7 @@ const struct SpriteTemplate gSnuggleForeverHeartSpriteTemplate = }; // clangorous soulblaze -const struct SpriteTemplate gClangoorousSoulblazeWhiteFlySpriteTemplate = +const struct SpriteTemplate gClangoorousSoulblazeWhiteFlySpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_AIR_WAVE_2, @@ -6124,7 +6124,7 @@ const struct SpriteTemplate gClangoorousSoulblazeWhiteFlySpriteTemplate = .affineAnims = gAffineAnims_FlyBallUp, .callback = AnimFlyBallUp }; -const struct SpriteTemplate gClangoorousSoulblazePurpleSwirlSpriteTemplate = +const struct SpriteTemplate gClangoorousSoulblazePurpleSwirlSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -6134,7 +6134,7 @@ const struct SpriteTemplate gClangoorousSoulblazePurpleSwirlSpriteTemplate = .affineAnims = gAffineAnims_Whirlpool, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gClangoorousSoulblazePurpleChargeSpriteTemplate = +const struct SpriteTemplate gClangoorousSoulblazePurpleChargeSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -6144,7 +6144,7 @@ const struct SpriteTemplate gClangoorousSoulblazePurpleChargeSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gClangoorousSoulblazePulseSpriteTemplate = +const struct SpriteTemplate gClangoorousSoulblazePulseSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -6155,8 +6155,8 @@ const struct SpriteTemplate gClangoorousSoulblazePulseSpriteTemplate = .callback = TranslateAnimSpriteToTargetMonLocation }; -// guardian of alola -const struct SpriteTemplate gGuardianOfAlolaFistSpriteTemplate = +// guardian of alola +const struct SpriteTemplate gGuardianOfAlolaFistSpriteTemplate = { .tileTag = ANIM_TAG_HORSESHOE_SIDE_FIST, .paletteTag = ANIM_TAG_HORSESHOE_SIDE_FIST, @@ -6166,7 +6166,7 @@ const struct SpriteTemplate gGuardianOfAlolaFistSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimStompFoot }; -const struct SpriteTemplate gGuardianOfAlolaDirtGeyserSpriteTemplate = +const struct SpriteTemplate gGuardianOfAlolaDirtGeyserSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -6186,7 +6186,7 @@ static const union AffineAnimCmd sSearingSunrazeSmashWormholeGrowingAffineAnims[ static const union AffineAnimCmd *const sSearingSunrazeSmashWormholeGrowingAffineAnimTable[] = { sSearingSunrazeSmashWormholeGrowingAffineAnims }; -const struct SpriteTemplate gSearingSunrazeSmashGrowWormholeSpriteTemplate = +const struct SpriteTemplate gSearingSunrazeSmashGrowWormholeSpriteTemplate = { .tileTag = ANIM_TAG_SHADOW_BALL, .paletteTag = ANIM_TAG_WATER_ORB, @@ -6196,7 +6196,7 @@ const struct SpriteTemplate gSearingSunrazeSmashGrowWormholeSpriteTemplate = .affineAnims = sSearingSunrazeSmashWormholeGrowingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gSearingSunrazeSmashBlueRingInwardsSpriteTemplate = +const struct SpriteTemplate gSearingSunrazeSmashBlueRingInwardsSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_WATER_ORB, @@ -6206,7 +6206,7 @@ const struct SpriteTemplate gSearingSunrazeSmashBlueRingInwardsSpriteTemplate = .affineAnims = gThinRingShrinkingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gSearingSunrazeSmashWhiteRingInwardsSpriteTemplate = +const struct SpriteTemplate gSearingSunrazeSmashWhiteRingInwardsSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_AIR_WAVE_2, @@ -6216,7 +6216,7 @@ const struct SpriteTemplate gSearingSunrazeSmashWhiteRingInwardsSpriteTemplate = .affineAnims = gThinRingShrinkingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gSearingSunrazeSmashCrossImpactSpriteTemplate = +const struct SpriteTemplate gSearingSunrazeSmashCrossImpactSpriteTemplate = { .tileTag = ANIM_TAG_CROSS_IMPACT, .paletteTag = ANIM_TAG_AIR_WAVE_2, @@ -6226,7 +6226,7 @@ const struct SpriteTemplate gSearingSunrazeSmashCrossImpactSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimCrossImpact }; -const struct SpriteTemplate gSearingSunrazeSmashWhiteCutSpriteTemplate = +const struct SpriteTemplate gSearingSunrazeSmashWhiteCutSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_AIR_WAVE_2, @@ -6236,7 +6236,7 @@ const struct SpriteTemplate gSearingSunrazeSmashWhiteCutSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimCuttingSlice }; -const struct SpriteTemplate gSearingSunrazeSmashInfernoOrbSpriteTemplate = +const struct SpriteTemplate gSearingSunrazeSmashInfernoOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -6246,7 +6246,7 @@ const struct SpriteTemplate gSearingSunrazeSmashInfernoOrbSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingChargeOrb }; -const struct SpriteTemplate gSearingSunrazeSmashShockwaveSpriteTemplate = +const struct SpriteTemplate gSearingSunrazeSmashShockwaveSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -6256,7 +6256,7 @@ const struct SpriteTemplate gSearingSunrazeSmashShockwaveSpriteTemplate = .affineAnims = gAffineAnims_GrowingElectricOrb, .callback = AnimGrowingShockWaveOrbOnTarget }; -const struct SpriteTemplate gSearingSunrazeSmashRedFlySpriteTemplate = +const struct SpriteTemplate gSearingSunrazeSmashRedFlySpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_VERTICAL_HEX, @@ -6268,7 +6268,7 @@ const struct SpriteTemplate gSearingSunrazeSmashRedFlySpriteTemplate = }; // menacing moonraze maelstrom -const struct SpriteTemplate gMoonrazeMaelstromBlueBuffSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromBlueBuffSpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_WATER_ORB, @@ -6278,7 +6278,7 @@ const struct SpriteTemplate gMoonrazeMaelstromBlueBuffSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEndureEnergy }; -const struct SpriteTemplate gMoonrazeMaelstromBlackBuffSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromBlackBuffSpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -6288,7 +6288,7 @@ const struct SpriteTemplate gMoonrazeMaelstromBlackBuffSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEndureEnergy }; -const struct SpriteTemplate gMoonrazeMaelstromPurpleBuffSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromPurpleBuffSpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -6298,7 +6298,7 @@ const struct SpriteTemplate gMoonrazeMaelstromPurpleBuffSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEndureEnergy }; -const struct SpriteTemplate gMoonrazeMaelstromBlackSparklesSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromBlackSparklesSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_2, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -6308,27 +6308,27 @@ const struct SpriteTemplate gMoonrazeMaelstromBlackSparklesSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimGrantingStars }; -const struct SpriteTemplate gMoonrazeMaelstromBlueRingSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromBlueRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_WATER_ORB, .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, - .images = NULL, + .images = NULL, .affineAnims = gThinRingShrinkingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gMoonrazeMaelstromWhiteRingSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromWhiteRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_AIR_WAVE_2, .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, - .images = NULL, + .images = NULL, .affineAnims = gThinRingShrinkingAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gMoonrazeMaelstromSuperpowerSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromSuperpowerSpriteTemplate = { .tileTag = ANIM_TAG_METEOR, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -6338,7 +6338,7 @@ const struct SpriteTemplate gMoonrazeMaelstromSuperpowerSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSuperpowerFireball }; -const struct SpriteTemplate gMoonrazeMaelstromBlackOrbsSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromBlackOrbsSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -6348,7 +6348,7 @@ const struct SpriteTemplate gMoonrazeMaelstromBlackOrbsSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimParticleInVortex }; -const struct SpriteTemplate gMoonrazeMaelstromBeamSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromBeamSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -6358,7 +6358,7 @@ const struct SpriteTemplate gMoonrazeMaelstromBeamSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimHyperBeamOrb }; -const struct SpriteTemplate gMoonrazeMaelstromExplosionSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -6368,7 +6368,7 @@ const struct SpriteTemplate gMoonrazeMaelstromExplosionSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gMoonrazeMaelstromShockwaveSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromShockwaveSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -6386,7 +6386,7 @@ static const union AffineAnimCmd sMoonrazeMaelstromWormholeAffineAnims[] = { static const union AffineAnimCmd *const sMoonrazeMaelstromWormholeAffineAnimTable[] = { sMoonrazeMaelstromWormholeAffineAnims }; -const struct SpriteTemplate gMoonrazeMaelstromWormholeSpriteTemplate = +const struct SpriteTemplate gMoonrazeMaelstromWormholeSpriteTemplate = { .tileTag = ANIM_TAG_SHADOW_BALL, .paletteTag = ANIM_TAG_WATER_ORB, @@ -6398,7 +6398,7 @@ const struct SpriteTemplate gMoonrazeMaelstromWormholeSpriteTemplate = }; // light that burns the sky -const struct SpriteTemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate = +const struct SpriteTemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_LEAF, @@ -6408,7 +6408,7 @@ const struct SpriteTemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate = .affineAnims = gAffineAnims_FlashingSpark, .callback = AnimSparkElectricityFlashing }; -const struct SpriteTemplate gLightThatBurnsTheSkyBlastBurnSpriteTemplate = +const struct SpriteTemplate gLightThatBurnsTheSkyBlastBurnSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -6426,7 +6426,7 @@ static const struct OamData sGeyserOam = .size = SPRITE_SIZE(32x32), .priority = 1, //Above sprites }; -const struct SpriteTemplate gLightThatBurnsTheSkyExplosionSpriteTemplate = +const struct SpriteTemplate gLightThatBurnsTheSkyExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, .paletteTag = ANIM_TAG_EXPLOSION_2, @@ -6438,7 +6438,7 @@ const struct SpriteTemplate gLightThatBurnsTheSkyExplosionSpriteTemplate = }; // soul stealing 7star strike -const struct SpriteTemplate gSoulStealBlackFlySpriteTemplate = +const struct SpriteTemplate gSoulStealBlackFlySpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -6448,7 +6448,7 @@ const struct SpriteTemplate gSoulStealBlackFlySpriteTemplate = .affineAnims = gAffineAnims_FlyBallUp, .callback = AnimFlyBallUp }; -const struct SpriteTemplate gSoulStealIceBuffSpriteTemplate = +const struct SpriteTemplate gSoulStealIceBuffSpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -6458,7 +6458,7 @@ const struct SpriteTemplate gSoulStealIceBuffSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEndureEnergy }; -const struct SpriteTemplate gSoulStealBlueFistSpriteTemplate = +const struct SpriteTemplate gSoulStealBlueFistSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -6468,7 +6468,7 @@ const struct SpriteTemplate gSoulStealBlueFistSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimJumpKick }; -const struct SpriteTemplate gSoulStealBlueStarSpriteTemplate = +const struct SpriteTemplate gSoulStealBlueStarSpriteTemplate = { .tileTag = ANIM_TAG_PAIN_SPLIT, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -6478,7 +6478,7 @@ const struct SpriteTemplate gSoulStealBlueStarSpriteTemplate = .affineAnims = gAffineAnims_Bite, .callback = AnimSoulStealingStar }; -const struct SpriteTemplate gSoulStealBlueParalyzeSpriteTemplate = +const struct SpriteTemplate gSoulStealBlueParalyzeSpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -6488,7 +6488,7 @@ const struct SpriteTemplate gSoulStealBlueParalyzeSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimElectricity }; -const struct SpriteTemplate gSoulStealBlastburnSpriteTemplate = +const struct SpriteTemplate gSoulStealBlastburnSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_WISP_FIRE, @@ -6498,7 +6498,7 @@ const struct SpriteTemplate gSoulStealBlastburnSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFirePlume }; -const struct SpriteTemplate gSoulStealExplosionSpriteTemplate = +const struct SpriteTemplate gSoulStealExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_WISP_FIRE, @@ -6508,7 +6508,7 @@ const struct SpriteTemplate gSoulStealExplosionSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos }; -const struct SpriteTemplate gSoulStealZStarSpriteTemplate = +const struct SpriteTemplate gSoulStealZStarSpriteTemplate = { .tileTag = ANIM_TAG_SNORE_Z, .paletteTag = ANIM_TAG_SNORE_Z, @@ -6572,7 +6572,7 @@ void AnimTask_AllBanksInvisibleExceptAttackerAndTarget(u8 taskId) static u8 LoadBattleAnimTarget(u8 arg) { u8 battler; - + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { switch (gBattleAnimArgs[arg]) @@ -6598,7 +6598,7 @@ static u8 LoadBattleAnimTarget(u8 arg) else battler = gBattleAnimTarget; } - + return battler; } @@ -7276,7 +7276,7 @@ static void SpriteCB_PyroBallRockBounceStep(struct Sprite *sprite) { s8 initialVerticalVelocity; s8 initialHorizontalVelocity; - + if (sprite->y2 > 0) //Rock returned back down { if (gBattleAnimArgs[2] || sMovingBackHorizontally) //Finished moving from left to right @@ -7357,7 +7357,7 @@ static void SpriteCB_PyroBallLaunch(struct Sprite *sprite) static void SpriteCB_AcidLaunchSingleTarget(struct Sprite *sprite) { s16 l1, l2; - + if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); @@ -7550,7 +7550,7 @@ static void AnimHappyHourCoinShower(struct Sprite *sprite) { if (gBattleAnimArgs[3] != 0) SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->x, &sprite->y); //coin shower on attacker - + sprite->x += gBattleAnimArgs[0]; sprite->y += 14; StartSpriteAnim(sprite, gBattleAnimArgs[1]); @@ -7707,7 +7707,7 @@ void AnimTask_GetTimeOfDay(u8 taskId) gBattleAnimArgs[0] = 1; else if (gLocalTime.hours >= 17 && gLocalTime.hours < 20) gBattleAnimArgs[0] = 2; - + DestroyAnimVisualTask(taskId); } @@ -7717,7 +7717,7 @@ void AnimTask_GetLycanrocForm(u8 taskId) gBattleAnimArgs[0] = 1; else gBattleAnimArgs[0] = 0; - + gBattleAnimArgs[0] = 0; DestroyAnimVisualTask(taskId); } @@ -7766,7 +7766,7 @@ static void AnimOceanicOperettaSpotlight(struct Sprite *sprite) static void AnimTask_WaitAffineAnim(u8 taskId) { struct Task* task = &gTasks[taskId]; - + if (!RunAffineAnimFromTaskData(task)) DestroyAnimVisualTask(taskId); } @@ -7775,7 +7775,7 @@ void AnimTask_SquishTarget(u8 taskId) { struct Task* task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); - + PrepareAffineAnimInTaskData(task, spriteId, sSquishTargetAffineAnimCmds); task->func = AnimTask_WaitAffineAnim; } diff --git a/src/battle_debug.c b/src/battle_debug.c index 991115402..8e869df9c 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -817,7 +817,7 @@ static void SwitchToAiPointsView(u8 taskId) GetStructPtr(taskId)->aiViewState = 0; } -static const u8 *const sAiInfoItemNames[] = +static const u8 *const sAiInfoItemNames[] = { sText_Ability, sText_HeldItem, @@ -829,13 +829,13 @@ static void PutAiInfoText(struct BattleDebugMenu *data) u8 *text = malloc(0x50); FillWindowPixelBuffer(data->aiMovesWindowId, 0x11); - + // item names for (i = 0; i < ARRAY_COUNT(sAiInfoItemNames); i++) { AddTextPrinterParameterized(data->aiMovesWindowId, 1, sAiInfoItemNames[i], 3, i * 15, 0, NULL); } - + // items info for (i = 0; i < gBattlersCount; i++) { @@ -2004,7 +2004,7 @@ static const u8 sText_HoldEffectRoomService[] = _("Room Service"); static const u8 sText_HoldEffectBlunderPolicy[] = _("Blunder Policy"); static const u8 sText_HoldEffectHeavyDutyBoots[] = _("Heavy Duty Boots"); static const u8 sText_HoldEffectThroatSpray[] = _("Throat Spray"); -static const u8 *const sHoldEffectNames[] = +static const u8 *const sHoldEffectNames[] = { [HOLD_EFFECT_NONE] = sText_HoldEffectNone, [HOLD_EFFECT_RESTORE_HP] = sText_HoldEffectRestoreHp, diff --git a/src/battle_interface.c b/src/battle_interface.c index 5be969105..7eea5f356 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -3123,7 +3123,7 @@ void CreateAbilityPopUp(u8 battlerId, u32 ability, bool32 isDoubleBattle) const s16 (*coords)[2]; u8 spriteId1, spriteId2, battlerPosition, taskId; - + return; if (gBattleScripting.abilityPopupOverwrite != 0) diff --git a/src/battle_message.c b/src/battle_message.c index 8298accf1..e56269eb5 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -1383,7 +1383,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_TARGETTOOHEAVY - BATTLESTRINGS_TABLE_START] = sText_TargetTooHeavy, }; -const u16 gZEffectStringIds[] = +const u16 gZEffectStringIds[] = { [B_MSG_Z_RESET_STATS] = STRINGID_ZMOVERESETSSTATS, [B_MSG_Z_ALL_STATS_UP]= STRINGID_ZMOVEALLSTATSUP, @@ -1394,7 +1394,7 @@ const u16 gZEffectStringIds[] = [B_MSG_Z_HP_TRAP] = STRINGID_ZMOVEHPTRAP, }; -const u16 gMentalHerbCureStringIds[] = +const u16 gMentalHerbCureStringIds[] = { [B_MSG_MENTALHERBCURE_INFATUATION] = STRINGID_ATKGOTOVERINFATUATION, [B_MSG_MENTALHERBCURE_TAUNT] = STRINGID_BUFFERENDS, @@ -1409,7 +1409,7 @@ const u16 gTerrainStringIds[] = STRINGID_TERRAINBECOMESMISTY, STRINGID_TERRAINBECOMESGRASSY, STRINGID_TERRAINBECOMESELECTRIC, STRINGID_TERRAINBECOMESPSYCHIC, STRINGID_TERRAINREMOVED, }; -const u16 gTerrainEndingStringIds[] = +const u16 gTerrainEndingStringIds[] = { STRINGID_MISTYTERRAINENDS, STRINGID_GRASSYTERRAINENDS, STRINGID_ELECTRICTERRAINENDS, STRINGID_PSYCHICTERRAINENDS }; diff --git a/src/battle_z_move.c b/src/battle_z_move.c index d41e28ac2..c257df599 100644 --- a/src/battle_z_move.c +++ b/src/battle_z_move.c @@ -165,23 +165,23 @@ bool32 IsViableZMove(u8 battlerId, u16 move) u32 item; u16 holdEffect; u16 species; - + if (gBattleStruct->zmove.used[battlerId]) return FALSE; - + species = gBattleMons[battlerId].species; item = gBattleMons[battlerId].item; if (gBattleTypeFlags & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FRONTIER)) return FALSE; - + #ifdef ITEM_Z_RING if ((GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT)) && !CheckBagHasItem(ITEM_Z_RING, 1)) return FALSE; #endif - + if (mega->alreadyEvolved[battlerPosition]) return FALSE; // Trainer has mega evolved - + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (IsPartnerMonFromSameTrainer(battlerId) && (mega->alreadyEvolved[partnerPosition] || (mega->toEvolve & gBitTable[BATTLE_PARTNER(battlerId)]))) @@ -194,10 +194,10 @@ bool32 IsViableZMove(u8 battlerId, u16 move) else #endif if (item == ITEM_ENIGMA_BERRY) - return FALSE; // HoldEffect = gEnigmaBerries[battlerId].holdEffect; + return FALSE; // HoldEffect = gEnigmaBerries[battlerId].holdEffect; else holdEffect = ItemId_GetHoldEffect(item); - + #ifdef ITEM_ULTRANECROZIUM_Z if (holdEffect == HOLD_EFFECT_Z_CRYSTAL || item == ITEM_ULTRANECROZIUM_Z) #else @@ -210,18 +210,18 @@ bool32 IsViableZMove(u8 battlerId, u16 move) gBattleStruct->zmove.chosenZMove = zMove; // Signature z move exists return TRUE; } - + if (move != MOVE_NONE && zMove != MOVE_Z_STATUS && gBattleMoves[move].type == ItemId_GetSecondaryId(item)) { if (IS_MOVE_STATUS(move)) gBattleStruct->zmove.chosenZMove = move; else gBattleStruct->zmove.chosenZMove = GetTypeBasedZMove(move, battlerId); - + return TRUE; } } - + return FALSE; } @@ -248,7 +248,7 @@ bool32 IsZMoveUsable(u8 battlerId, u16 moveIndex) bool32 TryChangeZIndicator(u8 battlerId, u8 moveIndex) { bool32 viableZMove = IsZMoveUsable(battlerId, moveIndex); - + if (gBattleStruct->zmove.viable && !viableZMove) HideZMoveTriggerSprite(); // Was a viable z move, now is not -> slide out else if (!gBattleStruct->zmove.viable && viableZMove) @@ -271,11 +271,11 @@ bool32 TryChangeZIndicator(u8 battlerId, u8 moveIndex) void CreateZMoveTriggerSprite(u8 battlerId, bool8 viable) { s16 x, y; - + LoadSpritePalette(&sSpritePalette_ZMoveTrigger); if (GetSpriteTileStartByTag(TAG_ZMOVE_TRIGGER_TILE) == 0xFFFF) LoadCompressedSpriteSheetUsingHeap(&sSpriteSheet_ZMoveTrigger); - + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { x = gSprites[gHealthboxSpriteIds[battlerId]].x - DOUBLES_Z_TRIGGER_POS_X_SLIDE; @@ -286,10 +286,10 @@ void CreateZMoveTriggerSprite(u8 battlerId, bool8 viable) x = gSprites[gHealthboxSpriteIds[battlerId]].x - SINGLES_Z_TRIGGER_POS_X_SLIDE; y = gSprites[gHealthboxSpriteIds[battlerId]].y - SINGLES_Z_TRIGGER_POS_Y_DIFF, 0; } - + if (gBattleStruct->zmove.triggerSpriteId == 0xFF) gBattleStruct->zmove.triggerSpriteId = CreateSprite(&sSpriteTemplate_ZMoveTrigger, x, y, 0); - + gSprites[gBattleStruct->zmove.triggerSpriteId].tBattler = battlerId; gSprites[gBattleStruct->zmove.triggerSpriteId].tHide = (viable == TRUE) ? FALSE : TRUE; } @@ -375,14 +375,14 @@ void DestroyZMoveTriggerSprite(void) FreeSpriteTilesByTag(TAG_ZMOVE_TRIGGER_TILE); if (gBattleStruct->zmove.triggerSpriteId != 0xFF) DestroySprite(&gSprites[gBattleStruct->zmove.triggerSpriteId]); - + gBattleStruct->zmove.triggerSpriteId = 0xFF; } static u16 GetSignatureZMove(u16 move, u16 species, u16 item) { u32 i; - + // Check signature z move for (i = 0; i < ARRAY_COUNT(sSignatureZMoves); ++i) { @@ -396,7 +396,7 @@ static u16 GetSignatureZMove(u16 move, u16 species, u16 item) static u16 GetTypeBasedZMove(u16 move, u8 battler) { u8 moveType = gBattleMoves[move].type; - + // Get z move from type if (moveType < TYPE_FIRE) return MOVE_BREAKNECK_BLITZ + moveType; @@ -411,7 +411,7 @@ bool32 MoveSelectionDisplayZMove(u16 zmove) u32 i; struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); u16 move = moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]; - + PlaySE(SE_SELECT); gBattleStruct->zmove.viewing = TRUE; if (zmove != MOVE_NONE) @@ -421,15 +421,15 @@ bool32 MoveSelectionDisplayZMove(u16 zmove) { MoveSelectionDestroyCursorAt(i); StringCopy(gDisplayedStringBattle, gText_EmptyString2); - BattlePutTextOnWindow(gDisplayedStringBattle, i + 3); + BattlePutTextOnWindow(gDisplayedStringBattle, i + 3); } if (IS_MOVE_STATUS(move)) { u8 zEffect = gBattleMoves[move].zMoveEffect; - + gDisplayedStringBattle[0] = EOS; - + if (zEffect == Z_EFFECT_CURSE) { if (moveInfo->monType1 == TYPE_GHOST || moveInfo->monType2 == TYPE_GHOST || moveInfo->monType3 == TYPE_GHOST) @@ -437,7 +437,7 @@ bool32 MoveSelectionDisplayZMove(u16 zmove) else zEffect = Z_EFFECT_ATK_UP_1; } - + switch (zEffect) { case Z_EFFECT_RESET_STATS: @@ -501,7 +501,7 @@ bool32 MoveSelectionDisplayZMove(u16 zmove) ExpandBattleTextBuffPlaceholders(gBattleTextBuff1, gDisplayedStringBattle + 4); break; } - + BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_NAME_3); gDisplayedStringBattle[0] = CHAR_Z; gDisplayedStringBattle[1] = CHAR_HYPHEN; @@ -584,11 +584,11 @@ void SetZEffect(void) else gBattleStruct->zmove.effect = Z_EFFECT_ATK_UP_1; } - + gBattleScripting.savedStatChanger = gBattleScripting.statChanger; // Save used move's stat changer (e.g. for Z-Growl) gBattleScripting.battler = gBattlerAttacker; - - switch (gBattleStruct->zmove.effect) + + switch (gBattleStruct->zmove.effect) { case Z_EFFECT_RESET_STATS: for (i = 0; i < NUM_BATTLE_STATS - 1; i++) @@ -645,7 +645,7 @@ void SetZEffect(void) gBattlescriptCurrInstr = BattleScript_ZEffectPrintString; break; case Z_EFFECT_ATK_UP_1 ... Z_EFFECT_EVSN_UP_1: - SET_STATCHANGER(gBattleStruct->zmove.effect - Z_EFFECT_ATK_UP_1 + 1, 1, FALSE); + SET_STATCHANGER(gBattleStruct->zmove.effect - Z_EFFECT_ATK_UP_1 + 1, 1, FALSE); BattleScriptPush(gBattlescriptCurrInstr + Z_EFFECT_BS_LENGTH); gBattlescriptCurrInstr = BattleScript_StatUpZMove; break; @@ -663,7 +663,7 @@ void SetZEffect(void) gBattlescriptCurrInstr += 3; break; } - + gBattleStruct->zmove.zStatusActive = FALSE; } diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 4b5cde44c..89e1a042c 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -11881,7 +11881,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE, }, - + [MOVE_ZIPPY_ZAP] = { #if B_UPDATED_MOVE_DATA >= GEN_8 @@ -12193,7 +12193,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, }, - + [MOVE_DYNAMAX_CANNON] = { .effect = EFFECT_DYNAMAX_DOUBLE_DMG, @@ -13105,7 +13105,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, }, - + [MOVE_THUNDER_CAGE] = { .effect = EFFECT_TRAP, diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 41b5143cf..6b866e92e 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -859,7 +859,7 @@ .bodyColor = color, \ .noFlip = FALSE, \ } - + #define MORPEKO_BASE_STATS \ { \ .baseHP = 58, \ @@ -883,7 +883,7 @@ .bodyColor = BODY_COLOR_YELLOW, \ .noFlip = FALSE, \ } - + #define ZARUDE_BASE_STATS \ { \ .baseHP = 105, \ @@ -22755,7 +22755,7 @@ const struct BaseStats gBaseStats[] = .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, }, - + [SPECIES_BASCULEGION] = { .baseHP = 120, @@ -26464,7 +26464,7 @@ const struct BaseStats gBaseStats[] = [SPECIES_MINIOR_CORE_BLUE] = MINIOR_CORE_BASE_STATS(BODY_COLOR_BLUE), [SPECIES_MINIOR_CORE_INDIGO] = MINIOR_CORE_BASE_STATS(BODY_COLOR_BLUE), [SPECIES_MINIOR_CORE_VIOLET] = MINIOR_CORE_BASE_STATS(BODY_COLOR_PURPLE), - + [SPECIES_MIMIKYU_BUSTED] = MIMIKYU_BASE_STATS, [SPECIES_NECROZMA_DUSK_MANE] = @@ -26563,7 +26563,7 @@ const struct BaseStats gBaseStats[] = [SPECIES_ALCREMIE_RUBY_SWIRL] = ALCREMIE_BASE_STATS(BODY_COLOR_YELLOW), [SPECIES_ALCREMIE_CARAMEL_SWIRL] = ALCREMIE_BASE_STATS(BODY_COLOR_BROWN), [SPECIES_ALCREMIE_RAINBOW_SWIRL] = ALCREMIE_BASE_STATS(BODY_COLOR_YELLOW), - + [SPECIES_EISCUE_NOICE_FACE] = { .baseHP = 75, diff --git a/src/data/pokemon/form_change_table_pointers.h b/src/data/pokemon/form_change_table_pointers.h index 85685e50e..0668855cc 100644 --- a/src/data/pokemon/form_change_table_pointers.h +++ b/src/data/pokemon/form_change_table_pointers.h @@ -1,4 +1,4 @@ -const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = +const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = { #if P_NEW_POKEMON == TRUE [SPECIES_GIRATINA] = sGiratinaFormChangeTable, diff --git a/src/data/pokemon/form_species_table_pointers.h b/src/data/pokemon/form_species_table_pointers.h index 71a210e40..dee4e5813 100644 --- a/src/data/pokemon/form_species_table_pointers.h +++ b/src/data/pokemon/form_species_table_pointers.h @@ -19,8 +19,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_MEOWTH] = sMeowthFormSpeciesIdTable, [SPECIES_PERSIAN] = sPersianFormSpeciesIdTable, [SPECIES_ALAKAZAM] = sAlakazamFormSpeciesIdTable, - [SPECIES_GROWLITHE] = sGrowlitheFormSpeciesIdTable, - [SPECIES_ARCANINE] = sArcanineFormSpeciesIdTable, + [SPECIES_GROWLITHE] = sGrowlitheFormSpeciesIdTable, + [SPECIES_ARCANINE] = sArcanineFormSpeciesIdTable, [SPECIES_GEODUDE] = sGeodudeFormSpeciesIdTable, [SPECIES_GRAVELER] = sGravelerFormSpeciesIdTable, [SPECIES_GOLEM] = sGolemFormSpeciesIdTable, @@ -113,7 +113,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_LILLIGANT] = sLilligantFormSpeciesIdTable, [SPECIES_DARUMAKA] = sDarumakaFormSpeciesIdTable, [SPECIES_DARMANITAN] = sDarmanitanFormSpeciesIdTable, - [SPECIES_YAMASK] = sYamaskFormSpeciesIdTable, + [SPECIES_YAMASK] = sYamaskFormSpeciesIdTable, [SPECIES_ZORUA] = sZoruaFormSpeciesIdTable, [SPECIES_ZOROARK] = sZoroarkFormSpeciesIdTable, [SPECIES_DEERLING] = sDeerlingFormSpeciesIdTable, @@ -139,7 +139,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_GOODRA] = sGoodraFormSpeciesIdTable, [SPECIES_PUMPKABOO] = sPumpkabooFormSpeciesIdTable, [SPECIES_GOURGEIST] = sGourgeistFormSpeciesIdTable, - [SPECIES_AVALUGG] = sAvaluggFormSpeciesIdTable, + [SPECIES_AVALUGG] = sAvaluggFormSpeciesIdTable, [SPECIES_XERNEAS] = sXerneasFormSpeciesIdTable, [SPECIES_ZYGARDE] = sZygardeFormSpeciesIdTable, [SPECIES_DIANCIE] = sDiancieFormSpeciesIdTable, @@ -394,7 +394,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_TORNADUS_THERIAN] = sTornadusFormSpeciesIdTable, [SPECIES_THUNDURUS_THERIAN] = sThundurusFormSpeciesIdTable, [SPECIES_LANDORUS_THERIAN] = sLandorusFormSpeciesIdTable, - [SPECIES_ENAMORUS_THERIAN] = sEnamorusFormSpeciesIdTable, + [SPECIES_ENAMORUS_THERIAN] = sEnamorusFormSpeciesIdTable, // Kyurem [SPECIES_KYUREM_WHITE] = sKyuremFormSpeciesIdTable, [SPECIES_KYUREM_BLACK] = sKyuremFormSpeciesIdTable, diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index a8c696f1f..d06e4d00b 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -18095,8 +18095,8 @@ static const struct LevelUpMove sWyrdeerLevelUpLearnset[] = { LEVEL_UP_MOVE(15, MOVE_CALM_MIND), //LEVEL_UP_MOVE(21, MOVE_PSYSHIELD_BASH), LEVEL_UP_MOVE(29, MOVE_EXTRASENSORY), - //LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), - LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), + //LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; @@ -18105,7 +18105,7 @@ static const struct LevelUpMove sKleavorLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_SILVER_WIND), LEVEL_UP_MOVE(11, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(14, MOVE_DOUBLE_HIT), - //LEVEL_UP_MOVE(14, MOVE_STEALTH_ROCK), + //LEVEL_UP_MOVE(14, MOVE_STEALTH_ROCK), //LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), LEVEL_UP_MOVE(25, MOVE_SWORDS_DANCE), //LEVEL_UP_MOVE(29, MOVE_STONE_AXE), @@ -18121,8 +18121,8 @@ static const struct LevelUpMove sUrsalunaLevelUpLearnset[] = { LEVEL_UP_MOVE(18, MOVE_SLASH), //LEVEL_UP_MOVE(25, MOVE_PLAY_ROUGH), //LEVEL_UP_MOVE(34, MOVE_HIGH_HORSEPOWER), - LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), - //LEVEL_UP_MOVE(47, MOVE_HEADLONG_RUSH), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), + //LEVEL_UP_MOVE(47, MOVE_HEADLONG_RUSH), LEVEL_UP_END }; @@ -18135,7 +18135,7 @@ static const struct LevelUpMove sBasculegionLevelUpLearnset[] = { LEVEL_UP_MOVE(25, MOVE_CRUNCH), LEVEL_UP_MOVE(25, MOVE_SHADOW_BALL), //LEVEL_UP_MOVE(34, MOVE_WAVE_CRASH), - LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; @@ -18145,9 +18145,9 @@ static const struct LevelUpMove sSneaslerLevelUpLearnset[] = { //LEVEL_UP_MOVE(11, MOVE_DIRE_CLAW), LEVEL_UP_MOVE(11, MOVE_SWIFT), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(25, MOVE_POISON_JAB), - LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), - //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), + //LEVEL_UP_MOVE(25, MOVE_POISON_JAB), + LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), + //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; @@ -18938,7 +18938,7 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 9, MOVE_BITE), //LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), LEVEL_UP_MOVE(21, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(29, MOVE_CRUNCH), + LEVEL_UP_MOVE(29, MOVE_CRUNCH), LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), //LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), LEVEL_UP_END @@ -18951,7 +18951,7 @@ static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { //LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), LEVEL_UP_MOVE(21, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE(29, MOVE_CRUNCH), - //LEVEL_UP_MOVE(29, MOVE_RAGING_FURY), + //LEVEL_UP_MOVE(29, MOVE_RAGING_FURY), LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), //LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), LEVEL_UP_END @@ -19015,9 +19015,9 @@ static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(25, MOVE_POISON_JAB), - LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), - //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), + //LEVEL_UP_MOVE(25, MOVE_POISON_JAB), + LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), + //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; @@ -19116,7 +19116,7 @@ static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { }; static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), //LEVEL_UP_MOVE( 9, MOVE_ICE_SHARD), diff --git a/src/data/pokemon/pokedex_orders.h b/src/data/pokemon/pokedex_orders.h index 0ca5ccb41..e1d8cc479 100644 --- a/src/data/pokemon/pokedex_orders.h +++ b/src/data/pokemon/pokedex_orders.h @@ -1423,7 +1423,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_ESPEON, NATIONAL_DEX_FROSLASS, NATIONAL_DEX_UMBREON, - //NATIONAL_DEX_SNEASEL, //Hisuian Form + //NATIONAL_DEX_SNEASEL, //Hisuian Form NATIONAL_DEX_HUNTAIL, NATIONAL_DEX_CARNIVINE, NATIONAL_DEX_WATCHOG, @@ -1577,7 +1577,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_GLISCOR, NATIONAL_DEX_DUBWOOL, NATIONAL_DEX_SNEASLER, - //NATIONAL_DEX_BRAVIARY, //Hisuian Form + //NATIONAL_DEX_BRAVIARY, //Hisuian Form NATIONAL_DEX_PURUGLY, //NATIONAL_DEX_MANECTRIC, // Mega NATIONAL_DEX_GOTHITELLE, @@ -1600,7 +1600,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_HAKAMO_O, NATIONAL_DEX_ALAKAZAM, NATIONAL_DEX_HITMONTOP, - NATIONAL_DEX_ENAMORUS, + NATIONAL_DEX_ENAMORUS, NATIONAL_DEX_GARDEVOIR, NATIONAL_DEX_KELDEO, NATIONAL_DEX_GRANBULL, @@ -1660,7 +1660,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_HEATMOR, //NATIONAL_DEX_LURANTIS, // Totem-sized //NATIONAL_DEX_ZAPDOS, // Galarian Form - //NATIONAL_DEX_SAMUROTT, // Hisuian Form + //NATIONAL_DEX_SAMUROTT, // Hisuian Form NATIONAL_DEX_MR_RIME, NATIONAL_DEX_WHIRLIPEDE, //NATIONAL_DEX_PINSIR, // Mega @@ -1823,7 +1823,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_FERROTHORN, NATIONAL_DEX_MUDBRAY, NATIONAL_DEX_ZACIAN, // Hero of Many Battles - NATIONAL_DEX_BASCULEGION, + NATIONAL_DEX_BASCULEGION, //NATIONAL_DEX_CHARIZARD, // Mega X NATIONAL_DEX_SHELGON, //NATIONAL_DEX_SALAMENCE, // Mega @@ -1933,7 +1933,7 @@ const u16 gPokedexOrder_Weight[] = //NATIONAL_DEX_AVALUGG, //Hisuian Form NATIONAL_DEX_TYRANTRUM, NATIONAL_DEX_RHYPERIOR, - NATIONAL_DEX_URSALUNA, + NATIONAL_DEX_URSALUNA, NATIONAL_DEX_MAMOSWINE, // 661.4 - 667.0 lbs / 300.0 - 307.1 kg NATIONAL_DEX_GOLEM, @@ -2642,7 +2642,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_GURDURR, NATIONAL_DEX_LEAVANNY, NATIONAL_DEX_WHIRLIPEDE, - //NATIONAL_DEX_LILLIGANT, //Hisuian Form + //NATIONAL_DEX_LILLIGANT, //Hisuian Form NATIONAL_DEX_CARRACOSTA, NATIONAL_DEX_FRILLISH, NATIONAL_DEX_ALOMOMOLA, @@ -2697,7 +2697,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_DUBWOOL, NATIONAL_DEX_BARRASKEWDA, NATIONAL_DEX_FROSMOTH, - NATIONAL_DEX_SNEASLER, + NATIONAL_DEX_SNEASLER, // 4'07" / 1.4m //NATIONAL_DEX_BEEDRILL, // Mega //NATIONAL_DEX_RATICATE, // Alolan Form, Totem-sized @@ -2734,7 +2734,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_ZWEILOUS, //NATIONAL_DEX_TORNADUS, // Therian Forme NATIONAL_DEX_KELDEO, - //NATIONAL_DEX_AVALUGG, // Hisuian Form + //NATIONAL_DEX_AVALUGG, // Hisuian Form //NATIONAL_DEX_GUMSHOOS, // Totem-sized NATIONAL_DEX_CINDERACE, NATIONAL_DEX_EISCUE, @@ -2805,7 +2805,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_HYPNO, NATIONAL_DEX_ZAPDOS, //NATIONAL_DEX_ZAPDOS, // Galarian Form - //NATIONAL_DEX_TYPHLOSION, // Hisuian Form + //NATIONAL_DEX_TYPHLOSION, // Hisuian Form NATIONAL_DEX_NOCTOWL, NATIONAL_DEX_GARDEVOIR, //NATIONAL_DEX_GARDEVOIR, // Mega @@ -2818,15 +2818,15 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_EMBOAR, NATIONAL_DEX_ZEBSTRIKA, NATIONAL_DEX_ZOROARK, - //NATIONAL_DEX_ZOROARK, // Hisuian Form + //NATIONAL_DEX_ZOROARK, // Hisuian Form NATIONAL_DEX_DRUDDIGON, NATIONAL_DEX_BISHARP, NATIONAL_DEX_BOUFFALANT, - //NATIONAL_DEX_BRAVIARY, // Hisuian Form + //NATIONAL_DEX_BRAVIARY, // Hisuian Form NATIONAL_DEX_VOLCARONA, NATIONAL_DEX_CHESNAUGHT, NATIONAL_DEX_DECIDUEYE, - //NATIONAL_DEX_DECIDUEYE, // Hisuian Form + //NATIONAL_DEX_DECIDUEYE, // Hisuian Form NATIONAL_DEX_KOMMO_O, NATIONAL_DEX_TOXTRICITY, NATIONAL_DEX_GRAPPLOCT, @@ -3010,7 +3010,7 @@ const u16 gPokedexOrder_Height[] = NATIONAL_DEX_MUDSDALE, NATIONAL_DEX_MELMETAL, NATIONAL_DEX_STONJOURNER, - NATIONAL_DEX_OVERQWIL, + NATIONAL_DEX_OVERQWIL, // 8'06" / 2.6m NATIONAL_DEX_BEARTIC, //NATIONAL_DEX_VIKAVOLT, // Totem-sized diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h index ac7c910d7..a4a1941ad 100644 --- a/src/data/text/move_descriptions.h +++ b/src/data/text/move_descriptions.h @@ -2691,144 +2691,144 @@ static const u8 sVeeveeVolleyDescription[] = _( static const u8 sDoubleIronBashDescription[] = _( "The user spins and hits with\n" "its arms. May cause flinch."); - + // GEN 8 static const u8 sDynamaxCannonDescription[] = _( "Fires a strong beam. Deals\n" "2x damage to Dynamaxed foes."); - + static const u8 sSnipeShotDescription[] = _( "The user ignores effects\n" "that draw in moves."); - + static const u8 sJawLockDescription[] = _( "Prevents the user and\n" "the target from escaping."); - + static const u8 sStuffCheeksDescription[] = _( "Consumes the user's Berry,\n" "then sharply raises Def."); - + static const u8 sNoRetreatDescription[] = _( "Raises all of the user's\n" "stats but prevents escape."); - + static const u8 sTarShotDescription[] = _( "Lowers the foe's Speed and\n" "makes it weak to Fire."); - + static const u8 sMagicPowderDescription[] = _( "Magic powder changes the\n" "target into a Psychic-type."); - + static const u8 sDragonDartsDescription[] = _( "The user attacks twice. Two\n" "targets are hit once each."); - + static const u8 sTeatimeDescription[] = _( "All Pokémon have teatime\n" "and eat their Berries."); - + static const u8 sOctolockDescription[] = _( "Traps the foe to lower Def\n" "and Sp. Def fall each turn."); - + static const u8 sBoltBeakDescription[] = _( "Double power if the user\n" "moves before the target."); - + static const u8 sFishiousRendDescription[] = _( "Double power if the user\n" "moves before the target."); - + static const u8 sCourtChangeDescription[] = _( "The user swaps effects on\n" "either side of the field."); - + static const u8 sClangorousSoulDescription[] = _( "The user uses some of its\n" "HP to raise all its stats."); - + static const u8 sBodyPressDescription[] = _( "Does more damage the\n" "higher the user's Def."); - + static const u8 sDecorateDescription[] = _( "The user sharply raises\n" "the target's Atk and Sp.Atk"); - + static const u8 sDrumBeatingDescription[] = _( "Plays a drum to attack.\n" "The foe's Speed is lowered."); - + static const u8 sSnapTrapDescription[] = _( "Snares the target in a snap\n" "trap for four to five turns."); - + static const u8 sPyroBallDescription[] = _( "Launches a fiery ball at the\n" "target. It may cause a burn."); - + static const u8 sBehemothBladeDescription[] = _( "Strikes as a sword. Deals 2x\n" "damage to Dynamaxed foes."); - + static const u8 sBehemothBashDescription[] = _( "Attacks as a shield. Deals 2x\n" "damage to Dynamaxed foes."); - + static const u8 sAuraWheelDescription[] = _( "Raises Speed to attack. The\n" "Type is based on its form."); - + static const u8 sBreakingSwipeDescription[] = _( "Swings its tail to attack.\n" "Lowers the Atk of those hit."); - + static const u8 sBranchPokeDescription[] = _( "The user pokes the target\n" "with a pointed branch."); - + static const u8 sOverdriveDescription[] = _( "The user twangs its guitar,\n" "causing strong vibrations."); - + static const u8 sAppleAcidDescription[] = _( "Attacks with tart apple acid\n" "to lower the foe's Sp. Def."); - + static const u8 sGravAppleDescription[] = _( "Drops an apple from above.\n" "Lowers the foe's Defense."); - + static const u8 sSpiritBreakDescription[] = _( "Attacks with spirit-breaking\n" "force. Lowers Sp. Atk."); - + static const u8 sStrangeSteamDescription[] = _( "Emits a strange steam to\n" "potentially confuse the foe."); - + static const u8 sLifeDewDescription[] = _( "Scatters water to restore\n" "the HP of itself and allies."); - + static const u8 sObstructDescription[] = _( "Protects itself, harshly\n" "lowering Def on contact."); - + static const u8 sFalseSurrenderDescription[] = _( "Bows to stab the foe\n" "with hair. It never misses."); - + static const u8 sMeteorAssaultDescription[] = _( "Attacks with a thick leek.\n" "The user must then rest."); - + static const u8 sEternabeamDescription[] = _( "Eternatus' strongest move.\n" "The user rests next turn."); - + static const u8 sSteelBeamDescription[] = _( "Fires a beam of steel from\n" "its body. It hurts the user."); diff --git a/src/data/text/move_names.h b/src/data/text/move_names.h index ffa00e3f6..5f0a741cb 100644 --- a/src/data/text/move_names.h +++ b/src/data/text/move_names.h @@ -1604,7 +1604,7 @@ static const u8 sText_Menacing_Moonraze_Maelstrom[] = _("Menacing Moonraze Maels static const u8 sText_Light_That_Burns_The_Sky[] = _("Light That Burns The Sky"); static const u8 sText_Soul_Stealing_7_Star_Strike[] = _("Soul Stealing 7 Star Strike"); -const u8 *const gZMoveNames[] = +const u8 *const gZMoveNames[] = { [MOVE_BREAKNECK_BLITZ - FIRST_Z_MOVE] = sText_Breakneck_Blitz, [MOVE_ALL_OUT_PUMMELING - FIRST_Z_MOVE] = sText_All_Out_Pummeling, diff --git a/src/daycare.c b/src/daycare.c index 6108c6daa..18bc45eb0 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -261,7 +261,7 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon) CalculateMonStats(&pokemon); species = newSpecies; } - + if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_LEVEL) { experience = GetMonData(&pokemon, MON_DATA_EXP) + daycareMon->steps; @@ -1359,7 +1359,7 @@ static u8 ModifyBreedingScoreForOvalCharm(u8 score) return 88; } } - + return score; } diff --git a/src/debug.c b/src/debug.c index 4cc1ac616..950c82c8d 100644 --- a/src/debug.c +++ b/src/debug.c @@ -1493,7 +1493,7 @@ static void DebugAction_Flags_CatchingOnOff(u8 taskId) FlagToggle(B_FLAG_NO_CATCHING); #endif } - + // ******************************* // Actions Variables static void DebugAction_Vars_Vars(u8 taskId) @@ -2589,7 +2589,7 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu } //Pokedex entry - nationalDexNum = SpeciesToNationalPokedexNum(species); + nationalDexNum = SpeciesToNationalPokedexNum(species); switch(sentToPc) { case MON_GIVEN_TO_PARTY: diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 91a312222..39cf8e4c2 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -565,7 +565,7 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon *mon) SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_HELD_ITEM, &data); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_MARKINGS, &data); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_ENCRYPT_SEPARATOR, &data); - + #if P_SHEDINJA_BALL >= GEN_4 SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_POKEBALL, &ball); RemoveBagItem(ball, 1); diff --git a/src/item_use.c b/src/item_use.c index 44da67985..913c0700f 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -1188,7 +1188,7 @@ void ItemUseInBattle_EnigmaBerry(u8 taskId) } } -void ItemUseOutOfBattle_FormChange(u8 taskId) +void ItemUseOutOfBattle_FormChange(u8 taskId) { gItemUseCB = ItemUseCB_FormChange; gTasks[taskId].data[0] = FALSE; diff --git a/src/pokemon.c b/src/pokemon.c index f36f8acf2..c04d9236b 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3307,7 +3307,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, | (gSaveBlock2Ptr->playerTrainerId[1] << 8) | (gSaveBlock2Ptr->playerTrainerId[2] << 16) | (gSaveBlock2Ptr->playerTrainerId[3] << 24); - + if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) { u32 shinyValue; @@ -3415,7 +3415,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, } } #endif - + } if (gBaseStats[species].abilities[1]) @@ -5292,7 +5292,7 @@ u16 GetAbilityBySpecies(u16 species, u8 abilityNum) gLastUsedAbility = gBaseStats[species].abilities[abilityNum]; else gLastUsedAbility = ABILITY_NONE; - + if (abilityNum >= NUM_NORMAL_ABILITY_SLOTS) // if abilityNum is empty hidden ability, look for other hidden abilities { for (i = NUM_NORMAL_ABILITY_SLOTS; i < NUM_ABILITY_SLOTS && gLastUsedAbility == ABILITY_NONE; i++) @@ -5300,12 +5300,12 @@ u16 GetAbilityBySpecies(u16 species, u8 abilityNum) gLastUsedAbility = gBaseStats[species].abilities[i]; } } - + for (i = 0; i < NUM_ABILITY_SLOTS && gLastUsedAbility == ABILITY_NONE; i++) // look for any non-empty ability { gLastUsedAbility = gBaseStats[species].abilities[i]; } - + return gLastUsedAbility; } @@ -6346,7 +6346,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s { partnerSpecies = GetMonData(tradePartner, MON_DATA_SPECIES, 0); partnerHeldItem = GetMonData(tradePartner, MON_DATA_HELD_ITEM, 0); - + if (partnerHeldItem == ITEM_ENIGMA_BERRY) partnerHoldEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; else @@ -7717,7 +7717,7 @@ void SetWildMonHeldItem(void) { if (GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, NULL) != ITEM_NONE) continue; // prevent ovewriting previously set item - + rnd = Random() % 100; species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES, 0); if (gMapHeader.mapLayoutId == LAYOUT_ALTERING_CAVE) diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index 8775889fd..4168b7524 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -337,7 +337,7 @@ const u8 gFrontAnimNames[][34] = [ANIM_SHAKE_GLOW_WHITE_SLOW] = _("SHAKE GLOW WHITE SLOW"), [ANIM_SHAKE_GLOW_PURPLE_SLOW] = _("SHAKE GLOW PURPLE SLOW"), }; -const u8 gBattleBackgroundNames[][30] = +const u8 gBattleBackgroundNames[][30] = { [MAP_BATTLE_SCENE_NORMAL] = _("NORMAL "), [MAP_BATTLE_SCENE_GYM] = _("GYM "), @@ -354,7 +354,7 @@ const u8 gBattleBackgroundNames[][30] = [MAP_BATTLE_SCENE_KYOGRE] = _("KYOGRE "), [MAP_BATTLE_SCENE_RAYQUAZA] = _("RAYQUAZA "), }; -const u8 gBattleBackgroundTerrainNames[][26] = +const u8 gBattleBackgroundTerrainNames[][26] = { [BATTLE_TERRAIN_GRASS] = _("NORMAL - GRASS "), [BATTLE_TERRAIN_LONG_GRASS] = _("NORMAL - LONG GRASS "), @@ -403,13 +403,13 @@ static void PrintInstructionsOnWindow(struct PokemonDebugMenu *data) u8 textInstructionsSubmenuOneGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back {A_BUTTON} Submenu 2$"); u8 textInstructionsSubmenuTwo[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back$"); u8 textInstructionsSubmenuTwoGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back$"); - + u8 textBottom[] = _("BACK:\nFRONT:\nBG:$"); u8 textBottomForms[] = _("BACK:\nFRONT:\nBG:\nFORMS:$"); u8 textBottomSubmenuTwo[] = _("B coords:\nF coords:\nF elev:"); u16 species = data->modifyArrows.currValue; - + u8 textL[] = _("{L_BUTTON}"); u8 textR[] = _("{R_BUTTON}"); @@ -481,7 +481,7 @@ static void PrintDigitChars(struct PokemonDebugMenu *data) for (i = 0; i < data->modifyArrows.maxDigits; i++) text[i] = data->modifyArrows.charDigits[i]; - + text[i++] = CHAR_SPACE; text[i++] = CHAR_HYPHEN; @@ -490,7 +490,7 @@ static void PrintDigitChars(struct PokemonDebugMenu *data) if (data->isFemale) text[i++] = CHAR_FEMALE; else - text[i++] = CHAR_MALE; + text[i++] = CHAR_MALE; text[i++] = CHAR_HYPHEN; } @@ -641,7 +641,7 @@ static bool32 TryMoveDigit(struct PokemonDebugModifyArrows *modArrows, bool32 mo if (charDigits[modArrows->currentDigit] == CHAR_0) { charDigits[modArrows->currentDigit] = CHAR_9; - + for (i = modArrows->currentDigit - 1; i >= 0; i--) { if (charDigits[i] == CHAR_0) @@ -796,7 +796,7 @@ static u8 GetBattlerSpriteFinal_YCustom(u16 species, s8 offset_picCoords, s8 off //FrontPicCoords offset = gMonFrontPicCoords[species].y_offset + offset_picCoords; - + //Elevation offset -= GetElevationValue(species) + offset_elevation; @@ -805,7 +805,7 @@ static u8 GetBattlerSpriteFinal_YCustom(u16 species, s8 offset_picCoords, s8 off if (y > DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8) y = DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8; - + return y; } @@ -839,7 +839,7 @@ static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonDebugMenu *data, data->frontShadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y + 29, 0xC8); gSprites[data->frontShadowSpriteId].data[0] = data->frontspriteId; - + gSprites[data->frontShadowSpriteId].callback = SpriteCB_EnemyShadowCustom; gSprites[data->frontShadowSpriteId].oam.priority = 0; gSprites[data->frontShadowSpriteId].invisible = invisible; @@ -945,7 +945,7 @@ static void LoadBattleBg(u8 battleBgType, u8 battleTerrain) LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void*)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void*)(BG_SCREEN_ADDR(26))); LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, 0x20, 0x60); - break; + break; } } static void PrintBattleBgName(u8 taskId) @@ -1005,7 +1005,7 @@ static void UpdateBattleBg(u8 taskId, bool8 increment) { if (increment) data->battleBgType += 1; - else + else data->battleBgType -= 1; } @@ -1148,7 +1148,7 @@ void CB2_Debug_Pokemon(void) data->battleBgType = 0; data->battleTerrain = 0; LoadBattleBg(data->battleBgType , data->battleTerrain); - + gMain.state++; break; case 2: @@ -1377,7 +1377,7 @@ static void UpdateSubmenuOneOptionValue(u8 taskId, bool8 increment) data->animIdFront = sMonFrontAnimIdsTable[modArrows->currValue - 1]; UpdateMonAnimNames(taskId); ResetOffsetSpriteValues(data); - + UpdateBattlerValue(data); ReloadPokemonSprites(data); while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); @@ -1486,7 +1486,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) if (JOY_NEW(START_BUTTON)) { data->isShiny = !data->isShiny; - + if(data->isShiny) PlaySE(SE_SHINY); @@ -1641,7 +1641,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) data->submenuYpos[2] += 1; if (data->submenuYpos[2] >= 3) data->submenuYpos[2] = 0; - + data->yPosModifyArrows.currentDigit = data->submenuYpos[2]; gSprites[data->yPosModifyArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->yPosModifyArrows.currentDigit * 12; } @@ -1672,7 +1672,7 @@ static void ReloadPokemonSprites(struct PokemonDebugMenu *data) u16 species = data->currentmonId; s16 offset_y; u8 front_x = sBattlerCoords[0][1].x; - u8 front_y; + u8 front_y; DestroySprite(&gSprites[data->frontspriteId]); DestroySprite(&gSprites[data->backspriteId]); @@ -1706,7 +1706,7 @@ static void ReloadPokemonSprites(struct PokemonDebugMenu *data) gSprites[data->frontspriteId].oam.priority = 0; //Front Shadow LoadAndCreateEnemyShadowSpriteCustom(data, species); - + //Back HandleLoadSpecialPokePic(FALSE, gMonSpritesGfxPtr->sprites.ptr[2], species, (data->isFemale ? FEMALE_PERSONALITY : MALE_PERSONALITY)); BattleLoadOpponentMonSpriteGfxCustom(species, data->isFemale, data->isShiny, 5); @@ -1720,7 +1720,7 @@ static void ReloadPokemonSprites(struct PokemonDebugMenu *data) //Icon Sprite data->iconspriteId = CreateMonIcon(species, SpriteCB_MonIcon, DEBUG_ICON_X, DEBUG_ICON_Y, 4, (data->isFemale ? FEMALE_PERSONALITY : MALE_PERSONALITY)); gSprites[data->iconspriteId].oam.priority = 0; - + //Modify Arrows LoadSpritePalette(&gSpritePalette_Arrow); data->modifyArrows.arrowSpriteId[0] = CreateSprite(&gSpriteTemplate_Arrow, MODIFY_DIGITS_ARROW_X + (data->modifyArrows.currentDigit * 6), MODIFY_DIGITS_ARROW1_Y, 0); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 66bfa817c..a0193ff6e 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -3742,7 +3742,7 @@ static void PrintMoveDetails(u16 move) ShowSplitIcon(GetBattleMoveSplit(move)); #endif PrintMovePowerAndAccuracy(move); - + if (moveEffect != EFFECT_PLACEHOLDER) PrintTextOnWindow(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); else diff --git a/src/scrcmd.c b/src/scrcmd.c index 2813a37f3..e5ea3d5e1 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1885,7 +1885,7 @@ bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx) gIsScriptedWildDouble = FALSE; } else - { + { CreateScriptedDoubleWildMon(species, level, item, species2, level2, item2); gIsScriptedWildDouble = TRUE; } diff --git a/src/start_menu.c b/src/start_menu.c index a0cff087c..b79b25741 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -324,7 +324,7 @@ static void BuildNormalStartMenu(void) } static void BuildDebugStartMenu(void) -{ +{ AddStartMenuAction(MENU_ACTION_DEBUG); if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) AddStartMenuAction(MENU_ACTION_POKEDEX); diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 4e8aceb2b..8bf8c45e0 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -1006,7 +1006,7 @@ bool8 TryDoDoubleWildBattle(void) { if (GetSafariZoneFlag() || GetMonsStateToDoubles() != PLAYER_HAS_TWO_USABLE_MONS) return FALSE; -#if B_FLAG_FORCE_DOUBLE_WILD != 0 +#if B_FLAG_FORCE_DOUBLE_WILD != 0 else if (FlagGet(B_FLAG_FORCE_DOUBLE_WILD)) return TRUE; #endif diff --git a/tools/aif2pcm/main.c b/tools/aif2pcm/main.c index 720db1aca..0824b92da 100644 --- a/tools/aif2pcm/main.c +++ b/tools/aif2pcm/main.c @@ -238,7 +238,7 @@ void read_aif(struct Bytes *aif, AifData *aif_data) { FATAL_ERROR("More than one MARK Chunk in file!\n"); } - + markers = calloc(num_markers, sizeof(struct Marker)); // Read each marker. @@ -289,7 +289,7 @@ void read_aif(struct Bytes *aif, AifData *aif_data) // Skip NoLooping sustain loop. pos += 4; } - + // Skip release loop, we don't need it. pos += 6; } @@ -303,7 +303,7 @@ void read_aif(struct Bytes *aif, AifData *aif_data) { uint8_t *sample_data = (uint8_t *)malloc(num_samples * sizeof(uint8_t)); memcpy(sample_data, &aif->data[pos], num_samples); - + aif_data->samples8 = sample_data; aif_data->real_num_samples = num_samples; } @@ -316,7 +316,7 @@ void read_aif(struct Bytes *aif, AifData *aif_data) { sample_data_swapped[i] = __builtin_bswap16(sample_data[i]); } - + aif_data->samples16 = sample_data_swapped; aif_data->real_num_samples = num_samples; free(sample_data); @@ -329,12 +329,12 @@ void read_aif(struct Bytes *aif, AifData *aif_data) pos += chunk_size; } } - + if (markers) { // Resolve loop points. struct Marker *cur_marker = markers; - + // Grab loop start point. for (int i = 0; i < num_markers; i++, cur_marker++) { @@ -573,7 +573,7 @@ void aif2pcm(const char *aif_filename, const char *pcm_filename, bool compress) struct Bytes *aif = read_bytearray(aif_filename); AifData aif_data = {0}; read_aif(aif, &aif_data); - + // Convert 16-bit to 8-bit if necessary if (aif_data.sample_size == 16) { diff --git a/tools/gbagfx/font.c b/tools/gbagfx/font.c index 0dd6fbc3e..1251b5c64 100644 --- a/tools/gbagfx/font.c +++ b/tools/gbagfx/font.c @@ -26,7 +26,7 @@ static void ConvertFromLatinFont(unsigned char *src, unsigned char *dest, unsign unsigned int pixelsX = (column * 16) + ((glyphTile & 1) * 8); for (unsigned int i = 0; i < 8; i++) { - unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i; + unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i; unsigned int destPixelsOffset = (pixelsY * 64) + (pixelsX / 4); dest[destPixelsOffset] = src[srcPixelsOffset + 1]; @@ -75,7 +75,7 @@ static void ConvertFromHalfwidthJapaneseFont(unsigned char *src, unsigned char * for (unsigned int i = 0; i < 8; i++) { unsigned int pixelsY = (row * 16) + (glyphTile * 8) + i; unsigned int destPixelsOffset = (pixelsY * 32) + (pixelsX / 4); - + dest[destPixelsOffset] = src[srcPixelsOffset + 1]; dest[destPixelsOffset + 1] = src[srcPixelsOffset]; @@ -233,7 +233,7 @@ void ReadHalfwidthJapaneseFont(char *path, struct Image *image) FATAL_ERROR("The file size (%d) is not a multiple of %d.\n", fileSize, glyphSize); int numGlyphs = fileSize / glyphSize; - + if (numGlyphs % 16 != 0) FATAL_ERROR("The number of glyphs (%d) is not a multiple of 16.\n", numGlyphs); diff --git a/tools/jsonproc/inja.hpp b/tools/jsonproc/inja.hpp index d5bf5bcba..21478ea11 100755 --- a/tools/jsonproc/inja.hpp +++ b/tools/jsonproc/inja.hpp @@ -1675,7 +1675,7 @@ class FunctionStorage { #include #include -#include +#include #include // #include "bytecode.hpp" diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp index 8de9ff8d0..9b02350f0 100644 --- a/tools/mapjson/mapjson.cpp +++ b/tools/mapjson/mapjson.cpp @@ -77,8 +77,8 @@ string generate_map_header_text(Json map_data, Json layouts_data, string version ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" - << map_data["name"].string_value() + text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" + << map_data["name"].string_value() << "/map.json\n@\n\n"; text << map_data["name"].string_value() << ":\n" @@ -128,8 +128,8 @@ string generate_map_connections_text(Json map_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" - << map_data["name"].string_value() + text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" + << map_data["name"].string_value() << "/map.json\n@\n\n"; text << map_data["name"].string_value() << "_MapConnectionsList:\n"; @@ -154,8 +154,8 @@ string generate_map_events_text(Json map_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" - << map_data["name"].string_value() + text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" + << map_data["name"].string_value() << "/map.json\n@\n\n"; string objects_label, warps_label, coords_label, bgs_label; @@ -399,7 +399,7 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) { text << "// " << group.string_value() << "\n"; vector map_ids; size_t max_length = 0; - + int map_count = 0; //DEBUG for (auto &map_name : groups_data[group.string_value()].array_items()) { diff --git a/tools/preproc/c_file.cpp b/tools/preproc/c_file.cpp index 17a08cc9f..508c62873 100644 --- a/tools/preproc/c_file.cpp +++ b/tools/preproc/c_file.cpp @@ -383,7 +383,7 @@ void CFile::TryConvertIncbin() if (m_buffer[m_pos] == '\\') RaiseError("unexpected escape in path string"); - + m_pos++; } @@ -418,7 +418,7 @@ void CFile::TryConvertIncbin() m_pos++; } - + if (m_buffer[m_pos] != ')') RaiseError("expected ')'"); diff --git a/tools/preproc/charmap.cpp b/tools/preproc/charmap.cpp index a7bedfe26..a0c631026 100644 --- a/tools/preproc/charmap.cpp +++ b/tools/preproc/charmap.cpp @@ -119,7 +119,7 @@ Lhs CharmapReader::ReadLhs() break; } } - + if (m_buffer[m_pos] == '\'') { m_pos++; diff --git a/tools/scaninc/source_file.cpp b/tools/scaninc/source_file.cpp index df31282f8..9d188eb73 100644 --- a/tools/scaninc/source_file.cpp +++ b/tools/scaninc/source_file.cpp @@ -41,7 +41,7 @@ SourceFileType GetFileType(std::string& path) return SourceFileType::Inc; else FATAL_ERROR("Unrecognized extension \"%s\"\n", extension.c_str()); - + // Unreachable return SourceFileType::Cpp; } @@ -84,7 +84,7 @@ SourceFile::SourceFile(std::string path) else incbins.insert(outputPath); } - + new (&m_source_file.asm_wrapper) SourceFile::InnerUnion::AsmWrapper{incbins, includes}; } } From 2c205140357062d1d1d1c0ec6bb34493cb4255e9 Mon Sep 17 00:00:00 2001 From: TheXaman <48356183+TheXaman@users.noreply.github.com> Date: Wed, 14 Sep 2022 13:39:35 +0200 Subject: [PATCH 072/147] improved debug menu function declaration consistency --- src/debug.c | 62 ++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/debug.c b/src/debug.c index ac5c23831..e40ed4afe 100644 --- a/src/debug.c +++ b/src/debug.c @@ -174,33 +174,33 @@ struct DebugMonData // Define functions static void Debug_ShowMenu(void (*HandleInput)(u8), struct ListMenuTemplate LMtemplate); void Debug_ShowMainMenu(void); -static void Debug_DestroyMenu(u8); -static void Debug_DestroyMenu_Full(u8); -static void DebugAction_Cancel(u8); +static void Debug_DestroyMenu(u8 taskId); +static void Debug_DestroyMenu_Full(u8 taskId); +static void DebugAction_Cancel(u8 taskId); static void DebugAction_DestroyExtraWindow(u8 taskId); -static void DebugAction_Util_Script_1(u8); -static void DebugAction_Util_Script_2(u8); -static void DebugAction_Util_Script_3(u8); -static void DebugAction_Util_Script_4(u8); -static void DebugAction_Util_Script_5(u8); -static void DebugAction_Util_Script_6(u8); -static void DebugAction_Util_Script_7(u8); -static void DebugAction_Util_Script_8(u8); +static void DebugAction_Util_Script_1(u8 taskId); +static void DebugAction_Util_Script_2(u8 taskId); +static void DebugAction_Util_Script_3(u8 taskId); +static void DebugAction_Util_Script_4(u8 taskId); +static void DebugAction_Util_Script_5(u8 taskId); +static void DebugAction_Util_Script_6(u8 taskId); +static void DebugAction_Util_Script_7(u8 taskId); +static void DebugAction_Util_Script_8(u8 taskId); -static void DebugAction_OpenUtilitiesMenu(u8); -static void DebugAction_OpenScriptsMenu(u8); -static void DebugAction_OpenFlagsMenu(u8); -static void DebugAction_OpenVariablesMenu(u8); -static void DebugAction_OpenGiveMenu(u8); -static void DebugAction_OpenSoundMenu(u8); -static void DebugTask_HandleMenuInput_Main(u8); -static void DebugTask_HandleMenuInput_Utilities(u8); -static void DebugTask_HandleMenuInput_Scripts(u8); -static void DebugTask_HandleMenuInput_Flags(u8); -static void DebugTask_HandleMenuInput_Vars(u8); -static void DebugTask_HandleMenuInput_Give(u8); -static void DebugTask_HandleMenuInput_Sound(u8); +static void DebugAction_OpenUtilitiesMenu(u8 taskId); +static void DebugAction_OpenScriptsMenu(u8 taskId); +static void DebugAction_OpenFlagsMenu(u8 taskId); +static void DebugAction_OpenVariablesMenu(u8 taskId); +static void DebugAction_OpenGiveMenu(u8 taskId); +static void DebugAction_OpenSoundMenu(u8 taskId); +static void DebugTask_HandleMenuInput_Main(u8 taskId); +static void DebugTask_HandleMenuInput_Utilities(u8 taskId); +static void DebugTask_HandleMenuInput_Scripts(u8 taskId); +static void DebugTask_HandleMenuInput_Flags(u8 taskId); +static void DebugTask_HandleMenuInput_Vars(u8 taskId); +static void DebugTask_HandleMenuInput_Give(u8 taskId); +static void DebugTask_HandleMenuInput_Sound(u8 taskId); static void DebugAction_Util_HealParty(u8 taskId); static void DebugAction_Util_Fly(u8 taskId); @@ -210,13 +210,13 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId); static void DebugAction_Util_Warp_SelectWarp(u8 taskId); static void DebugAction_Util_RunningShoes(u8 taskId); static void DebugAction_Util_PoisonMons(u8 taskId); -static void DebugAction_Util_CheckSaveBlock(u8); -static void DebugAction_Util_CheckWallClock(u8); -static void DebugAction_Util_SetWallClock(u8); -static void DebugAction_Util_WatchCredits(u8); -static void DebugAction_Util_Trainer_Name(u8); -static void DebugAction_Util_Trainer_Gender(u8); -static void DebugAction_Util_Trainer_Id(u8); +static void DebugAction_Util_CheckSaveBlock(u8 taskId); +static void DebugAction_Util_CheckWallClock(u8 taskId); +static void DebugAction_Util_SetWallClock(u8 taskId); +static void DebugAction_Util_WatchCredits(u8 taskId); +static void DebugAction_Util_Trainer_Name(u8 taskId); +static void DebugAction_Util_Trainer_Gender(u8 taskId); +static void DebugAction_Util_Trainer_Id(u8 taskId); static void DebugAction_Flags_Flags(u8 taskId); static void DebugAction_Flags_FlagsSelect(u8 taskId); From 1e03b4747fa259d735dd958f6ea3b1dd7097f822 Mon Sep 17 00:00:00 2001 From: TheXaman <48356183+TheXaman@users.noreply.github.com> Date: Wed, 14 Sep 2022 13:43:26 +0200 Subject: [PATCH 073/147] debug menu: object events now frozen while open --- src/debug.c | 2 ++ src/field_control_avatar.c | 1 + src/start_menu.c | 1 + 3 files changed, 4 insertions(+) diff --git a/src/debug.c b/src/debug.c index e40ed4afe..38da0696f 100644 --- a/src/debug.c +++ b/src/debug.c @@ -709,6 +709,7 @@ static void Debug_DestroyMenu_Full(u8 taskId) ClearStdWindowAndFrame(gTasks[taskId].data[1], TRUE); RemoveWindow(gTasks[taskId].data[1]); DestroyTask(taskId); + UnfreezeObjectEvents(); } static void DebugAction_Cancel(u8 taskId) { @@ -725,6 +726,7 @@ static void DebugAction_DestroyExtraWindow(u8 taskId) DestroyTask(taskId); ScriptContext_Enable(); + UnfreezeObjectEvents(); } diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index d407cc027..c325b63e5 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -201,6 +201,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input) if (input->input_field_1_2) { PlaySE(SE_WIN_OPEN); + FreezeObjectEvents(); Debug_ShowMainMenu(); return TRUE; } diff --git a/src/start_menu.c b/src/start_menu.c index a0cff087c..388b2ce35 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -761,6 +761,7 @@ static bool8 StartMenuDebugCallback(void) HideStartMenuDebug(); // Hide start menu without enabling movement #if DEBUG_SYSTEM_ENABLE == TRUE + FreezeObjectEvents(); Debug_ShowMainMenu(); #endif From ef4e64c2f7d00053a16cc06672762ba8875c4aa1 Mon Sep 17 00:00:00 2001 From: TheXaman <48356183+TheXaman@users.noreply.github.com> Date: Wed, 14 Sep 2022 14:51:03 +0200 Subject: [PATCH 074/147] -added a submenu to set the weather -lowest flag is 1 --- src/debug.c | 171 +++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 148 insertions(+), 23 deletions(-) diff --git a/src/debug.c b/src/debug.c index 38da0696f..464835d3d 100644 --- a/src/debug.c +++ b/src/debug.c @@ -18,6 +18,7 @@ #include "event_scripts.h" #include "field_message_box.h" #include "field_screen_effect.h" +#include "field_weather.h" #include "international_string_util.h" #include "item.h" #include "item_icon.h" @@ -55,6 +56,7 @@ #include "constants/rgb.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/weather.h" #if DEBUG_SYSTEM_ENABLE == TRUE // ******************************* @@ -76,6 +78,7 @@ enum { // Util DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES, DEBUG_UTIL_MENU_ITEM_POISON_MONS, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK, + DEBUG_UTIL_MENU_ITEM_WEATHER, DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK, DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK, DEBUG_UTIL_MENU_ITEM_WATCHCREDITS, @@ -135,6 +138,8 @@ enum { //Sound #define DEBUG_NUMBER_DISPLAY_WIDTH 10 #define DEBUG_NUMBER_DISPLAY_HEIGHT 4 +#define DEBUG_NUMBER_DISPLAY_MEDIUM_WIDTH 15 +#define DEBUG_NUMBER_DISPLAY_MEDIUM_HEIGHT 3 #define DEBUG_NUMBER_DISPLAY_SOUND_WIDTH 20 #define DEBUG_NUMBER_DISPLAY_SOUND_HEIGHT 6 @@ -211,6 +216,8 @@ static void DebugAction_Util_Warp_SelectWarp(u8 taskId); static void DebugAction_Util_RunningShoes(u8 taskId); static void DebugAction_Util_PoisonMons(u8 taskId); static void DebugAction_Util_CheckSaveBlock(u8 taskId); +static void DebugAction_Util_Weather(u8 taskId); +static void DebugAction_Util_Weather_SelectId(u8 taskId); static void DebugAction_Util_CheckWallClock(u8 taskId); static void DebugAction_Util_SetWallClock(u8 taskId); static void DebugAction_Util_WatchCredits(u8 taskId); @@ -317,6 +324,8 @@ static const u8 gDebugText_Util_WarpToMap_SelMax[] = _("{STR_VAR_1} / {S static const u8 gDebugText_Util_RunningShoes[] = _("Toggle Running Shoes"); static const u8 gDebugText_Util_PoisonMons[] = _("Poison all mons"); static const u8 gDebugText_Util_SaveBlockSpace[] = _("SaveBlock Space"); +static const u8 gDebugText_Util_Weather[] = _("Set weather"); +static const u8 gDebugText_Util_Weather_ID[] = _("Weather Id: {STR_VAR_3}\n{STR_VAR_1}\n{STR_VAR_2}"); static const u8 gDebugText_Util_CheckWallClock[] = _("Check Wall Clock"); static const u8 gDebugText_Util_SetWallClock[] = _("Set Wall Clock"); static const u8 gDebugText_Util_WatchCredits[] = _("Watch Credits"); @@ -437,6 +446,7 @@ static const struct ListMenuItem sDebugMenu_Items_Utilities[] = [DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES] = {gDebugText_Util_RunningShoes, DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES}, [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = {gDebugText_Util_PoisonMons, DEBUG_UTIL_MENU_ITEM_POISON_MONS}, [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = {gDebugText_Util_SaveBlockSpace, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK}, + [DEBUG_UTIL_MENU_ITEM_WEATHER] = {gDebugText_Util_Weather, DEBUG_UTIL_MENU_ITEM_WEATHER}, [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = {gDebugText_Util_CheckWallClock, DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK}, [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = {gDebugText_Util_SetWallClock, DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK}, [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = {gDebugText_Util_WatchCredits, DEBUG_UTIL_MENU_ITEM_WATCHCREDITS}, @@ -515,6 +525,7 @@ static void (*const sDebugMenu_Actions_Utilities[])(u8) = [DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES] = DebugAction_Util_RunningShoes, [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = DebugAction_Util_PoisonMons, [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = DebugAction_Util_CheckSaveBlock, + [DEBUG_UTIL_MENU_ITEM_WEATHER] = DebugAction_Util_Weather, [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = DebugAction_Util_CheckWallClock, [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = DebugAction_Util_SetWallClock, [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = DebugAction_Util_WatchCredits, @@ -595,6 +606,16 @@ static const struct WindowTemplate sDebugNumberDisplayWindowTemplate = .paletteNum = 15, .baseBlock = 1, }; +static const struct WindowTemplate sDebugNumberDisplayMediumWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 30 - DEBUG_NUMBER_DISPLAY_MEDIUM_WIDTH - 1, + .tilemapTop = 1, + .width = DEBUG_NUMBER_DISPLAY_MEDIUM_WIDTH, + .height = 2 * DEBUG_NUMBER_DISPLAY_MEDIUM_HEIGHT, + .paletteNum = 15, + .baseBlock = 1, +}; static const struct WindowTemplate sDebugNumberDisplayLargeWindowTemplate = { .bg = 0, @@ -1023,23 +1044,23 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) if (gMain.newKeys & DPAD_UP) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; - if(gTasks[taskId].data[3] > max_value - 1) + if (gTasks[taskId].data[3] > max_value - 1) gTasks[taskId].data[3] = max_value - 1; } - if(gMain.newKeys & DPAD_DOWN) + if (gMain.newKeys & DPAD_DOWN) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } - if(gMain.newKeys & DPAD_LEFT) + if (gMain.newKeys & DPAD_LEFT) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } if (gMain.newKeys & DPAD_RIGHT) { - if(gTasks[taskId].data[4] < 2) + if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; } @@ -1075,16 +1096,16 @@ static void DebugAction_Util_Warp_SelectWarp(u8 taskId) if (gMain.newKeys & DPAD_ANY) { PlaySE(SE_SELECT); - if(gMain.newKeys & DPAD_UP) + if (gMain.newKeys & DPAD_UP) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; - if(gTasks[taskId].data[3] > 10) + if (gTasks[taskId].data[3] > 10) gTasks[taskId].data[3] = 10; } - if(gMain.newKeys & DPAD_DOWN) + if (gMain.newKeys & DPAD_DOWN) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; - if(gTasks[taskId].data[3] < 0) + if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } @@ -1154,6 +1175,110 @@ static void DebugAction_Util_CheckSaveBlock(u8 taskId) LockPlayerFieldControls(); ScriptContext_SetupScript(Debug_ShowFieldMessageStringVar4); } + +static const u8 sWeatherNames[22][24] = { + [WEATHER_NONE] = _("NONE"), + [WEATHER_SUNNY_CLOUDS] = _("SUNNY CLOUDS"), + [WEATHER_SUNNY] = _("SUNNY"), + [WEATHER_RAIN] = _("RAIN"), + [WEATHER_SNOW] = _("SNOW"), + [WEATHER_RAIN_THUNDERSTORM] = _("RAIN THUNDERSTORM"), + [WEATHER_FOG_HORIZONTAL] = _("FOG HORIZONTAL"), + [WEATHER_VOLCANIC_ASH] = _("VOLCANIC ASH"), + [WEATHER_SANDSTORM] = _("SANDSTORM"), + [WEATHER_FOG_DIAGONAL] = _("FOG DIAGONAL"), + [WEATHER_UNDERWATER] = _("UNDERWATER"), + [WEATHER_SHADE] = _("SHADE"), + [WEATHER_DROUGHT] = _("DROUGHT"), + [WEATHER_DOWNPOUR] = _("DOWNPOUR"), + [WEATHER_UNDERWATER_BUBBLES] = _("UNDERWATER BUBBLES"), + [WEATHER_ABNORMAL] = _("ABNORMAL(NOT WORKING)"), + [WEATHER_ROUTE119_CYCLE] = _("ROUTE119 CYCLE"), + [WEATHER_ROUTE123_CYCLE] = _("ROUTE123 CYCLE"), +}; +static const u8 sText_WeatherNotDefined[] = _("NOT DEFINED!!!"); +static void DebugAction_Util_Weather(u8 taskId) +{ + u8 windowId; + + ClearStdWindowAndFrame(gTasks[taskId].data[1], TRUE); + RemoveWindow(gTasks[taskId].data[1]); + + HideMapNamePopUpWindow(); + LoadMessageBoxAndBorderGfx(); + windowId = AddWindow(&sDebugNumberDisplayMediumWindowTemplate); + DrawStdWindowFrame(windowId, FALSE); + + CopyWindowToVram(windowId, 3); + + //Display initial ID + StringCopy(gStringVar2, gText_DigitIndicator[0]); + ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, 2); + StringCopyPadded(gStringVar1, sWeatherNames[0], CHAR_SPACE, 30); + StringExpandPlaceholders(gStringVar4, gDebugText_Util_Weather_ID); + AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); + + gTasks[taskId].func = DebugAction_Util_Weather_SelectId; + gTasks[taskId].data[2] = windowId; + gTasks[taskId].data[3] = 0; //Current ID + gTasks[taskId].data[4] = 0; //Digit Selected +} +static void DebugAction_Util_Weather_SelectId(u8 taskId) +{ + if (gMain.newKeys & DPAD_ANY) + { + PlaySE(SE_SELECT); + + if (gMain.newKeys & DPAD_UP) + { + gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; + if (gTasks[taskId].data[3] > WEATHER_ROUTE123_CYCLE) + gTasks[taskId].data[3] = WEATHER_ROUTE123_CYCLE; + } + if (gMain.newKeys & DPAD_DOWN) + { + gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; + if (gTasks[taskId].data[3] < WEATHER_NONE) + gTasks[taskId].data[3] = WEATHER_NONE; + } + if (gMain.newKeys & DPAD_LEFT) + { + if (gTasks[taskId].data[4] > 0) + gTasks[taskId].data[4] -= 1; + } + if (gMain.newKeys & DPAD_RIGHT) + { + if (gTasks[taskId].data[4] < 2) + gTasks[taskId].data[4] += 1; + } + + StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); + ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); + + if (gTasks[taskId].data[3] <= 15 || gTasks[taskId].data[3] >= 20) + StringCopyPadded(gStringVar1, sWeatherNames[gTasks[taskId].data[3]], CHAR_SPACE, 30); + else + StringCopyPadded(gStringVar1, sText_WeatherNotDefined, CHAR_SPACE, 30); + + StringExpandPlaceholders(gStringVar4, gDebugText_Util_Weather_ID); + AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); + } + + if (gMain.newKeys & A_BUTTON) + { + if (gTasks[taskId].data[3] <= 14 || gTasks[taskId].data[3] >= 20) + { + gTasks[taskId].data[5] = gTasks[taskId].data[3]; + SetWeather(gTasks[taskId].data[5]); + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + DebugAction_DestroyExtraWindow(taskId); + } +} + static void DebugAction_Util_CheckWallClock(u8 taskId) { Debug_DestroyMenu_Full(taskId); @@ -1179,7 +1304,7 @@ static void DebugAction_Util_Trainer_Name(u8 taskId) } static void DebugAction_Util_Trainer_Gender(u8 taskId) { - if(gSaveBlock2Ptr->playerGender == 0) // 0 Male, 1 Female + if (gSaveBlock2Ptr->playerGender == 0) // 0 Male, 1 Female gSaveBlock2Ptr->playerGender = 1; else gSaveBlock2Ptr->playerGender = 0; @@ -1262,10 +1387,10 @@ static void DebugAction_Flags_Flags(u8 taskId) CopyWindowToVram(windowId, 3); //Display initial Flag - ConvertIntToDecimalStringN(gStringVar1, 0, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); - ConvertIntToHexStringN(gStringVar2, 0, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); + ConvertIntToHexStringN(gStringVar2, 1, STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar1, gDebugText_Flags_FlagHex); - if (FlagGet(0) == TRUE) + if (FlagGet(FLAG_TEMP_1) == TRUE) StringCopyPadded(gStringVar2, gDebugText_Flags_FlagSet, CHAR_SPACE, 15); else StringCopyPadded(gStringVar2, gDebugText_Flags_FlagUnset, CHAR_SPACE, 15); @@ -1275,8 +1400,8 @@ static void DebugAction_Flags_Flags(u8 taskId) gTasks[taskId].func = DebugAction_Flags_FlagsSelect; gTasks[taskId].data[2] = windowId; - gTasks[taskId].data[3] = 0; //Current Flag - gTasks[taskId].data[4] = 0; //Digit Selected + gTasks[taskId].data[3] = FLAG_TEMP_1; //Current Flag + gTasks[taskId].data[4] = 0; //Digit Selected } static void DebugAction_Flags_FlagsSelect(u8 taskId) { @@ -1301,8 +1426,8 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) { PlaySE(SE_SELECT); gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; - if (gTasks[taskId].data[3] < 0){ - gTasks[taskId].data[3] = 0; + if (gTasks[taskId].data[3] < 1){ + gTasks[taskId].data[3] = 1; } } if (gMain.newKeys & DPAD_LEFT) @@ -1541,7 +1666,7 @@ static void DebugAction_Vars_Select(u8 taskId) if (gMain.newKeys & DPAD_UP) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; - if(gTasks[taskId].data[3] > VARS_END) + if (gTasks[taskId].data[3] > VARS_END) gTasks[taskId].data[3] = VARS_END; } if (gMain.newKeys & DPAD_DOWN) @@ -1553,7 +1678,7 @@ static void DebugAction_Vars_Select(u8 taskId) if (gMain.newKeys & DPAD_LEFT) { gTasks[taskId].data[4] -= 1; - if(gTasks[taskId].data[4] < 0) + if (gTasks[taskId].data[4] < 0) gTasks[taskId].data[4] = 0; } if (gMain.newKeys & DPAD_RIGHT) @@ -1613,7 +1738,7 @@ static void DebugAction_Vars_Select(u8 taskId) } static void DebugAction_Vars_SetValue(u8 taskId) { - if(gMain.newKeys & DPAD_UP) + if (gMain.newKeys & DPAD_UP) { if (gTasks[taskId].data[6] + sPowersOfTen[gTasks[taskId].data[4]] <= 32000) gTasks[taskId].data[6] += sPowersOfTen[gTasks[taskId].data[4]]; @@ -1623,7 +1748,7 @@ static void DebugAction_Vars_SetValue(u8 taskId) if (gTasks[taskId].data[6] >= 32000) gTasks[taskId].data[6] = 32000 - 1; } - if(gMain.newKeys & DPAD_DOWN) + if (gMain.newKeys & DPAD_DOWN) { gTasks[taskId].data[6] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[6] < 0){ @@ -1719,7 +1844,7 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) if (gMain.newKeys & DPAD_UP) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; - if(gTasks[taskId].data[3] >= ITEMS_COUNT) + if (gTasks[taskId].data[3] >= ITEMS_COUNT) gTasks[taskId].data[3] = ITEMS_COUNT - 1; } if (gMain.newKeys & DPAD_DOWN) @@ -1730,7 +1855,7 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) } if (gMain.newKeys & DPAD_LEFT) { - if(gTasks[taskId].data[4] > 0) + if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } if (gMain.newKeys & DPAD_RIGHT) @@ -2150,7 +2275,7 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) if (gMain.newKeys & DPAD_DOWN) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; - if(gTasks[taskId].data[3] < 0) + if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } From 492380bd24912a80be4e7a14e8e4bf8355c277fd Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 14 Sep 2022 12:20:59 -0300 Subject: [PATCH 075/147] gReservedSpritePaletteCount using MAX_BATTLERS_COUNT for battles --- src/battle_main.c | 6 +++--- src/reshow_battle_screen.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/battle_main.c b/src/battle_main.c index 52a100598..903588fe7 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -665,7 +665,7 @@ static void CB2_InitBattleInternal(void) ResetTasks(); DrawBattleEntryBackground(); FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; SetVBlankCallback(VBlankCB_Battle); SetUpBattleVarsAndBirchZigzagoon(); @@ -2221,7 +2221,7 @@ void CB2_InitEndLinkBattle(void) DrawBattleEntryBackground(); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; SetVBlankCallback(VBlankCB_Battle); // Show end Vs screen with battle results @@ -2425,7 +2425,7 @@ static void CB2_InitAskRecordBattle(void) ResetSpriteData(); ResetTasks(); FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; SetVBlankCallback(VBlankCB_Battle); SetMainCallback2(CB2_AskRecordBattle); BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK); diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 4217d78c7..fd2ed03cc 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -73,7 +73,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) break; case 4: FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; break; case 5: ClearSpritesHealthboxAnimData(); From bca1267ca84af5dab9f82ec1c2209c786eb1f6b7 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 15 Sep 2022 14:52:18 -0300 Subject: [PATCH 076/147] Altered MAX_FRONTIER_PARTY_SIZE to be automatically calculated by the other frontier party sizes --- include/constants/global.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/constants/global.h b/include/constants/global.h index 2a0ac7d6f..8e40e6378 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -35,7 +35,9 @@ #define FRONTIER_PARTY_SIZE 3 #define FRONTIER_DOUBLES_PARTY_SIZE 4 #define FRONTIER_MULTI_PARTY_SIZE 2 -#define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE +#define MAX_FRONTIER_PARTY_SIZE (max(FRONTIER_PARTY_SIZE, \ + max(FRONTIER_DOUBLES_PARTY_SIZE,\ + FRONTIER_MULTI_PARTY_SIZE))) #define UNION_ROOM_PARTY_SIZE 2 // capacities of various saveblock objects From 20190ac85a7f5b744a799567033459052c151f7f Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Thu, 15 Sep 2022 18:34:15 -0400 Subject: [PATCH 077/147] fix ai switch semi invulnerable --- src/battle_ai_switch_items.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 4948113a2..f6ce4622f 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -370,7 +370,7 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) //Pass Wish Heal //Semi-Invulnerable - if (gStatuses3[opposingBattler] & STATUS3_SEMI_INVULNERABLE) + if (gStatuses3[opposingBattler] & STATUS3_SEMI_INVULNERABLE) { if (FindMonThatAbsorbsOpponentsMove()) //If find absorber default to switch switchMon = TRUE; if (!AI_OpponentCanFaintAiWithMod(0) @@ -380,6 +380,7 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) && !WillAIStrikeFirst() && !AI_OpponentCanFaintAiWithMod(0)) switchMon = FALSE; + } } if (switchMon) From 95a3ead254a27afcc1054418f056a660f95d35bf Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Thu, 15 Sep 2022 22:10:39 -0400 Subject: [PATCH 078/147] styling fix --- src/battle_ai_switch_items.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index f6ce4622f..3c3410e30 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -370,7 +370,8 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) //Pass Wish Heal //Semi-Invulnerable - if (gStatuses3[opposingBattler] & STATUS3_SEMI_INVULNERABLE) { + if (gStatuses3[opposingBattler] & STATUS3_SEMI_INVULNERABLE) + { if (FindMonThatAbsorbsOpponentsMove()) //If find absorber default to switch switchMon = TRUE; if (!AI_OpponentCanFaintAiWithMod(0) From 672f572ff8b288a7a421032ed7a36e6596c229b4 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 16 Sep 2022 11:04:30 -0300 Subject: [PATCH 079/147] Config to limit the moves called by Metronome (by generation) --- include/constants/battle_config.h | 1 + src/battle_script_commands.c | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index b8d7c9f8a..4b6c0cc1e 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -86,6 +86,7 @@ #define B_HEAL_BLOCKING GEN_LATEST // In Gen5+, Heal Block prevents healing by Black Sludge, Leftovers, Shell Bell. Affected Pokémon will not consume held HP-restoring Berries or Berry Juice. // Draining abilities will not heal but will prevent damage. In Gen6+, Heal Block prevents the use of most HP-draining moves. #define B_ROOTED_GROUNDING GEN_LATEST // In Gen4+, Ingrain causes the affected Pokémon to become grounded. +#define B_METRONOME_MOVES GEN_LATEST // This config will determine up to which generation will Metronome pull moves from. // Ability settings #define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b03220066..f5884d206 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -11472,9 +11472,23 @@ static void Cmd_mimicattackcopy(void) static void Cmd_metronome(void) { +#if B_METRONOME_MOVES >= GEN_8 + u16 moveCount = MOVES_COUNT_GEN8; +#elif B_METRONOME_MOVES >= GEN_7 + u16 moveCount = MOVES_COUNT_GEN7; +#elif B_METRONOME_MOVES >= GEN_6 + u16 moveCount = MOVES_COUNT_GEN6; +#elif B_METRONOME_MOVES >= GEN_5 + u16 moveCount = MOVES_COUNT_GEN5; +#elif B_METRONOME_MOVES >= GEN_4 + u16 moveCount = MOVES_COUNT_GEN4; +#elif B_METRONOME_MOVES >= GEN_3 + u16 moveCount = MOVES_COUNT_GEN3; +#endif + while (TRUE) { - gCurrentMove = (Random() % (MOVES_COUNT - 1)) + 1; + gCurrentMove = (Random() % (moveCount - 1)) + 1; if (gBattleMoves[gCurrentMove].effect == EFFECT_PLACEHOLDER) continue; From 63156b4398213bc89fb6666f2126f751902a4d84 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 16 Sep 2022 20:24:26 -0300 Subject: [PATCH 080/147] Removed malloc macro --- gflib/malloc.h | 1 - src/decoration.c | 2 +- src/diploma.c | 2 +- src/easy_chat.c | 2 +- src/event_object_movement.c | 2 +- src/field_region_map.c | 2 +- src/link.c | 2 +- src/record_mixing.c | 6 +++--- src/region_map.c | 2 +- src/tv.c | 4 ++-- 10 files changed, 12 insertions(+), 13 deletions(-) diff --git a/gflib/malloc.h b/gflib/malloc.h index 8d49e0be7..27004adf7 100644 --- a/gflib/malloc.h +++ b/gflib/malloc.h @@ -2,7 +2,6 @@ #define GUARD_ALLOC_H #define HEAP_SIZE 0x1C000 -#define malloc Alloc #define calloc(ct, sz) AllocZeroed((ct) * (sz)) #define free Free diff --git a/src/decoration.c b/src/decoration.c index c5c7c02c3..2384daa80 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2060,7 +2060,7 @@ static u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 palette.data = GetDecorationIconPicOrPalette(decor, 1); palette.tag = paletteTag; LoadCompressedSpritePalette(&palette); - template = malloc(sizeof(struct SpriteTemplate)); + template = Alloc(sizeof(struct SpriteTemplate)); *template = gItemIconSpriteTemplate; template->tileTag = tilesTag; template->paletteTag = paletteTag; diff --git a/src/diploma.c b/src/diploma.c index ce31578dc..a30d71554 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -73,7 +73,7 @@ void CB2_ShowDiploma(void) ResetPaletteFade(); FreeAllSpritePalettes(); LoadPalette(sDiplomaPalettes, 0, 64); - sDiplomaTilemapPtr = malloc(0x1000); + sDiplomaTilemapPtr = Alloc(0x1000); InitDiplomaBg(); InitDiplomaWindow(); ResetTempTileDataBuffers(); diff --git a/src/easy_chat.c b/src/easy_chat.c index ebc843b3c..054c65c0f 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -1627,7 +1627,7 @@ static bool8 InitEasyChatScreenStruct(u8 type, u16 *words, u8 displayedPersonTyp u8 templateId; int i; - sEasyChatScreen = malloc(sizeof(*sEasyChatScreen)); + sEasyChatScreen = Alloc(sizeof(*sEasyChatScreen)); if (sEasyChatScreen == NULL) return FALSE; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index a63eeb22b..83f12c4bb 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1537,7 +1537,7 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), struct Sprite *sprite; u8 spriteId; - spriteTemplate = malloc(sizeof(struct SpriteTemplate)); + spriteTemplate = Alloc(sizeof(struct SpriteTemplate)); CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, callback, spriteTemplate, &subspriteTables); if (spriteTemplate->paletteTag != TAG_NONE) LoadObjectEventPalette(spriteTemplate->paletteTag); diff --git a/src/field_region_map.c b/src/field_region_map.c index 5e14920fb..43055174f 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -92,7 +92,7 @@ static const struct WindowTemplate sFieldRegionMapWindowTemplates[] = void FieldInitRegionMap(MainCallback callback) { SetVBlankCallback(NULL); - sFieldRegionMapHandler = malloc(sizeof(*sFieldRegionMapHandler)); + sFieldRegionMapHandler = Alloc(sizeof(*sFieldRegionMapHandler)); sFieldRegionMapHandler->state = 0; sFieldRegionMapHandler->callback = callback; SetMainCallback2(MCB2_InitRegionMapRegisters); diff --git a/src/link.c b/src/link.c index 57e33c811..b01be9d89 100644 --- a/src/link.c +++ b/src/link.c @@ -1608,7 +1608,7 @@ void CB2_LinkError(void) SetVBlankCallback(VBlankCB_LinkError); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sLinkErrorBgTemplates, ARRAY_COUNT(sLinkErrorBgTemplates)); - sLinkErrorBgTilemapBuffer = tilemapBuffer = malloc(BG_SCREEN_SIZE); + sLinkErrorBgTilemapBuffer = tilemapBuffer = Alloc(BG_SCREEN_SIZE); SetBgTilemapBuffer(1, tilemapBuffer); if (InitWindows(sLinkErrorWindowTemplates)) { diff --git a/src/record_mixing.c b/src/record_mixing.c index c899db25e..72edd52f2 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -315,8 +315,8 @@ static void Task_RecordMixing_Main(u8 taskId) switch (tState) { case 0: // init - sSentRecord = malloc(sizeof(*sSentRecord)); - sReceivedRecords = malloc(sizeof(*sReceivedRecords) * MAX_LINK_PLAYERS); + sSentRecord = Alloc(sizeof(*sSentRecord)); + sReceivedRecords = Alloc(sizeof(*sReceivedRecords) * MAX_LINK_PLAYERS); SetLocalLinkPlayerId(gSpecialVar_0x8005); VarSet(VAR_TEMP_0, 1); sReadyToReceive = FALSE; @@ -689,7 +689,7 @@ static void ReceiveLilycoveLadyData(LilycoveLady *records, size_t recordSize, u8 if (GetLilycoveLadyId() == 0) { - lilycoveLady = malloc(sizeof(*lilycoveLady)); + lilycoveLady = Alloc(sizeof(*lilycoveLady)); if (lilycoveLady == NULL) return; diff --git a/src/region_map.c b/src/region_map.c index a4db1cb04..8157f8a4e 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1664,7 +1664,7 @@ void CB2_OpenFlyMap(void) SetGpuReg(REG_OFFSET_BG2HOFS, 0); SetGpuReg(REG_OFFSET_BG3HOFS, 0); SetGpuReg(REG_OFFSET_BG3VOFS, 0); - sFlyMap = malloc(sizeof(*sFlyMap)); + sFlyMap = Alloc(sizeof(*sFlyMap)); if (sFlyMap == NULL) { SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); diff --git a/src/tv.c b/src/tv.c index 0c394acf7..fe663bb35 100644 --- a/src/tv.c +++ b/src/tv.c @@ -3450,7 +3450,7 @@ void ReceiveTvShowsData(void *src, u32 size, u8 playersLinkId) TVShow (*rmBuffer2)[MAX_LINK_PLAYERS][TV_SHOWS_COUNT]; TVShow (*rmBuffer)[MAX_LINK_PLAYERS][TV_SHOWS_COUNT]; - rmBuffer2 = malloc(MAX_LINK_PLAYERS * TV_SHOWS_COUNT * sizeof(TVShow)); + rmBuffer2 = Alloc(MAX_LINK_PLAYERS * TV_SHOWS_COUNT * sizeof(TVShow)); if (rmBuffer2 != NULL) { for (i = 0; i < MAX_LINK_PLAYERS; i++) @@ -3835,7 +3835,7 @@ void ReceivePokeNewsData(void *src, u32 size, u8 playersLinkId) PokeNews (*rmBuffer2)[MAX_LINK_PLAYERS][POKE_NEWS_COUNT]; PokeNews (*rmBuffer)[MAX_LINK_PLAYERS][POKE_NEWS_COUNT]; - rmBuffer2 = malloc(MAX_LINK_PLAYERS * POKE_NEWS_COUNT * sizeof(PokeNews)); + rmBuffer2 = Alloc(MAX_LINK_PLAYERS * POKE_NEWS_COUNT * sizeof(PokeNews)); if (rmBuffer2 != NULL) { for (i = 0; i < MAX_LINK_PLAYERS; i++) From e412ec30a0d9ddcf1a1cc427488fdc8279ae08a6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 16 Sep 2022 20:34:22 -0300 Subject: [PATCH 081/147] Removed calloc macro --- gflib/malloc.h | 1 - src/frontier_util.c | 6 +++--- src/link_rfu_3.c | 2 +- src/mail.c | 2 +- src/secret_base.c | 2 +- src/tv.c | 2 +- 6 files changed, 7 insertions(+), 8 deletions(-) diff --git a/gflib/malloc.h b/gflib/malloc.h index 27004adf7..e21bd5a2c 100644 --- a/gflib/malloc.h +++ b/gflib/malloc.h @@ -2,7 +2,6 @@ #define GUARD_ALLOC_H #define HEAP_SIZE 0x1C000 -#define calloc(ct, sz) AllocZeroed((ct) * (sz)) #define free Free #define FREE_AND_SET_NULL(ptr) \ diff --git a/src/frontier_util.c b/src/frontier_util.c index f5dde452f..7906df736 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -2271,7 +2271,7 @@ static void Fill1PRecords(struct RankingHall1P *dst, s32 hallFacilityId, s32 lvl { s32 i, j; struct RankingHall1P record1P[HALL_RECORDS_COUNT + 1]; - struct PlayerHallRecords *playerHallRecords = calloc(1, sizeof(struct PlayerHallRecords)); + struct PlayerHallRecords *playerHallRecords = AllocZeroed(sizeof(struct PlayerHallRecords)); GetPlayerHallRecords(playerHallRecords); for (i = 0; i < HALL_RECORDS_COUNT; i++) @@ -2305,7 +2305,7 @@ static void Fill2PRecords(struct RankingHall2P *dst, s32 lvlMode) { s32 i, j; struct RankingHall2P record2P[HALL_RECORDS_COUNT + 1]; - struct PlayerHallRecords *playerHallRecords = calloc(1, sizeof(struct PlayerHallRecords)); + struct PlayerHallRecords *playerHallRecords = AllocZeroed(sizeof(struct PlayerHallRecords)); GetPlayerHallRecords(playerHallRecords); for (i = 0; i < HALL_RECORDS_COUNT; i++) @@ -2421,7 +2421,7 @@ void ClearRankingHallRecords(void) void SaveGameFrontier(void) { s32 i; - struct Pokemon *monsParty = calloc(PARTY_SIZE, sizeof(struct Pokemon)); + struct Pokemon *monsParty = AllocZeroed(sizeof(struct Pokemon) * PARTY_SIZE); for (i = 0; i < PARTY_SIZE; i++) monsParty[i] = gPlayerParty[i]; diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index 0825daea2..26102a8c3 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -913,7 +913,7 @@ void SaveLinkTrainerNames(void) s32 j; s32 nextSpace; s32 connectedTrainerRecordIndices[MAX_RFU_PLAYERS]; - struct TrainerNameRecord *newRecords = calloc(ARRAY_COUNT(gSaveBlock1Ptr->trainerNameRecords), sizeof(struct TrainerNameRecord)); + struct TrainerNameRecord *newRecords = AllocZeroed(sizeof(gSaveBlock1Ptr->trainerNameRecords)); // Check if we already have a record saved for connected trainers. for (i = 0; i < GetLinkPlayerCount(); i++) diff --git a/src/mail.c b/src/mail.c index 651fcbb84..f1e4fbedf 100644 --- a/src/mail.c +++ b/src/mail.c @@ -448,7 +448,7 @@ void ReadMail(struct Mail *mail, void (*exitCallback)(void), bool8 hasText) u16 buffer[2]; u16 species; - sMailRead = calloc(1, sizeof(*sMailRead)); + sMailRead = AllocZeroed(sizeof(*sMailRead)); sMailRead->language = GAME_LANGUAGE; sMailRead->international = TRUE; sMailRead->parserSingle = CopyEasyChatWord; diff --git a/src/secret_base.c b/src/secret_base.c index 74129d3ff..7459ba66b 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -921,7 +921,7 @@ static void Task_ShowSecretBaseRegistryMenu(u8 taskId) tSelectedRow = 0; tScrollOffset = 0; ClearDialogWindowAndFrame(0, FALSE); - sRegistryMenu = calloc(1, sizeof(*sRegistryMenu)); + sRegistryMenu = AllocZeroed(sizeof(*sRegistryMenu)); tMainWindowId = AddWindow(&sRegistryWindowTemplates[0]); BuildRegistryMenuItems(taskId); FinalizeRegistryMenu(taskId); diff --git a/src/tv.c b/src/tv.c index fe663bb35..530dd5d94 100644 --- a/src/tv.c +++ b/src/tv.c @@ -3966,7 +3966,7 @@ static void TranslateShowNames(TVShow *show, u32 language) int i; TVShow **shows; - shows = calloc(11, sizeof(TVShow *)); + shows = AllocZeroed(sizeof(TVShow *) * 11); for (i = 0; i < LAST_TVSHOW_IDX; i++) { switch (show[i].common.kind) From 8a68596b6436a28fee13cc216aed290736b3156d Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 16 Sep 2022 20:36:44 -0300 Subject: [PATCH 082/147] Removed free macro --- gflib/malloc.h | 3 +-- src/battle_pike.c | 4 ++-- src/battle_pyramid.c | 8 ++++---- src/decoration.c | 8 ++++---- src/event_object_movement.c | 2 +- src/frontier_util.c | 6 +++--- src/link_rfu_3.c | 2 +- src/record_mixing.c | 6 +++--- src/recorded_battle.c | 4 ++-- src/secret_base.c | 2 +- src/tv.c | 6 +++--- src/union_room.c | 10 +++++----- 12 files changed, 30 insertions(+), 31 deletions(-) diff --git a/gflib/malloc.h b/gflib/malloc.h index e21bd5a2c..851db83a6 100644 --- a/gflib/malloc.h +++ b/gflib/malloc.h @@ -2,11 +2,10 @@ #define GUARD_ALLOC_H #define HEAP_SIZE 0x1C000 -#define free Free #define FREE_AND_SET_NULL(ptr) \ { \ - free(ptr); \ + Free(ptr); \ ptr = NULL; \ } diff --git a/src/battle_pike.c b/src/battle_pike.c index 139ea497b..4f9af98ea 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -1084,7 +1084,7 @@ static u8 GetNextRoomType(void) } nextRoomType = roomCandidates[Random() % numRoomCandidates]; - free(roomCandidates); + Free(roomCandidates); if (nextRoomType == PIKE_ROOM_STATUS) TryInflictRandomStatus(); @@ -1363,7 +1363,7 @@ static void SetHintedRoom(void) } gSaveBlock2Ptr->frontier.pikeHintedRoomType = roomCandidates[Random() % count]; - free(roomCandidates); + Free(roomCandidates); if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_STATUS && !AtLeastOneHealthyMon()) gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_NPC; if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_DOUBLE_BATTLE && !AtLeastTwoAliveMons()) diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 6e8c6a37e..cbc1589bd 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -1568,7 +1568,7 @@ void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPositio } } RunOnLoadMapScript(); - free(floorLayoutOffsets); + Free(floorLayoutOffsets); } void LoadBattlePyramidObjectEventTemplates(void) @@ -1697,7 +1697,7 @@ static void SetPyramidObjectPositionsUniformly(u8 objType) } while (!(bits & 4) && TrySetPyramidObjectEventPositionInSquare(objType, floorLayoutOffsets, squareId, objectStartIndex + i)); bits &= 1; } - free(floorLayoutOffsets); + Free(floorLayoutOffsets); } static bool8 SetPyramidObjectPositionsInAndNearSquare(u8 objType, u8 squareId) @@ -1760,7 +1760,7 @@ static bool8 SetPyramidObjectPositionsInAndNearSquare(u8 objType, u8 squareId) r7 &= 1; } #ifdef BUGFIX - free(floorLayoutOffsets); + Free(floorLayoutOffsets); #endif return (numObjects / 2) > numPlacedObjects; @@ -1814,7 +1814,7 @@ static bool8 SetPyramidObjectPositionsNearSquare(u8 objType, u8 squareId) break; } #ifdef BUGFIX - free(floorLayoutOffsets); + Free(floorLayoutOffsets); #endif return (numObjects / 2) > numPlacedObjects; diff --git a/src/decoration.c b/src/decoration.c index 2384daa80..cd3e185da 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1000,7 +1000,7 @@ static void HandleDecorationItemsMenuInput(u8 taskId) DestroyListMenuTask(tMenuTaskId, &sDecorationsScrollOffset, &sDecorationsCursorPos); RemoveDecorationWindow(WINDOW_DECORATION_CATEGORIES); RemoveDecorationItemsOtherWindows(); - free(sDecorationItemsMenu); + Free(sDecorationItemsMenu); sSecretBasePC_SelectedDecorationActions[tDecorationMenuCommand][0](taskId); break; } @@ -1161,7 +1161,7 @@ static void DecorationItemsMenuAction_Cancel(u8 taskId) RemoveDecorationItemsScrollIndicators(); RemoveDecorationItemsOtherWindows(); DestroyListMenuTask(tMenuTaskId, NULL, NULL); - free(sDecorationItemsMenu); + Free(sDecorationItemsMenu); ReinitDecorationCategoriesWindow(taskId); } @@ -2066,7 +2066,7 @@ static u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 template->paletteTag = paletteTag; spriteId = CreateSprite(template, 0, 0, 0); FreeItemIconTemporaryBuffers(); - free(template); + Free(template); return spriteId; } @@ -2105,7 +2105,7 @@ static u8 AddDecorationIconObjectFromObjectEvent(u16 tilesTag, u16 paletteTag, u template->tileTag = tilesTag; template->paletteTag = paletteTag; spriteId = CreateSprite(template, 0, 0, 0); - free(template); + Free(template); } else { diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 83f12c4bb..1e8668d55 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1543,7 +1543,7 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), LoadObjectEventPalette(spriteTemplate->paletteTag); spriteId = CreateSprite(spriteTemplate, x, y, subpriority); - free(spriteTemplate); + Free(spriteTemplate); if (spriteId != MAX_SPRITES && subspriteTables != NULL) { diff --git a/src/frontier_util.c b/src/frontier_util.c index 7906df736..686b69388 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -2298,7 +2298,7 @@ static void Fill1PRecords(struct RankingHall1P *dst, s32 hallFacilityId, s32 lvl record1P[highestId].winStreak = 0; } - free(playerHallRecords); + Free(playerHallRecords); } static void Fill2PRecords(struct RankingHall2P *dst, s32 lvlMode) @@ -2332,7 +2332,7 @@ static void Fill2PRecords(struct RankingHall2P *dst, s32 lvlMode) record2P[highestId].winStreak = 0; } - free(playerHallRecords); + Free(playerHallRecords); } static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode) @@ -2436,7 +2436,7 @@ void SaveGameFrontier(void) for (i = 0; i < PARTY_SIZE; i++) gPlayerParty[i] = monsParty[i]; - free(monsParty); + Free(monsParty); } // Frontier Brain functions. diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index 26102a8c3..0d028cd48 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -955,7 +955,7 @@ void SaveLinkTrainerNames(void) // Finalize the new list, and clean up. memcpy(gSaveBlock1Ptr->trainerNameRecords, newRecords, sizeof(gSaveBlock1Ptr->trainerNameRecords)); - free(newRecords); + Free(newRecords); } } diff --git a/src/record_mixing.c b/src/record_mixing.c index 72edd52f2..5d75f3fc8 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -358,8 +358,8 @@ static void Task_RecordMixing_Main(u8 taskId) case 5: // Wait for the task created by CreateTask_ReestablishCableClubLink if (!gTasks[tLinkTaskId].isActive) { - free(sReceivedRecords); - free(sSentRecord); + Free(sReceivedRecords); + Free(sSentRecord); SetLinkWaitingForScript(); if (gWirelessCommType != 0) CreateTask(Task_ReturnToFieldRecordMixing, 10); @@ -705,7 +705,7 @@ static void ReceiveLilycoveLadyData(LilycoveLady *records, size_t recordSize, u8 if (lilycoveLady != NULL) { QuizLadyClearQuestionForRecordMix(lilycoveLady); - free(lilycoveLady); + Free(lilycoveLady); } } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index e8785b5f8..dead1dd7e 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -475,8 +475,8 @@ bool32 MoveRecordedBattleToSaveData(void) break; } - free(battleSave); - free(savSection); + Free(battleSave); + Free(savSection); return ret; } diff --git a/src/secret_base.c b/src/secret_base.c index 7459ba66b..ea1999343 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1006,7 +1006,7 @@ static void HandleRegistryMenuInput(u8 taskId) ClearWindowTilemap(tMainWindowId); RemoveWindow(tMainWindowId); ScheduleBgCopyTilemapToVram(0); - free(sRegistryMenu); + Free(sRegistryMenu); GoToSecretBasePCRegisterMenu(taskId); break; default: diff --git a/src/tv.c b/src/tv.c index 530dd5d94..b32881d09 100644 --- a/src/tv.c +++ b/src/tv.c @@ -3488,7 +3488,7 @@ void ReceiveTvShowsData(void *src, u32 size, u8 playersLinkId) CompactTVShowArray(gSaveBlock1Ptr->tvShows); DeactivateShowsWithUnseenSpecies(); DeactivateGameCompleteShowsIfNotUnlocked(); - free(rmBuffer2); + Free(rmBuffer2); } } @@ -3861,7 +3861,7 @@ void ReceivePokeNewsData(void *src, u32 size, u8 playersLinkId) } ClearInvalidPokeNews(); ClearPokeNewsIfGameNotComplete(); - free(rmBuffer2); + Free(rmBuffer2); } } @@ -4023,7 +4023,7 @@ static void TranslateShowNames(TVShow *show, u32 language) break; } } - free(shows); + Free(shows); } void SanitizeTVShowsForRuby(TVShow *shows) diff --git a/src/union_room.c b/src/union_room.c index 7d1417671..b47ddb41c 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -3365,12 +3365,12 @@ static void Task_InitUnionRoom(u8 taskId) } break; case 4: - free(data->spawnPlayer); - free(data->playerList); - free(data->incomingParentList); - free(data->incomingChildList); + Free(data->spawnPlayer); + Free(data->playerList); + Free(data->incomingParentList); + Free(data->incomingChildList); DestroyTask(data->searchTaskId); - free(sWirelessLinkMain.uRoom); + Free(sWirelessLinkMain.uRoom); LinkRfu_Shutdown(); DestroyTask(taskId); break; From 13877f71dcb884aac6a6bb58493ad4a56811dade Mon Sep 17 00:00:00 2001 From: tustin2121 Date: Sat, 17 Sep 2022 13:33:10 -0400 Subject: [PATCH 083/147] Minor documentation Some things I figured out while working on my hack. - The Subsprite tables do not use `DISPLAY_WIDTH`, but rather use -16, since they are signed bytes. The negative numbers better illustrate what the tables are doing. - Figured out the as-of-yet undocumented data in SpriteCB_FlygonSilhouette --- src/battle_interface.c | 40 +++++++++++++++++++++------ src/intro.c | 62 ++++++++++++++++++++++++------------------ 2 files changed, 67 insertions(+), 35 deletions(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index ed4aa9ed8..bacdec12a 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -318,10 +318,17 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT] } }; +/* v-- Origin +[0 + ][1 ] +[ ][ ] sUnused_Subsprites_0 +[ ][ ] +[______________][______] 96x40 +[2 ][3 ][4 ] +*/ static const struct Subsprite sUnused_Subsprites_0[] = { { - .x = DISPLAY_WIDTH, + .x = -16, .y = 0, .shape = SPRITE_SHAPE(64x32), .size = SPRITE_SIZE(64x32), @@ -337,7 +344,7 @@ static const struct Subsprite sUnused_Subsprites_0[] = .priority = 1 }, { - .x = DISPLAY_WIDTH, + .x = -16, .y = 32, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -362,10 +369,11 @@ static const struct Subsprite sUnused_Subsprites_0[] = } }; +// This subsprite table has the same layout as above, but offset by 64 base tiles. static const struct Subsprite sUnused_Subsprites_2[] = { { - .x = DISPLAY_WIDTH, + .x = -16, .y = 0, .shape = SPRITE_SHAPE(64x32), .size = SPRITE_SIZE(64x32), @@ -381,7 +389,7 @@ static const struct Subsprite sUnused_Subsprites_2[] = .priority = 1 }, { - .x = DISPLAY_WIDTH, + .x = -16, .y = 32, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -406,10 +414,16 @@ static const struct Subsprite sUnused_Subsprites_2[] = } }; +/* v-- Origin +[0 + ][1 ] +[ ][ ] +[ ][ ] +[ ][ ] 96x32 +*/ static const struct Subsprite sUnused_Subsprites_1[] = { { - .x = DISPLAY_WIDTH, + .x = -16, .y = 0, .shape = SPRITE_SHAPE(64x32), .size = SPRITE_SIZE(64x32), @@ -426,10 +440,11 @@ static const struct Subsprite sUnused_Subsprites_1[] = } }; +// Same as above static const struct Subsprite sUnused_Subsprites_3[] = { { - .x = DISPLAY_WIDTH, + .x = -16, .y = 0, .shape = SPRITE_SHAPE(64x32), .size = SPRITE_SIZE(64x32), @@ -446,10 +461,13 @@ static const struct Subsprite sUnused_Subsprites_3[] = } }; +/* v-- Origin +[0 + ][1 ] 64x8 +*/ static const struct Subsprite sHealthBar_Subsprites_Player[] = { { - .x = DISPLAY_WIDTH, + .x = -16, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -466,10 +484,14 @@ static const struct Subsprite sHealthBar_Subsprites_Player[] = } }; +/* v-- Origin +[] [0 + ][1 ] 72x8 +2^ ^--- Note 8px space +*/ static const struct Subsprite sHealthBar_Subsprites_Opponent[] = { { - .x = DISPLAY_WIDTH, + .x = -16, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -485,7 +507,7 @@ static const struct Subsprite sHealthBar_Subsprites_Opponent[] = .priority = 1 }, { - .x = DISPLAY_WIDTH - 16, + .x = -32, .y = 0, .shape = SPRITE_SHAPE(8x8), .size = SPRITE_SIZE(8x8), diff --git a/src/intro.c b/src/intro.c index b06789142..b42dc3a05 100644 --- a/src/intro.c +++ b/src/intro.c @@ -3322,24 +3322,29 @@ static u8 CreateGameFreakLogoSprites(s16 x, s16 y, s16 unused) #undef sLetterX #undef COLOR_CHANGES +#define sScale data[1] +#define sRot data[2] +#define sPos data[3] +#define sTimer data[7] + static void SpriteCB_FlygonSilhouette(struct Sprite *sprite) { - sprite->data[7]++; + sprite->sTimer++; if (sprite->sState != 0) { - s16 sin1; - s16 sin2; + s16 sin; + s16 cos; s16 a, b, c, d; - - sin1 = gSineTable[(u8)sprite->data[2]]; - sin2 = gSineTable[(u8)(sprite->data[2] + 64)]; - - d = Q_8_8_TO_INT(sin2 * sprite->data[1]); - c = Q_8_8_TO_INT(-sin1 * sprite->data[1]); - b = Q_8_8_TO_INT(sin1 * sprite->data[1]); - a = Q_8_8_TO_INT(sin2 * sprite->data[1]); + // Determines rotation of the sprite + sin = gSineTable[(u8)sprite->sRot]; + cos = gSineTable[(u8)(sprite->sRot + 64)]; + // Converts rotation and scale into the OAM matrix + d = Q_8_8_TO_INT( cos * sprite->sScale); + c = Q_8_8_TO_INT(-sin * sprite->sScale); + b = Q_8_8_TO_INT( sin * sprite->sScale); + a = Q_8_8_TO_INT( cos * sprite->sScale); SetOamMatrix(1, a, b, c, d); } @@ -3353,36 +3358,41 @@ static void SpriteCB_FlygonSilhouette(struct Sprite *sprite) CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_DOUBLE); sprite->invisible = FALSE; sprite->sState = 1; - sprite->data[1] = 0x80; - sprite->data[2] = 0; - sprite->data[3] = 0; + sprite->sScale = 128; + sprite->sRot = 0; + sprite->sPos = 0; break; case 1: - sprite->x2 = -Sin((u8)sprite->data[3], 140); - sprite->y2 = -Sin((u8)sprite->data[3], 120); - sprite->data[1] += 7; - sprite->data[3] += 3; + sprite->x2 = -Sin((u8)sprite->sPos, 140); + sprite->y2 = -Sin((u8)sprite->sPos, 120); + sprite->sScale += 7; + sprite->sPos += 3; if (sprite->x + sprite->x2 <= -16) { sprite->oam.priority = 3; sprite->sState++; sprite->x = 20; sprite->y = 40; - sprite->data[1] = 0x200; - sprite->data[2] = 0; - sprite->data[3] = 0x10; + sprite->sScale = 512; + sprite->sRot = 0; + sprite->sPos = 16; } break; case 2: - sprite->x2 = Sin((u8)sprite->data[3], 34); - sprite->y2 = -Cos((u8)sprite->data[3], 60); - sprite->data[1] += 2; - if (sprite->data[7] % 5 == 0) - sprite->data[3]++; + sprite->x2 = Sin((u8)sprite->sPos, 34); + sprite->y2 = -Cos((u8)sprite->sPos, 60); + sprite->sScale += 2; + if (sprite->sTimer % 5 == 0) + sprite->sPos++; break; } } +#undef sScale +#undef sRot +#undef sPos +#undef sTimer + static void SpriteCB_RayquazaOrb(struct Sprite *sprite) { u16 foo; From c371a44a83616a06bff012dd81dfdd4cca9b7f78 Mon Sep 17 00:00:00 2001 From: tustin2121 Date: Sat, 17 Sep 2022 13:34:54 -0400 Subject: [PATCH 084/147] Formatting --- src/battle_interface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index bacdec12a..4c97879d8 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -320,8 +320,8 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT] /* v-- Origin [0 + ][1 ] -[ ][ ] sUnused_Subsprites_0 -[ ][ ] +[ ][ ] +[ ][ ] [______________][______] 96x40 [2 ][3 ][4 ] */ From 5c55e441734458119a8bf7b748d6dadc77c9302a Mon Sep 17 00:00:00 2001 From: tustin2121 Date: Sat, 17 Sep 2022 14:34:20 -0400 Subject: [PATCH 085/147] More diagrams - Diagramed all subsprite tables in the code base. There's a LOT in the slot machine code. --- src/battle_interface.c | 22 +++--- src/contest.c | 3 + src/field_effect.c | 10 +++ src/naming_screen.c | 20 ++++++ src/slot_machine.c | 153 ++++++++++++++++++++++++++++++++++++++++- 5 files changed, 199 insertions(+), 9 deletions(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index 4c97879d8..355397a1e 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -485,7 +485,7 @@ static const struct Subsprite sHealthBar_Subsprites_Player[] = }; /* v-- Origin -[] [0 + ][1 ] 72x8 +[] [0 + ][1 ] 8x8 + 64x8 2^ ^--- Note 8px space */ static const struct Subsprite sHealthBar_Subsprites_Opponent[] = @@ -529,11 +529,13 @@ static const struct SubspriteTable sHealthBar_SubspriteTables[] = [B_SIDE_PLAYER] = {ARRAY_COUNT(sHealthBar_Subsprites_Player), sHealthBar_Subsprites_Player}, [B_SIDE_OPPONENT] = {ARRAY_COUNT(sHealthBar_Subsprites_Opponent), sHealthBar_Subsprites_Opponent} }; - +/* v-- Origin +[0 ][1 ][2 ][3 ] 128x8 +*/ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] = { { - .x = 32 * 5, + .x = 32 * -3, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -541,7 +543,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] = .priority = 1 }, { - .x = 32 * 6, + .x = 32 * -2, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -549,7 +551,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] = .priority = 1 }, { - .x = 32 * 7, + .x = 32 * -1, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -566,10 +568,14 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] = } }; +/* v-- Origin +[0 ][1 ][2 ][3 ][4 ][5 ] 192x8 + ^-- uses same tiles --^ +*/ static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] = { { - .x = 32 * 5, + .x = 32 * -3, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -577,7 +583,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] = .priority = 1 }, { - .x = 32 * 6, + .x = 32 * -2, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -585,7 +591,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] = .priority = 1 }, { - .x = 32 * 7, + .x = 32 * -1, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), diff --git a/src/contest.c b/src/contest.c index b2c875a58..0f77df814 100644 --- a/src/contest.c +++ b/src/contest.c @@ -525,6 +525,9 @@ static const struct SpriteTemplate sSpriteTemplates_NextTurn[CONTESTANT_COUNT] = } }; +/* v-- Origin +[0 +][1 ] 64x8 +*/ static const struct Subsprite sSubsprites_NextTurn[] = { { diff --git a/src/field_effect.c b/src/field_effect.c index 1ab45bb25..7612935d5 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -405,6 +405,11 @@ static const struct SpriteFrameImage sPicTable_HofMonitorSmall[] = {.data = sHofMonitorSmall_Gfx, .size = 0x200} // the macro breaks down here }; +/* +[0_][] <-1 24x16 +[2 ][] <-3 + ^-- Origin +*/ static const struct Subsprite sSubsprites_PokecenterMonitor[] = { { @@ -443,6 +448,11 @@ static const struct Subsprite sSubsprites_PokecenterMonitor[] = static const struct SubspriteTable sSubspriteTable_PokecenterMonitor = subsprite_table(sSubsprites_PokecenterMonitor); +/* +[0_____][1_____] 24x16 +[2 ][3 ] + ^-- Origin +*/ static const struct Subsprite sSubsprites_HofMonitorBig[] = { { diff --git a/src/naming_screen.c b/src/naming_screen.c index b4007b265..fe858b879 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -2179,6 +2179,12 @@ static const struct OamData sOam_32x16 = .paletteNum = 0, }; +/* +[0_____][] <-1 40x32 +[2_____][] <-3 +[3___+_][] <-5/Origin +[4 ][] <-7 +*/ static const struct Subsprite sSubsprites_PageSwapFrame[] = { { @@ -2247,6 +2253,10 @@ static const struct Subsprite sSubsprites_PageSwapFrame[] = } }; +/* +[0_][] <-1 24x8 + ^-- Origin +*/ static const struct Subsprite sSubsprites_PageSwapText[] = { { @@ -2267,6 +2277,11 @@ static const struct Subsprite sSubsprites_PageSwapText[] = } }; +/* +[0_____][] <-1 40x24 +[2_____][] <-3 +[3___+_][] <-5/Origin +*/ static const struct Subsprite sSubsprites_Button[] = { { @@ -2319,6 +2334,11 @@ static const struct Subsprite sSubsprites_Button[] = } }; +/* +[0_] 16x24 +[1+] <--Origin +[2_] +*/ static const struct Subsprite sSubsprites_PCIcon[] = { { diff --git a/src/slot_machine.c b/src/slot_machine.c index 3b82afde1..8a67acae3 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -6433,6 +6433,20 @@ static const struct SpriteTemplate sSpriteTemplate_PikaPowerBolt = .callback = SpriteCB_PikaPowerBolt }; +/* +[0 ][1 ] +[ ][ ] +[ ][ ] +[ ][ ] +[ ][ ] +[______________][______________] 128x128 +[ ]+ <- Origin ] +[ ][ ] +[ ][ ] +[ ][ ] +[ ][ ] +[2 ][3 ] +*/ static const struct Subsprite sSubsprites_ReelBackground[] = { { @@ -6474,6 +6488,11 @@ static const struct SubspriteTable sSubspriteTable_ReelBackground[] = ARRAY_COUNT(sSubsprites_ReelBackground), sSubsprites_ReelBackground }; +/* v-- Origin on 3 +[0_____][1_____] +[2_____][3_____] 64x24 +[4 ][5 ] +*/ static const struct Subsprite sSubsprites_ReelTimeMachineAntennae[] = { { @@ -6531,6 +6550,13 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeMachineAntennae[] = ARRAY_COUNT(sSubsprites_ReelTimeMachineAntennae), sSubsprites_ReelTimeMachineAntennae }; +/* +[0 ] +[ ] +[ + Origin] +[______________] 64x40 +[1 ][2 ] +*/ static const struct Subsprite sSubsprites_ReelTimeMachine[] = { { @@ -6564,6 +6590,14 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeMachine[] = ARRAY_COUNT(sSubsprites_ReelTimeMachine), sSubsprites_ReelTimeMachine }; +/* +[0 ] +[ ] +[ + Origin] +[______________] 64x48 +[1 ][2 ] +[3 ][4 ] +*/ static const struct Subsprite sSubsprites_BrokenReelTimeMachine[] = { { @@ -6613,6 +6647,10 @@ static const struct SubspriteTable sSubspriteTable_BrokenReelTimeMachine[] = ARRAY_COUNT(sSubsprites_BrokenReelTimeMachine), sSubsprites_BrokenReelTimeMachine }; +/* v-- Origin on 3 +[0_____][1_____] +[2 ][3 ] 64x16 +*/ static const struct Subsprite sSubsprites_ReelTimeShadow[] = { { @@ -6654,6 +6692,11 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeShadow[] = ARRAY_COUNT(sSubsprites_ReelTimeShadow), sSubsprites_ReelTimeShadow }; +/* +[0_] 16x24 +[1+] <--Origin +[2_] +*/ static const struct Subsprite sSubsprites_ReelTimeNumberGap[] = { { @@ -6687,6 +6730,14 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeNumberGap[] = ARRAY_COUNT(sSubsprites_ReelTimeNumberGap), sSubsprites_ReelTimeNumberGap }; +/* +[0 ] +[ ] +[ + Origin] +[______________] 64x48 +[1 ][2 ] +[3 ][4 ] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Reel[] = { { @@ -6736,6 +6787,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Reel[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Reel), sSubsprites_DigitalDisplay_Reel }; +/* v-- Origin on 3 +[0_____][1_____] +[2 ][3 ] 64x16 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Time[] = { { @@ -6777,6 +6832,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Time[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Time), sSubsprites_DigitalDisplay_Time }; +/* v-- Origin on 3 +[0_____][1_____] +[2 ][3 ] 64x16 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Insert[] = { { @@ -6818,6 +6877,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Insert[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Insert), sSubsprites_DigitalDisplay_Insert }; +/* v-- Origin on 3 +[0_____][1_____] +[2 ][3 ] 64x16 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Unused1[] = { { @@ -6859,6 +6922,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Unused1[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Unused1), sSubsprites_DigitalDisplay_Unused1 }; +/* v-- Origin on 3 +[0_____][1_____] +[2_____][3_____] +[4 ][5 ] 64x24 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Win[] = { { @@ -6950,6 +7018,14 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Unused2[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Unused2), sSubsprites_DigitalDisplay_Unused2 }; +/* +[0_____][1_] +[2_____][3_] +[4_____][5_] +[6_____][7+] <-- Origin +[8_____][9_] +[10____][11] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Pokeball[] = { { @@ -6962,7 +7038,7 @@ static const struct Subsprite sSubsprites_DigitalDisplay_Pokeball[] = }, { .x = 8, - -24, + .y = -24, .shape = SPRITE_SHAPE(16x8), .size = SPRITE_SIZE(16x8), .tileOffset = 4, @@ -7055,6 +7131,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Pokeball[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Pokeball), sSubsprites_DigitalDisplay_Pokeball }; +/* +[0 ] 32x24 +[ + ] <- Origin +[1 ][2 ] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_DPad[] = { { @@ -7088,6 +7169,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_DPad[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_DPad), sSubsprites_DigitalDisplay_DPad }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_StopS[] = { { @@ -7113,6 +7198,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopS[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_StopS), sSubsprites_DigitalDisplay_StopS }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_StopT[] = { { @@ -7138,6 +7227,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopT[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_StopT), sSubsprites_DigitalDisplay_StopT }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_StopO[] = { { @@ -7163,6 +7256,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopO[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_StopO), sSubsprites_DigitalDisplay_StopO }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_StopP[] = { { @@ -7188,6 +7285,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopP[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_StopP), sSubsprites_DigitalDisplay_StopP }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusB[] = { { @@ -7213,6 +7314,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusB[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusB), sSubsprites_DigitalDisplay_BonusB }; +/* +[]<-0 16x16 +[]<-1 <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusO[] = { { @@ -7238,6 +7343,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusO[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusO), sSubsprites_DigitalDisplay_BonusO }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusN[] = { { @@ -7263,6 +7372,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusN[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusN), sSubsprites_DigitalDisplay_BonusN }; +/* +[]<-0 16x16 +[]<-1 <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusU[] = { { @@ -7288,6 +7401,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusU[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusU), sSubsprites_DigitalDisplay_BonusU }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusS[] = { { @@ -7313,6 +7430,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusS[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusS), sSubsprites_DigitalDisplay_BonusS }; +/* +[0_][] <-1 +[2_][] <-3 +[4_][] <-5 + ^-- Origin on 3 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BigB[] = { { @@ -7370,6 +7493,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BigB[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BigB), sSubsprites_DigitalDisplay_BigB }; +/* +[0_] 16x24 +[1+] <--Origin +[2_] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BigI[] = { { @@ -7403,6 +7531,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BigI[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BigI), sSubsprites_DigitalDisplay_BigI }; +/* +[0_][] <-1 +[2_][] <-3 +[4_][] <-5 + ^-- Origin on 3 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BigG[] = { { @@ -7460,6 +7594,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BigG[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BigG), sSubsprites_DigitalDisplay_BigG }; +/* +[0_][] <-1 +[2_][] <-3 +[4_][] <-5 + ^-- Origin on 3 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_RegR[] = { { @@ -7517,6 +7657,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_RegR[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_RegR), sSubsprites_DigitalDisplay_RegR }; +/* +[0_] 16x24 +[1+] <--Origin +[2_] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_RegE[] = { { @@ -7550,6 +7695,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_RegE[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_RegE), sSubsprites_DigitalDisplay_RegE }; +/* +[0_][] <-1 +[2_][] <-3 +[4_][] <-5 + ^-- Origin on 3 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_RegG[] = { { From 5f74781a7d540036e2ba20d7cc7b028bccb80b40 Mon Sep 17 00:00:00 2001 From: Ct11217 Date: Sat, 17 Sep 2022 17:44:50 -0600 Subject: [PATCH 086/147] Remove ACE_POKEMON_FUNCTIONALITY --- include/constants/battle_ai.h | 2 +- src/battle_ai_switch_items.c | 28 ++++++++++++++-------------- src/battle_controller_opponent.c | 4 ++-- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 5dbbccf48..e45ce035c 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -56,7 +56,7 @@ #define AI_FLAG_STALL (1 << 13) // AI stalls battle and prefers secondary damage/trapping/etc. TODO not finished #define AI_FLAG_SCREENER (1 << 14) // AI prefers screening effects like reflect, mist, etc. TODO unfinished #define AI_FLAG_SMART_SWITCHING (1 << 15) // AI includes a lot more switching checks -#define AI_FLAG_ACE_POKEMON (1 << 16) // AI has Ace Pokemon. The last Pokemon in the party will not used until last remaining. +//#define AI_FLAG_ACE_POKEMON (1 << 16) // AI has Ace Pokemon. The last Pokemon in the party will not used until last remaining. // 'other' ai logic flags #define AI_FLAG_ROAMING (1 << 29) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 7493be32b..6642810cf 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -109,9 +109,9 @@ static bool8 ShouldSwitchIfWonderGuard(void) continue; if (i == gBattlerPartyIndexes[gActiveBattler]) continue; - if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - continue; + continue;*/ for (opposingBattler = GetBattlerAtPosition(opposingPosition), j = 0; j < MAX_MON_MOVES; j++) { @@ -202,9 +202,9 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - continue; + continue;*/ species = GetMonData(&party[i], MON_DATA_SPECIES); @@ -283,9 +283,9 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) for (i = firstId; i < lastId; i++) { - if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - break; + break;*/ //Look for mon in party that is able to be switched into and has ability that sets terrain if (GetMonData(&party[i], MON_DATA_HP) != 0 @@ -574,9 +574,9 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - continue; + continue;*/ species = GetMonData(&party[i], MON_DATA_SPECIES); @@ -666,9 +666,9 @@ bool32 ShouldSwitch(void) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - continue; + continue;*/ availableToSwitch++; } @@ -756,9 +756,9 @@ void AI_TrySwitchOrUseItem(void) continue; if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && monToSwitchId == (CalculateEnemyPartyCount()-1)) - continue; + continue;*/ break; } @@ -957,8 +957,8 @@ u8 GetMostSuitableMonToSwitchInto(void) || i == *(gBattleStruct->monToSwitchIntoId + battlerIn1) || i == *(gBattleStruct->monToSwitchIntoId + battlerIn2) || (GetMonAbility(&party[i]) == ABILITY_TRUANT && IsTruantMonVulnerable(gActiveBattler, opposingBattler)) // While not really invalid per say, not really wise to switch into this mon. - || (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON - && i == (CalculateEnemyPartyCount()-1))) //Save Ace Pokemon for last + /*|| (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + && i == (CalculateEnemyPartyCount()-1))*/) //Save Ace Pokemon for last invalidMons |= gBitTable[i]; else aliveCount++; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 07cf95589..7cd44d709 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1699,9 +1699,9 @@ static void OpponentHandleChoosePokemon(void) if (GetMonData(&gEnemyParty[chosenMonId], MON_DATA_HP) != 0 && chosenMonId != gBattlerPartyIndexes[battler1] && chosenMonId != gBattlerPartyIndexes[battler2] - && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + /*&& (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && (!(chosenMonId == (CalculateEnemyPartyCount()-1)) - || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle))) + || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle))*/) { break; } From 293a880238b6e8707f43fd0d5d7dea3eeb4b9c7a Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Sun, 18 Sep 2022 00:50:21 -0300 Subject: [PATCH 087/147] Apply suggestions from code review --- include/constants/battle_ai.h | 2 +- src/battle_ai_switch_items.c | 28 ++++++++++++++-------------- src/battle_controller_opponent.c | 6 +++--- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index e45ce035c..1cfb9cd4d 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -56,7 +56,7 @@ #define AI_FLAG_STALL (1 << 13) // AI stalls battle and prefers secondary damage/trapping/etc. TODO not finished #define AI_FLAG_SCREENER (1 << 14) // AI prefers screening effects like reflect, mist, etc. TODO unfinished #define AI_FLAG_SMART_SWITCHING (1 << 15) // AI includes a lot more switching checks -//#define AI_FLAG_ACE_POKEMON (1 << 16) // AI has Ace Pokemon. The last Pokemon in the party will not used until last remaining. +#define AI_FLAG_ACE_POKEMON (1 << 16) // AI has an Ace Pokemon. The last Pokemon in the party will not be used until it's the last one remaining. // 'other' ai logic flags #define AI_FLAG_ROAMING (1 << 29) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 6642810cf..6f5de84c4 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -109,9 +109,9 @@ static bool8 ShouldSwitchIfWonderGuard(void) continue; if (i == gBattlerPartyIndexes[gActiveBattler]) continue; - /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - continue;*/ + continue; for (opposingBattler = GetBattlerAtPosition(opposingPosition), j = 0; j < MAX_MON_MOVES; j++) { @@ -202,9 +202,9 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - continue;*/ + continue; species = GetMonData(&party[i], MON_DATA_SPECIES); @@ -283,9 +283,9 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) for (i = firstId; i < lastId; i++) { - /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - break;*/ + break; //Look for mon in party that is able to be switched into and has ability that sets terrain if (GetMonData(&party[i], MON_DATA_HP) != 0 @@ -574,9 +574,9 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - continue;*/ + continue; species = GetMonData(&party[i], MON_DATA_SPECIES); @@ -666,9 +666,9 @@ bool32 ShouldSwitch(void) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) - continue;*/ + continue; availableToSwitch++; } @@ -756,9 +756,9 @@ void AI_TrySwitchOrUseItem(void) continue; if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - /*if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && monToSwitchId == (CalculateEnemyPartyCount()-1)) - continue;*/ + continue; break; } @@ -957,8 +957,8 @@ u8 GetMostSuitableMonToSwitchInto(void) || i == *(gBattleStruct->monToSwitchIntoId + battlerIn1) || i == *(gBattleStruct->monToSwitchIntoId + battlerIn2) || (GetMonAbility(&party[i]) == ABILITY_TRUANT && IsTruantMonVulnerable(gActiveBattler, opposingBattler)) // While not really invalid per say, not really wise to switch into this mon. - /*|| (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON - && i == (CalculateEnemyPartyCount()-1))*/) //Save Ace Pokemon for last + || ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON) + && i == (CalculateEnemyPartyCount() - 1))) //Save Ace Pokemon for last invalidMons |= gBitTable[i]; else aliveCount++; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 7cd44d709..bf8f7f869 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1699,9 +1699,9 @@ static void OpponentHandleChoosePokemon(void) if (GetMonData(&gEnemyParty[chosenMonId], MON_DATA_HP) != 0 && chosenMonId != gBattlerPartyIndexes[battler1] && chosenMonId != gBattlerPartyIndexes[battler2] - /*&& (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON - && (!(chosenMonId == (CalculateEnemyPartyCount()-1)) - || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle))*/) + && (!(AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON) + || chosenMonId != CalculateEnemyPartyCount() - 1 + || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle)) { break; } From 41ae8ecdb7625c80c42ebf3a74e23cb12ae7124b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Sun, 18 Sep 2022 00:51:34 -0300 Subject: [PATCH 088/147] Update src/battle_controller_opponent.c --- src/battle_controller_opponent.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index bf8f7f869..5a307cfc9 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1701,7 +1701,7 @@ static void OpponentHandleChoosePokemon(void) && chosenMonId != gBattlerPartyIndexes[battler2] && (!(AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON) || chosenMonId != CalculateEnemyPartyCount() - 1 - || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle)) + || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle)) { break; } From adb4e54e950e7eb19eac79d06b2a29a8ee5f41eb Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 18 Sep 2022 22:34:06 -0300 Subject: [PATCH 089/147] =?UTF-8?q?Fixed=20multi=20battle=20battler=20coor?= =?UTF-8?q?dinates=20and=20party=20menu=20when=20only=20one=20Pok=C3=A9mon?= =?UTF-8?q?=20is=20chosen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/battle_interface.c | 4 +++- src/party_menu.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index ebd7a3ab3..6c3daf8e9 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -767,7 +767,9 @@ static void InitLastUsedBallAssets(void) // This function is here to cover a specific case - one player's mon in a 2 vs 1 double battle. In this scenario - display singles layout. u32 WhichBattleCoords(u32 battlerId) // 0 - singles, 1 - doubles { - if (GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT && gPlayerPartyCount == 1) + if (GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT + && gPlayerPartyCount == 1 + && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) return 0; else return IsDoubleBattle(); diff --git a/src/party_menu.c b/src/party_menu.c index a93f66ebb..7d58dbf4f 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -6158,10 +6158,10 @@ void ChooseMonForWirelessMinigame(void) static u8 GetPartyLayoutFromBattleType(void) { - if (!IsDoubleBattle() || gPlayerPartyCount == 1) // Draw the single layout in a double battle where the player has only one pokemon. - return PARTY_LAYOUT_SINGLE; if (IsMultiBattle() == TRUE) return PARTY_LAYOUT_MULTI; + if (!IsDoubleBattle() || gPlayerPartyCount == 1) // Draw the single layout in a double battle where the player has only one pokemon. + return PARTY_LAYOUT_SINGLE; return PARTY_LAYOUT_DOUBLE; } From add3625589e2d9c6ae044fbf4965902420f66213 Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Sun, 18 Sep 2022 22:47:30 -0400 Subject: [PATCH 090/147] fix natural cure, shed skin, early bird check in ShouldSwitchIfGameStatePrompt --- src/battle_ai_switch_items.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 6f5de84c4..5876e8b47 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -312,7 +312,9 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) switchMon = FALSE; //Checks to see if active Pokemon can do something against sleep - if (monAbility == (ABILITY_NATURAL_CURE | ABILITY_SHED_SKIN | ABILITY_EARLY_BIRD) + if ((monAbility == ABILITY_NATURAL_CURE + || monAbility == ABILITY_SHED_SKIN + || monAbility == ABILITY_EARLY_BIRD) || holdEffect == (HOLD_EFFECT_CURE_SLP | HOLD_EFFECT_CURE_STATUS) || HasMove(gActiveBattler, MOVE_SLEEP_TALK) || (HasMoveEffect(gActiveBattler, MOVE_SNORE) && AI_GetTypeEffectiveness(MOVE_SNORE, gActiveBattler, opposingBattler) >= UQ_4_12(1.0)) From c137b01dd8ce0a5352c01164a756e18f6856dbbb Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 19 Sep 2022 04:19:19 -0300 Subject: [PATCH 091/147] Update debug.c --- src/debug.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/debug.c b/src/debug.c index 7c99ad2c2..27c663863 100644 --- a/src/debug.c +++ b/src/debug.c @@ -2813,8 +2813,8 @@ static void DebugAction_AccessPC(u8 taskId) // ******************************* // Sound Scripts -static const u8 *const gBGMNames[]; -static const u8 *const gSENames[]; +static const u8 *const sBGMNames[]; +static const u8 *const sSENames[]; static void DebugAction_Sound_SE(u8 taskId) { u8 windowId; @@ -2832,7 +2832,7 @@ static void DebugAction_Sound_SE(u8 taskId) //Display initial ID StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringCopyPadded(gStringVar1, gSENames[0], CHAR_SPACE, 35); + StringCopyPadded(gStringVar1, sSENames[0], CHAR_SPACE, 35); StringExpandPlaceholders(gStringVar4, gDebugText_Sound_SE_ID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); @@ -2872,7 +2872,7 @@ static void DebugAction_Sound_SE_SelectId(u8 taskId) } StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringCopyPadded(gStringVar1, gSENames[gTasks[taskId].data[3]-1], CHAR_SPACE, 35); + StringCopyPadded(gStringVar1, sSENames[gTasks[taskId].data[3]-1], CHAR_SPACE, 35); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); StringExpandPlaceholders(gStringVar4, gDebugText_Sound_SE_ID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); @@ -2909,7 +2909,7 @@ static void DebugAction_Sound_MUS(u8 taskId) //Display initial ID StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, START_MUS, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringCopyPadded(gStringVar1, gBGMNames[0], CHAR_SPACE, 35); + StringCopyPadded(gStringVar1, sBGMNames[0], CHAR_SPACE, 35); StringExpandPlaceholders(gStringVar4, gDebugText_Sound_MUS_ID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); @@ -2949,7 +2949,7 @@ static void DebugAction_Sound_MUS_SelectId(u8 taskId) } StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringCopyPadded(gStringVar1, gBGMNames[gTasks[taskId].data[3]-START_MUS], CHAR_SPACE, 35); + StringCopyPadded(gStringVar1, sBGMNames[gTasks[taskId].data[3]-START_MUS], CHAR_SPACE, 35); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); StringExpandPlaceholders(gStringVar4, gDebugText_Sound_MUS_ID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); @@ -3508,7 +3508,7 @@ SOUND_LIST_BGM #undef X #define X(songId) sBGMName_##songId, -static const u8 *const gBGMNames[] = +static const u8 *const sBGMNames[] = { SOUND_LIST_BGM }; @@ -3520,7 +3520,7 @@ SOUND_LIST_SE #undef X #define X(songId) sSEName_##songId, -static const u8 *const gSENames[] = +static const u8 *const sSENames[] = { SOUND_LIST_SE }; From 5f67335212106b2fa633c9888c59085784b6472f Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 19 Sep 2022 05:20:09 -0300 Subject: [PATCH 092/147] Fixed typo in BoxMonKnowsMove --- include/party_menu.h | 2 +- src/party_menu.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/party_menu.h b/include/party_menu.h index b00fd7324..d7cf15b88 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -55,7 +55,7 @@ void ItemUseCB_PPUp(u8 taskId, TaskFunc task); u16 ItemIdToBattleMoveId(u16 item); bool8 IsMoveHm(u16 move); bool8 MonKnowsMove(struct Pokemon *mon, u16 move); -bool8 BoxMonKnowsMove(struct BoxPokemon *mon, u16 move); +bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, u16 move); void ItemUseCB_TMHM(u8 taskId, TaskFunc task); void ItemUseCB_RareCandy(u8 taskId, TaskFunc task); void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task); diff --git a/src/party_menu.c b/src/party_menu.c index a93f66ebb..da9a4ca89 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4892,13 +4892,13 @@ bool8 MonKnowsMove(struct Pokemon *mon, u16 move) return FALSE; } -bool8 BoxMonKnowsMove(struct BoxPokemon *mon, u16 move) +bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, u16 move) { u8 i; for (i = 0; i < MAX_MON_MOVES; i++) { - if (GetMonData(mon, MON_DATA_MOVE1 + i) == move) + if (GetBoxMonData(boxMon, MON_DATA_MOVE1 + i) == move) return TRUE; } return FALSE; From 192312d7ee1ba656f4ccafe7b896f25d99512c40 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 19 Sep 2022 14:29:22 -0300 Subject: [PATCH 093/147] Extrapolated Battle Arena's move Mind ratings --- src/battle_arena.c | 430 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 427 insertions(+), 3 deletions(-) diff --git a/src/battle_arena.c b/src/battle_arena.c index 82f6a47d0..f0c63c904 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -51,10 +51,10 @@ enum { // This table holds the number of points to add to the 'mind' score for each move. // All moves with power != 0 give 1 point, with the following exceptions: -// - Counter, Mirror Coat, and Bide give 0 points -// - Fake Out subtracts 1 point +// - Counter, Mirror Coat, Metal Burst, and Bide give 0 points +// - Fake Out and First Impression subtract 1 point // All moves with power == 0 give 0 points, with the following exceptions: -// - Protect, Detect, and Endure subtract 1 point +// - EFFECT_PROTECT moves and Endure subtract 1 point static const s8 sMindRatings[MOVES_COUNT] = { [MOVE_POUND] = 1, @@ -273,6 +273,430 @@ static const s8 sMindRatings[MOVES_COUNT] = [MOVE_WATER_PULSE] = 1, [MOVE_DOOM_DESIRE] = 1, [MOVE_PSYCHO_BOOST] = 1, + [MOVE_ROOST] = 0, + [MOVE_GRAVITY] = 0, + [MOVE_MIRACLE_EYE] = 0, + [MOVE_WAKE_UP_SLAP] = 1, + [MOVE_HAMMER_ARM] = 1, + [MOVE_GYRO_BALL] = 1, + [MOVE_HEALING_WISH] = 0, + [MOVE_BRINE] = 1, + [MOVE_NATURAL_GIFT] = 1, + [MOVE_FEINT] = 1, + [MOVE_PLUCK] = 1, + [MOVE_TAILWIND] = 0, + [MOVE_ACUPRESSURE] = 0, + [MOVE_METAL_BURST] = 0, + [MOVE_U_TURN] = 1, + [MOVE_CLOSE_COMBAT] = 1, + [MOVE_PAYBACK] = 1, + [MOVE_ASSURANCE] = 1, + [MOVE_EMBARGO] = 0, + [MOVE_FLING] = 1, + [MOVE_PSYCHO_SHIFT] = 0, + [MOVE_TRUMP_CARD] = 0, + [MOVE_HEAL_BLOCK] = 0, + [MOVE_WRING_OUT] = 0, + [MOVE_POWER_TRICK] = 0, + [MOVE_GASTRO_ACID] = 0, + [MOVE_LUCKY_CHANT] = 0, + [MOVE_ME_FIRST] = 0, + [MOVE_COPYCAT] = 0, + [MOVE_POWER_SWAP] = 0, + [MOVE_GUARD_SWAP] = 0, + [MOVE_PUNISHMENT] = 1, + [MOVE_LAST_RESORT] = 1, + [MOVE_WORRY_SEED] = 0, + [MOVE_SUCKER_PUNCH] = 1, + [MOVE_TOXIC_SPIKES] = 0, + [MOVE_HEART_SWAP] = 0, + [MOVE_AQUA_RING] = 0, + [MOVE_MAGNET_RISE] = 0, + [MOVE_FLARE_BLITZ] = 1, + [MOVE_FORCE_PALM] = 1, + [MOVE_AURA_SPHERE] = 1, + [MOVE_ROCK_POLISH] = 0, + [MOVE_POISON_JAB] = 1, + [MOVE_DARK_PULSE] = 1, + [MOVE_NIGHT_SLASH] = 1, + [MOVE_AQUA_TAIL] = 1, + [MOVE_SEED_BOMB] = 1, + [MOVE_AIR_SLASH] = 1, + [MOVE_X_SCISSOR] = 1, + [MOVE_BUG_BUZZ] = 1, + [MOVE_DRAGON_PULSE] = 1, + [MOVE_DRAGON_RUSH] = 1, + [MOVE_POWER_GEM] = 1, + [MOVE_DRAIN_PUNCH] = 1, + [MOVE_VACUUM_WAVE] = 1, + [MOVE_FOCUS_BLAST] = 1, + [MOVE_ENERGY_BALL] = 1, + [MOVE_BRAVE_BIRD] = 1, + [MOVE_EARTH_POWER] = 1, + [MOVE_SWITCHEROO] = 0, + [MOVE_GIGA_IMPACT] = 1, + [MOVE_NASTY_PLOT] = 0, + [MOVE_BULLET_PUNCH] = 1, + [MOVE_AVALANCHE] = 1, + [MOVE_ICE_SHARD] = 1, + [MOVE_SHADOW_CLAW] = 1, + [MOVE_THUNDER_FANG] = 1, + [MOVE_ICE_FANG] = 1, + [MOVE_FIRE_FANG] = 1, + [MOVE_SHADOW_SNEAK] = 1, + [MOVE_MUD_BOMB] = 1, + [MOVE_PSYCHO_CUT] = 1, + [MOVE_ZEN_HEADBUTT] = 1, + [MOVE_MIRROR_SHOT] = 1, + [MOVE_FLASH_CANNON] = 1, + [MOVE_ROCK_CLIMB] = 1, + [MOVE_DEFOG] = 0, + [MOVE_TRICK_ROOM] = 0, + [MOVE_DRACO_METEOR] = 1, + [MOVE_DISCHARGE] = 1, + [MOVE_LAVA_PLUME] = 1, + [MOVE_LEAF_STORM] = 1, + [MOVE_POWER_WHIP] = 1, + [MOVE_ROCK_WRECKER] = 1, + [MOVE_CROSS_POISON] = 1, + [MOVE_GUNK_SHOT] = 1, + [MOVE_IRON_HEAD] = 1, + [MOVE_MAGNET_BOMB] = 1, + [MOVE_STONE_EDGE] = 1, + [MOVE_CAPTIVATE] = 0, + [MOVE_STEALTH_ROCK] = 0, + [MOVE_GRASS_KNOT] = 1, + [MOVE_CHATTER] = 1, + [MOVE_JUDGMENT] = 1, + [MOVE_BUG_BITE] = 1, + [MOVE_CHARGE_BEAM] = 1, + [MOVE_WOOD_HAMMER] = 1, + [MOVE_AQUA_JET] = 1, + [MOVE_ATTACK_ORDER] = 1, + [MOVE_DEFEND_ORDER] = 0, + [MOVE_HEAL_ORDER] = 0, + [MOVE_HEAD_SMASH] = 1, + [MOVE_DOUBLE_HIT] = 1, + [MOVE_ROAR_OF_TIME] = 1, + [MOVE_SPACIAL_REND] = 1, + [MOVE_LUNAR_DANCE] = 0, + [MOVE_CRUSH_GRIP] = 1, + [MOVE_MAGMA_STORM] = 1, + [MOVE_DARK_VOID] = 0, + [MOVE_SEED_FLARE] = 1, + [MOVE_OMINOUS_WIND] = 1, + [MOVE_SHADOW_FORCE] = 1, + [MOVE_HONE_CLAWS] = 0, + [MOVE_WIDE_GUARD] = -1, + [MOVE_GUARD_SPLIT] = 0, + [MOVE_POWER_SPLIT] = 0, + [MOVE_WONDER_ROOM] = 0, + [MOVE_PSYSHOCK] = 1, + [MOVE_VENOSHOCK] = 1, + [MOVE_AUTOTOMIZE] = 0, + [MOVE_RAGE_POWDER] = 0, + [MOVE_TELEKINESIS] = 0, + [MOVE_MAGIC_ROOM] = 0, + [MOVE_SMACK_DOWN] = 1, + [MOVE_STORM_THROW] = 1, + [MOVE_FLAME_BURST] = 1, + [MOVE_SLUDGE_WAVE] = 1, + [MOVE_QUIVER_DANCE] = 0, + [MOVE_HEAVY_SLAM] = 1, + [MOVE_SYNCHRONOISE] = 1, + [MOVE_ELECTRO_BALL] = 1, + [MOVE_SOAK] = 0, + [MOVE_FLAME_CHARGE] = 1, + [MOVE_COIL] = 0, + [MOVE_LOW_SWEEP] = 1, + [MOVE_ACID_SPRAY] = 1, + [MOVE_FOUL_PLAY] = 1, + [MOVE_SIMPLE_BEAM] = 0, + [MOVE_ENTRAINMENT] = 0, + [MOVE_AFTER_YOU] = 0, + [MOVE_ROUND] = 1, + [MOVE_ECHOED_VOICE] = 1, + [MOVE_CHIP_AWAY] = 1, + [MOVE_CLEAR_SMOG] = 1, + [MOVE_STORED_POWER] = 1, + [MOVE_QUICK_GUARD] = -1, + [MOVE_ALLY_SWITCH] = 0, + [MOVE_SCALD] = 1, + [MOVE_SHELL_SMASH] = 0, + [MOVE_HEAL_PULSE] = 0, + [MOVE_HEX] = 1, + [MOVE_SKY_DROP] = 1, + [MOVE_SHIFT_GEAR] = 0, + [MOVE_CIRCLE_THROW] = 1, + [MOVE_INCINERATE] = 1, + [MOVE_QUASH] = 0, + [MOVE_ACROBATICS] = 1, + [MOVE_REFLECT_TYPE] = 0, + [MOVE_RETALIATE] = 1, + [MOVE_FINAL_GAMBIT] = 1, + [MOVE_BESTOW] = 0, + [MOVE_INFERNO] = 1, + [MOVE_WATER_PLEDGE] = 1, + [MOVE_FIRE_PLEDGE] = 1, + [MOVE_GRASS_PLEDGE] = 1, + [MOVE_VOLT_SWITCH] = 1, + [MOVE_STRUGGLE_BUG] = 1, + [MOVE_BULLDOZE] = 1, + [MOVE_FROST_BREATH] = 1, + [MOVE_DRAGON_TAIL] = 1, + [MOVE_WORK_UP] = 0, + [MOVE_ELECTROWEB] = 1, + [MOVE_WILD_CHARGE] = 1, + [MOVE_DRILL_RUN] = 1, + [MOVE_DUAL_CHOP] = 1, + [MOVE_HEART_STAMP] = 1, + [MOVE_HORN_LEECH] = 1, + [MOVE_SACRED_SWORD] = 1, + [MOVE_RAZOR_SHELL] = 1, + [MOVE_HEAT_CRASH] = 1, + [MOVE_LEAF_TORNADO] = 1, + [MOVE_STEAMROLLER] = 1, + [MOVE_COTTON_GUARD] = 0, + [MOVE_NIGHT_DAZE] = 1, + [MOVE_PSYSTRIKE] = 1, + [MOVE_TAIL_SLAP] = 1, + [MOVE_HURRICANE] = 1, + [MOVE_HEAD_CHARGE] = 1, + [MOVE_GEAR_GRIND] = 1, + [MOVE_SEARING_SHOT] = 1, + [MOVE_TECHNO_BLAST] = 1, + [MOVE_RELIC_SONG] = 1, + [MOVE_SECRET_SWORD] = 1, + [MOVE_GLACIATE] = 1, + [MOVE_BOLT_STRIKE] = 1, + [MOVE_BLUE_FLARE] = 1, + [MOVE_FIERY_DANCE] = 1, + [MOVE_FREEZE_SHOCK] = 1, + [MOVE_ICE_BURN] = 1, + [MOVE_SNARL] = 1, + [MOVE_ICICLE_CRASH] = 1, + [MOVE_V_CREATE] = 1, + [MOVE_FUSION_FLARE] = 1, + [MOVE_FUSION_BOLT] = 1, + [MOVE_FLYING_PRESS] = 1, + [MOVE_MAT_BLOCK] = 0, + [MOVE_BELCH] = 1, + [MOVE_ROTOTILLER] = 0, + [MOVE_STICKY_WEB] = 0, + [MOVE_FELL_STINGER] = 1, + [MOVE_PHANTOM_FORCE] = 1, + [MOVE_TRICK_OR_TREAT] = 0, + [MOVE_NOBLE_ROAR] = 0, + [MOVE_ION_DELUGE] = 0, + [MOVE_PARABOLIC_CHARGE] = 1, + [MOVE_FORESTS_CURSE] = 0, + [MOVE_PETAL_BLIZZARD] = 1, + [MOVE_FREEZE_DRY] = 1, + [MOVE_DISARMING_VOICE] = 1, + [MOVE_PARTING_SHOT] = 0, + [MOVE_TOPSY_TURVY] = 0, + [MOVE_DRAINING_KISS] = 1, + [MOVE_CRAFTY_SHIELD] = -1, + [MOVE_FLOWER_SHIELD] = 0, + [MOVE_GRASSY_TERRAIN] = 0, + [MOVE_MISTY_TERRAIN] = 0, + [MOVE_ELECTRIFY] = 0, + [MOVE_PLAY_ROUGH] = 1, + [MOVE_FAIRY_WIND] = 1, + [MOVE_MOONBLAST] = 1, + [MOVE_BOOMBURST] = 1, + [MOVE_FAIRY_LOCK] = 0, + [MOVE_KINGS_SHIELD] = -1, + [MOVE_PLAY_NICE] = 0, + [MOVE_CONFIDE] = 0, + [MOVE_DIAMOND_STORM] = 1, + [MOVE_STEAM_ERUPTION] = 1, + [MOVE_HYPERSPACE_HOLE] = 1, + [MOVE_WATER_SHURIKEN] = 1, + [MOVE_MYSTICAL_FIRE] = 1, + [MOVE_SPIKY_SHIELD] = -1, + [MOVE_AROMATIC_MIST] = 0, + [MOVE_EERIE_IMPULSE] = 0, + [MOVE_VENOM_DRENCH] = 0, + [MOVE_POWDER] = 0, + [MOVE_GEOMANCY] = 0, + [MOVE_MAGNETIC_FLUX] = 0, + [MOVE_HAPPY_HOUR] = 0, + [MOVE_ELECTRIC_TERRAIN] = 0, + [MOVE_DAZZLING_GLEAM] = 1, + [MOVE_CELEBRATE] = 0, + [MOVE_HOLD_HANDS] = 0, + [MOVE_BABY_DOLL_EYES] = 0, + [MOVE_NUZZLE] = 1, + [MOVE_HOLD_BACK] = 1, + [MOVE_INFESTATION] = 1, + [MOVE_POWER_UP_PUNCH] = 1, + [MOVE_OBLIVION_WING] = 1, + [MOVE_THOUSAND_ARROWS] = 1, + [MOVE_THOUSAND_WAVES] = 1, + [MOVE_LANDS_WRATH] = 1, + [MOVE_LIGHT_OF_RUIN] = 1, + [MOVE_ORIGIN_PULSE] = 1, + [MOVE_PRECIPICE_BLADES] = 1, + [MOVE_DRAGON_ASCENT] = 1, + [MOVE_HYPERSPACE_FURY] = 1, + [MOVE_SHORE_UP] = 0, + [MOVE_FIRST_IMPRESSION] = -1, + [MOVE_BANEFUL_BUNKER] = -1, + [MOVE_SPIRIT_SHACKLE] = 1, + [MOVE_DARKEST_LARIAT] = 1, + [MOVE_SPARKLING_ARIA] = 1, + [MOVE_ICE_HAMMER] = 1, + [MOVE_FLORAL_HEALING] = 0, + [MOVE_HIGH_HORSEPOWER] = 1, + [MOVE_STRENGTH_SAP] = 0, + [MOVE_SOLAR_BLADE] = 1, + [MOVE_LEAFAGE] = 1, + [MOVE_SPOTLIGHT] = 0, + [MOVE_TOXIC_THREAD] = 0, + [MOVE_LASER_FOCUS] = 0, + [MOVE_GEAR_UP] = 0, + [MOVE_THROAT_CHOP] = 1, + [MOVE_POLLEN_PUFF] = 1, + [MOVE_ANCHOR_SHOT] = 1, + [MOVE_PSYCHIC_TERRAIN] = 0, + [MOVE_LUNGE] = 1, + [MOVE_FIRE_LASH] = 1, + [MOVE_POWER_TRIP] = 1, + [MOVE_BURN_UP] = 1, + [MOVE_SPEED_SWAP] = 0, + [MOVE_SMART_STRIKE] = 1, + [MOVE_PURIFY] = 0, + [MOVE_REVELATION_DANCE] = 1, + [MOVE_CORE_ENFORCER] = 1, + [MOVE_TROP_KICK] = 1, + [MOVE_INSTRUCT] = 0, + [MOVE_BEAK_BLAST] = 1, + [MOVE_CLANGING_SCALES] = 1, + [MOVE_DRAGON_HAMMER] = 1, + [MOVE_BRUTAL_SWING] = 1, + [MOVE_AURORA_VEIL] = 0, + [MOVE_SHELL_TRAP] = 1, + [MOVE_FLEUR_CANNON] = 1, + [MOVE_PSYCHIC_FANGS] = 1, + [MOVE_STOMPING_TANTRUM] = 1, + [MOVE_SHADOW_BONE] = 1, + [MOVE_ACCELEROCK] = 1, + [MOVE_LIQUIDATION] = 1, + [MOVE_PRISMATIC_LASER] = 1, + [MOVE_SPECTRAL_THIEF] = 1, + [MOVE_SUNSTEEL_STRIKE] = 1, + [MOVE_MOONGEIST_BEAM] = 1, + [MOVE_TEARFUL_LOOK] = 0, + [MOVE_ZING_ZAP] = 1, + [MOVE_NATURES_MADNESS] = 1, + [MOVE_MULTI_ATTACK] = 1, + [MOVE_MIND_BLOWN] = 1, + [MOVE_PLASMA_FISTS] = 1, + [MOVE_PHOTON_GEYSER] = 1, + [MOVE_ZIPPY_ZAP] = 1, + [MOVE_SPLISHY_SPLASH] = 1, + [MOVE_FLOATY_FALL] = 1, + [MOVE_PIKA_PAPOW] = 1, + [MOVE_BOUNCY_BUBBLE] = 1, + [MOVE_BUZZY_BUZZ] = 1, + [MOVE_SIZZLY_SLIDE] = 1, + [MOVE_GLITZY_GLOW] = 1, + [MOVE_BADDY_BAD] = 1, + [MOVE_SAPPY_SEED] = 1, + [MOVE_FREEZY_FROST] = 1, + [MOVE_SPARKLY_SWIRL] = 1, + [MOVE_VEEVEE_VOLLEY] = 1, + [MOVE_DOUBLE_IRON_BASH] = 1, + [MOVE_DYNAMAX_CANNON] = 1, + [MOVE_SNIPE_SHOT] = 1, + [MOVE_JAW_LOCK] = 1, + [MOVE_STUFF_CHEEKS] = 0, + [MOVE_NO_RETREAT] = 0, + [MOVE_TAR_SHOT] = 0, + [MOVE_MAGIC_POWDER] = 0, + [MOVE_DRAGON_DARTS] = 1, + [MOVE_TEATIME] = 0, + [MOVE_OCTOLOCK] = 0, + [MOVE_BOLT_BEAK] = 1, + [MOVE_FISHIOUS_REND] = 1, + [MOVE_COURT_CHANGE] = 0, + [MOVE_CLANGOROUS_SOUL] = 0, + [MOVE_BODY_PRESS] = 1, + [MOVE_DECORATE] = 0, + [MOVE_DRUM_BEATING] = 1, + [MOVE_SNAP_TRAP] = 1, + [MOVE_PYRO_BALL] = 1, + [MOVE_BEHEMOTH_BLADE] = 1, + [MOVE_BEHEMOTH_BASH] = 1, + [MOVE_AURA_WHEEL] = 1, + [MOVE_BREAKING_SWIPE] = 1, + [MOVE_BRANCH_POKE] = 1, + [MOVE_OVERDRIVE] = 1, + [MOVE_APPLE_ACID] = 1, + [MOVE_GRAV_APPLE] = 1, + [MOVE_SPIRIT_BREAK] = 1, + [MOVE_STRANGE_STEAM] = 1, + [MOVE_LIFE_DEW] = 0, + [MOVE_OBSTRUCT] = -1, + [MOVE_FALSE_SURRENDER] = 1, + [MOVE_METEOR_ASSAULT] = 1, + [MOVE_ETERNABEAM] = 1, + [MOVE_STEEL_BEAM] = 1, + [MOVE_EXPANDING_FORCE] = 1, + [MOVE_STEEL_ROLLER] = 1, + [MOVE_SCALE_SHOT] = 1, + [MOVE_METEOR_BEAM] = 1, + [MOVE_SHELL_SIDE_ARM] = 1, + [MOVE_MISTY_EXPLOSION] = 1, + [MOVE_GRASSY_GLIDE] = 1, + [MOVE_RISING_VOLTAGE] = 1, + [MOVE_TERRAIN_PULSE] = 1, + [MOVE_SKITTER_SMACK] = 1, + [MOVE_BURNING_JEALOUSY] = 1, + [MOVE_LASH_OUT] = 1, + [MOVE_POLTERGEIST] = 1, + [MOVE_CORROSIVE_GAS] = 0, + [MOVE_COACHING] = 0, + [MOVE_FLIP_TURN] = 1, + [MOVE_TRIPLE_AXEL] = 1, + [MOVE_DUAL_WINGBEAT] = 1, + [MOVE_SCORCHING_SANDS] = 1, + [MOVE_JUNGLE_HEALING] = 0, + [MOVE_WICKED_BLOW] = 1, + [MOVE_SURGING_STRIKES] = 1, + [MOVE_THUNDER_CAGE] = 1, + [MOVE_DRAGON_ENERGY] = 1, + [MOVE_FREEZING_GLARE] = 1, + [MOVE_FIERY_WRATH] = 1, + [MOVE_THUNDEROUS_KICK] = 1, + [MOVE_GLACIAL_LANCE] = 1, + [MOVE_ASTRAL_BARRAGE] = 1, + [MOVE_EERIE_SPELL] = 1, + [MOVE_DIRE_CLAW] = 1, + [MOVE_PSYSHIELD_BASH] = 1, + [MOVE_POWER_SHIFT] = 0, + [MOVE_STONE_AXE] = 1, + [MOVE_SPRINGTIDE_STORM] = 1, + [MOVE_MYSTICAL_POWER] = 1, + [MOVE_RAGING_FURY] = 1, + [MOVE_WAVE_CRASH] = 1, + [MOVE_CHLOROBLAST] = 1, + [MOVE_MOUNTAIN_GALE] = 1, + [MOVE_VICTORY_DANCE] = 0, + [MOVE_HEADLONG_RUSH] = 1, + [MOVE_BARB_BARRAGE] = 1, + [MOVE_ESPER_WING] = 1, + [MOVE_BITTER_MALICE] = 1, + [MOVE_SHELTER] = 0, + [MOVE_TRIPLE_ARROWS] = 1, + [MOVE_INFERNAL_PARADE] = 1, + [MOVE_CEASELESS_EDGE] = 1, + [MOVE_BLEAKWIND_STORM] = 1, + [MOVE_WILDBOLT_STORM] = 1, + [MOVE_SANDSEAR_STORM] = 1, + [MOVE_LUNAR_BLESSING] = 0, + [MOVE_TAKE_HEART] = 0, }; static const struct OamData sOam_JudgmentIcon = From d04a852e914f92e1069c386d5c5f8f59920b21b0 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 20 Sep 2022 02:31:20 -0300 Subject: [PATCH 094/147] Update debug.c --- src/debug.c | 434 ++++++++++++++++++++++++++-------------------------- 1 file changed, 217 insertions(+), 217 deletions(-) diff --git a/src/debug.c b/src/debug.c index 27c663863..f56131968 100644 --- a/src/debug.c +++ b/src/debug.c @@ -294,100 +294,100 @@ extern u8 PlayersHouse_2F_EventScript_CheckWallClock[]; // Text // Main Menu -static const u8 gDebugText_Utilities[] = _("Utilities"); -static const u8 gDebugText_Scripts[] = _("Scripts"); -static const u8 gDebugText_Flags[] = _("Flags"); -static const u8 gDebugText_Vars[] = _("Variables"); -static const u8 gDebugText_Give[] = _("Give X"); -static const u8 gDebugText_Sound[] = _("Sound"); -static const u8 gDebugText_Cancel[] = _("Cancel"); +static const u8 sDebugText_Utilities[] = _("Utilities"); +static const u8 sDebugText_Scripts[] = _("Scripts"); +static const u8 sDebugText_Flags[] = _("Flags"); +static const u8 sDebugText_Vars[] = _("Variables"); +static const u8 sDebugText_Give[] = _("Give X"); +static const u8 sDebugText_Sound[] = _("Sound"); +static const u8 sDebugText_Cancel[] = _("Cancel"); // Script menu -static const u8 gDebugText_Util_Script_1[] = _("Script 1"); -static const u8 gDebugText_Util_Script_2[] = _("Script 2"); -static const u8 gDebugText_Util_Script_3[] = _("Script 3"); -static const u8 gDebugText_Util_Script_4[] = _("Script 4"); -static const u8 gDebugText_Util_Script_5[] = _("Script 5"); -static const u8 gDebugText_Util_Script_6[] = _("Script 6"); -static const u8 gDebugText_Util_Script_7[] = _("Script 7"); -static const u8 gDebugText_Util_Script_8[] = _("Script 8"); +static const u8 sDebugText_Util_Script_1[] = _("Script 1"); +static const u8 sDebugText_Util_Script_2[] = _("Script 2"); +static const u8 sDebugText_Util_Script_3[] = _("Script 3"); +static const u8 sDebugText_Util_Script_4[] = _("Script 4"); +static const u8 sDebugText_Util_Script_5[] = _("Script 5"); +static const u8 sDebugText_Util_Script_6[] = _("Script 6"); +static const u8 sDebugText_Util_Script_7[] = _("Script 7"); +static const u8 sDebugText_Util_Script_8[] = _("Script 8"); // Util Menu -static const u8 gDebugText_Util_HealParty[] = _("Heal Party"); -static const u8 gDebugText_Util_Fly[] = _("Fly to map"); -static const u8 gDebugText_Util_WarpToMap[] = _("Warp to map warp"); -static const u8 gDebugText_Util_WarpToMap_SelectMapGroup[] = _("Group: {STR_VAR_1} \n \n\n{STR_VAR_3} "); -static const u8 gDebugText_Util_WarpToMap_SelectMap[] = _("Map: {STR_VAR_1} \nMapSec: \n{STR_VAR_2} \n{STR_VAR_3} "); -static const u8 gDebugText_Util_WarpToMap_SelectWarp[] = _("Warp: \n{STR_VAR_1} \n \n{STR_VAR_3} "); -static const u8 gDebugText_Util_WarpToMap_SelMax[] = _("{STR_VAR_1} / {STR_VAR_2}"); -static const u8 gDebugText_Util_RunningShoes[] = _("Toggle Running Shoes"); -static const u8 gDebugText_Util_PoisonMons[] = _("Poison all mons"); -static const u8 gDebugText_Util_SaveBlockSpace[] = _("SaveBlock Space"); -static const u8 gDebugText_Util_Weather[] = _("Set weather"); -static const u8 gDebugText_Util_Weather_ID[] = _("Weather Id: {STR_VAR_3}\n{STR_VAR_1}\n{STR_VAR_2}"); -static const u8 gDebugText_Util_CheckWallClock[] = _("Check Wall Clock"); -static const u8 gDebugText_Util_SetWallClock[] = _("Set Wall Clock"); -static const u8 gDebugText_Util_WatchCredits[] = _("Watch Credits"); -static const u8 gDebugText_Util_Trainer_Name[] = _("Trainer name"); -static const u8 gDebugText_Util_Trainer_Gender[] = _("Toggle T. Gender"); -static const u8 gDebugText_Util_Trainer_Id[] = _("New Trainer Id"); +static const u8 sDebugText_Util_HealParty[] = _("Heal Party"); +static const u8 sDebugText_Util_Fly[] = _("Fly to map"); +static const u8 sDebugText_Util_WarpToMap[] = _("Warp to map warp"); +static const u8 sDebugText_Util_WarpToMap_SelectMapGroup[] = _("Group: {STR_VAR_1} \n \n\n{STR_VAR_3} "); +static const u8 sDebugText_Util_WarpToMap_SelectMap[] = _("Map: {STR_VAR_1} \nMapSec: \n{STR_VAR_2} \n{STR_VAR_3} "); +static const u8 sDebugText_Util_WarpToMap_SelectWarp[] = _("Warp: \n{STR_VAR_1} \n \n{STR_VAR_3} "); +static const u8 sDebugText_Util_WarpToMap_SelMax[] = _("{STR_VAR_1} / {STR_VAR_2}"); +static const u8 sDebugText_Util_RunningShoes[] = _("Toggle Running Shoes"); +static const u8 sDebugText_Util_PoisonMons[] = _("Poison all mons"); +static const u8 sDebugText_Util_SaveBlockSpace[] = _("SaveBlock Space"); +static const u8 sDebugText_Util_Weather[] = _("Set weather"); +static const u8 sDebugText_Util_Weather_ID[] = _("Weather Id: {STR_VAR_3}\n{STR_VAR_1}\n{STR_VAR_2}"); +static const u8 sDebugText_Util_CheckWallClock[] = _("Check Wall Clock"); +static const u8 sDebugText_Util_SetWallClock[] = _("Set Wall Clock"); +static const u8 sDebugText_Util_WatchCredits[] = _("Watch Credits"); +static const u8 sDebugText_Util_Trainer_Name[] = _("Trainer name"); +static const u8 sDebugText_Util_Trainer_Gender[] = _("Toggle T. Gender"); +static const u8 sDebugText_Util_Trainer_Id[] = _("New Trainer Id"); // Flags Menu -static const u8 gDebugText_Flags_Flags[] = _("Set Flag XXXX"); -static const u8 gDebugText_Flags_SetPokedexFlags[] = _("All Pokédex Flags"); -static const u8 gDebugText_Flags_SwitchDex[] = _("Pokédex ON/OFF"); -static const u8 gDebugText_Flags_SwitchNationalDex[] = _("NatDex ON/OFF"); -static const u8 gDebugText_Flags_SwitchPokeNav[] = _("PokéNav ON/OFF"); -static const u8 gDebugText_Flags_ToggleFlyFlags[] = _("Fly Flags ON/OFF"); -static const u8 gDebugText_Flags_ToggleAllBadges[] = _("All badges ON/OFF"); -static const u8 gDebugText_Flags_ToggleFrontierPass[] = _("Frontier Pass ON/OFF"); -static const u8 gDebugText_Flags_SwitchCollision[] = _("Collision ON/OFF"); -static const u8 gDebugText_Flags_SwitchEncounter[] = _("Encounter ON/OFF"); -static const u8 gDebugText_Flags_SwitchTrainerSee[] = _("TrainerSee ON/OFF"); -static const u8 gDebugText_Flags_SwitchBagUse[] = _("BagUse ON/OFF"); -static const u8 gDebugText_Flags_SwitchCatching[] = _("Catching ON/OFF"); -static const u8 gDebugText_Flags_Flag[] = _("Flag: {STR_VAR_1} \n{STR_VAR_2} \n{STR_VAR_3}"); -static const u8 gDebugText_Flags_FlagHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); -static const u8 gDebugText_Flags_FlagSet[] = _("TRUE"); -static const u8 gDebugText_Flags_FlagUnset[] = _("FALSE"); +static const u8 sDebugText_Flags_Flags[] = _("Set Flag XXXX"); +static const u8 sDebugText_Flags_SetPokedexFlags[] = _("All Pokédex Flags"); +static const u8 sDebugText_Flags_SwitchDex[] = _("Pokédex ON/OFF"); +static const u8 sDebugText_Flags_SwitchNationalDex[] = _("NatDex ON/OFF"); +static const u8 sDebugText_Flags_SwitchPokeNav[] = _("PokéNav ON/OFF"); +static const u8 sDebugText_Flags_ToggleFlyFlags[] = _("Fly Flags ON/OFF"); +static const u8 sDebugText_Flags_ToggleAllBadges[] = _("All badges ON/OFF"); +static const u8 sDebugText_Flags_ToggleFrontierPass[] = _("Frontier Pass ON/OFF"); +static const u8 sDebugText_Flags_SwitchCollision[] = _("Collision ON/OFF"); +static const u8 sDebugText_Flags_SwitchEncounter[] = _("Encounter ON/OFF"); +static const u8 sDebugText_Flags_SwitchTrainerSee[] = _("TrainerSee ON/OFF"); +static const u8 sDebugText_Flags_SwitchBagUse[] = _("BagUse ON/OFF"); +static const u8 sDebugText_Flags_SwitchCatching[] = _("Catching ON/OFF"); +static const u8 sDebugText_Flags_Flag[] = _("Flag: {STR_VAR_1} \n{STR_VAR_2} \n{STR_VAR_3}"); +static const u8 sDebugText_Flags_FlagHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); +static const u8 sDebugText_Flags_FlagSet[] = _("TRUE"); +static const u8 sDebugText_Flags_FlagUnset[] = _("FALSE"); // Variables Menu -static const u8 gDebugText_Vars_Vars[] = _("Set Vars XXXX"); -static const u8 gDebugText_Vars_VariableHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); -static const u8 gDebugText_Vars_Variable[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); -static const u8 gDebugText_Vars_VariableValueSet[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); +static const u8 sDebugText_Vars_Vars[] = _("Set Vars XXXX"); +static const u8 sDebugText_Vars_VariableHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); +static const u8 sDebugText_Vars_Variable[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); +static const u8 sDebugText_Vars_VariableValueSet[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); // Give Menu -static const u8 gDebugText_Give_GiveItem[] = _("Give item XXXX"); -static const u8 gDebugText_ItemQuantity[] = _("Quantity: \n{STR_VAR_1} \n\n{STR_VAR_2}"); -static const u8 gDebugText_ItemID[] = _("Item Id: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); -static const u8 gDebugText_Give_AllTMs[] = _("Give all TMs"); -static const u8 gDebugText_Give_GivePokemonSimple[] = _("Pkm(lvl)"); -static const u8 gDebugText_Give_GivePokemonComplex[] = _("Pkm(l,s,n,a,IV,mov)"); -static const u8 gDebugText_PokemonID[] = _("Species: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); -static const u8 gDebugText_PokemonLevel[] = _("Level: \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonShiny[] = _("Shiny: \n {STR_VAR_2} \n \n "); -static const u8 gDebugText_PokemonNature[] = _("NatureId: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonAbility[] = _("AbilityNum: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonIVs[] = _("All IVs: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_0[] = _("IV HP: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_1[] = _("IV Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_2[] = _("IV Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_3[] = _("IV Speed: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_4[] = _("IV Sp. Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_5[] = _("IV Sp. Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonMove_0[] = _("Move 0: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonMove_1[] = _("Move 1: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonMove_2[] = _("Move 2: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonMove_3[] = _("Move 3: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_Give_MaxMoney[] = _("Max Money"); -static const u8 gDebugText_Give_MaxCoins[] = _("Max Coins"); -static const u8 gDebugText_Give_BattlePoints[] = _("Max Battle Points"); -static const u8 gDebugText_Give_DaycareEgg[] = _("Daycare Egg"); -static const u8 gDebugText_Give_FillPc[] = _("Fill Pc"); -static const u8 gDebugText_Give_GiveCHEAT[] = _("CHEAT Start"); -static const u8 gDebugText_AccessPC[] = _("Access PC"); +static const u8 sDebugText_Give_GiveItem[] = _("Give item XXXX"); +static const u8 sDebugText_ItemQuantity[] = _("Quantity: \n{STR_VAR_1} \n\n{STR_VAR_2}"); +static const u8 sDebugText_ItemID[] = _("Item Id: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); +static const u8 sDebugText_Give_AllTMs[] = _("Give all TMs"); +static const u8 sDebugText_Give_GivePokemonSimple[] = _("Pkm(lvl)"); +static const u8 sDebugText_Give_GivePokemonComplex[] = _("Pkm(l,s,n,a,IV,mov)"); +static const u8 sDebugText_PokemonID[] = _("Species: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); +static const u8 sDebugText_PokemonLevel[] = _("Level: \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonShiny[] = _("Shiny: \n {STR_VAR_2} \n \n "); +static const u8 sDebugText_PokemonNature[] = _("NatureId: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonAbility[] = _("AbilityNum: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonIVs[] = _("All IVs: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_0[] = _("IV HP: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_1[] = _("IV Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_2[] = _("IV Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_3[] = _("IV Speed: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_4[] = _("IV Sp. Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_5[] = _("IV Sp. Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonMove_0[] = _("Move 0: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonMove_1[] = _("Move 1: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonMove_2[] = _("Move 2: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonMove_3[] = _("Move 3: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_Give_MaxMoney[] = _("Max Money"); +static const u8 sDebugText_Give_MaxCoins[] = _("Max Coins"); +static const u8 sDebugText_Give_BattlePoints[] = _("Max Battle Points"); +static const u8 sDebugText_Give_DaycareEgg[] = _("Daycare Egg"); +static const u8 sDebugText_Give_FillPc[] = _("Fill Pc"); +static const u8 sDebugText_Give_GiveCHEAT[] = _("CHEAT Start"); +static const u8 sDebugText_AccessPC[] = _("Access PC"); // Sound Mneu -static const u8 gDebugText_Sound_SE[] = _("Effects"); -static const u8 gDebugText_Sound_SE_ID[] = _("Sound Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); -static const u8 gDebugText_Sound_MUS[] = _("Music"); -static const u8 gDebugText_Sound_MUS_ID[] = _("Music Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); -static const u8 gDebugText_Sound_Empty[] = _(""); +static const u8 sDebugText_Sound_SE[] = _("Effects"); +static const u8 sDebugText_Sound_SE_ID[] = _("Sound Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); +static const u8 sDebugText_Sound_MUS[] = _("Music"); +static const u8 sDebugText_Sound_MUS_ID[] = _("Music Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); +static const u8 sDebugText_Sound_Empty[] = _(""); static const u8 digitInidicator_1[] = _("{LEFT_ARROW}+1{RIGHT_ARROW} "); static const u8 digitInidicator_10[] = _("{LEFT_ARROW}+10{RIGHT_ARROW} "); @@ -426,79 +426,79 @@ static const s32 sPowersOfTen[] = // List Menu Items static const struct ListMenuItem sDebugMenu_Items_Main[] = { - [DEBUG_MENU_ITEM_UTILITIES] = {gDebugText_Utilities, DEBUG_MENU_ITEM_UTILITIES}, - [DEBUG_MENU_ITEM_SCRIPTS] = {gDebugText_Scripts, DEBUG_MENU_ITEM_SCRIPTS}, - [DEBUG_MENU_ITEM_FLAGS] = {gDebugText_Flags, DEBUG_MENU_ITEM_FLAGS}, - [DEBUG_MENU_ITEM_VARS] = {gDebugText_Vars, DEBUG_MENU_ITEM_VARS}, - [DEBUG_MENU_ITEM_GIVE] = {gDebugText_Give, DEBUG_MENU_ITEM_GIVE}, - [DEBUG_MENU_ITEM_SOUND] = {gDebugText_Sound, DEBUG_MENU_ITEM_SOUND}, - [DEBUG_MENU_ITEM_ACCESS_PC] = {gDebugText_AccessPC, DEBUG_MENU_ITEM_ACCESS_PC}, - [DEBUG_MENU_ITEM_CANCEL] = {gDebugText_Cancel, DEBUG_MENU_ITEM_CANCEL} + [DEBUG_MENU_ITEM_UTILITIES] = {sDebugText_Utilities, DEBUG_MENU_ITEM_UTILITIES}, + [DEBUG_MENU_ITEM_SCRIPTS] = {sDebugText_Scripts, DEBUG_MENU_ITEM_SCRIPTS}, + [DEBUG_MENU_ITEM_FLAGS] = {sDebugText_Flags, DEBUG_MENU_ITEM_FLAGS}, + [DEBUG_MENU_ITEM_VARS] = {sDebugText_Vars, DEBUG_MENU_ITEM_VARS}, + [DEBUG_MENU_ITEM_GIVE] = {sDebugText_Give, DEBUG_MENU_ITEM_GIVE}, + [DEBUG_MENU_ITEM_SOUND] = {sDebugText_Sound, DEBUG_MENU_ITEM_SOUND}, + [DEBUG_MENU_ITEM_ACCESS_PC] = {sDebugText_AccessPC, DEBUG_MENU_ITEM_ACCESS_PC}, + [DEBUG_MENU_ITEM_CANCEL] = {sDebugText_Cancel, DEBUG_MENU_ITEM_CANCEL} }; static const struct ListMenuItem sDebugMenu_Items_Utilities[] = { - [DEBUG_UTIL_MENU_ITEM_HEAL_PARTY] = {gDebugText_Util_HealParty, DEBUG_UTIL_MENU_ITEM_HEAL_PARTY}, - [DEBUG_UTIL_MENU_ITEM_FLY] = {gDebugText_Util_Fly, DEBUG_UTIL_MENU_ITEM_FLY}, - [DEBUG_UTIL_MENU_ITEM_WARP] = {gDebugText_Util_WarpToMap, DEBUG_UTIL_MENU_ITEM_WARP}, - [DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES] = {gDebugText_Util_RunningShoes, DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES}, - [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = {gDebugText_Util_PoisonMons, DEBUG_UTIL_MENU_ITEM_POISON_MONS}, - [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = {gDebugText_Util_SaveBlockSpace, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK}, - [DEBUG_UTIL_MENU_ITEM_WEATHER] = {gDebugText_Util_Weather, DEBUG_UTIL_MENU_ITEM_WEATHER}, - [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = {gDebugText_Util_CheckWallClock, DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK}, - [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = {gDebugText_Util_SetWallClock, DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK}, - [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = {gDebugText_Util_WatchCredits, DEBUG_UTIL_MENU_ITEM_WATCHCREDITS}, - [DEBUG_UTIL_MENU_ITEM_TRAINER_NAME] = {gDebugText_Util_Trainer_Name, DEBUG_UTIL_MENU_ITEM_TRAINER_NAME}, - [DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER] = {gDebugText_Util_Trainer_Gender, DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER}, - [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = {gDebugText_Util_Trainer_Id, DEBUG_UTIL_MENU_ITEM_TRAINER_ID}, + [DEBUG_UTIL_MENU_ITEM_HEAL_PARTY] = {sDebugText_Util_HealParty, DEBUG_UTIL_MENU_ITEM_HEAL_PARTY}, + [DEBUG_UTIL_MENU_ITEM_FLY] = {sDebugText_Util_Fly, DEBUG_UTIL_MENU_ITEM_FLY}, + [DEBUG_UTIL_MENU_ITEM_WARP] = {sDebugText_Util_WarpToMap, DEBUG_UTIL_MENU_ITEM_WARP}, + [DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES] = {sDebugText_Util_RunningShoes, DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES}, + [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = {sDebugText_Util_PoisonMons, DEBUG_UTIL_MENU_ITEM_POISON_MONS}, + [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = {sDebugText_Util_SaveBlockSpace, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK}, + [DEBUG_UTIL_MENU_ITEM_WEATHER] = {sDebugText_Util_Weather, DEBUG_UTIL_MENU_ITEM_WEATHER}, + [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = {sDebugText_Util_CheckWallClock, DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK}, + [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = {sDebugText_Util_SetWallClock, DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK}, + [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = {sDebugText_Util_WatchCredits, DEBUG_UTIL_MENU_ITEM_WATCHCREDITS}, + [DEBUG_UTIL_MENU_ITEM_TRAINER_NAME] = {sDebugText_Util_Trainer_Name, DEBUG_UTIL_MENU_ITEM_TRAINER_NAME}, + [DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER] = {sDebugText_Util_Trainer_Gender, DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER}, + [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = {sDebugText_Util_Trainer_Id, DEBUG_UTIL_MENU_ITEM_TRAINER_ID}, }; static const struct ListMenuItem sDebugMenu_Items_Scripts[] = { - [DEBUG_UTIL_MENU_ITEM_SCRIPT_1] = {gDebugText_Util_Script_1, DEBUG_UTIL_MENU_ITEM_SCRIPT_1}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_2] = {gDebugText_Util_Script_2, DEBUG_UTIL_MENU_ITEM_SCRIPT_2}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_3] = {gDebugText_Util_Script_3, DEBUG_UTIL_MENU_ITEM_SCRIPT_3}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_4] = {gDebugText_Util_Script_4, DEBUG_UTIL_MENU_ITEM_SCRIPT_4}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_5] = {gDebugText_Util_Script_5, DEBUG_UTIL_MENU_ITEM_SCRIPT_5}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_6] = {gDebugText_Util_Script_6, DEBUG_UTIL_MENU_ITEM_SCRIPT_6}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_7] = {gDebugText_Util_Script_7, DEBUG_UTIL_MENU_ITEM_SCRIPT_7}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_8] = {gDebugText_Util_Script_8, DEBUG_UTIL_MENU_ITEM_SCRIPT_8}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_1] = {sDebugText_Util_Script_1, DEBUG_UTIL_MENU_ITEM_SCRIPT_1}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_2] = {sDebugText_Util_Script_2, DEBUG_UTIL_MENU_ITEM_SCRIPT_2}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_3] = {sDebugText_Util_Script_3, DEBUG_UTIL_MENU_ITEM_SCRIPT_3}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_4] = {sDebugText_Util_Script_4, DEBUG_UTIL_MENU_ITEM_SCRIPT_4}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_5] = {sDebugText_Util_Script_5, DEBUG_UTIL_MENU_ITEM_SCRIPT_5}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_6] = {sDebugText_Util_Script_6, DEBUG_UTIL_MENU_ITEM_SCRIPT_6}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_7] = {sDebugText_Util_Script_7, DEBUG_UTIL_MENU_ITEM_SCRIPT_7}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_8] = {sDebugText_Util_Script_8, DEBUG_UTIL_MENU_ITEM_SCRIPT_8}, }; static const struct ListMenuItem sDebugMenu_Items_Flags[] = { - [DEBUG_FLAG_MENU_ITEM_FLAGS] = {gDebugText_Flags_Flags, DEBUG_FLAG_MENU_ITEM_FLAGS}, - [DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS] = {gDebugText_Flags_SetPokedexFlags, DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS}, - [DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF] = {gDebugText_Flags_SwitchDex, DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF}, - [DEBUG_FLAG_MENU_ITEM_NATDEXONOFF] = {gDebugText_Flags_SwitchNationalDex, DEBUG_FLAG_MENU_ITEM_NATDEXONOFF}, - [DEBUG_FLAG_MENU_ITEM_POKENAVONOFF] = {gDebugText_Flags_SwitchPokeNav, DEBUG_FLAG_MENU_ITEM_POKENAVONOFF}, - [DEBUG_FLAG_MENU_ITEM_FLYANYWHERE] = {gDebugText_Flags_ToggleFlyFlags, DEBUG_FLAG_MENU_ITEM_FLYANYWHERE}, - [DEBUG_FLAG_MENU_ITEM_GETALLBADGES] = {gDebugText_Flags_ToggleAllBadges, DEBUG_FLAG_MENU_ITEM_GETALLBADGES}, - [DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS] = {gDebugText_Flags_ToggleFrontierPass, DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS}, - [DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF] = {gDebugText_Flags_SwitchCollision, DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF] = {gDebugText_Flags_SwitchEncounter, DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF] = {gDebugText_Flags_SwitchTrainerSee, DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF] = {gDebugText_Flags_SwitchBagUse, DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF] = {gDebugText_Flags_SwitchCatching, DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_FLAGS] = {sDebugText_Flags_Flags, DEBUG_FLAG_MENU_ITEM_FLAGS}, + [DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS] = {sDebugText_Flags_SetPokedexFlags, DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS}, + [DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF] = {sDebugText_Flags_SwitchDex, DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF}, + [DEBUG_FLAG_MENU_ITEM_NATDEXONOFF] = {sDebugText_Flags_SwitchNationalDex, DEBUG_FLAG_MENU_ITEM_NATDEXONOFF}, + [DEBUG_FLAG_MENU_ITEM_POKENAVONOFF] = {sDebugText_Flags_SwitchPokeNav, DEBUG_FLAG_MENU_ITEM_POKENAVONOFF}, + [DEBUG_FLAG_MENU_ITEM_FLYANYWHERE] = {sDebugText_Flags_ToggleFlyFlags, DEBUG_FLAG_MENU_ITEM_FLYANYWHERE}, + [DEBUG_FLAG_MENU_ITEM_GETALLBADGES] = {sDebugText_Flags_ToggleAllBadges, DEBUG_FLAG_MENU_ITEM_GETALLBADGES}, + [DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS] = {sDebugText_Flags_ToggleFrontierPass, DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS}, + [DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF] = {sDebugText_Flags_SwitchCollision, DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF] = {sDebugText_Flags_SwitchEncounter, DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF] = {sDebugText_Flags_SwitchTrainerSee, DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF] = {sDebugText_Flags_SwitchBagUse, DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF] = {sDebugText_Flags_SwitchCatching, DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF}, }; static const struct ListMenuItem sDebugMenu_Items_Vars[] = { - [DEBUG_VARS_MENU_ITEM_VARS] = {gDebugText_Vars_Vars, DEBUG_FLAG_MENU_ITEM_FLAGS}, + [DEBUG_VARS_MENU_ITEM_VARS] = {sDebugText_Vars_Vars, DEBUG_FLAG_MENU_ITEM_FLAGS}, }; static const struct ListMenuItem sDebugMenu_Items_Give[] = { - [DEBUG_GIVE_MENU_ITEM_ITEM_X] = {gDebugText_Give_GiveItem, DEBUG_GIVE_MENU_ITEM_ITEM_X}, - [DEBUG_GIVE_MENU_ITEM_ALLTMS] = {gDebugText_Give_AllTMs, DEBUG_GIVE_MENU_ITEM_ALLTMS}, - [DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE] = {gDebugText_Give_GivePokemonSimple, DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE}, - [DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX] = {gDebugText_Give_GivePokemonComplex, DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX}, - [DEBUG_GIVE_MENU_ITEM_MAX_MONEY] = {gDebugText_Give_MaxMoney, DEBUG_GIVE_MENU_ITEM_MAX_MONEY}, - [DEBUG_GIVE_MENU_ITEM_MAX_COINS] = {gDebugText_Give_MaxCoins, DEBUG_GIVE_MENU_ITEM_MAX_COINS}, - [DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS] = {gDebugText_Give_BattlePoints, DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS}, - [DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG] = {gDebugText_Give_DaycareEgg, DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG}, - [DEBUG_GIVE_MENU_ITEM_FILL_PC] = {gDebugText_Give_FillPc, DEBUG_GIVE_MENU_ITEM_FILL_PC}, - [DEBUG_GIVE_MENU_ITEM_CHEAT] = {gDebugText_Give_GiveCHEAT, DEBUG_GIVE_MENU_ITEM_CHEAT}, + [DEBUG_GIVE_MENU_ITEM_ITEM_X] = {sDebugText_Give_GiveItem, DEBUG_GIVE_MENU_ITEM_ITEM_X}, + [DEBUG_GIVE_MENU_ITEM_ALLTMS] = {sDebugText_Give_AllTMs, DEBUG_GIVE_MENU_ITEM_ALLTMS}, + [DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE] = {sDebugText_Give_GivePokemonSimple, DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE}, + [DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX] = {sDebugText_Give_GivePokemonComplex, DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX}, + [DEBUG_GIVE_MENU_ITEM_MAX_MONEY] = {sDebugText_Give_MaxMoney, DEBUG_GIVE_MENU_ITEM_MAX_MONEY}, + [DEBUG_GIVE_MENU_ITEM_MAX_COINS] = {sDebugText_Give_MaxCoins, DEBUG_GIVE_MENU_ITEM_MAX_COINS}, + [DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS] = {sDebugText_Give_BattlePoints, DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS}, + [DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG] = {sDebugText_Give_DaycareEgg, DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG}, + [DEBUG_GIVE_MENU_ITEM_FILL_PC] = {sDebugText_Give_FillPc, DEBUG_GIVE_MENU_ITEM_FILL_PC}, + [DEBUG_GIVE_MENU_ITEM_CHEAT] = {sDebugText_Give_GiveCHEAT, DEBUG_GIVE_MENU_ITEM_CHEAT}, }; static const struct ListMenuItem sDebugMenu_Items_Sound[] = { - [DEBUG_SOUND_MENU_ITEM_SE] = {gDebugText_Sound_SE, DEBUG_SOUND_MENU_ITEM_SE}, - [DEBUG_SOUND_MENU_ITEM_MUS] = {gDebugText_Sound_MUS, DEBUG_SOUND_MENU_ITEM_MUS}, + [DEBUG_SOUND_MENU_ITEM_SE] = {sDebugText_Sound_SE, DEBUG_SOUND_MENU_ITEM_SE}, + [DEBUG_SOUND_MENU_ITEM_MUS] = {sDebugText_Sound_MUS, DEBUG_SOUND_MENU_ITEM_MUS}, }; // ******************************* @@ -960,9 +960,9 @@ static void DebugAction_Util_Warp_Warp(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar2, MAP_GROUPS_COUNT-1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar1, gDebugText_Util_WarpToMap_SelMax); + StringExpandPlaceholders(gStringVar1, sDebugText_Util_WarpToMap_SelMax); StringCopy(gStringVar3, gText_DigitIndicator[0]); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectMapGroup); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectMapGroup); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Util_Warp_SelectMapGroup; @@ -1003,9 +1003,9 @@ static void DebugAction_Util_Warp_SelectMapGroup(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar2, MAP_GROUPS_COUNT - 1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar1, gDebugText_Util_WarpToMap_SelMax); + StringExpandPlaceholders(gStringVar1, sDebugText_Util_WarpToMap_SelMax); StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectMapGroup); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectMapGroup); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -1017,10 +1017,10 @@ static void DebugAction_Util_Warp_SelectMapGroup(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar2, MAP_GROUP_COUNT[gTasks[taskId].data[5]] - 1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar1, gDebugText_Util_WarpToMap_SelMax); + StringExpandPlaceholders(gStringVar1, sDebugText_Util_WarpToMap_SelMax); GetMapName(gStringVar2, Overworld_GetMapHeaderByGroupAndId(gTasks[taskId].data[5], gTasks[taskId].data[3])->regionMapSectionId, 0); StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectMap); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectMap); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Util_Warp_SelectMap; @@ -1063,10 +1063,10 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar2, MAP_GROUP_COUNT[gTasks[taskId].data[5]] - 1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar1, gDebugText_Util_WarpToMap_SelMax); + StringExpandPlaceholders(gStringVar1, sDebugText_Util_WarpToMap_SelMax); GetMapName(gStringVar2, Overworld_GetMapHeaderByGroupAndId(gTasks[taskId].data[5], gTasks[taskId].data[3])->regionMapSectionId, 0); StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectMap); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectMap); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -1078,7 +1078,7 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectWarp); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectWarp); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Util_Warp_SelectWarp; } @@ -1108,7 +1108,7 @@ static void DebugAction_Util_Warp_SelectWarp(u8 taskId) StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectWarp); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectWarp); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -1161,12 +1161,12 @@ static void DebugAction_Util_PoisonMons(u8 taskId) static void DebugAction_Util_CheckSaveBlock(u8 taskId) { - static const u8 gDebugText_SaveBlockSize[] = _("SaveBlock1 is {STR_VAR_1} bytes long.\nMax size is 15872 bytes.\pSaveBlock2 is {STR_VAR_2} bytes long.\nMax size is 3968 bytes.\pPokemonStorage is {STR_VAR_3} bytes long.\nMax size is 35712 bytes."); + static const u8 sDebugText_SaveBlockSize[] = _("SaveBlock1 is {STR_VAR_1} bytes long.\nMax size is 15872 bytes.\pSaveBlock2 is {STR_VAR_2} bytes long.\nMax size is 3968 bytes.\pPokemonStorage is {STR_VAR_3} bytes long.\nMax size is 35712 bytes."); ConvertIntToDecimalStringN(gStringVar1, sizeof(struct SaveBlock1), STR_CONV_MODE_LEFT_ALIGN, 6); ConvertIntToDecimalStringN(gStringVar2, sizeof(struct SaveBlock2), STR_CONV_MODE_LEFT_ALIGN, 6); ConvertIntToDecimalStringN(gStringVar3, sizeof(struct PokemonStorage), STR_CONV_MODE_LEFT_ALIGN, 6); - StringExpandPlaceholders(gStringVar4, gDebugText_SaveBlockSize); + StringExpandPlaceholders(gStringVar4, sDebugText_SaveBlockSize); Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); @@ -1212,7 +1212,7 @@ static void DebugAction_Util_Weather(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar1, sWeatherNames[0], CHAR_SPACE, 30); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_Weather_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_Weather_ID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Util_Weather_SelectId; @@ -1257,7 +1257,7 @@ static void DebugAction_Util_Weather_SelectId(u8 taskId) else StringCopyPadded(gStringVar1, sText_WeatherNotDefined, CHAR_SPACE, 30); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_Weather_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_Weather_ID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -1386,13 +1386,13 @@ static void DebugAction_Flags_Flags(u8 taskId) //Display initial Flag ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); ConvertIntToHexStringN(gStringVar2, 1, STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar1, gDebugText_Flags_FlagHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Flags_FlagHex); if (FlagGet(FLAG_TEMP_1) == TRUE) - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagSet, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagSet, CHAR_SPACE, 15); else - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); StringCopy(gStringVar3, gText_DigitIndicator[0]); - StringExpandPlaceholders(gStringVar4, gDebugText_Flags_Flag); + StringExpandPlaceholders(gStringVar4, sDebugText_Flags_Flag); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Flags_FlagsSelect; @@ -1450,13 +1450,13 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) { ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar1, gDebugText_Flags_FlagHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Flags_FlagHex); if (FlagGet(gTasks[taskId].data[3]) == TRUE) - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagSet, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagSet, CHAR_SPACE, 15); else - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringExpandPlaceholders(gStringVar4, gDebugText_Flags_Flag); + StringExpandPlaceholders(gStringVar4, sDebugText_Flags_Flag); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } } @@ -1644,11 +1644,11 @@ static void DebugAction_Vars_Vars(u8 taskId) //Display initial Variable ConvertIntToDecimalStringN(gStringVar1, VARS_START, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, VARS_START, STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, gDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); ConvertIntToDecimalStringN(gStringVar3, 0, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar2, gText_DigitIndicator[0]); - StringExpandPlaceholders(gStringVar4, gDebugText_Vars_Variable); + StringExpandPlaceholders(gStringVar4, sDebugText_Vars_Variable); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Vars_Select; @@ -1691,7 +1691,7 @@ static void DebugAction_Vars_Select(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, gDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); if (VarGetIfExist(gTasks[taskId].data[3]) == 65535) //Current value, if 65535 the value hasnt been set gTasks[taskId].data[5] = 0; else @@ -1700,7 +1700,7 @@ static void DebugAction_Vars_Select(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); //Current digit //Combine str's to full window string - StringExpandPlaceholders(gStringVar4, gDebugText_Vars_Variable); + StringExpandPlaceholders(gStringVar4, sDebugText_Vars_Variable); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -1712,7 +1712,7 @@ static void DebugAction_Vars_Select(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, gDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); if (VarGetIfExist(gTasks[taskId].data[3]) == 65535) //Current value if 65535 the value hasnt been set gTasks[taskId].data[5] = 0; else @@ -1720,7 +1720,7 @@ static void DebugAction_Vars_Select(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[5], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); //Current digit - StringExpandPlaceholders(gStringVar4, gDebugText_Vars_VariableValueSet); + StringExpandPlaceholders(gStringVar4, sDebugText_Vars_VariableValueSet); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].data[6] = gTasks[taskId].data[5]; //New value selector @@ -1787,12 +1787,12 @@ static void DebugAction_Vars_SetValue(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, gDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[6], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); //Current digit - StringExpandPlaceholders(gStringVar4, gDebugText_Vars_VariableValueSet); + StringExpandPlaceholders(gStringVar4, sDebugText_Vars_VariableValueSet); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } } @@ -1820,7 +1820,7 @@ static void DebugAction_Give_Item(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); CopyItemName(1, gStringVar1); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_ItemID); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Item_SelectId; @@ -1865,7 +1865,7 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) CopyItemName(gTasks[taskId].data[3], gStringVar1); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringExpandPlaceholders(gStringVar4, gDebugText_ItemID); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon @@ -1887,7 +1887,7 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEM_QUANTITY); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_ItemQuantity); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemQuantity); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Item_SelectQuantity; @@ -1935,7 +1935,7 @@ static void DebugAction_Give_Item_SelectQuantity(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEM_QUANTITY); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_ItemQuantity); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemQuantity); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -2015,7 +2015,7 @@ static void DebugAction_Give_PokemonSimple(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, 3); StringCopy(gStringVar1, gSpeciesNames[1]); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonID); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); //Set task data @@ -2053,7 +2053,7 @@ static void DebugAction_Give_PokemonComplex(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, 4); StringCopy(gStringVar1, gSpeciesNames[1]); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonID); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectId; @@ -2101,7 +2101,7 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) StringCopy(gStringVar1, gSpeciesNames[gTasks[taskId].data[3]]); //CopyItemName(gTasks[taskId].data[3], gStringVar1); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 4); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonID); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); FreeAndDestroyMonIconSprite(&gSprites[gTasks[taskId].data[6]]); @@ -2120,7 +2120,7 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 3); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonLevel); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonLevel); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectLevel; @@ -2166,7 +2166,7 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 3); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonLevel); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonLevel); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -2189,8 +2189,8 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 0); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagUnset, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonShiny); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonShiny); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectShiny; @@ -2226,12 +2226,12 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) } if (gTasks[taskId].data[3] == 1) - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagSet, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagSet, CHAR_SPACE, 15); else - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 0); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonShiny); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonShiny); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -2245,7 +2245,7 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar1, gNatureNamePointers[0]); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonNature); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonNature); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectNature; @@ -2280,7 +2280,7 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar1, gNatureNamePointers[gTasks[taskId].data[3]]); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonNature); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonNature); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -2296,7 +2296,7 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); abilityId = GetAbilityBySpecies(sDebugMonData->mon_speciesId, 0); StringCopy(gStringVar1, gAbilityNames[abilityId]); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonAbility); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonAbility); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectAbility; @@ -2340,7 +2340,7 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar1, gAbilityNames[abilityId]); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonAbility); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonAbility); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -2353,7 +2353,7 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_0); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectIVs; @@ -2400,22 +2400,22 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) switch (gTasks[taskId].data[7]) { case 0: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_0); break; case 1: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_1); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_1); break; case 2: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_2); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_2); break; case 3: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_3); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_3); break; case 4: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_4); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_4); break; case 5: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_5); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_5); break; } AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); @@ -2459,22 +2459,22 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) switch (gTasks[taskId].data[7]) { case 0: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_0); break; case 1: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_1); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_1); break; case 2: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_2); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_2); break; case 3: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_3); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_3); break; case 4: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_4); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_4); break; case 5: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_5); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_5); break; } AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); @@ -2491,7 +2491,7 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) StringCopy(gStringVar1, gMoveNames[gTasks[taskId].data[3]]); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 3); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_0); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_Move; @@ -2540,16 +2540,16 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId) switch (gTasks[taskId].data[7]) { case 0: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_0); break; case 1: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_1); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_1); break; case 2: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_2); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_2); break; case 3: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_3); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_3); break; } AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); @@ -2592,16 +2592,16 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId) switch (gTasks[taskId].data[7]) { case 0: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_0); break; case 1: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_1); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_1); break; case 2: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_2); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_2); break; case 3: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_3); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_3); break; } AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); @@ -2833,7 +2833,7 @@ static void DebugAction_Sound_SE(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); StringCopyPadded(gStringVar1, sSENames[0], CHAR_SPACE, 35); - StringExpandPlaceholders(gStringVar4, gDebugText_Sound_SE_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Sound_SE_ID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); StopMapMusic(); //Stop map music to better hear sounds @@ -2874,7 +2874,7 @@ static void DebugAction_Sound_SE_SelectId(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); StringCopyPadded(gStringVar1, sSENames[gTasks[taskId].data[3]-1], CHAR_SPACE, 35); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringExpandPlaceholders(gStringVar4, gDebugText_Sound_SE_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Sound_SE_ID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -2910,7 +2910,7 @@ static void DebugAction_Sound_MUS(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, START_MUS, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); StringCopyPadded(gStringVar1, sBGMNames[0], CHAR_SPACE, 35); - StringExpandPlaceholders(gStringVar4, gDebugText_Sound_MUS_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Sound_MUS_ID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); StopMapMusic(); //Stop map music to better hear new music @@ -2951,7 +2951,7 @@ static void DebugAction_Sound_MUS_SelectId(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); StringCopyPadded(gStringVar1, sBGMNames[gTasks[taskId].data[3]-START_MUS], CHAR_SPACE, 35); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringExpandPlaceholders(gStringVar4, gDebugText_Sound_MUS_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Sound_MUS_ID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } From cad8922d7bf1824deea5aaa996ef9f88983acbff Mon Sep 17 00:00:00 2001 From: StubbornOne Date: Wed, 21 Sep 2022 23:42:40 +0800 Subject: [PATCH 095/147] Replace battle-type flags in GetAiLogicData with BATTLE_TYPE_HAS_AI --- src/battle_ai_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 312ff853c..78dcf24ca 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -258,7 +258,7 @@ void GetAiLogicData(void) memset(AI_DATA, 0, sizeof(struct AiLogicData)); - if (!(gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER)) + if (!(gBattleTypeFlags & BATTLE_TYPE_HAS_AI) && !IsWildMonSmart()) return; From 1107ff954d93dff53bdc8025a763d5f6a328f141 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 22 Sep 2022 13:32:35 -0400 Subject: [PATCH 096/147] Clean up shop.c --- include/constants/items.h | 5 +- include/shop.h | 41 --- src/battle_pyramid_bag.c | 2 +- .../battle_frontier_exchange_corner.h | 8 +- src/data/item_icon_table.h | 4 +- src/field_specials.c | 4 +- src/item_icon.c | 4 +- src/item_menu.c | 2 +- src/player_pc.c | 2 +- src/shop.c | 282 ++++++++++-------- 10 files changed, 178 insertions(+), 176 deletions(-) diff --git a/include/constants/items.h b/include/constants/items.h index e9d889cfa..daf129c76 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -477,7 +477,10 @@ #define ITEM_OLD_SEA_MAP 376 #define ITEMS_COUNT 377 -#define ITEM_FIELD_ARROW ITEMS_COUNT + +// A special item id associated with "Cancel"/"Exit" etc. in a list of items or decorations +// Its icon is defined at ITEMS_COUNT as the "return to field" arrow +#define ITEM_LIST_END 0xFFFF // Range of berries given out by various NPCS #define FIRST_BERRY_MASTER_BERRY ITEM_POMEG_BERRY diff --git a/include/shop.h b/include/shop.h index c338103b4..7fd7669ea 100644 --- a/include/shop.h +++ b/include/shop.h @@ -3,47 +3,6 @@ extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3]; -enum -{ - MART_TYPE_NORMAL, // normal mart - MART_TYPE_DECOR, - MART_TYPE_DECOR2, -}; - -// shop view window NPC info enum -enum -{ - OBJ_EVENT_ID, - X_COORD, - Y_COORD, - ANIM_NUM, - LAYER_TYPE -}; - -struct MartInfo -{ - /*0x0*/ void (*callback)(void); - /*0x4*/ const struct MenuAction *menuActions; - /*0x8*/ const u16 *itemList; - /*0xC*/ u16 itemCount; - /*0xE*/ u8 windowId; - /*0xF*/ u8 martType; -}; - -struct ShopData -{ - /*0x0000*/ u16 tilemapBuffers[4][0x400]; - /*0x2000*/ u32 totalCost; - /*0x2004*/ u16 itemsShowed; - /*0x2006*/ u16 selectedRow; - /*0x2008*/ u16 scrollOffset; - /*0x200A*/ u8 maxQuantity; - /*0x200B*/ u8 scrollIndicatorsTaskId; - /*0x200C*/ u8 iconSlot; - /*0x200D*/ u8 itemSpriteIds[2]; - /*0x2010*/ s16 viewportObjects[OBJECT_EVENTS_COUNT][5]; -}; - void CreatePokemartMenu(const u16 *); void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 7a4d981f0..67afaefe1 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -645,7 +645,7 @@ static void BagCursorMoved(s32 itemIndex, bool8 onInit, struct ListMenu *list) if (itemIndex != LIST_CANCEL) ShowItemIcon(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][itemIndex], gPyramidBagMenu->isAltIcon); else - ShowItemIcon(0xFFFF, gPyramidBagMenu->isAltIcon); // Show exit arrow if on Cancel + ShowItemIcon(ITEM_LIST_END, gPyramidBagMenu->isAltIcon); // Show exit arrow if on Cancel gPyramidBagMenu->isAltIcon ^= 1; PrintItemDescription(itemIndex); } diff --git a/src/data/battle_frontier/battle_frontier_exchange_corner.h b/src/data/battle_frontier/battle_frontier_exchange_corner.h index 426285e92..3a1eef76d 100644 --- a/src/data/battle_frontier/battle_frontier_exchange_corner.h +++ b/src/data/battle_frontier/battle_frontier_exchange_corner.h @@ -10,7 +10,7 @@ static const u16 sFrontierExchangeCorner_Decor1[] = DECOR_CYNDAQUIL_DOLL, DECOR_CHIKORITA_DOLL, DECOR_TOTODILE_DOLL, - 0xFFFF + ITEM_LIST_END }; static const u16 sFrontierExchangeCorner_Decor2[] = @@ -20,7 +20,7 @@ static const u16 sFrontierExchangeCorner_Decor2[] = DECOR_VENUSAUR_DOLL, DECOR_CHARIZARD_DOLL, DECOR_BLASTOISE_DOLL, - 0xFFFF + ITEM_LIST_END }; static const u16 sFrontierExchangeCorner_Vitamins[] = @@ -31,7 +31,7 @@ static const u16 sFrontierExchangeCorner_Vitamins[] = ITEM_ZINC, ITEM_CARBOS, ITEM_HP_UP, - 0xFFFF + ITEM_LIST_END }; static const u16 sFrontierExchangeCorner_HoldItems[] = @@ -45,7 +45,7 @@ static const u16 sFrontierExchangeCorner_HoldItems[] = ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, - 0xFFFF + ITEM_LIST_END }; static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] = diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h index ea8315e76..64328f7b1 100644 --- a/src/data/item_icon_table.h +++ b/src/data/item_icon_table.h @@ -1,4 +1,4 @@ -const u32 *const gItemIconTable[][2] = +const u32 *const gItemIconTable[ITEMS_COUNT + 1][2] = { [ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // Pokeballs @@ -402,5 +402,5 @@ const u32 *const gItemIconTable[][2] = [ITEM_MAGMA_EMBLEM] = {gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem}, [ITEM_OLD_SEA_MAP] = {gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap}, // Return to field arrow - [ITEM_FIELD_ARROW] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow}, + [ITEMS_COUNT] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow}, }; diff --git a/src/field_specials.c b/src/field_specials.c index 2e33b443c..11ae04f55 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -2919,7 +2919,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) { case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF) + if (sFrontierExchangeCorner_Decor1[selection] == ITEM_LIST_END) { ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]); } @@ -2932,7 +2932,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF) + if (sFrontierExchangeCorner_Decor2[selection] == ITEM_LIST_END) { ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]); } diff --git a/src/item_icon.c b/src/item_icon.c index 274ed03b3..fd6f04169 100644 --- a/src/item_icon.c +++ b/src/item_icon.c @@ -159,8 +159,8 @@ u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u1 const void *GetItemIconPicOrPalette(u16 itemId, u8 which) { - if (itemId == 0xFFFF) - itemId = ITEM_FIELD_ARROW; + if (itemId == ITEM_LIST_END) + itemId = ITEMS_COUNT; // Use last icon, the "return to field" arrow else if (itemId >= ITEMS_COUNT) itemId = 0; diff --git a/src/item_menu.c b/src/item_menu.c index 288c2d956..9e7966528 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -937,7 +937,7 @@ static void BagMenu_MoveCursorCallback(s32 itemIndex, bool8 onInit, struct ListM if (itemIndex != LIST_CANCEL) AddBagItemIconSprite(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, itemIndex), gBagMenu->itemIconSlot); else - AddBagItemIconSprite(-1, gBagMenu->itemIconSlot); + AddBagItemIconSprite(ITEM_LIST_END, gBagMenu->itemIconSlot); gBagMenu->itemIconSlot ^= 1; if (!gBagMenu->inhibitItemDescriptionPrint) PrintItemDescription(itemIndex); diff --git a/src/player_pc.c b/src/player_pc.c index 9ec36d61d..b1a323a32 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -1015,7 +1015,7 @@ static void ItemStorage_MoveCursor(s32 id, bool8 onInit, struct ListMenu *list) if (id != LIST_CANCEL) ItemStorage_DrawItemIcon(gSaveBlock1Ptr->pcItems[id].itemId); else - ItemStorage_DrawItemIcon(MSG_GO_BACK_TO_PREV); + ItemStorage_DrawItemIcon(ITEM_LIST_END); ItemStorage_PrintDescription(id); } } diff --git a/src/shop.c b/src/shop.c index 451fa171c..d3569c2e5 100755 --- a/src/shop.c +++ b/src/shop.c @@ -42,10 +42,72 @@ #define TAG_SCROLL_ARROW 2100 #define TAG_ITEM_ICON_BASE 2110 +#define MAX_ITEMS_SHOWN 8 + +enum { + WIN_BUY_SELL_QUIT, + WIN_BUY_QUIT, +}; + +enum { + WIN_MONEY, + WIN_ITEM_LIST, + WIN_ITEM_DESCRIPTION, + WIN_QUANTITY_IN_BAG, + WIN_QUANTITY_PRICE, + WIN_MESSAGE, +}; + +enum { + COLORID_NORMAL, // Item descriptions, quantity in bag, and quantity/price + COLORID_ITEM_LIST, // The text in the item list, and the cursor normally + COLORID_GRAY_CURSOR, // When the cursor has selected an item to purchase +}; + +enum { + MART_TYPE_NORMAL, + MART_TYPE_DECOR, + MART_TYPE_DECOR2, +}; + +// shop view window NPC info enum +enum +{ + OBJ_EVENT_ID, + X_COORD, + Y_COORD, + ANIM_NUM, + LAYER_TYPE +}; + +struct MartInfo +{ + void (*callback)(void); + const struct MenuAction *menuActions; + const u16 *itemList; + u16 itemCount; + u8 windowId; + u8 martType; +}; + +struct ShopData +{ + u16 tilemapBuffers[4][0x400]; + u32 totalCost; + u16 itemsShowed; + u16 selectedRow; + u16 scrollOffset; + u8 maxQuantity; + u8 scrollIndicatorsTaskId; + u8 iconSlot; + u8 itemSpriteIds[2]; + s16 viewportObjects[OBJECT_EVENTS_COUNT][5]; +}; + static EWRAM_DATA struct MartInfo sMartInfo = {0}; static EWRAM_DATA struct ShopData *sShopData = NULL; static EWRAM_DATA struct ListMenuItem *sListMenuItems = NULL; -static EWRAM_DATA u8 (*sItemNames)[16] = {0}; +static EWRAM_DATA u8 (*sItemNames)[ITEM_NAME_LENGTH + 2] = {0}; static EWRAM_DATA u8 sPurchaseHistoryId = 0; EWRAM_DATA struct ItemSlot gMartPurchaseHistory[SMARTSHOPPER_NUM_ITEMS] = {0}; @@ -114,7 +176,7 @@ static const struct MenuAction sShopMenuActions_BuyQuit[] = static const struct WindowTemplate sShopMenuWindowTemplates[] = { - { + [WIN_BUY_SELL_QUIT] = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 1, @@ -123,7 +185,8 @@ static const struct WindowTemplate sShopMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x0008, }, - { + // Separate shop menu window for decorations, which can't be sold + [WIN_BUY_QUIT] = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 1, @@ -141,7 +204,7 @@ static const struct ListMenuTemplate sShopBuyMenuListTemplate = .itemPrintFunc = BuyMenuPrintPriceInList, .totalItems = 0, .maxShowed = 0, - .windowId = 1, + .windowId = WIN_ITEM_LIST, .header_X = 0, .item_X = 8, .cursor_X = 0, @@ -198,7 +261,7 @@ static const struct BgTemplate sShopBuyMenuBgTemplates[] = static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = { - { + [WIN_MONEY] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, @@ -207,7 +270,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x001E, }, - { + [WIN_ITEM_LIST] = { .bg = 0, .tilemapLeft = 14, .tilemapTop = 2, @@ -216,7 +279,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x0032, }, - { + [WIN_ITEM_DESCRIPTION] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 13, @@ -225,7 +288,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x0122, }, - { + [WIN_QUANTITY_IN_BAG] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 11, @@ -234,7 +297,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x0176, }, - { + [WIN_QUANTITY_PRICE] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 11, @@ -243,7 +306,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x018E, }, - { + [WIN_MESSAGE] = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 15, @@ -268,9 +331,9 @@ static const struct WindowTemplate sShopBuyMenuYesNoWindowTemplates = static const u8 sShopBuyMenuTextColors[][3] = { - {1, 2, 3}, - {0, 2, 3}, - {0, 3, 2} + [COLORID_NORMAL] = {1, 2, 3}, + [COLORID_ITEM_LIST] = {0, 2, 3}, + [COLORID_GRAY_CURSOR] = {0, 3, 2}, }; static u8 CreateShopMenu(u8 martType) @@ -282,8 +345,7 @@ static u8 CreateShopMenu(u8 martType) if (martType == MART_TYPE_NORMAL) { - struct WindowTemplate winTemplate; - winTemplate = sShopMenuWindowTemplates[0]; + struct WindowTemplate winTemplate = sShopMenuWindowTemplates[WIN_BUY_SELL_QUIT]; winTemplate.width = GetMaxWidthInMenuTable(sShopMenuActions_BuySellQuit, ARRAY_COUNT(sShopMenuActions_BuySellQuit)); sMartInfo.windowId = AddWindow(&winTemplate); sMartInfo.menuActions = sShopMenuActions_BuySellQuit; @@ -291,8 +353,7 @@ static u8 CreateShopMenu(u8 martType) } else { - struct WindowTemplate winTemplate; - winTemplate = sShopMenuWindowTemplates[1]; + struct WindowTemplate winTemplate = sShopMenuWindowTemplates[WIN_BUY_QUIT]; winTemplate.width = GetMaxWidthInMenuTable(sShopMenuActions_BuyQuit, ARRAY_COUNT(sShopMenuActions_BuyQuit)); sMartInfo.windowId = AddWindow(&winTemplate); sMartInfo.menuActions = sShopMenuActions_BuyQuit; @@ -320,6 +381,7 @@ static void SetShopItemsForSale(const u16 *items) sMartInfo.itemList = items; sMartInfo.itemCount = 0; + // Read items until ITEM_NONE / DECOR_NONE is reached while (sMartInfo.itemList[i]) { sMartInfo.itemCount++; @@ -344,11 +406,17 @@ static void Task_ShopMenu(u8 taskId) } } +#define tItemCount data[1] +#define tItemId data[5] +#define tListTaskId data[7] +#define tCallbackHi data[8] +#define tCallbackLo data[9] + static void Task_HandleShopMenuBuy(u8 taskId) { s16 *data = gTasks[taskId].data; - data[8] = (u32)CB2_InitBuyMenu >> 16; - data[9] = (u32)CB2_InitBuyMenu; + tCallbackHi = (u32)CB2_InitBuyMenu >> 16; + tCallbackLo = (u32)CB2_InitBuyMenu; gTasks[taskId].func = Task_GoToBuyOrSellMenu; FadeScreen(FADE_TO_BLACK, 0); } @@ -356,8 +424,8 @@ static void Task_HandleShopMenuBuy(u8 taskId) static void Task_HandleShopMenuSell(u8 taskId) { s16 *data = gTasks[taskId].data; - data[8] = (u32)CB2_GoToSellMenu >> 16; - data[9] = (u32)CB2_GoToSellMenu; + tCallbackHi = (u32)CB2_GoToSellMenu >> 16; + tCallbackLo = (u32)CB2_GoToSellMenu; gTasks[taskId].func = Task_GoToBuyOrSellMenu; FadeScreen(FADE_TO_BLACK, 0); } @@ -386,7 +454,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId) if (!gPaletteFade.active) { DestroyTask(taskId); - SetMainCallback2((void *)((u16)data[8] << 16 | (u16)data[9])); + SetMainCallback2((void *)((u16)tCallbackHi << 16 | (u16)tCallbackLo)); } } @@ -429,10 +497,6 @@ static void VBlankCB_BuyMenu(void) TransferPlttBuffer(); } -#define tItemCount data[1] -#define tItemId data[5] -#define tListTaskId data[7] - static void CB2_InitBuyMenu(void) { u8 taskId; @@ -472,8 +536,8 @@ static void CB2_InitBuyMenu(void) BuyMenuAddScrollIndicatorArrows(); taskId = CreateTask(Task_BuyMenu, 8); gTasks[taskId].tListTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK); - BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK); + BlendPalettes(PALETTES_ALL, 16, RGB_BLACK); + BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); SetVBlankCallback(VBlankCB_BuyMenu); SetMainCallback2(CB2_BuyMenu); break; @@ -504,8 +568,8 @@ static void BuyMenuBuildListMenuTemplate(void) gMultiuseListMenuTemplate = sShopBuyMenuListTemplate; gMultiuseListMenuTemplate.items = sListMenuItems; gMultiuseListMenuTemplate.totalItems = sMartInfo.itemCount + 1; - if (gMultiuseListMenuTemplate.totalItems > 8) - gMultiuseListMenuTemplate.maxShowed = 8; + if (gMultiuseListMenuTemplate.totalItems > MAX_ITEMS_SHOWN) + gMultiuseListMenuTemplate.maxShowed = MAX_ITEMS_SHOWN; else gMultiuseListMenuTemplate.maxShowed = gMultiuseListMenuTemplate.totalItems; @@ -532,7 +596,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s if (item != LIST_CANCEL) BuyMenuAddItemIcon(item, sShopData->iconSlot); else - BuyMenuAddItemIcon(-1, sShopData->iconSlot); + BuyMenuAddItemIcon(ITEM_LIST_END, sShopData->iconSlot); BuyMenuRemoveItemIcon(item, sShopData->iconSlot ^ 1); sShopData->iconSlot ^= 1; @@ -548,8 +612,8 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s description = gText_QuitShopping; } - FillWindowPixelBuffer(2, PIXEL_FILL(0)); - BuyMenuPrint(2, description, 3, 1, 0, 0); + FillWindowPixelBuffer(WIN_ITEM_DESCRIPTION, PIXEL_FILL(0)); + BuyMenuPrint(WIN_ITEM_DESCRIPTION, description, 3, 1, 0, COLORID_NORMAL); } static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y) @@ -576,21 +640,21 @@ static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y) } StringExpandPlaceholders(gStringVar4, gText_PokedollarVar1); - x = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 0x78); - AddTextPrinterParameterized4(windowId, FONT_NARROW, x, y, 0, 0, sShopBuyMenuTextColors[1], TEXT_SKIP_DRAW, gStringVar4); + x = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 120); + AddTextPrinterParameterized4(windowId, FONT_NARROW, x, y, 0, 0, sShopBuyMenuTextColors[COLORID_ITEM_LIST], TEXT_SKIP_DRAW, gStringVar4); } } static void BuyMenuAddScrollIndicatorArrows(void) { - if (sShopData->scrollIndicatorsTaskId == TASK_NONE && sMartInfo.itemCount + 1 > 8) + if (sShopData->scrollIndicatorsTaskId == TASK_NONE && sMartInfo.itemCount + 1 > MAX_ITEMS_SHOWN) { sShopData->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized( SCROLL_ARROW_UP, 172, 12, 148, - sMartInfo.itemCount - 7, + sMartInfo.itemCount - (MAX_ITEMS_SHOWN - 1), TAG_SCROLL_ARROW, TAG_SCROLL_ARROW, &sShopData->scrollOffset); @@ -609,7 +673,7 @@ static void BuyMenuRemoveScrollIndicatorArrows(void) static void BuyMenuPrintCursor(u8 scrollIndicatorsTaskId, u8 colorSet) { u8 y = ListMenuGetYCoordForPrintingArrowCursor(scrollIndicatorsTaskId); - BuyMenuPrint(1, gText_SelectorArrow2, 0, y, 0, colorSet); + BuyMenuPrint(WIN_ITEM_LIST, gText_SelectorArrow2, 0, y, 0, colorSet); } static void BuyMenuAddItemIcon(u16 item, u8 iconSlot) @@ -619,7 +683,7 @@ static void BuyMenuAddItemIcon(u16 item, u8 iconSlot) if (*spriteIdPtr != SPRITE_NONE) return; - if (sMartInfo.martType == MART_TYPE_NORMAL || item == 0xFFFF) + if (sMartInfo.martType == MART_TYPE_NORMAL || item == ITEM_LIST_END) { spriteId = AddItemIconSprite(iconSlot + TAG_ITEM_ICON_BASE, iconSlot + TAG_ITEM_ICON_BASE, item); if (spriteId != MAX_SPRITES) @@ -683,11 +747,11 @@ static void BuyMenuInitWindows(void) { InitWindows(sShopBuyMenuWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, 0xD0); - LoadMessageBoxGfx(0, 0xA, 0xE0); - PutWindowTilemap(0); - PutWindowTilemap(1); - PutWindowTilemap(2); + LoadUserWindowBorderGfx(WIN_MONEY, 1, 0xD0); + LoadMessageBoxGfx(WIN_MONEY, 0xA, 0xE0); + PutWindowTilemap(WIN_MONEY); + PutWindowTilemap(WIN_ITEM_LIST); + PutWindowTilemap(WIN_ITEM_DESCRIPTION); } static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet) @@ -697,7 +761,7 @@ static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 c static void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback) { - DisplayMessageAndContinueTask(taskId, 5, 10, 14, FONT_NORMAL, GetPlayerTextSpeedDelay(), text, callback); + DisplayMessageAndContinueTask(taskId, WIN_MESSAGE, 10, 14, FONT_NORMAL, GetPlayerTextSpeedDelay(), text, callback); ScheduleBgCopyTilemapToVram(0); } @@ -706,7 +770,7 @@ static void BuyMenuDrawGraphics(void) BuyMenuDrawMapGraphics(); BuyMenuCopyMenuBgToBg1TilemapBuffer(); AddMoneyLabelObject(19, 11); - PrintMoneyAmountInMoneyBoxWithBorder(0, 1, 13, GetMoney(&gSaveBlock1Ptr->money)); + PrintMoneyAmountInMoneyBoxWithBorder(WIN_MONEY, 1, 13, GetMoney(&gSaveBlock1Ptr->money)); ScheduleBgCopyTilemapToVram(0); ScheduleBgCopyTilemapToVram(1); ScheduleBgCopyTilemapToVram(2); @@ -722,10 +786,8 @@ static void BuyMenuDrawMapGraphics(void) static void BuyMenuDrawMapBg(void) { - s16 i; - s16 j; - s16 x; - s16 y; + s16 i, j; + s16 x, y; const struct MapLayout *mapLayout; u16 metatile; u8 metatileLayerType; @@ -746,13 +808,9 @@ static void BuyMenuDrawMapBg(void) metatileLayerType = METATILE_LAYER_TYPE_COVERED; if (metatile < NUM_METATILES_IN_PRIMARY) - { BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); - } else - { BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); - } } } } @@ -794,11 +852,13 @@ static void BuyMenuCollectObjectEventData(void) s16 facingY; u8 y; u8 x; - u8 r8 = 0; + u8 numObjects = 0; GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY); + for (y = 0; y < OBJECT_EVENTS_COUNT; y++) sShopData->viewportObjects[y][OBJ_EVENT_ID] = OBJECT_EVENTS_COUNT; + for (y = 0; y < 5; y++) { for (x = 0; x < 7; x++) @@ -807,28 +867,28 @@ static void BuyMenuCollectObjectEventData(void) if (objEventId != OBJECT_EVENTS_COUNT) { - sShopData->viewportObjects[r8][OBJ_EVENT_ID] = objEventId; - sShopData->viewportObjects[r8][X_COORD] = x; - sShopData->viewportObjects[r8][Y_COORD] = y; - sShopData->viewportObjects[r8][LAYER_TYPE] = MapGridGetMetatileLayerTypeAt(facingX - 4 + x, facingY - 2 + y); + sShopData->viewportObjects[numObjects][OBJ_EVENT_ID] = objEventId; + sShopData->viewportObjects[numObjects][X_COORD] = x; + sShopData->viewportObjects[numObjects][Y_COORD] = y; + sShopData->viewportObjects[numObjects][LAYER_TYPE] = MapGridGetMetatileLayerTypeAt(facingX - 4 + x, facingY - 2 + y); switch (gObjectEvents[objEventId].facingDirection) { - case DIR_SOUTH: - sShopData->viewportObjects[r8][ANIM_NUM] = 0; - break; - case DIR_NORTH: - sShopData->viewportObjects[r8][ANIM_NUM] = 1; - break; - case DIR_WEST: - sShopData->viewportObjects[r8][ANIM_NUM] = 2; - break; - case DIR_EAST: - default: - sShopData->viewportObjects[r8][ANIM_NUM] = 3; - break; + case DIR_SOUTH: + sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_SOUTH; + break; + case DIR_NORTH: + sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_NORTH; + break; + case DIR_WEST: + sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_WEST; + break; + case DIR_EAST: + default: + sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_EAST; + break; } - r8++; + numObjects++; } } } @@ -867,13 +927,9 @@ static void BuyMenuDrawObjectEvents(void) static bool8 BuyMenuCheckIfObjectEventOverlapsMenuBg(s16 *object) { if (!BuyMenuCheckForOverlapWithMenuBg(object[X_COORD], object[Y_COORD] + 2) && object[LAYER_TYPE] != METATILE_LAYER_TYPE_COVERED) - { return TRUE; - } else - { return FALSE; - } } static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void) @@ -885,9 +941,7 @@ static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void) for (i = 0; i < 1024; i++) { if (src[i] != 0) - { dest[i] = src[i] + 0xC3E3; - } } } @@ -901,9 +955,7 @@ static bool8 BuyMenuCheckForOverlapWithMenuBg(int x, int y) metatile[offset2 + offset1 + 32] == 0 && metatile[offset2 + offset1 + 1] == 0 && metatile[offset2 + offset1 + 33] == 0) - { return TRUE; - } return FALSE; } @@ -928,18 +980,14 @@ static void Task_BuyMenu(u8 taskId) default: PlaySE(SE_SELECT); tItemId = itemId; - ClearWindowTilemap(2); + ClearWindowTilemap(WIN_ITEM_DESCRIPTION); BuyMenuRemoveScrollIndicatorArrows(); - BuyMenuPrintCursor(tListTaskId, 2); + BuyMenuPrintCursor(tListTaskId, COLORID_GRAY_CURSOR); if (sMartInfo.martType == MART_TYPE_NORMAL) - { sShopData->totalCost = (ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)); - } else - { sShopData->totalCost = gDecorations[itemId].price; - } if (!IsEnoughMoney(&gSaveBlock1Ptr->money, sShopData->totalCost)) { @@ -985,25 +1033,21 @@ static void Task_BuyHowManyDialogueInit(u8 taskId) u16 quantityInBag = CountTotalItemQuantityInBag(tItemId); u16 maxQuantity; - DrawStdFrameWithCustomTileAndPalette(3, FALSE, 1, 13); + DrawStdFrameWithCustomTileAndPalette(WIN_QUANTITY_IN_BAG, FALSE, 1, 13); ConvertIntToDecimalStringN(gStringVar1, quantityInBag, STR_CONV_MODE_RIGHT_ALIGN, MAX_ITEM_DIGITS + 1); StringExpandPlaceholders(gStringVar4, gText_InBagVar1); - BuyMenuPrint(3, gStringVar4, 0, 1, 0, 0); + BuyMenuPrint(WIN_QUANTITY_IN_BAG, gStringVar4, 0, 1, 0, COLORID_NORMAL); tItemCount = 1; - DrawStdFrameWithCustomTileAndPalette(4, FALSE, 1, 13); + DrawStdFrameWithCustomTileAndPalette(WIN_QUANTITY_PRICE, FALSE, 1, 13); BuyMenuPrintItemQuantityAndPrice(taskId); ScheduleBgCopyTilemapToVram(0); maxQuantity = GetMoney(&gSaveBlock1Ptr->money) / sShopData->totalCost; if (maxQuantity > MAX_BAG_ITEM_CAPACITY) - { sShopData->maxQuantity = MAX_BAG_ITEM_CAPACITY; - } else - { sShopData->maxQuantity = maxQuantity; - } gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput; } @@ -1022,11 +1066,11 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - ClearStdWindowAndFrameToTransparent(4, FALSE); - ClearStdWindowAndFrameToTransparent(3, FALSE); - ClearWindowTilemap(4); - ClearWindowTilemap(3); - PutWindowTilemap(1); + ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_PRICE, FALSE); + ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_IN_BAG, FALSE); + ClearWindowTilemap(WIN_QUANTITY_PRICE); + ClearWindowTilemap(WIN_QUANTITY_IN_BAG); + PutWindowTilemap(WIN_ITEM_LIST); CopyItemName(tItemId, gStringVar1); ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, BAG_ITEM_CAPACITY_DIGITS); ConvertIntToDecimalStringN(gStringVar3, sShopData->totalCost, STR_CONV_MODE_LEFT_ALIGN, 6); @@ -1035,10 +1079,10 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - ClearStdWindowAndFrameToTransparent(4, FALSE); - ClearStdWindowAndFrameToTransparent(3, FALSE); - ClearWindowTilemap(4); - ClearWindowTilemap(3); + ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_PRICE, FALSE); + ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_IN_BAG, FALSE); + ClearWindowTilemap(WIN_QUANTITY_PRICE); + ClearWindowTilemap(WIN_QUANTITY_IN_BAG); BuyMenuReturnToItemList(taskId); } } @@ -1053,7 +1097,7 @@ static void BuyMenuTryMakePurchase(u8 taskId) { s16 *data = gTasks[taskId].data; - PutWindowTilemap(1); + PutWindowTilemap(WIN_ITEM_LIST); if (sMartInfo.martType == MART_TYPE_NORMAL) { @@ -1088,16 +1132,12 @@ static void BuyMenuSubtractMoney(u8 taskId) IncrementGameStat(GAME_STAT_SHOPPED); RemoveMoney(&gSaveBlock1Ptr->money, sShopData->totalCost); PlaySE(SE_SHOP); - PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0); + PrintMoneyAmountInMoneyBox(WIN_MONEY, GetMoney(&gSaveBlock1Ptr->money), 0); if (sMartInfo.martType == MART_TYPE_NORMAL) - { gTasks[taskId].func = Task_ReturnToItemListAfterItemPurchase; - } else - { gTasks[taskId].func = Task_ReturnToItemListAfterDecorationPurchase; - } } static void Task_ReturnToItemListAfterItemPurchase(u8 taskId) @@ -1107,14 +1147,12 @@ static void Task_ReturnToItemListAfterItemPurchase(u8 taskId) if (JOY_NEW(A_BUTTON | B_BUTTON)) { PlaySE(SE_SELECT); - if (tItemId == ITEM_POKE_BALL && tItemCount > 9 && AddBagItem(ITEM_PREMIER_BALL, 1) == TRUE) - { + + // Purchasing 10+ Poke Balls gets the player a Premier Ball + if (tItemId == ITEM_POKE_BALL && tItemCount >= 10 && AddBagItem(ITEM_PREMIER_BALL, 1) == TRUE) BuyMenuDisplayMessage(taskId, gText_ThrowInPremierBall, BuyMenuReturnToItemList); - } else - { BuyMenuReturnToItemList(taskId); - } } } @@ -1131,10 +1169,10 @@ static void BuyMenuReturnToItemList(u8 taskId) { s16 *data = gTasks[taskId].data; - ClearDialogWindowAndFrameToTransparent(5, FALSE); - BuyMenuPrintCursor(tListTaskId, 1); - PutWindowTilemap(1); - PutWindowTilemap(2); + ClearDialogWindowAndFrameToTransparent(WIN_MESSAGE, FALSE); + BuyMenuPrintCursor(tListTaskId, COLORID_ITEM_LIST); + PutWindowTilemap(WIN_ITEM_LIST); + PutWindowTilemap(WIN_ITEM_DESCRIPTION); ScheduleBgCopyTilemapToVram(0); BuyMenuAddScrollIndicatorArrows(); gTasks[taskId].func = Task_BuyMenu; @@ -1144,11 +1182,11 @@ static void BuyMenuPrintItemQuantityAndPrice(u8 taskId) { s16 *data = gTasks[taskId].data; - FillWindowPixelBuffer(4, PIXEL_FILL(1)); - PrintMoneyAmount(4, 38, 1, sShopData->totalCost, TEXT_SKIP_DRAW); + FillWindowPixelBuffer(WIN_QUANTITY_PRICE, PIXEL_FILL(1)); + PrintMoneyAmount(WIN_QUANTITY_PRICE, 38, 1, sShopData->totalCost, TEXT_SKIP_DRAW); ConvertIntToDecimalStringN(gStringVar1, tItemCount, STR_CONV_MODE_LEADING_ZEROS, BAG_ITEM_CAPACITY_DIGITS); StringExpandPlaceholders(gStringVar4, gText_xVar1); - BuyMenuPrint(4, gStringVar4, 0, 1, 0, 0); + BuyMenuPrint(WIN_QUANTITY_PRICE, gStringVar4, 0, 1, 0, COLORID_NORMAL); } static void ExitBuyMenu(u8 taskId) @@ -1204,6 +1242,8 @@ static void RecordItemPurchase(u8 taskId) #undef tItemCount #undef tItemId #undef tListTaskId +#undef tCallbackHi +#undef tCallbackLo void CreatePokemartMenu(const u16 *itemsForSale) { From 7e112b0f0ddcc05fcbe08855114e6fea810fc3a6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 22 Sep 2022 21:43:33 -0300 Subject: [PATCH 097/147] Added missing uses of JOY_xx macros --- src/intro.c | 2 +- src/list_menu.c | 8 ++++---- src/main.c | 6 +++--- src/title_screen.c | 4 ++-- src/union_room_chat.c | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/intro.c b/src/intro.c index b06789142..bc81bcbb6 100644 --- a/src/intro.c +++ b/src/intro.c @@ -1039,7 +1039,7 @@ static void MainCB2_Intro(void) AnimateSprites(); BuildOamBuffer(); UpdatePaletteFade(); - if (gMain.newKeys && !gPaletteFade.active) + if (gMain.newKeys != 0 && !gPaletteFade.active) SetMainCallback2(MainCB2_EndIntro); else if (gIntroFrameCounter != -1) gIntroFrameCounter++; diff --git a/src/list_menu.c b/src/list_menu.c index 64692ce1f..112fca753 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -440,13 +440,13 @@ s32 ListMenu_ProcessInput(u8 listTaskId) break; case LIST_MULTIPLE_SCROLL_DPAD: // note: JOY_REPEAT won't match here - leftButton = gMain.newAndRepeatedKeys & DPAD_LEFT; - rightButton = gMain.newAndRepeatedKeys & DPAD_RIGHT; + leftButton = JOY_REPEAT(DPAD_LEFT); + rightButton = JOY_REPEAT(DPAD_RIGHT); break; case LIST_MULTIPLE_SCROLL_L_R: // same as above - leftButton = gMain.newAndRepeatedKeys & L_BUTTON; - rightButton = gMain.newAndRepeatedKeys & R_BUTTON; + leftButton = JOY_REPEAT(L_BUTTON); + rightButton = JOY_REPEAT(R_BUTTON); break; } diff --git a/src/main.c b/src/main.c index 5fd236447..29494043f 100644 --- a/src/main.c +++ b/src/main.c @@ -124,8 +124,8 @@ void AgbMain() ReadKeys(); if (gSoftResetDisabled == FALSE - && (gMain.heldKeysRaw & A_BUTTON) - && (gMain.heldKeysRaw & B_START_SELECT) == B_START_SELECT) + && JOY_HELD_RAW(A_BUTTON) + && JOY_HELD_RAW(B_START_SELECT) == B_START_SELECT) { rfu_REQ_stopMode(); rfu_waitREQComplete(); @@ -278,7 +278,7 @@ static void ReadKeys(void) gMain.heldKeys |= A_BUTTON; } - if (gMain.newKeys & gMain.watchedKeysMask) + if (JOY_NEW(gMain.watchedKeysMask)) gMain.watchedKeysPressed = TRUE; } diff --git a/src/title_screen.c b/src/title_screen.c index 25a1d60d0..689c96863 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -634,7 +634,7 @@ static void MainCB2(void) static void Task_TitleScreenPhase1(u8 taskId) { // Skip to next phase when A, B, Start, or Select is pressed - if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].data[1] != 0) + if (JOY_NEW(A_B_START_SELECT) || gTasks[taskId].data[1] != 0) { gTasks[taskId].tSkipToNext = TRUE; gTasks[taskId].tCounter = 0; @@ -681,7 +681,7 @@ static void Task_TitleScreenPhase2(u8 taskId) u32 yPos; // Skip to next phase when A, B, Start, or Select is pressed - if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].tSkipToNext) + if (JOY_NEW(A_B_START_SELECT) || gTasks[taskId].tSkipToNext) { gTasks[taskId].tSkipToNext = TRUE; gTasks[taskId].tCounter = 0; diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 5c26d1ea3..e1ca7c0b0 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -1044,7 +1044,7 @@ static void Chat_HandleInput(void) { SetChatFunction(CHAT_FUNC_SWITCH); } - else if (gMain.newAndRepeatedKeys & B_BUTTON) + else if (JOY_REPEAT(B_BUTTON)) { if (sChat->bufferCursorPos) { From 44a5a8d31e5920c7f2eab588f772dd13ff7ff5f1 Mon Sep 17 00:00:00 2001 From: sbird Date: Fri, 23 Sep 2022 03:22:57 +0200 Subject: [PATCH 098/147] [debug] fix AGBAssert for AGBPrintf debug block --- include/gba/isagbprint.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index abe7fb210..2fb860be9 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -39,7 +39,7 @@ void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopP void AGBPrintInit(void); #define DebugPrintf(pBuf, ...) AGBPrintf(const char *pBuf, ...) #define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1) -#define AGB_WARNING(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, 0) +#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0) // Not used in this configuration #define MgbaOpen() From 22329d3318cde3f07ed5401226c0df2b5d951957 Mon Sep 17 00:00:00 2001 From: sbird Date: Fri, 23 Sep 2022 03:23:44 +0200 Subject: [PATCH 099/147] [debug] use boolean constants for nStopProgram --- include/gba/isagbprint.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 2fb860be9..37e2bb080 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -17,8 +17,8 @@ void MgbaClose(void); void MgbaPrintf(const char *pBuf, ...); void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); #define DebugPrintf(pBuf, ...) MgbaPrintf(pBuf, __VA_ARGS__) -#define AGB_ASSERT(exp) (exp) ? ((void*)0) : MgbaAssert(__FILE__, __LINE__, #exp, 1) -#define AGB_WARNING(exp) (exp) ? ((void*)0) : MgbaAssert(__FILE__, __LINE__, #exp, 0) +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : MgbaAssert(__FILE__, __LINE__, #exp, TRUE) +#define AGB_WARNING(exp) (exp) ? ((void*)0) : MgbaAssert(__FILE__, __LINE__, #exp, FALSE) // Not used in this configuration #define AGBPrintfInit() @@ -26,8 +26,8 @@ void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nS void NoCashGBAPrintf(const char *pBuf, ...) void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) #define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, __VA_ARGS__) -#define AGB_ASSERT(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, 1); -#define AGB_WARNING(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, 0) +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, TRUE); +#define AGB_WARNING(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, FALSE) // Not used in this configuration #define MgbaOpen() @@ -38,8 +38,8 @@ void AGBPrintf(const char *pBuf, ...); void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram); void AGBPrintInit(void); #define DebugPrintf(pBuf, ...) AGBPrintf(const char *pBuf, ...) -#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1) -#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0) +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, TRUE) +#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, FALSE) // Not used in this configuration #define MgbaOpen() From 12670e8e3ee0ca49dd88d36e83ec698bfc7b227f Mon Sep 17 00:00:00 2001 From: sbird Date: Fri, 23 Sep 2022 03:48:58 +0200 Subject: [PATCH 100/147] [debug] simplify macros, add EX versions --- include/gba/isagbprint.h | 60 ++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 37e2bb080..59518ecdf 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -7,52 +7,52 @@ #define DebugPrintf(pBuf, ...) #define MgbaOpen() #define MgbaClose() -#define AGB_ASSERT(exp) -#define AGB_WARNING(exp) #define AGBPrintInit() +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) #else -#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) + bool32 MgbaOpen(void); void MgbaClose(void); void MgbaPrintf(const char *pBuf, ...); void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); -#define DebugPrintf(pBuf, ...) MgbaPrintf(pBuf, __VA_ARGS__) -#define AGB_ASSERT(exp) (exp) ? ((void*)0) : MgbaAssert(__FILE__, __LINE__, #exp, TRUE) -#define AGB_WARNING(exp) (exp) ? ((void*)0) : MgbaAssert(__FILE__, __LINE__, #exp, FALSE) - -// Not used in this configuration -#define AGBPrintfInit() -#elif (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) -void NoCashGBAPrintf(const char *pBuf, ...) -void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) -#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, __VA_ARGS__) -#define AGB_ASSERT(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, TRUE); -#define AGB_WARNING(exp) (exp) ? ((void*)0) : NoCashGBAAssert(__FILE__, __LINE__, #exp, FALSE) - -// Not used in this configuration -#define MgbaOpen() -#define MgbaClose() -#define AGBPrintInit() -#else // Default to AGBPrint +void NoCashGBAPrintf(const char *pBuf, ...); +void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); void AGBPrintf(const char *pBuf, ...); void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram); void AGBPrintInit(void); + +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) + +#define DebugPrintf(pBuf, ...) MgbaPrintf(pBuf, __VA_ARGS__) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) MgbaAssert(pFile, nLine, pExpression, nStopProgram) + +#elif (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) + +#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, __VA_ARGS__) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) NoCashGBAAssert(pFile, nLine, pExpression, nStopProgram) + +#else // Default to AGBPrint + #define DebugPrintf(pBuf, ...) AGBPrintf(const char *pBuf, ...) -#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, TRUE) -#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, FALSE) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) AGBAssert(pFile, nLine, pExpression, nStopProgram) -// Not used in this configuration -#define MgbaOpen() -#define MgbaClose() #endif #endif -// for matching purposes - #ifdef NDEBUG -#define AGB_ASSERT_EX(exp, file, line) + +#define AGB_ASSERT(exp) +#define AGB_WARNING(exp) +#define AGB_ASSERT_EX(exp, file, line) +#define AGB_WARNING_EX(exp, file, line) + #else -#define AGB_ASSERT_EX(exp, file, line) AGB_ASSERT(exp); + +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : DebugAssert(__FILE__, __LINE__, #exp, TRUE) +#define AGB_WARNING(exp) (exp) ? ((void*)0) : DebugAssert(__FILE__, __LINE__, #exp, FALSE) + +#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void *)0) : DebugAssert(file, line, #exp, FALSE); +#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void *)0) : DebugAssert(file, line, #exp, TRUE); #endif #endif // GUARD_GBA_ISAGBPRINT_H From 343d7f7d269be96fbc82be6b421bdc657fa79979 Mon Sep 17 00:00:00 2001 From: sbird Date: Fri, 23 Sep 2022 04:02:30 +0200 Subject: [PATCH 101/147] [debug] do not use heap allocation for MgbaPrintf --- include/gba/isagbprint.h | 10 ++++++-- src/libisagbprn.c | 50 +++------------------------------------- 2 files changed, 11 insertions(+), 49 deletions(-) diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 59518ecdf..91aa9f214 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -3,6 +3,12 @@ #include "gba/types.h" +#define MGBA_LOG_FATAL (0) +#define MGBA_LOG_ERROR (1) +#define MGBA_LOG_WARN (2) +#define MGBA_LOG_INFO (3) +#define MGBA_LOG_DEBUG (4) + #ifdef NDEBUG #define DebugPrintf(pBuf, ...) #define MgbaOpen() @@ -13,7 +19,7 @@ bool32 MgbaOpen(void); void MgbaClose(void); -void MgbaPrintf(const char *pBuf, ...); +void MgbaPrintf(s32 level, const char *pBuf, ...); void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); void NoCashGBAPrintf(const char *pBuf, ...); void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); @@ -23,7 +29,7 @@ void AGBPrintInit(void); #if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) -#define DebugPrintf(pBuf, ...) MgbaPrintf(pBuf, __VA_ARGS__) +#define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, pBuf, __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) MgbaAssert(pFile, nLine, pExpression, nStopProgram) #elif (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) diff --git a/src/libisagbprn.c b/src/libisagbprn.c index 0dbaec157..fab9b5990 100644 --- a/src/libisagbprn.c +++ b/src/libisagbprn.c @@ -211,14 +211,6 @@ void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool // mgba print functions #if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) -#define MGBA_PRINTF_BUFFER_SIZE (4096) - -#define MGBA_LOG_FATAL (0) -#define MGBA_LOG_ERROR (1) -#define MGBA_LOG_WARN (2) -#define MGBA_LOG_INFO (3) -#define MGBA_LOG_DEBUG (4) - #define MGBA_REG_DEBUG_MAX (256) bool32 MgbaOpen(void) @@ -232,7 +224,7 @@ void MgbaClose(void) *REG_DEBUG_ENABLE = 0; } -static void MgbaPrintfBounded(s32 level, const char* ptr, ...) +void MgbaPrintf(s32 level, const char* ptr, ...) { va_list args; @@ -249,52 +241,16 @@ static void MgbaPrintfBounded(s32 level, const char* ptr, ...) *REG_DEBUG_FLAGS = level | 0x100; } -void MgbaPrintf(const char* ptr, ...) -{ - va_list args; - u32 offset = 0; - u32 n = 0; - u32 i; - char *buffer = Alloc(MGBA_PRINTF_BUFFER_SIZE); - AGB_ASSERT(buffer != NULL); - - va_start(args, ptr); - #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) - n = mini_vsnprintf(buffer, MGBA_PRINTF_BUFFER_SIZE, ptr, args); - #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) - n = vsnprintf(buffer, MGBA_PRINTF_BUFFER_SIZE, ptr, args); - #else - #error "unspecified pretty printing handler." - #endif - va_end(args); - - AGB_ASSERT(n < MGBA_PRINTF_BUFFER_SIZE); - - do - { - for (i = 0; i < MGBA_REG_DEBUG_MAX; ++i) - { - REG_DEBUG_STRING[i] = buffer[offset + i]; - if (buffer[offset + i] == 0) - break; - } - offset += i; - *REG_DEBUG_FLAGS = MGBA_LOG_INFO | 0x100; - } while ((i == MGBA_REG_DEBUG_MAX) && (buffer[offset] != '\0')); - - Free(buffer); -} - void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) { if (nStopProgram) { - MgbaPrintfBounded(MGBA_LOG_ERROR, "ASSERTION FAILED FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + MgbaPrintf(MGBA_LOG_ERROR, "ASSERTION FAILED FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); asm(".hword 0xEFFF"); } else { - MgbaPrintfBounded(MGBA_LOG_WARN, "WARING FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + MgbaPrintf(MGBA_LOG_WARN, "WARING FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); } } #endif From 64405250ae718597e16601127381703369905076 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 24 Sep 2022 08:50:48 -0300 Subject: [PATCH 102/147] Updated IsViableZMove --- src/battle_z_move.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/battle_z_move.c b/src/battle_z_move.c index c257df599..b61e5e189 100644 --- a/src/battle_z_move.c +++ b/src/battle_z_move.c @@ -174,10 +174,8 @@ bool32 IsViableZMove(u8 battlerId, u16 move) if (gBattleTypeFlags & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FRONTIER)) return FALSE; - #ifdef ITEM_Z_RING - if ((GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT)) && !CheckBagHasItem(ITEM_Z_RING, 1)) + if ((GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT)) && !CheckBagHasItem(ITEM_Z_POWER_RING, 1)) return FALSE; - #endif if (mega->alreadyEvolved[battlerPosition]) return FALSE; // Trainer has mega evolved From c64593cb9c387d63334538ba537f589961ff5727 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 24 Sep 2022 09:04:15 -0300 Subject: [PATCH 103/147] Fixed LTBTS's animation --- data/battle_anim_scripts.s | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index c9dbfd2ee..e5f32e09a 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -30451,11 +30451,11 @@ LightThatBurnsTheSkyGreenSparks: launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x0 0x28 0x0 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x40 0x28 0x1 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x80 0x28 0x0 0x3 - launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c SOUND_PAN_ATTACKER 0x28 0x2 0x3 + launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x0 0x28 0x2 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x0 0x28 0x0 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x40 0x28 0x1 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x80 0x28 0x0 0x3 - launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c SOUND_PAN_ATTACKER 0x28 0x2 0x3 + launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x0 0x28 0x2 0x3 delay 0x10 return From 696d90880e8fb5d9d249ade203b09b774982427e Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 24 Sep 2022 09:33:31 -0300 Subject: [PATCH 104/147] Made Z-Moves always show the right type --- src/battle_z_move.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/battle_z_move.c b/src/battle_z_move.c index c257df599..fa4cbc0c3 100644 --- a/src/battle_z_move.c +++ b/src/battle_z_move.c @@ -54,6 +54,7 @@ static void ZMoveSelectionDisplayPower(u16 move, u16 zMove); static void ShowZMoveTriggerSprite(void); static bool32 AreStatsMaxed(u8 battlerId, u8 n); static u8 GetZMoveScore(u8 battlerAtk, u8 battlerDef, u16 baseMove, u16 zMove); +static void ZMoveSelectionDisplayMoveType(u16 zMove); // Const Data static const struct SignatureZMove sSignatureZMoves[] = @@ -522,6 +523,7 @@ bool32 MoveSelectionDisplayZMove(u16 zmove) BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_NAME_1); ZMoveSelectionDisplayPpNumber(); + ZMoveSelectionDisplayMoveType(zmove); MoveSelectionCreateCursorAt(0, 0); return TRUE; } @@ -561,6 +563,23 @@ static void ZMoveSelectionDisplayPpNumber(void) BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_PP_REMAINING); } +static void ZMoveSelectionDisplayMoveType(u16 zMove) +{ + u8 *txtPtr; + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + u8 zMoveType; + + GET_MOVE_TYPE(zMove, zMoveType); + + txtPtr = StringCopy(gDisplayedStringBattle, gText_MoveInterfaceType); + *(txtPtr)++ = EXT_CTRL_CODE_BEGIN; + *(txtPtr)++ = EXT_CTRL_CODE_FONT; + *(txtPtr)++ = FONT_NORMAL; + + StringCopy(txtPtr, gTypeNames[zMoveType]); + BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_TYPE); +} + const u8 *GetZMoveName(u16 move) { if (IsZMove(move)) From c22671d2a2f79ed349457bd3ce9c65fa2648597f Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Sat, 24 Sep 2022 12:12:31 -0400 Subject: [PATCH 105/147] add overwrittenAbilities field --- include/battle.h | 1 + src/battle_ai_util.c | 4 ++++ src/battle_main.c | 5 +++++ src/battle_script_commands.c | 18 +++++++++--------- src/battle_util.c | 8 +++----- 5 files changed, 22 insertions(+), 14 deletions(-) diff --git a/include/battle.h b/include/battle.h index d92eded3e..b328b46bb 100644 --- a/include/battle.h +++ b/include/battle.h @@ -646,6 +646,7 @@ struct BattleStruct // When using a move which hits multiple opponents which is then bounced by a target, we need to make sure, the move hits both opponents, the one with bounce, and the one without. u8 attackerBeforeBounce:2; u8 targetsDone[MAX_BATTLERS_COUNT]; // Each battler as a bit. + u16 overwrittenAbilities[MAX_BATTLERS_COUNT]; // abilities overwritten during battle (keep separate from battle history in case of switching) }; #define F_DYNAMIC_TYPE_1 (1 << 6) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index a57500d72..344dd1657 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1163,6 +1163,10 @@ s32 AI_GetAbility(u32 battlerId) { u32 knownAbility = GetBattlerAbility(battlerId); + // We've had ability overwritten by e.g. Worry Seed. It is not part of AI_PARTY in case of switching + if (gBattleStruct->overwrittenAbilities[battlerId]) + return gBattleStruct->overwrittenAbilities[battlerId]; + // The AI knows its own ability. if (IsBattlerAIControlled(battlerId)) return knownAbility; diff --git a/src/battle_main.c b/src/battle_main.c index dc7fbf9c3..baed941eb 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2940,6 +2940,7 @@ static void BattleStartClearSetData(void) gBattleStruct->lastTakenMoveFrom[i][3] = MOVE_NONE; gBattleStruct->AI_monToSwitchIntoId[i] = PARTY_SIZE; gBattleStruct->skyDropTargets[i] = 0xFF; + gBattleStruct->overwrittenAbilities[i] = ABILITY_NONE; } gLastUsedMove = 0; @@ -3126,6 +3127,8 @@ void SwitchInClearSetData(void) // Reset damage to prevent things like red card activating if the switched-in mon is holding it gSpecialStatuses[gActiveBattler].physicalDmg = 0; gSpecialStatuses[gActiveBattler].specialDmg = 0; + + gBattleStruct->overwrittenAbilities[gActiveBattler] = ABILITY_NONE; Ai_UpdateSwitchInData(gActiveBattler); } @@ -3228,6 +3231,8 @@ void FaintClearSetData(void) if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) UndoMegaEvolution(gBattlerPartyIndexes[gActiveBattler]); + gBattleStruct->overwrittenAbilities[gActiveBattler] = ABILITY_NONE; + // If the fainted mon was involved in a Sky Drop if (gBattleStruct->skyDropTargets[gActiveBattler] != 0xFF) { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f5884d206..de6a81cac 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8081,8 +8081,7 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 8; return; case VARIOUS_TRACE_ABILITY: - gBattleMons[gActiveBattler].ability = gBattleStruct->tracedAbility[gActiveBattler]; - RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); + gBattleMons[gActiveBattler].ability = gBattleStruct->overwrittenAbilities[gActiveBattler] = gBattleStruct->tracedAbility[gActiveBattler]; break; case VARIOUS_TRY_ILLUSION_OFF: if (GetIllusionMonPtr(gActiveBattler) != NULL) @@ -8557,7 +8556,7 @@ static void Cmd_various(void) if (gBattleMons[gBattlerTarget].ability == ABILITY_NEUTRALIZING_GAS) gSpecialStatuses[gBattlerTarget].neutralizingGasRemoved = TRUE; - gBattleMons[gBattlerTarget].ability = ABILITY_SIMPLE; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = ABILITY_SIMPLE; gBattlescriptCurrInstr += 7; } return; @@ -8575,7 +8574,7 @@ static void Cmd_various(void) } else { - gBattleMons[gBattlerTarget].ability = gBattleMons[gBattlerAttacker].ability; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = gBattleMons[gBattlerAttacker].ability; gBattlescriptCurrInstr += 7; } return; @@ -11388,7 +11387,8 @@ static void Cmd_transformdataexecution(void) for (i = 0; i < offsetof(struct BattlePokemon, pp); i++) battleMonAttacker[i] = battleMonTarget[i]; - + + gBattleStruct->overwrittenAbilities[gBattlerAttacker] = GetBattlerAbility(gBattlerTarget); for (i = 0; i < MAX_MON_MOVES; i++) { if (gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].pp < 5) @@ -12912,7 +12912,7 @@ static void Cmd_trycopyability(void) else { gBattleScripting.abilityPopupOverwrite = gBattleMons[gBattlerAttacker].ability; - gBattleMons[gBattlerAttacker].ability = defAbility; + gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = defAbility; gLastUsedAbility = defAbility; gBattlescriptCurrInstr += 5; } @@ -13078,8 +13078,8 @@ static void Cmd_tryswapabilities(void) else { u16 abilityAtk = gBattleMons[gBattlerAttacker].ability; - gBattleMons[gBattlerAttacker].ability = gBattleMons[gBattlerTarget].ability; - gBattleMons[gBattlerTarget].ability = abilityAtk; + gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = gBattleMons[gBattlerTarget].ability; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = abilityAtk; gBattlescriptCurrInstr += 5; } @@ -14457,7 +14457,7 @@ static void Cmd_tryworryseed(void) } else { - gBattleMons[gBattlerTarget].ability = ABILITY_INSOMNIA; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = ABILITY_INSOMNIA; gBattlescriptCurrInstr += 5; } } diff --git a/src/battle_util.c b/src/battle_util.c index 64c2e7557..9039f49d6 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5294,7 +5294,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move case ABILITY_STANCE_CHANGE: break; default: - gLastUsedAbility = gBattleMons[gBattlerAttacker].ability = ABILITY_MUMMY; + gLastUsedAbility = gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = ABILITY_MUMMY; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MummyActivates; effect++; @@ -5326,10 +5326,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move break; default: gLastUsedAbility = gBattleMons[gBattlerAttacker].ability; - gBattleMons[gBattlerAttacker].ability = gBattleMons[gBattlerTarget].ability; - gBattleMons[gBattlerTarget].ability = gLastUsedAbility; - RecordAbilityBattle(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability); - RecordAbilityBattle(gBattlerTarget, gBattleMons[gBattlerTarget].ability); + gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = gBattleMons[gBattlerTarget].ability; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = gLastUsedAbility; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WanderingSpiritActivates; effect++; From 0fa8e20d0877415b57f9e51bbbc83ece04aaa778 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Sat, 24 Sep 2022 14:20:07 -0300 Subject: [PATCH 106/147] Style changes from upstream --- src/battle_script_commands.c | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5958daa34..71088540e 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5777,12 +5777,15 @@ static void Cmd_moveend(void) case MOVEEND_SYMBIOSIS: for (i = 0; i < gBattlersCount; i++) { - if (((B_SYMBIOSIS_GEMS >= GEN_7 && gSpecialStatuses[i].gemBoost) || gSpecialStatuses[i].berryReduced) - && SYMBIOSIS_CHECK(i, i ^ BIT_FLANK)) + if ((gSpecialStatuses[i].berryReduced + #if B_SYMBIOSIS_GEMS >= GEN_7 + || gSpecialStatuses[i].gemBoost + #endif + ) && SYMBIOSIS_CHECK(i, BATTLE_PARTNER(i))) { - BestowItem(i ^ BIT_FLANK, i); - gLastUsedAbility = gBattleMons[i ^ BIT_FLANK].ability; - gBattleScripting.battler = gBattlerAbility = i ^ BIT_FLANK; + BestowItem(BATTLE_PARTNER(i), i); + gLastUsedAbility = gBattleMons[BATTLE_PARTNER(i)].ability; + gBattleScripting.battler = gBattlerAbility = BATTLE_PARTNER(i); gBattlerAttacker = i; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; @@ -7290,20 +7293,20 @@ static void BestowItem(u32 battlerAtk, u32 battlerDef) // Called by Cmd_removeitem. itemId represents the item that was removed, not being given. static bool32 TrySymbiosis(u32 battler, u32 itemId) { - u32 ally = battler ^ BIT_FLANK; - if (!gBattleStruct->itemStolen[gBattlerPartyIndexes[battler]].stolen && gBattleStruct->changedItems[battler] == ITEM_NONE && GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_EJECT_BUTTON && GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_EJECT_PACK - && !(B_SYMBIOSIS_GEMS >= GEN_7 && gSpecialStatuses[battler].gemBoost) + #if B_SYMBIOSIS_GEMS >= GEN_7 + && !(gSpecialStatuses[battler].gemBoost) + #endif && gCurrentMove != MOVE_FLING //Fling and damage-reducing berries are handled separately. && !gSpecialStatuses[battler].berryReduced - && SYMBIOSIS_CHECK(battler, ally)) + && SYMBIOSIS_CHECK(battler, BATTLE_PARTNER(battler))) { - BestowItem(ally, battler); - gLastUsedAbility = gBattleMons[ally].ability; - gBattleScripting.battler = gBattlerAbility = ally; + BestowItem(BATTLE_PARTNER(battler), battler); + gLastUsedAbility = gBattleMons[BATTLE_PARTNER(battler)].ability; + gBattleScripting.battler = gBattlerAbility = BATTLE_PARTNER(battler); gBattlerAttacker = battler; BattleScriptPush(gBattlescriptCurrInstr + 2); gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; @@ -9844,11 +9847,11 @@ static void Cmd_various(void) CourtChangeSwapSideStatuses(); break; case VARIOUS_TRY_SYMBIOSIS: //called by Bestow, Fling, and Bug Bite, which don't work with Cmd_removeitem. - if (SYMBIOSIS_CHECK(gActiveBattler, gActiveBattler ^ BIT_FLANK)) + if (SYMBIOSIS_CHECK(gActiveBattler, BATTLE_PARTNER(gActiveBattler))) { - BestowItem(gActiveBattler ^ BIT_FLANK, gActiveBattler); - gLastUsedAbility = gBattleMons[gActiveBattler ^ BIT_FLANK].ability; - gBattleScripting.battler = gBattlerAbility = gActiveBattler ^ BIT_FLANK; + BestowItem(BATTLE_PARTNER(gActiveBattler), gActiveBattler); + gLastUsedAbility = gBattleMons[BATTLE_PARTNER(gActiveBattler)].ability; + gBattleScripting.battler = gBattlerAbility = BATTLE_PARTNER(gActiveBattler); gBattlerAttacker = gActiveBattler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; From 5500e64a713d34143e18f1462f0bc2137de66c4d Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 24 Sep 2022 17:26:41 -0300 Subject: [PATCH 107/147] Reworked the debug menu's PC access --- src/debug.c | 5 ++-- src/field_specials.c | 61 ++++++++++++++++++++++++++++---------------- 2 files changed, 41 insertions(+), 25 deletions(-) diff --git a/src/debug.c b/src/debug.c index f56131968..2d96c8c0c 100644 --- a/src/debug.c +++ b/src/debug.c @@ -2805,9 +2805,8 @@ static void Task_WaitFadeAccessPC(u8 taskId) static void DebugAction_AccessPC(u8 taskId) { Debug_DestroyMenu_Full(taskId); - CleanupOverworldWindowsAndTilemaps(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - CreateTask(Task_WaitFadeAccessPC, 0); + LockPlayerFieldControls(); + ScriptContext_SetupScript(EventScript_PC); } diff --git a/src/field_specials.c b/src/field_specials.c index eb4db96f8..fa777b858 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -953,9 +953,22 @@ void FieldShowRegionMap(void) SetMainCallback2(CB2_FieldShowRegionMap); } +static bool8 IsPlayerInFrontOfPC(void) +{ + u16 x, y; + u16 tileInFront; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + tileInFront = MapGridGetMetatileIdAt(x, y); + + return (tileInFront == METATILE_BrendansMaysHouse_BrendanPC_Off + || tileInFront == METATILE_BrendansMaysHouse_MayPC_Off + || tileInFront == METATILE_Building_PC_Off); +} + void DoPCTurnOnEffect(void) { - if (FuncIsActiveTask(Task_PCTurnOnEffect) != TRUE) + if (FuncIsActiveTask(Task_PCTurnOnEffect) != TRUE && IsPlayerInFrontOfPC() == TRUE) { u8 taskId = CreateTask(Task_PCTurnOnEffect, 8); gTasks[taskId].data[0] = 0; @@ -1041,29 +1054,33 @@ static void PCTurnOffEffect(void) s8 dy = 0; u16 tileId = 0; u8 playerDirection = GetPlayerFacingDirection(); - switch (playerDirection) + + if (IsPlayerInFrontOfPC() == TRUE) { - case DIR_NORTH: - dx = 0; - dy = -1; - break; - case DIR_WEST: - dx = -1; - dy = -1; - break; - case DIR_EAST: - dx = 1; - dy = -1; - break; + switch (playerDirection) + { + case DIR_NORTH: + dx = 0; + dy = -1; + break; + case DIR_WEST: + dx = -1; + dy = -1; + break; + case DIR_EAST: + dx = 1; + dy = -1; + break; + } + if (gSpecialVar_0x8004 == PC_LOCATION_OTHER) + tileId = METATILE_Building_PC_Off; + else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE) + tileId = METATILE_BrendansMaysHouse_BrendanPC_Off; + else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE) + tileId = METATILE_BrendansMaysHouse_MayPC_Off; + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + MAP_OFFSET, gSaveBlock1Ptr->pos.y + dy + MAP_OFFSET, tileId | MAPGRID_COLLISION_MASK); + DrawWholeMapView(); } - if (gSpecialVar_0x8004 == PC_LOCATION_OTHER) - tileId = METATILE_Building_PC_Off; - else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE) - tileId = METATILE_BrendansMaysHouse_BrendanPC_Off; - else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE) - tileId = METATILE_BrendansMaysHouse_MayPC_Off; - MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + MAP_OFFSET, gSaveBlock1Ptr->pos.y + dy + MAP_OFFSET, tileId | MAPGRID_COLLISION_MASK); - DrawWholeMapView(); } void DoLotteryCornerComputerEffect(void) From d8b391906383186ff1b05d1cf7167577527ef8d2 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sat, 24 Sep 2022 18:27:53 -0400 Subject: [PATCH 108/147] Ignore Porymap's prefabs file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index cac4a07e6..8d9502ae8 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ build/ *.ddump .idea/ porymap.project.cfg +prefabs.json .vscode/ *.a .fuse_hidden* From 00eb67608a00445b8a8dd5b9294d61b4adb71b41 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 24 Sep 2022 22:10:46 -0300 Subject: [PATCH 109/147] Small tweak to the new check in PCTurnOffEffect --- src/field_specials.c | 45 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/src/field_specials.c b/src/field_specials.c index fa777b858..57e2ffe29 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1056,31 +1056,30 @@ static void PCTurnOffEffect(void) u8 playerDirection = GetPlayerFacingDirection(); if (IsPlayerInFrontOfPC() == TRUE) + return; + switch (playerDirection) { - switch (playerDirection) - { - case DIR_NORTH: - dx = 0; - dy = -1; - break; - case DIR_WEST: - dx = -1; - dy = -1; - break; - case DIR_EAST: - dx = 1; - dy = -1; - break; - } - if (gSpecialVar_0x8004 == PC_LOCATION_OTHER) - tileId = METATILE_Building_PC_Off; - else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE) - tileId = METATILE_BrendansMaysHouse_BrendanPC_Off; - else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE) - tileId = METATILE_BrendansMaysHouse_MayPC_Off; - MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + MAP_OFFSET, gSaveBlock1Ptr->pos.y + dy + MAP_OFFSET, tileId | MAPGRID_COLLISION_MASK); - DrawWholeMapView(); + case DIR_NORTH: + dx = 0; + dy = -1; + break; + case DIR_WEST: + dx = -1; + dy = -1; + break; + case DIR_EAST: + dx = 1; + dy = -1; + break; } + if (gSpecialVar_0x8004 == PC_LOCATION_OTHER) + tileId = METATILE_Building_PC_Off; + else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE) + tileId = METATILE_BrendansMaysHouse_BrendanPC_Off; + else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE) + tileId = METATILE_BrendansMaysHouse_MayPC_Off; + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + MAP_OFFSET, gSaveBlock1Ptr->pos.y + dy + MAP_OFFSET, tileId | MAPGRID_COLLISION_MASK); + DrawWholeMapView(); } void DoLotteryCornerComputerEffect(void) From 8e9bfda12022cb9fd147d6a1957ea246e100c359 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 24 Sep 2022 22:22:18 -0300 Subject: [PATCH 110/147] Update field_specials.c --- src/field_specials.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/field_specials.c b/src/field_specials.c index 57e2ffe29..040a7a86f 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1055,7 +1055,7 @@ static void PCTurnOffEffect(void) u16 tileId = 0; u8 playerDirection = GetPlayerFacingDirection(); - if (IsPlayerInFrontOfPC() == TRUE) + if (IsPlayerInFrontOfPC() == FALSE) return; switch (playerDirection) { From 0f35f080ecb8a59d3941817c6a4e236d6600cabb Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sat, 24 Sep 2022 23:48:24 -0300 Subject: [PATCH 111/147] =?UTF-8?q?Gender=20icon=20in=20naming=20screen=20?= =?UTF-8?q?based=20on=20Pok=C3=A9mon=20name=20length?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/naming_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/naming_screen.c b/src/naming_screen.c index b4007b265..a05e501c2 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1771,7 +1771,7 @@ static void DrawGenderIcon(void) StringCopy(text, gText_FemaleSymbol); isFemale = TRUE; } - AddTextPrinterParameterized3(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, 0x68, 1, sGenderColors[isFemale], TEXT_SKIP_DRAW, text); + AddTextPrinterParameterized3(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, (POKEMON_NAME_LENGTH * 4) + 64, 1, sGenderColors[isFemale], TEXT_SKIP_DRAW, text); } } From a9ab3286efb063afd4304ac2187e6b778a76482b Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 25 Sep 2022 05:51:08 -0300 Subject: [PATCH 112/147] Fixed IsPlayerInFrontOfPC --- src/field_specials.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/field_specials.c b/src/field_specials.c index 040a7a86f..dcf89487c 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -961,9 +961,9 @@ static bool8 IsPlayerInFrontOfPC(void) GetXYCoordsOneStepInFrontOfPlayer(&x, &y); tileInFront = MapGridGetMetatileIdAt(x, y); - return (tileInFront == METATILE_BrendansMaysHouse_BrendanPC_Off - || tileInFront == METATILE_BrendansMaysHouse_MayPC_Off - || tileInFront == METATILE_Building_PC_Off); + return ((tileInFront == METATILE_BrendansMaysHouse_BrendanPC_On || tileInFront == METATILE_BrendansMaysHouse_BrendanPC_Off) + || (tileInFront == METATILE_BrendansMaysHouse_MayPC_On || tileInFront == METATILE_BrendansMaysHouse_MayPC_Off) + || (tileInFront == METATILE_Building_PC_On || tileInFront == METATILE_Building_PC_Off)); } void DoPCTurnOnEffect(void) From 3b983aae147fdd9788d7ffce62a46f953e19d96b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Sun, 25 Sep 2022 08:31:24 -0300 Subject: [PATCH 113/147] Apply suggestions from code review --- src/field_specials.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/field_specials.c b/src/field_specials.c index dcf89487c..ac9c5d58c 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -961,9 +961,12 @@ static bool8 IsPlayerInFrontOfPC(void) GetXYCoordsOneStepInFrontOfPlayer(&x, &y); tileInFront = MapGridGetMetatileIdAt(x, y); - return ((tileInFront == METATILE_BrendansMaysHouse_BrendanPC_On || tileInFront == METATILE_BrendansMaysHouse_BrendanPC_Off) - || (tileInFront == METATILE_BrendansMaysHouse_MayPC_On || tileInFront == METATILE_BrendansMaysHouse_MayPC_Off) - || (tileInFront == METATILE_Building_PC_On || tileInFront == METATILE_Building_PC_Off)); + return (tileInFront == METATILE_BrendansMaysHouse_BrendanPC_On + || tileInFront == METATILE_BrendansMaysHouse_BrendanPC_Off + || tileInFront == METATILE_BrendansMaysHouse_MayPC_On + || tileInFront == METATILE_BrendansMaysHouse_MayPC_Off + || tileInFront == METATILE_Building_PC_On + || tileInFront == METATILE_Building_PC_Off); } void DoPCTurnOnEffect(void) From 057f76bfe651e0385243f82c227b271498bd5ebb Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 25 Sep 2022 13:05:18 -0300 Subject: [PATCH 114/147] Cleaned up missing JOY macros --- src/battle_controller_player.c | 10 +- src/battle_debug.c | 28 ++-- src/debug.c | 264 ++++++++++++++++----------------- 3 files changed, 151 insertions(+), 151 deletions(-) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 6e9cdcc25..4be342640 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -331,7 +331,7 @@ static void HandleInputChooseAction(void) SwapHpBarsWithHpText(); } #if B_ENABLE_DEBUG == TRUE - else if (gMain.newKeys & SELECT_BUTTON) + else if (JOY_NEW(SELECT_BUTTON)) { BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_DEBUG, 0); PlayerBufferExecCompleted(); @@ -543,7 +543,7 @@ static void HandleInputShowEntireFieldTargets(void) HideMegaTriggerSprite(); PlayerBufferExecCompleted(); } - else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59) + else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); HideAllTargets(); @@ -572,7 +572,7 @@ static void HandleInputShowTargets(void) TryHideLastUsedBall(); PlayerBufferExecCompleted(); } - else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59) + else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); HideShownTargets(); @@ -597,12 +597,12 @@ static void HandleInputChooseMove(void) u32 canSelectTarget = 0; struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); - if (gMain.heldKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) + if (JOY_HELD(DPAD_ANY) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; else gPlayerDpadHoldFrames = 0; - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if (moveInfo->moves[gMoveSelectionCursor[gActiveBattler]] == MOVE_CURSE) diff --git a/src/battle_debug.c b/src/battle_debug.c index 2657a5861..4450fe0cb 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -813,7 +813,7 @@ static void Task_ShowAiPoints(u8 taskId) break; // Input case 2: - if (gMain.newKeys & (SELECT_BUTTON | B_BUTTON)) + if (JOY_NEW(SELECT_BUTTON | B_BUTTON)) { SwitchToDebugView(taskId); HideBg(1); @@ -969,7 +969,7 @@ static void Task_ShowAiKnowledge(u8 taskId) break; // Input case 2: - if (gMain.newKeys & (SELECT_BUTTON | B_BUTTON)) + if (JOY_NEW(SELECT_BUTTON | B_BUTTON)) { SwitchToDebugView(taskId); HideBg(1); @@ -1031,7 +1031,7 @@ static void Task_ShowAiParty(u8 taskId) break; // Input case 2: - if (gMain.newKeys & (SELECT_BUTTON | B_BUTTON)) + if (JOY_NEW(SELECT_BUTTON | B_BUTTON)) { SwitchToDebugViewFromAiParty(taskId); HideBg(1); @@ -1106,7 +1106,7 @@ static void Task_DebugMenuProcessInput(u8 taskId) struct BattleDebugMenu *data = GetStructPtr(taskId); // Exit the menu. - if (gMain.newKeys & SELECT_BUTTON) + if (JOY_NEW(SELECT_BUTTON)) { BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); gTasks[taskId].func = Task_DebugMenuFadeOut; @@ -1114,13 +1114,13 @@ static void Task_DebugMenuProcessInput(u8 taskId) } // Try changing active battler. - if (gMain.newKeys & R_BUTTON) + if (JOY_NEW(R_BUTTON)) { if (data->battlerId++ == gBattlersCount - 1) data->battlerId = 0; UpdateWindowsOnChangedBattler(data); } - else if (gMain.newKeys & L_BUTTON) + else if (JOY_NEW(L_BUTTON)) { if (data->battlerId-- == 0) data->battlerId = gBattlersCount - 1; @@ -1133,17 +1133,17 @@ static void Task_DebugMenuProcessInput(u8 taskId) listItemId = ListMenu_ProcessInput(data->mainListTaskId); if (listItemId != LIST_CANCEL && listItemId != LIST_NOTHING_CHOSEN && listItemId < LIST_ITEM_COUNT) { - if (listItemId == LIST_ITEM_AI_MOVES_PTS && gMain.newKeys & A_BUTTON) + if (listItemId == LIST_ITEM_AI_MOVES_PTS && JOY_NEW(A_BUTTON)) { SwitchToAiPointsView(taskId); return; } - else if (listItemId == LIST_ITEM_AI_INFO && gMain.newKeys & A_BUTTON) + else if (listItemId == LIST_ITEM_AI_INFO && JOY_NEW(A_BUTTON)) { SwitchToAiInfoView(taskId); return; } - else if (listItemId == LIST_ITEM_AI_PARTY && gMain.newKeys & A_BUTTON) + else if (listItemId == LIST_ITEM_AI_PARTY && JOY_NEW(A_BUTTON)) { SwitchToAiPartyView(taskId); return; @@ -1182,14 +1182,14 @@ static void Task_DebugMenuProcessInput(u8 taskId) // Handle value modifying. else if (data->activeWindow == ACTIVE_WIN_MODIFY) { - if (gMain.newKeys & (B_BUTTON | A_BUTTON)) + if (JOY_NEW(B_BUTTON | A_BUTTON)) { ClearStdWindowAndFrameToTransparent(data->modifyWindowId, TRUE); RemoveWindow(data->modifyWindowId); DestroyModifyArrows(data); data->activeWindow = ACTIVE_WIN_SECONDARY; } - else if (gMain.newKeys & DPAD_RIGHT) + else if (JOY_NEW(DPAD_RIGHT)) { if (data->modifyArrows.currentDigit != (data->modifyArrows.maxDigits - 1)) { @@ -1198,7 +1198,7 @@ static void Task_DebugMenuProcessInput(u8 taskId) gSprites[data->modifyArrows.arrowSpriteId[1]].x2 += 6; } } - else if (gMain.newKeys & DPAD_LEFT) + else if (JOY_NEW(DPAD_LEFT)) { if (data->modifyArrows.currentDigit != 0) { @@ -1207,7 +1207,7 @@ static void Task_DebugMenuProcessInput(u8 taskId) gSprites[data->modifyArrows.arrowSpriteId[1]].x2 -= 6; } } - else if (gMain.newKeys & DPAD_UP) + else if (JOY_NEW(DPAD_UP)) { if (TryMoveDigit(&data->modifyArrows, TRUE)) { @@ -1216,7 +1216,7 @@ static void Task_DebugMenuProcessInput(u8 taskId) PrintSecondaryEntries(data); } } - else if (gMain.newKeys & DPAD_DOWN) + else if (JOY_NEW(DPAD_DOWN)) { if (TryMoveDigit(&data->modifyArrows, FALSE)) { diff --git a/src/debug.c b/src/debug.c index 2d96c8c0c..aaf5a8131 100644 --- a/src/debug.c +++ b/src/debug.c @@ -755,13 +755,13 @@ static void DebugTask_HandleMenuInput_Main(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Main[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu_Full(taskId); @@ -773,13 +773,13 @@ static void DebugTask_HandleMenuInput_Utilities(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Utilities[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -791,13 +791,13 @@ static void DebugTask_HandleMenuInput_Scripts(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Scripts[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -809,13 +809,13 @@ static void DebugTask_HandleMenuInput_Flags(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Flags[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -827,13 +827,13 @@ static void DebugTask_HandleMenuInput_Vars(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Vars[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -845,13 +845,13 @@ static void DebugTask_HandleMenuInput_Give(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Give[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -863,13 +863,13 @@ static void DebugTask_HandleMenuInput_Sound(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Sound[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -975,27 +975,27 @@ static void DebugAction_Util_Warp_Warp(u8 taskId) } static void DebugAction_Util_Warp_SelectMapGroup(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > MAP_GROUPS_COUNT - 1) gTasks[taskId].data[3] = MAP_GROUPS_COUNT - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -1009,7 +1009,7 @@ static void DebugAction_Util_Warp_SelectMapGroup(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[5] = gTasks[taskId].data[3]; gTasks[taskId].data[3] = 0; @@ -1025,7 +1025,7 @@ static void DebugAction_Util_Warp_SelectMapGroup(u8 taskId) gTasks[taskId].func = DebugAction_Util_Warp_SelectMap; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1035,27 +1035,27 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) { u8 max_value = MAP_GROUP_COUNT[gTasks[taskId].data[5]]; //maps in the selected map group - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > max_value - 1) gTasks[taskId].data[3] = max_value - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -1070,7 +1070,7 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[6] = gTasks[taskId].data[3]; gTasks[taskId].data[3] = 0; @@ -1082,7 +1082,7 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Util_Warp_SelectWarp; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1090,16 +1090,16 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) } static void DebugAction_Util_Warp_SelectWarp(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > 10) gTasks[taskId].data[3] = 10; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) @@ -1112,7 +1112,7 @@ static void DebugAction_Util_Warp_SelectWarp(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[7] = gTasks[taskId].data[3]; //WARP @@ -1122,7 +1122,7 @@ static void DebugAction_Util_Warp_SelectWarp(u8 taskId) ResetInitialPlayerAvatarState(); DebugAction_DestroyExtraWindow(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1222,28 +1222,28 @@ static void DebugAction_Util_Weather(u8 taskId) } static void DebugAction_Util_Weather_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > WEATHER_ROUTE123_CYCLE) gTasks[taskId].data[3] = WEATHER_ROUTE123_CYCLE; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < WEATHER_NONE) gTasks[taskId].data[3] = WEATHER_NONE; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -1261,7 +1261,7 @@ static void DebugAction_Util_Weather_SelectId(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { if (gTasks[taskId].data[3] <= 14 || gTasks[taskId].data[3] >= 20) { @@ -1269,7 +1269,7 @@ static void DebugAction_Util_Weather_SelectId(u8 taskId) SetWeather(gTasks[taskId].data[5]); } } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1402,16 +1402,16 @@ static void DebugAction_Flags_Flags(u8 taskId) } static void DebugAction_Flags_FlagsSelect(u8 taskId) { - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) FlagToggle(gTasks[taskId].data[3]); - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); return; } - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { PlaySE(SE_SELECT); gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; @@ -1419,7 +1419,7 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) gTasks[taskId].data[3] = FLAGS_COUNT - 1; } } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { PlaySE(SE_SELECT); gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; @@ -1427,7 +1427,7 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) gTasks[taskId].data[3] = 1; } } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { PlaySE(SE_SELECT); gTasks[taskId].data[4] -= 1; @@ -1436,7 +1436,7 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) gTasks[taskId].data[4] = 0; } } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { PlaySE(SE_SELECT); gTasks[taskId].data[4] += 1; @@ -1446,7 +1446,7 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) } } - if (gMain.newKeys & DPAD_ANY || gMain.newKeys & A_BUTTON) + if (JOY_NEW(DPAD_ANY) || JOY_NEW(A_BUTTON)) { ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 3); @@ -1660,32 +1660,32 @@ static void DebugAction_Vars_Vars(u8 taskId) static void DebugAction_Vars_Select(u8 taskId) { - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > VARS_END) gTasks[taskId].data[3] = VARS_END; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < VARS_START) gTasks[taskId].data[3] = VARS_START; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { gTasks[taskId].data[4] -= 1; if (gTasks[taskId].data[4] < 0) gTasks[taskId].data[4] = 0; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { gTasks[taskId].data[4] += 1; if (gTasks[taskId].data[4] > DEBUG_NUMBER_DIGITS_VARIABLES - 1) gTasks[taskId].data[4] = DEBUG_NUMBER_DIGITS_VARIABLES - 1; } - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); @@ -1704,7 +1704,7 @@ static void DebugAction_Vars_Select(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[4] = 0; @@ -1726,7 +1726,7 @@ static void DebugAction_Vars_Select(u8 taskId) gTasks[taskId].data[6] = gTasks[taskId].data[5]; //New value selector gTasks[taskId].func = DebugAction_Vars_SetValue; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1735,7 +1735,7 @@ static void DebugAction_Vars_Select(u8 taskId) } static void DebugAction_Vars_SetValue(u8 taskId) { - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { if (gTasks[taskId].data[6] + sPowersOfTen[gTasks[taskId].data[4]] <= 32000) gTasks[taskId].data[6] += sPowersOfTen[gTasks[taskId].data[4]]; @@ -1745,14 +1745,14 @@ static void DebugAction_Vars_SetValue(u8 taskId) if (gTasks[taskId].data[6] >= 32000) gTasks[taskId].data[6] = 32000 - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[6] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[6] < 0){ gTasks[taskId].data[6] = 0; } } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { gTasks[taskId].data[4] -= 1; if (gTasks[taskId].data[4] < 0) @@ -1760,7 +1760,7 @@ static void DebugAction_Vars_SetValue(u8 taskId) gTasks[taskId].data[4] = 0; } } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { gTasks[taskId].data[4] += 1; if (gTasks[taskId].data[4] > 4) @@ -1769,19 +1769,19 @@ static void DebugAction_Vars_SetValue(u8 taskId) } } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); VarSet(gTasks[taskId].data[3], gTasks[taskId].data[6]); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); return; } - if (gMain.newKeys & DPAD_ANY || gMain.newKeys & A_BUTTON) + if (JOY_NEW(DPAD_ANY) || JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); @@ -1834,28 +1834,28 @@ static void DebugAction_Give_Item(u8 taskId) } static void DebugAction_Give_Item_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] >= ITEMS_COUNT) gTasks[taskId].data[3] = ITEMS_COUNT - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < DEBUG_NUMBER_DIGITS_ITEMS - 1) gTasks[taskId].data[4] += 1; @@ -1878,7 +1878,7 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) gSprites[gTasks[taskId].data[6]].oam.priority = 0; } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[5] = gTasks[taskId].data[3]; gTasks[taskId].data[3] = 1; @@ -1892,7 +1892,7 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) gTasks[taskId].func = DebugAction_Give_Item_SelectQuantity; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon @@ -1905,28 +1905,28 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) } static void DebugAction_Give_Item_SelectQuantity(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] >= 100) gTasks[taskId].data[3] = 99; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -1939,7 +1939,7 @@ static void DebugAction_Give_Item_SelectQuantity(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon @@ -1950,7 +1950,7 @@ static void DebugAction_Give_Item_SelectQuantity(u8 taskId) AddBagItem(gTasks[taskId].data[5], gTasks[taskId].data[3]); DebugAction_DestroyExtraWindow(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon @@ -2070,28 +2070,28 @@ static void DebugAction_Give_PokemonComplex(u8 taskId) static void DebugAction_Give_Pokemon_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] >= NUM_SPECIES) gTasks[taskId].data[3] = NUM_SPECIES - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < DEBUG_NUMBER_DIGITS_ITEMS - 1) gTasks[taskId].data[4] += 1; @@ -2111,7 +2111,7 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) gSprites[gTasks[taskId].data[6]].oam.priority = 0; } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { sDebugMonData->mon_speciesId = gTasks[taskId].data[3]; //Species ID gTasks[taskId].data[3] = 1; @@ -2125,7 +2125,7 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) gTasks[taskId].func = DebugAction_Give_Pokemon_SelectLevel; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2136,28 +2136,28 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) } static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > 100) gTasks[taskId].data[3] = 100; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -2170,7 +2170,7 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { FreeMonIconPalettes(); FreeAndDestroyMonIconSprite(&gSprites[gTasks[taskId].data[6]]); //Destroy pokemon sprite @@ -2196,7 +2196,7 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) gTasks[taskId].func = DebugAction_Give_Pokemon_SelectShiny; } } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2208,17 +2208,17 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) //If complex static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) @@ -2235,7 +2235,7 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { sDebugMonData->isShiny = gTasks[taskId].data[3]; //isShiny gTasks[taskId].data[3] = 0; @@ -2250,7 +2250,7 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) gTasks[taskId].func = DebugAction_Give_Pokemon_SelectNature; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2259,17 +2259,17 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) } static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > NUM_NATURES-1) gTasks[taskId].data[3] = NUM_NATURES-1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) @@ -2284,7 +2284,7 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { u8 abilityId; sDebugMonData->mon_natureId = gTasks[taskId].data[3]; //NatureId @@ -2301,7 +2301,7 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) gTasks[taskId].func = DebugAction_Give_Pokemon_SelectAbility; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2314,17 +2314,17 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) u8 abilityCount = NUM_ABILITY_SLOTS - 1; //-1 for proper iteration u8 i = 0; - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > abilityCount) gTasks[taskId].data[3] = abilityCount; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) @@ -2344,7 +2344,7 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { sDebugMonData->mon_abilityNum = gTasks[taskId].data[3] - i; //AbilityNum gTasks[taskId].data[3] = 0; @@ -2358,7 +2358,7 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) gTasks[taskId].func = DebugAction_Give_Pokemon_SelectIVs; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2367,28 +2367,28 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) } static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > 31) gTasks[taskId].data[3] = 31; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -2422,7 +2422,7 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) } //If A or B button - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { switch (gTasks[taskId].data[7]) { @@ -2497,7 +2497,7 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) gTasks[taskId].func = DebugAction_Give_Pokemon_Move; } } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2506,28 +2506,28 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) } static void DebugAction_Give_Pokemon_Move(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] >= MOVES_COUNT) gTasks[taskId].data[3] = MOVES_COUNT - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 3) gTasks[taskId].data[4] += 1; @@ -2555,7 +2555,7 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { //If MOVE_NONE selected, stop asking for additional moves if (gTasks[taskId].data[3] == 0) @@ -2617,7 +2617,7 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId) gTasks[taskId].func = DebugAction_Give_Pokemon_ComplexCreateMon; } } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2845,26 +2845,26 @@ static void DebugAction_Sound_SE(u8 taskId) } static void DebugAction_Sound_SE_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > END_SE) gTasks[taskId].data[3] = END_SE; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < DEBUG_NUMBER_DIGITS_ITEMS - 1) gTasks[taskId].data[4] += 1; @@ -2877,13 +2877,13 @@ static void DebugAction_Sound_SE_SelectId(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { m4aSongNumStop(gTasks[taskId].data[5]); gTasks[taskId].data[5] = gTasks[taskId].data[3]; m4aSongNumStart(gTasks[taskId].data[3]); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); m4aSongNumStop(gTasks[taskId].data[5]); @@ -2922,26 +2922,26 @@ static void DebugAction_Sound_MUS(u8 taskId) } static void DebugAction_Sound_MUS_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > END_MUS) gTasks[taskId].data[3] = END_MUS; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < START_MUS) gTasks[taskId].data[3] = START_MUS; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < DEBUG_NUMBER_DIGITS_ITEMS - 1) gTasks[taskId].data[4] += 1; @@ -2954,13 +2954,13 @@ static void DebugAction_Sound_MUS_SelectId(u8 taskId) AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { m4aSongNumStop(gTasks[taskId].data[5]); gTasks[taskId].data[5] = gTasks[taskId].data[3]; m4aSongNumStart(gTasks[taskId].data[3]); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); // m4aSongNumStop(gTasks[taskId].data[5]); //Uncomment if music should stop after leaving menu From f695ddd1ba3a9d9a882bf35cde4d18c09b386432 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 25 Sep 2022 18:34:07 -0400 Subject: [PATCH 115/147] Ignore new Porymap config --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8d9502ae8..082430d79 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,7 @@ build/ .DS_Store *.ddump .idea/ -porymap.project.cfg +porymap.*.cfg prefabs.json .vscode/ *.a From 5054cf35862326278bdb73827be4c075b483aa14 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 25 Sep 2022 21:33:20 -0300 Subject: [PATCH 116/147] Documented unk40EF in Summary Screen --- include/pokemon_summary_screen.h | 2 +- src/pokemon_storage_system.c | 2 +- src/pokemon_summary_screen.c | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 3996c8e15..b026baa53 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -10,7 +10,7 @@ extern const u8 *const gNatureNamePointers[]; void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove); -void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); +void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); u8 GetMoveSlotToReplace(void); void SummaryScreen_SetAnimDelayTaskId(u8 taskId); diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 32069153e..4d4879d24 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -3755,7 +3755,7 @@ static void Task_ChangeScreen(u8 taskId) mode = sStorage->summaryScreenMode; FreePokeStorageData(); if (mode == SUMMARY_MODE_NORMAL && boxMons == &sSavedMovingMon.box) - ShowPokemonSummaryScreenSet40EF(mode, boxMons, monIndex, maxMonIndex, CB2_ReturnToPokeStorage); + ShowPokemonSummaryScreenHandleDeoxys(mode, boxMons, monIndex, maxMonIndex, CB2_ReturnToPokeStorage); else ShowPokemonSummaryScreen(mode, boxMons, monIndex, maxMonIndex, CB2_ReturnToPokeStorage); break; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 74e1da2cc..9806a75dc 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -182,7 +182,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData u8 filler40CA; u8 windowIds[8]; u8 spriteIds[SPRITE_ARR_ID_COUNT]; - bool8 unk40EF; + bool8 handleDeoxys; s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or pokemon data u8 unk_filler4[6]; } *sMonSummaryScreen = NULL; @@ -1122,10 +1122,10 @@ void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 ma sMonSummaryScreen->newMove = newMove; } -void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) +void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback); - sMonSummaryScreen->unk40EF = TRUE; + sMonSummaryScreen->handleDeoxys = TRUE; } static void MainCB2(void) @@ -1406,7 +1406,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) sum->ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES); break; case 2: - if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE) + if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE) { sum->nature = GetNature(mon); sum->currentHP = GetMonData(mon, MON_DATA_HP); @@ -3888,7 +3888,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state) { if (gMonSpritesGfxPtr != NULL) { - if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE) + if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE) HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_LEFT], summary->species2, @@ -3901,7 +3901,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state) } else { - if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE) + if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE) HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], MonSpritesGfxManager_GetSpritePtr(MON_SPR_GFX_MANAGER_A, B_POSITION_OPPONENT_LEFT), summary->species2, From 886a487bf1a4438a16fa8f15c6ff502409f2419d Mon Sep 17 00:00:00 2001 From: TheXaman <48356183+TheXaman@users.noreply.github.com> Date: Mon, 26 Sep 2022 12:40:30 +0200 Subject: [PATCH 117/147] Added LoadMonIconPalettePersonality to load gender specific pokemon icon palettes --- include/pokemon_icon.h | 1 + src/pokemon_debug.c | 2 +- src/pokemon_icon.c | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index fba6a6740..6e27689f9 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -23,6 +23,7 @@ void FreeAndDestroyMonIconSprite(struct Sprite *sprite); u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality); u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); +void LoadMonIconPalettePersonality(u16 species, u32 personality); void SpriteCB_MonIcon(struct Sprite *sprite); void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum); u8 GetMonIconPaletteIndexFromSpecies(u16 species); diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index 4168b7524..2eb6fd682 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -1686,7 +1686,7 @@ static void ReloadPokemonSprites(struct PokemonDebugMenu *data) FreeMonIconPalettes(); AllocateMonSpritesGfx(); - LoadMonIconPalette(species); + LoadMonIconPalettePersonality(species, (data->isFemale ? FEMALE_PERSONALITY : MALE_PERSONALITY)); //Update instructions PrintInstructionsOnWindow(data); diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 4bbdf07b0..1061457ab 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -2760,6 +2760,17 @@ void LoadMonIconPalette(u16 species) LoadSpritePalette(&gMonIconPaletteTable[palIndex]); } +void LoadMonIconPalettePersonality(u16 species, u32 personality) +{ + u8 palIndex; + if (ShouldShowFemaleDifferences(species, personality)) + palIndex = gMonIconPaletteIndicesFemale[species]; + else + palIndex = gMonIconPaletteIndices[species]; + if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF) + LoadSpritePalette(&gMonIconPaletteTable[palIndex]); +} + void FreeMonIconPalettes(void) { u8 i; From dfdfb723657400ae57d1da01d298824ef82900af Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 26 Sep 2022 07:50:43 -0300 Subject: [PATCH 118/147] Separate config for updated move types --- include/constants/battle_config.h | 3 ++- src/data/battle_moves.h | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index a102f926a..0a7ba2303 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -51,7 +51,8 @@ #define B_FAINT_SWITCH_IN GEN_LATEST // In Gen4+, sending out a new Pokémon after the previous one fainted happens at the end of the turn. Before, it would happen after each action. // Move data settings -#define B_UPDATED_MOVE_DATA GEN_LATEST // Updates move data in gBattleMoves, including Power, Accuracy, PP, stat changes, targets, chances of secondary effects, etc. +#define B_UPDATED_MOVE_DATA GEN_LATEST // Updates move data in gBattleMoves, including Power, Accuracy, PP, stat changes, targets and chances of secondary effects. +#define B_UPDATED_MOVE_TYPES GEN_LATEST // Updates move types. #define B_PHYSICAL_SPECIAL_SPLIT GEN_LATEST // In Gen3, the move's type determines if it will do physical or special damage. The split icon in the summary will reflect this. #define B_RECOIL_IF_MISS_DMG GEN_LATEST // In Gen5+, Jump Kick and High Jump Kick will always do half of the user's max HP when missing. #define B_KLUTZ_FLING_INTERACTION GEN_LATEST // In Gen5+, Pokémon with the Klutz ability can't use Fling. diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 89e1a042c..2a0f884d4 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -3122,7 +3122,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_CURSE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 + #if B_UPDATED_MOVE_TYPES >= GEN_5 .type = TYPE_GHOST, #else .type = TYPE_MYSTERY, @@ -3342,7 +3342,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SWEET_KISS] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 + #if B_UPDATED_MOVE_TYPES >= GEN_6 .type = TYPE_FAIRY, #else .type = TYPE_NORMAL, @@ -3687,7 +3687,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_CHARM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 + #if B_UPDATED_MOVE_TYPES >= GEN_6 .type = TYPE_FAIRY, #else .type = TYPE_NORMAL, @@ -4233,7 +4233,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MOONLIGHT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 + #if B_UPDATED_MOVE_TYPES >= GEN_6 .type = TYPE_FAIRY, #else .type = TYPE_NORMAL, From e515e52abb8f477df32b1bb050ffee5ba149954b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 26 Sep 2022 12:22:27 -0400 Subject: [PATCH 119/147] Add DISPLAY_TILE_* constants --- include/gba/defines.h | 3 +++ src/berry_blender.c | 4 ++-- src/contest_util.c | 18 +++++++++--------- src/credits.c | 2 +- src/dodrio_berry_picking.c | 14 +++++++------- src/field_screen_effect.c | 2 +- src/frontier_pass.c | 12 ++++++------ src/link.c | 6 +++--- src/mail.c | 4 ++-- src/main_menu.c | 2 +- src/mystery_event_menu.c | 2 +- src/mystery_gift_menu.c | 4 ++-- src/mystery_gift_view.c | 36 ++++++++++++++++++------------------ src/naming_screen.c | 2 +- src/party_menu.c | 4 ++-- src/trade.c | 6 +++--- src/union_room.c | 4 ++-- src/union_room_battle.c | 2 +- 18 files changed, 65 insertions(+), 62 deletions(-) diff --git a/include/gba/defines.h b/include/gba/defines.h index c52d7ef4f..6d96e9a9e 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -67,6 +67,9 @@ #define DISPLAY_WIDTH 240 #define DISPLAY_HEIGHT 160 +#define DISPLAY_TILE_WIDTH (DISPLAY_WIDTH / 8) +#define DISPLAY_TILE_HEIGHT (DISPLAY_HEIGHT / 8) + #define TILE_SIZE_4BPP 32 #define TILE_SIZE_8BPP 64 diff --git a/src/berry_blender.c b/src/berry_blender.c index d099a14ba..140d1042e 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1008,7 +1008,7 @@ static bool8 LoadBerryBlenderGfx(void) static void DrawBlenderBg(void) { - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); ShowBg(0); ShowBg(1); @@ -1029,7 +1029,7 @@ static void InitBerryBlenderWindows(void) for (i = 0; i < 5; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); Menu_LoadStdPalAt(0xE0); } } diff --git a/src/contest_util.c b/src/contest_util.c index d44b47373..9a3825176 100644 --- a/src/contest_util.c +++ b/src/contest_util.c @@ -1167,24 +1167,24 @@ static void TryCreateWirelessSprites(void) static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId) { u16 windowId; - int origWidth; + int tileWidth; int strWidth; u8 *spriteTilePtrs[4]; u8 *dst; struct WindowTemplate windowTemplate; memset(&windowTemplate, 0, sizeof(windowTemplate)); - windowTemplate.width = 30; + windowTemplate.width = DISPLAY_TILE_WIDTH; windowTemplate.height = 2; windowId = AddWindow(&windowTemplate); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); - origWidth = GetStringWidth(FONT_NORMAL, text, 0); - strWidth = (origWidth + 9) / 8; - if (strWidth > 30) - strWidth = 30; + strWidth = GetStringWidth(FONT_NORMAL, text, 0); + tileWidth = (strWidth + 9) / 8; + if (tileWidth > DISPLAY_TILE_WIDTH) + tileWidth = DISPLAY_TILE_WIDTH; - AddTextPrinterParameterized3(windowId, FONT_NORMAL, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, TEXT_SKIP_DRAW, text); + AddTextPrinterParameterized3(windowId, FONT_NORMAL, (tileWidth * 8 - strWidth) / 2, 1, sContestLinkTextColors, TEXT_SKIP_DRAW, text); { s32 i; struct Sprite *sprite; @@ -1207,7 +1207,7 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId) CpuCopy32(src + 128, dst + 0x200, 0x20); CpuCopy32(src + 64, dst + 0x300, 0x20); - for (i = 0; i < strWidth; i++) + for (i = 0; i < tileWidth; i++) { dst = &spriteTilePtrs[(i + 1) / 8][((i + 1) % 8) * 32]; CpuCopy32(src + 192, dst, 0x20); @@ -1225,7 +1225,7 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId) } RemoveWindow(windowId); - return (DISPLAY_WIDTH - (strWidth + 2) * 8) / 2; + return (DISPLAY_WIDTH - (tileWidth + 2) * 8) / 2; } static void CreateResultsTextWindowSprites(void) diff --git a/src/credits.c b/src/credits.c index c31859599..4156e45ba 100644 --- a/src/credits.c +++ b/src/credits.c @@ -183,7 +183,7 @@ static const struct WindowTemplate sWindowTemplates[] = .bg = 0, .tilemapLeft = 0, .tilemapTop = 9, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 12, .paletteNum = 8, .baseBlock = 1 diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index a3710e04f..268b930ae 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -4675,7 +4675,7 @@ static void ShowNames(void) ClearWindowTilemap(sGfx->windowIds[i]); RemoveWindow(sGfx->windowIds[i]); } - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; } @@ -4859,7 +4859,7 @@ static void ShowResults(void) sGfx->state++; } - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 5, 30, 15); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 5, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT - 5); RemoveWindow(sGfx->windowIds[1]); sGfx->windowIds[1] = AddWindow(&sWindowTemplate_Prize); ClearWindowTilemap(sGfx->windowIds[1]); @@ -4917,7 +4917,7 @@ static void ShowResults(void) ClearWindowTilemap(sGfx->windowIds[1]); RemoveWindow(sGfx->windowIds[0]); RemoveWindow(sGfx->windowIds[1]); - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; break; @@ -5012,7 +5012,7 @@ static void Msg_WantToPlayAgain(void) ClearWindowTilemap(sGfx->windowIds[WIN_YES_NO]); RemoveWindow(sGfx->windowIds[WIN_PLAY_AGAIN]); RemoveWindow(sGfx->windowIds[WIN_YES_NO]); - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; break; @@ -5044,7 +5044,7 @@ static void Msg_SavingDontTurnOff(void) sGfx->state++; break; default: - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; break; @@ -5083,7 +5083,7 @@ static void EraseMessage(void) { ClearWindowTilemap(sGfx->windowIds[0]); RemoveWindow(sGfx->windowIds[0]); - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; } @@ -5121,7 +5121,7 @@ static void Msg_SomeoneDroppedOut(void) sGfx->playAgainState = PLAY_AGAIN_DROPPED; ClearWindowTilemap(sGfx->windowIds[0]); RemoveWindow(sGfx->windowIds[0]); - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; break; diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 948d812e8..57f8cc52e 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -1136,7 +1136,7 @@ static void Task_OrbEffect(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 7)); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ); - SetBgTilemapPalette(0, 0, 0, 0x1E, 0x14, 0xF); + SetBgTilemapPalette(0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0xF); ScheduleBgCopyTilemapToVram(0); SetOrbFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], tCenterX, tCenterY, 1); CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480); diff --git a/src/frontier_pass.c b/src/frontier_pass.c index b14358741..d25cb34cf 100644 --- a/src/frontier_pass.c +++ b/src/frontier_pass.c @@ -760,9 +760,9 @@ static bool32 InitFrontierPass(void) case 7: if (FreeTempTileDataBuffersIfPossible()) return FALSE; - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -1396,9 +1396,9 @@ static bool32 InitFrontierMap(void) SetBgTilemapBuffer(0, sMapData->tilemapBuff0); SetBgTilemapBuffer(1, sMapData->tilemapBuff1); SetBgTilemapBuffer(2, sMapData->tilemapBuff2); - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); diff --git a/src/link.c b/src/link.c index b01be9d89..06907005f 100644 --- a/src/link.c +++ b/src/link.c @@ -198,7 +198,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 5, .paletteNum = 15, .baseBlock = 0x002 @@ -206,7 +206,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 6, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 7, .paletteNum = 15, .baseBlock = 0x098 @@ -214,7 +214,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 13, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 7, .paletteNum = 15, .baseBlock = 0x16A diff --git a/src/mail.c b/src/mail.c index f1e4fbedf..63553f172 100644 --- a/src/mail.c +++ b/src/mail.c @@ -556,8 +556,8 @@ static bool8 MailReadBuildGraphics(void) } break; case 10: - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 1, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 1, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyToBgTilemapBuffer(1, sMailGraphics[sMailRead->mailType].tileMap, 0, 0); break; case 11: diff --git a/src/main_menu.c b/src/main_menu.c index b8abffda5..5b18e440a 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1121,7 +1121,7 @@ static void Task_DisplayMainMenuInvalidActionError(u8 taskId) switch (gTasks[taskId].tCurrItem) { case 0: - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); switch (gTasks[taskId].tMenuType) { case 0: diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index b6610a640..0af051ab7 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -90,7 +90,7 @@ void CB2_InitMysteryEventMenu(void) for (i = 0; i < 2; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); LoadUserWindowBorderGfx(0, 1u, 0xD0u); Menu_LoadStdPalAt(0xE0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON); diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 9e4796bb2..a6fb542b8 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -102,7 +102,7 @@ static const struct WindowTemplate sMainWindows[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 2, .paletteNum = 12, .baseBlock = 0x0013 @@ -118,7 +118,7 @@ static const struct WindowTemplate sMainWindows[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 15, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 5, .paletteNum = 13, .baseBlock = 0x004f diff --git a/src/mystery_gift_view.c b/src/mystery_gift_view.c index b059b183c..728605a90 100644 --- a/src/mystery_gift_view.c +++ b/src/mystery_gift_view.c @@ -226,9 +226,9 @@ s32 WonderCard_Enter(void) return 0; break; case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -244,7 +244,7 @@ s32 WonderCard_Enter(void) gPaletteFade.bufferTransferDisabled = TRUE; LoadPalette(sWonderCardData->gfx->pal, 0x10, 0x20); LZ77UnCompWram(sWonderCardData->gfx->map, sWonderCardData->bgTilemapBuffer); - CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0); + CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 1, 0x008, 0); CopyBgTilemapBufferToVram(2); break; case 4: @@ -291,9 +291,9 @@ s32 WonderCard_Exit(bool32 useCancel) return 0; break; case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -595,7 +595,7 @@ static const struct WindowTemplate sNews_WindowTemplates[] = { .tilemapLeft = 1, .tilemapTop = 3, .width = 28, - .height = 20, + .height = DISPLAY_TILE_HEIGHT, .paletteNum = 2, .baseBlock = 0x07C } @@ -688,10 +688,10 @@ s32 WonderNews_Enter(void) SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); break; case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -707,8 +707,8 @@ s32 WonderNews_Enter(void) gPaletteFade.bufferTransferDisabled = TRUE; LoadPalette(sWonderNewsData->gfx->pal, 0x10, 0x20); LZ77UnCompWram(sWonderNewsData->gfx->map, sWonderNewsData->bgTilemapBuffer); - CopyRectToBgTilemapBufferRect(1, sWonderNewsData->bgTilemapBuffer, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0); - CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0); + CopyRectToBgTilemapBufferRect(1, sWonderNewsData->bgTilemapBuffer, 0, 0, DISPLAY_TILE_WIDTH, 3, 0, 0, DISPLAY_TILE_WIDTH, 3, 1, 8, 0); + CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, DISPLAY_TILE_WIDTH, 3 + DISPLAY_TILE_HEIGHT, 0, 3, DISPLAY_TILE_WIDTH, 3 + DISPLAY_TILE_HEIGHT, 1, 8, 0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(3); break; @@ -760,10 +760,10 @@ s32 WonderNews_Exit(bool32 useCancel) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); break; case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 24); - FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 24); + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT + 4); + FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT + 4); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); diff --git a/src/naming_screen.c b/src/naming_screen.c index a05e501c2..82cb359bd 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -267,7 +267,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 2, .paletteNum = 11, .baseBlock = 0x074 diff --git a/src/party_menu.c b/src/party_menu.c index 8c9b09f52..7330075cc 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -2866,7 +2866,7 @@ static bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newW { if (x + width < 0) return FALSE; - if (x > 31) + if (x >= 32) return FALSE; if (x < 0) @@ -2879,7 +2879,7 @@ static bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newW { *leftMove = 0; *newX = x; - if (x + width > 31) + if (x + width >= 32) *newWidth = 32 - x; else *newWidth = width; diff --git a/src/trade.c b/src/trade.c index ba18e8d32..9c8fb2e8e 100644 --- a/src/trade.c +++ b/src/trade.c @@ -351,7 +351,7 @@ static void InitTradeMenu(void) FillWindowPixelBuffer(i, PIXEL_FILL(0)); } - FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 15); + FillBgTilemapBufferRect(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 15); LoadUserWindowBorderGfx_(0, 20, 0xC0); LoadUserWindowBorderGfx(2, 1, 0xE0); LoadMonIconPalettes(); @@ -2064,13 +2064,13 @@ static void RedrawTradeMenuParty(u8 whichParty) static void Task_DrawSelectionSummary(u8 taskId) { - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); } static void Task_DrawSelectionTrade(u8 taskId) { - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); } diff --git a/src/union_room.c b/src/union_room.c index b47ddb41c..229ea3164 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -3680,8 +3680,8 @@ static s32 ListMenuHandler_AllItemsAvailable(u8 *state, u8 *windowId, u8 *listMe if (winTemplateCopy.width > maxWidth) winTemplateCopy.width = maxWidth; - if (winTemplateCopy.tilemapLeft + winTemplateCopy.width > 29) - winTemplateCopy.tilemapLeft = max(29 - winTemplateCopy.width, 0); + if (winTemplateCopy.tilemapLeft + winTemplateCopy.width >= DISPLAY_TILE_WIDTH) + winTemplateCopy.tilemapLeft = max(DISPLAY_TILE_WIDTH - 1 - winTemplateCopy.width, 0); *windowId = AddWindow(&winTemplateCopy); DrawStdWindowFrame(*windowId, FALSE); diff --git a/src/union_room_battle.c b/src/union_room_battle.c index 1ec8be77b..2e1e5621d 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -129,7 +129,7 @@ void CB2_UnionRoomBattle(void) ClearWindowTilemap(0); FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); + FillBgTilemapBufferRect(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0xF); LoadUserWindowBorderGfx(0, 1, 0xD0); LoadUserWindowBorderGfx_(0, 1, 0xD0); Menu_LoadStdPal(); From ae21e1626ea8e13ac447773d4f876149e5c8b6c3 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 26 Sep 2022 21:20:08 -0300 Subject: [PATCH 120/147] Reworked Mind Points --- src/battle_arena.c | 671 ++------------------------------------------- 1 file changed, 20 insertions(+), 651 deletions(-) diff --git a/src/battle_arena.c b/src/battle_arena.c index f0c63c904..d741ed9ef 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -21,6 +21,7 @@ #include "util.h" #include "constants/songs.h" #include "constants/battle_arena.h" +#include "constants/battle_move_effects.h" #include "constants/battle_string_ids.h" #include "constants/battle_frontier.h" #include "constants/frontier_util.h" @@ -49,656 +50,6 @@ enum { ANIM_ICON_LINE, // Line segment for separating the score total at the bottom }; -// This table holds the number of points to add to the 'mind' score for each move. -// All moves with power != 0 give 1 point, with the following exceptions: -// - Counter, Mirror Coat, Metal Burst, and Bide give 0 points -// - Fake Out and First Impression subtract 1 point -// All moves with power == 0 give 0 points, with the following exceptions: -// - EFFECT_PROTECT moves and Endure subtract 1 point -static const s8 sMindRatings[MOVES_COUNT] = -{ - [MOVE_POUND] = 1, - [MOVE_KARATE_CHOP] = 1, - [MOVE_DOUBLE_SLAP] = 1, - [MOVE_COMET_PUNCH] = 1, - [MOVE_MEGA_PUNCH] = 1, - [MOVE_PAY_DAY] = 1, - [MOVE_FIRE_PUNCH] = 1, - [MOVE_ICE_PUNCH] = 1, - [MOVE_THUNDER_PUNCH] = 1, - [MOVE_SCRATCH] = 1, - [MOVE_VISE_GRIP] = 1, - [MOVE_GUILLOTINE] = 1, - [MOVE_RAZOR_WIND] = 1, - [MOVE_CUT] = 1, - [MOVE_GUST] = 1, - [MOVE_WING_ATTACK] = 1, - [MOVE_FLY] = 1, - [MOVE_BIND] = 1, - [MOVE_SLAM] = 1, - [MOVE_VINE_WHIP] = 1, - [MOVE_STOMP] = 1, - [MOVE_DOUBLE_KICK] = 1, - [MOVE_MEGA_KICK] = 1, - [MOVE_JUMP_KICK] = 1, - [MOVE_ROLLING_KICK] = 1, - [MOVE_HEADBUTT] = 1, - [MOVE_HORN_ATTACK] = 1, - [MOVE_FURY_ATTACK] = 1, - [MOVE_HORN_DRILL] = 1, - [MOVE_TACKLE] = 1, - [MOVE_BODY_SLAM] = 1, - [MOVE_WRAP] = 1, - [MOVE_TAKE_DOWN] = 1, - [MOVE_THRASH] = 1, - [MOVE_DOUBLE_EDGE] = 1, - [MOVE_POISON_STING] = 1, - [MOVE_TWINEEDLE] = 1, - [MOVE_PIN_MISSILE] = 1, - [MOVE_BITE] = 1, - [MOVE_SONIC_BOOM] = 1, - [MOVE_ACID] = 1, - [MOVE_EMBER] = 1, - [MOVE_FLAMETHROWER] = 1, - [MOVE_WATER_GUN] = 1, - [MOVE_HYDRO_PUMP] = 1, - [MOVE_SURF] = 1, - [MOVE_ICE_BEAM] = 1, - [MOVE_BLIZZARD] = 1, - [MOVE_PSYBEAM] = 1, - [MOVE_BUBBLE_BEAM] = 1, - [MOVE_AURORA_BEAM] = 1, - [MOVE_HYPER_BEAM] = 1, - [MOVE_PECK] = 1, - [MOVE_DRILL_PECK] = 1, - [MOVE_SUBMISSION] = 1, - [MOVE_LOW_KICK] = 1, - [MOVE_SEISMIC_TOSS] = 1, - [MOVE_STRENGTH] = 1, - [MOVE_ABSORB] = 1, - [MOVE_MEGA_DRAIN] = 1, - [MOVE_RAZOR_LEAF] = 1, - [MOVE_SOLAR_BEAM] = 1, - [MOVE_PETAL_DANCE] = 1, - [MOVE_DRAGON_RAGE] = 1, - [MOVE_FIRE_SPIN] = 1, - [MOVE_THUNDER_SHOCK] = 1, - [MOVE_THUNDERBOLT] = 1, - [MOVE_THUNDER] = 1, - [MOVE_ROCK_THROW] = 1, - [MOVE_EARTHQUAKE] = 1, - [MOVE_FISSURE] = 1, - [MOVE_DIG] = 1, - [MOVE_CONFUSION] = 1, - [MOVE_PSYCHIC] = 1, - [MOVE_QUICK_ATTACK] = 1, - [MOVE_RAGE] = 1, - [MOVE_NIGHT_SHADE] = 1, - [MOVE_SELF_DESTRUCT] = 1, - [MOVE_EGG_BOMB] = 1, - [MOVE_LICK] = 1, - [MOVE_SMOG] = 1, - [MOVE_SLUDGE] = 1, - [MOVE_BONE_CLUB] = 1, - [MOVE_FIRE_BLAST] = 1, - [MOVE_WATERFALL] = 1, - [MOVE_CLAMP] = 1, - [MOVE_SWIFT] = 1, - [MOVE_SKULL_BASH] = 1, - [MOVE_SPIKE_CANNON] = 1, - [MOVE_CONSTRICT] = 1, - [MOVE_HIGH_JUMP_KICK] = 1, - [MOVE_DREAM_EATER] = 1, - [MOVE_BARRAGE] = 1, - [MOVE_LEECH_LIFE] = 1, - [MOVE_SKY_ATTACK] = 1, - [MOVE_BUBBLE] = 1, - [MOVE_DIZZY_PUNCH] = 1, - [MOVE_PSYWAVE] = 1, - [MOVE_CRABHAMMER] = 1, - [MOVE_EXPLOSION] = 1, - [MOVE_FURY_SWIPES] = 1, - [MOVE_BONEMERANG] = 1, - [MOVE_ROCK_SLIDE] = 1, - [MOVE_HYPER_FANG] = 1, - [MOVE_TRI_ATTACK] = 1, - [MOVE_SUPER_FANG] = 1, - [MOVE_SLASH] = 1, - [MOVE_STRUGGLE] = 1, - [MOVE_TRIPLE_KICK] = 1, - [MOVE_THIEF] = 1, - [MOVE_FLAME_WHEEL] = 1, - [MOVE_SNORE] = 1, - [MOVE_FLAIL] = 1, - [MOVE_AEROBLAST] = 1, - [MOVE_REVERSAL] = 1, - [MOVE_POWDER_SNOW] = 1, - [MOVE_PROTECT] = -1, - [MOVE_MACH_PUNCH] = 1, - [MOVE_FEINT_ATTACK] = 1, - [MOVE_SLUDGE_BOMB] = 1, - [MOVE_MUD_SLAP] = 1, - [MOVE_OCTAZOOKA] = 1, - [MOVE_ZAP_CANNON] = 1, - [MOVE_ICY_WIND] = 1, - [MOVE_DETECT] = -1, - [MOVE_BONE_RUSH] = 1, - [MOVE_OUTRAGE] = 1, - [MOVE_GIGA_DRAIN] = 1, - [MOVE_ENDURE] = -1, - [MOVE_ROLLOUT] = 1, - [MOVE_FALSE_SWIPE] = 1, - [MOVE_SPARK] = 1, - [MOVE_FURY_CUTTER] = 1, - [MOVE_STEEL_WING] = 1, - [MOVE_RETURN] = 1, - [MOVE_PRESENT] = 1, - [MOVE_FRUSTRATION] = 1, - [MOVE_SACRED_FIRE] = 1, - [MOVE_MAGNITUDE] = 1, - [MOVE_DYNAMIC_PUNCH] = 1, - [MOVE_MEGAHORN] = 1, - [MOVE_DRAGON_BREATH] = 1, - [MOVE_PURSUIT] = 1, - [MOVE_RAPID_SPIN] = 1, - [MOVE_IRON_TAIL] = 1, - [MOVE_METAL_CLAW] = 1, - [MOVE_VITAL_THROW] = 1, - [MOVE_HIDDEN_POWER] = 1, - [MOVE_CROSS_CHOP] = 1, - [MOVE_TWISTER] = 1, - [MOVE_CRUNCH] = 1, - [MOVE_EXTREME_SPEED] = 1, - [MOVE_ANCIENT_POWER] = 1, - [MOVE_SHADOW_BALL] = 1, - [MOVE_FUTURE_SIGHT] = 1, - [MOVE_ROCK_SMASH] = 1, - [MOVE_WHIRLPOOL] = 1, - [MOVE_BEAT_UP] = 1, - [MOVE_FAKE_OUT] = -1, - [MOVE_UPROAR] = 1, - [MOVE_SPIT_UP] = 1, - [MOVE_HEAT_WAVE] = 1, - [MOVE_FACADE] = 1, - [MOVE_FOCUS_PUNCH] = 1, - [MOVE_SMELLING_SALTS] = 1, - [MOVE_SUPERPOWER] = 1, - [MOVE_REVENGE] = 1, - [MOVE_BRICK_BREAK] = 1, - [MOVE_KNOCK_OFF] = 1, - [MOVE_ENDEAVOR] = 1, - [MOVE_ERUPTION] = 1, - [MOVE_SECRET_POWER] = 1, - [MOVE_DIVE] = 1, - [MOVE_ARM_THRUST] = 1, - [MOVE_LUSTER_PURGE] = 1, - [MOVE_MIST_BALL] = 1, - [MOVE_BLAZE_KICK] = 1, - [MOVE_ICE_BALL] = 1, - [MOVE_NEEDLE_ARM] = 1, - [MOVE_HYPER_VOICE] = 1, - [MOVE_POISON_FANG] = 1, - [MOVE_CRUSH_CLAW] = 1, - [MOVE_BLAST_BURN] = 1, - [MOVE_HYDRO_CANNON] = 1, - [MOVE_METEOR_MASH] = 1, - [MOVE_ASTONISH] = 1, - [MOVE_WEATHER_BALL] = 1, - [MOVE_AIR_CUTTER] = 1, - [MOVE_OVERHEAT] = 1, - [MOVE_ROCK_TOMB] = 1, - [MOVE_SILVER_WIND] = 1, - [MOVE_WATER_SPOUT] = 1, - [MOVE_SIGNAL_BEAM] = 1, - [MOVE_SHADOW_PUNCH] = 1, - [MOVE_EXTRASENSORY] = 1, - [MOVE_SKY_UPPERCUT] = 1, - [MOVE_SAND_TOMB] = 1, - [MOVE_SHEER_COLD] = 1, - [MOVE_MUDDY_WATER] = 1, - [MOVE_BULLET_SEED] = 1, - [MOVE_AERIAL_ACE] = 1, - [MOVE_ICICLE_SPEAR] = 1, - [MOVE_DRAGON_CLAW] = 1, - [MOVE_FRENZY_PLANT] = 1, - [MOVE_BOUNCE] = 1, - [MOVE_MUD_SHOT] = 1, - [MOVE_POISON_TAIL] = 1, - [MOVE_COVET] = 1, - [MOVE_VOLT_TACKLE] = 1, - [MOVE_MAGICAL_LEAF] = 1, - [MOVE_LEAF_BLADE] = 1, - [MOVE_ROCK_BLAST] = 1, - [MOVE_SHOCK_WAVE] = 1, - [MOVE_WATER_PULSE] = 1, - [MOVE_DOOM_DESIRE] = 1, - [MOVE_PSYCHO_BOOST] = 1, - [MOVE_ROOST] = 0, - [MOVE_GRAVITY] = 0, - [MOVE_MIRACLE_EYE] = 0, - [MOVE_WAKE_UP_SLAP] = 1, - [MOVE_HAMMER_ARM] = 1, - [MOVE_GYRO_BALL] = 1, - [MOVE_HEALING_WISH] = 0, - [MOVE_BRINE] = 1, - [MOVE_NATURAL_GIFT] = 1, - [MOVE_FEINT] = 1, - [MOVE_PLUCK] = 1, - [MOVE_TAILWIND] = 0, - [MOVE_ACUPRESSURE] = 0, - [MOVE_METAL_BURST] = 0, - [MOVE_U_TURN] = 1, - [MOVE_CLOSE_COMBAT] = 1, - [MOVE_PAYBACK] = 1, - [MOVE_ASSURANCE] = 1, - [MOVE_EMBARGO] = 0, - [MOVE_FLING] = 1, - [MOVE_PSYCHO_SHIFT] = 0, - [MOVE_TRUMP_CARD] = 0, - [MOVE_HEAL_BLOCK] = 0, - [MOVE_WRING_OUT] = 0, - [MOVE_POWER_TRICK] = 0, - [MOVE_GASTRO_ACID] = 0, - [MOVE_LUCKY_CHANT] = 0, - [MOVE_ME_FIRST] = 0, - [MOVE_COPYCAT] = 0, - [MOVE_POWER_SWAP] = 0, - [MOVE_GUARD_SWAP] = 0, - [MOVE_PUNISHMENT] = 1, - [MOVE_LAST_RESORT] = 1, - [MOVE_WORRY_SEED] = 0, - [MOVE_SUCKER_PUNCH] = 1, - [MOVE_TOXIC_SPIKES] = 0, - [MOVE_HEART_SWAP] = 0, - [MOVE_AQUA_RING] = 0, - [MOVE_MAGNET_RISE] = 0, - [MOVE_FLARE_BLITZ] = 1, - [MOVE_FORCE_PALM] = 1, - [MOVE_AURA_SPHERE] = 1, - [MOVE_ROCK_POLISH] = 0, - [MOVE_POISON_JAB] = 1, - [MOVE_DARK_PULSE] = 1, - [MOVE_NIGHT_SLASH] = 1, - [MOVE_AQUA_TAIL] = 1, - [MOVE_SEED_BOMB] = 1, - [MOVE_AIR_SLASH] = 1, - [MOVE_X_SCISSOR] = 1, - [MOVE_BUG_BUZZ] = 1, - [MOVE_DRAGON_PULSE] = 1, - [MOVE_DRAGON_RUSH] = 1, - [MOVE_POWER_GEM] = 1, - [MOVE_DRAIN_PUNCH] = 1, - [MOVE_VACUUM_WAVE] = 1, - [MOVE_FOCUS_BLAST] = 1, - [MOVE_ENERGY_BALL] = 1, - [MOVE_BRAVE_BIRD] = 1, - [MOVE_EARTH_POWER] = 1, - [MOVE_SWITCHEROO] = 0, - [MOVE_GIGA_IMPACT] = 1, - [MOVE_NASTY_PLOT] = 0, - [MOVE_BULLET_PUNCH] = 1, - [MOVE_AVALANCHE] = 1, - [MOVE_ICE_SHARD] = 1, - [MOVE_SHADOW_CLAW] = 1, - [MOVE_THUNDER_FANG] = 1, - [MOVE_ICE_FANG] = 1, - [MOVE_FIRE_FANG] = 1, - [MOVE_SHADOW_SNEAK] = 1, - [MOVE_MUD_BOMB] = 1, - [MOVE_PSYCHO_CUT] = 1, - [MOVE_ZEN_HEADBUTT] = 1, - [MOVE_MIRROR_SHOT] = 1, - [MOVE_FLASH_CANNON] = 1, - [MOVE_ROCK_CLIMB] = 1, - [MOVE_DEFOG] = 0, - [MOVE_TRICK_ROOM] = 0, - [MOVE_DRACO_METEOR] = 1, - [MOVE_DISCHARGE] = 1, - [MOVE_LAVA_PLUME] = 1, - [MOVE_LEAF_STORM] = 1, - [MOVE_POWER_WHIP] = 1, - [MOVE_ROCK_WRECKER] = 1, - [MOVE_CROSS_POISON] = 1, - [MOVE_GUNK_SHOT] = 1, - [MOVE_IRON_HEAD] = 1, - [MOVE_MAGNET_BOMB] = 1, - [MOVE_STONE_EDGE] = 1, - [MOVE_CAPTIVATE] = 0, - [MOVE_STEALTH_ROCK] = 0, - [MOVE_GRASS_KNOT] = 1, - [MOVE_CHATTER] = 1, - [MOVE_JUDGMENT] = 1, - [MOVE_BUG_BITE] = 1, - [MOVE_CHARGE_BEAM] = 1, - [MOVE_WOOD_HAMMER] = 1, - [MOVE_AQUA_JET] = 1, - [MOVE_ATTACK_ORDER] = 1, - [MOVE_DEFEND_ORDER] = 0, - [MOVE_HEAL_ORDER] = 0, - [MOVE_HEAD_SMASH] = 1, - [MOVE_DOUBLE_HIT] = 1, - [MOVE_ROAR_OF_TIME] = 1, - [MOVE_SPACIAL_REND] = 1, - [MOVE_LUNAR_DANCE] = 0, - [MOVE_CRUSH_GRIP] = 1, - [MOVE_MAGMA_STORM] = 1, - [MOVE_DARK_VOID] = 0, - [MOVE_SEED_FLARE] = 1, - [MOVE_OMINOUS_WIND] = 1, - [MOVE_SHADOW_FORCE] = 1, - [MOVE_HONE_CLAWS] = 0, - [MOVE_WIDE_GUARD] = -1, - [MOVE_GUARD_SPLIT] = 0, - [MOVE_POWER_SPLIT] = 0, - [MOVE_WONDER_ROOM] = 0, - [MOVE_PSYSHOCK] = 1, - [MOVE_VENOSHOCK] = 1, - [MOVE_AUTOTOMIZE] = 0, - [MOVE_RAGE_POWDER] = 0, - [MOVE_TELEKINESIS] = 0, - [MOVE_MAGIC_ROOM] = 0, - [MOVE_SMACK_DOWN] = 1, - [MOVE_STORM_THROW] = 1, - [MOVE_FLAME_BURST] = 1, - [MOVE_SLUDGE_WAVE] = 1, - [MOVE_QUIVER_DANCE] = 0, - [MOVE_HEAVY_SLAM] = 1, - [MOVE_SYNCHRONOISE] = 1, - [MOVE_ELECTRO_BALL] = 1, - [MOVE_SOAK] = 0, - [MOVE_FLAME_CHARGE] = 1, - [MOVE_COIL] = 0, - [MOVE_LOW_SWEEP] = 1, - [MOVE_ACID_SPRAY] = 1, - [MOVE_FOUL_PLAY] = 1, - [MOVE_SIMPLE_BEAM] = 0, - [MOVE_ENTRAINMENT] = 0, - [MOVE_AFTER_YOU] = 0, - [MOVE_ROUND] = 1, - [MOVE_ECHOED_VOICE] = 1, - [MOVE_CHIP_AWAY] = 1, - [MOVE_CLEAR_SMOG] = 1, - [MOVE_STORED_POWER] = 1, - [MOVE_QUICK_GUARD] = -1, - [MOVE_ALLY_SWITCH] = 0, - [MOVE_SCALD] = 1, - [MOVE_SHELL_SMASH] = 0, - [MOVE_HEAL_PULSE] = 0, - [MOVE_HEX] = 1, - [MOVE_SKY_DROP] = 1, - [MOVE_SHIFT_GEAR] = 0, - [MOVE_CIRCLE_THROW] = 1, - [MOVE_INCINERATE] = 1, - [MOVE_QUASH] = 0, - [MOVE_ACROBATICS] = 1, - [MOVE_REFLECT_TYPE] = 0, - [MOVE_RETALIATE] = 1, - [MOVE_FINAL_GAMBIT] = 1, - [MOVE_BESTOW] = 0, - [MOVE_INFERNO] = 1, - [MOVE_WATER_PLEDGE] = 1, - [MOVE_FIRE_PLEDGE] = 1, - [MOVE_GRASS_PLEDGE] = 1, - [MOVE_VOLT_SWITCH] = 1, - [MOVE_STRUGGLE_BUG] = 1, - [MOVE_BULLDOZE] = 1, - [MOVE_FROST_BREATH] = 1, - [MOVE_DRAGON_TAIL] = 1, - [MOVE_WORK_UP] = 0, - [MOVE_ELECTROWEB] = 1, - [MOVE_WILD_CHARGE] = 1, - [MOVE_DRILL_RUN] = 1, - [MOVE_DUAL_CHOP] = 1, - [MOVE_HEART_STAMP] = 1, - [MOVE_HORN_LEECH] = 1, - [MOVE_SACRED_SWORD] = 1, - [MOVE_RAZOR_SHELL] = 1, - [MOVE_HEAT_CRASH] = 1, - [MOVE_LEAF_TORNADO] = 1, - [MOVE_STEAMROLLER] = 1, - [MOVE_COTTON_GUARD] = 0, - [MOVE_NIGHT_DAZE] = 1, - [MOVE_PSYSTRIKE] = 1, - [MOVE_TAIL_SLAP] = 1, - [MOVE_HURRICANE] = 1, - [MOVE_HEAD_CHARGE] = 1, - [MOVE_GEAR_GRIND] = 1, - [MOVE_SEARING_SHOT] = 1, - [MOVE_TECHNO_BLAST] = 1, - [MOVE_RELIC_SONG] = 1, - [MOVE_SECRET_SWORD] = 1, - [MOVE_GLACIATE] = 1, - [MOVE_BOLT_STRIKE] = 1, - [MOVE_BLUE_FLARE] = 1, - [MOVE_FIERY_DANCE] = 1, - [MOVE_FREEZE_SHOCK] = 1, - [MOVE_ICE_BURN] = 1, - [MOVE_SNARL] = 1, - [MOVE_ICICLE_CRASH] = 1, - [MOVE_V_CREATE] = 1, - [MOVE_FUSION_FLARE] = 1, - [MOVE_FUSION_BOLT] = 1, - [MOVE_FLYING_PRESS] = 1, - [MOVE_MAT_BLOCK] = 0, - [MOVE_BELCH] = 1, - [MOVE_ROTOTILLER] = 0, - [MOVE_STICKY_WEB] = 0, - [MOVE_FELL_STINGER] = 1, - [MOVE_PHANTOM_FORCE] = 1, - [MOVE_TRICK_OR_TREAT] = 0, - [MOVE_NOBLE_ROAR] = 0, - [MOVE_ION_DELUGE] = 0, - [MOVE_PARABOLIC_CHARGE] = 1, - [MOVE_FORESTS_CURSE] = 0, - [MOVE_PETAL_BLIZZARD] = 1, - [MOVE_FREEZE_DRY] = 1, - [MOVE_DISARMING_VOICE] = 1, - [MOVE_PARTING_SHOT] = 0, - [MOVE_TOPSY_TURVY] = 0, - [MOVE_DRAINING_KISS] = 1, - [MOVE_CRAFTY_SHIELD] = -1, - [MOVE_FLOWER_SHIELD] = 0, - [MOVE_GRASSY_TERRAIN] = 0, - [MOVE_MISTY_TERRAIN] = 0, - [MOVE_ELECTRIFY] = 0, - [MOVE_PLAY_ROUGH] = 1, - [MOVE_FAIRY_WIND] = 1, - [MOVE_MOONBLAST] = 1, - [MOVE_BOOMBURST] = 1, - [MOVE_FAIRY_LOCK] = 0, - [MOVE_KINGS_SHIELD] = -1, - [MOVE_PLAY_NICE] = 0, - [MOVE_CONFIDE] = 0, - [MOVE_DIAMOND_STORM] = 1, - [MOVE_STEAM_ERUPTION] = 1, - [MOVE_HYPERSPACE_HOLE] = 1, - [MOVE_WATER_SHURIKEN] = 1, - [MOVE_MYSTICAL_FIRE] = 1, - [MOVE_SPIKY_SHIELD] = -1, - [MOVE_AROMATIC_MIST] = 0, - [MOVE_EERIE_IMPULSE] = 0, - [MOVE_VENOM_DRENCH] = 0, - [MOVE_POWDER] = 0, - [MOVE_GEOMANCY] = 0, - [MOVE_MAGNETIC_FLUX] = 0, - [MOVE_HAPPY_HOUR] = 0, - [MOVE_ELECTRIC_TERRAIN] = 0, - [MOVE_DAZZLING_GLEAM] = 1, - [MOVE_CELEBRATE] = 0, - [MOVE_HOLD_HANDS] = 0, - [MOVE_BABY_DOLL_EYES] = 0, - [MOVE_NUZZLE] = 1, - [MOVE_HOLD_BACK] = 1, - [MOVE_INFESTATION] = 1, - [MOVE_POWER_UP_PUNCH] = 1, - [MOVE_OBLIVION_WING] = 1, - [MOVE_THOUSAND_ARROWS] = 1, - [MOVE_THOUSAND_WAVES] = 1, - [MOVE_LANDS_WRATH] = 1, - [MOVE_LIGHT_OF_RUIN] = 1, - [MOVE_ORIGIN_PULSE] = 1, - [MOVE_PRECIPICE_BLADES] = 1, - [MOVE_DRAGON_ASCENT] = 1, - [MOVE_HYPERSPACE_FURY] = 1, - [MOVE_SHORE_UP] = 0, - [MOVE_FIRST_IMPRESSION] = -1, - [MOVE_BANEFUL_BUNKER] = -1, - [MOVE_SPIRIT_SHACKLE] = 1, - [MOVE_DARKEST_LARIAT] = 1, - [MOVE_SPARKLING_ARIA] = 1, - [MOVE_ICE_HAMMER] = 1, - [MOVE_FLORAL_HEALING] = 0, - [MOVE_HIGH_HORSEPOWER] = 1, - [MOVE_STRENGTH_SAP] = 0, - [MOVE_SOLAR_BLADE] = 1, - [MOVE_LEAFAGE] = 1, - [MOVE_SPOTLIGHT] = 0, - [MOVE_TOXIC_THREAD] = 0, - [MOVE_LASER_FOCUS] = 0, - [MOVE_GEAR_UP] = 0, - [MOVE_THROAT_CHOP] = 1, - [MOVE_POLLEN_PUFF] = 1, - [MOVE_ANCHOR_SHOT] = 1, - [MOVE_PSYCHIC_TERRAIN] = 0, - [MOVE_LUNGE] = 1, - [MOVE_FIRE_LASH] = 1, - [MOVE_POWER_TRIP] = 1, - [MOVE_BURN_UP] = 1, - [MOVE_SPEED_SWAP] = 0, - [MOVE_SMART_STRIKE] = 1, - [MOVE_PURIFY] = 0, - [MOVE_REVELATION_DANCE] = 1, - [MOVE_CORE_ENFORCER] = 1, - [MOVE_TROP_KICK] = 1, - [MOVE_INSTRUCT] = 0, - [MOVE_BEAK_BLAST] = 1, - [MOVE_CLANGING_SCALES] = 1, - [MOVE_DRAGON_HAMMER] = 1, - [MOVE_BRUTAL_SWING] = 1, - [MOVE_AURORA_VEIL] = 0, - [MOVE_SHELL_TRAP] = 1, - [MOVE_FLEUR_CANNON] = 1, - [MOVE_PSYCHIC_FANGS] = 1, - [MOVE_STOMPING_TANTRUM] = 1, - [MOVE_SHADOW_BONE] = 1, - [MOVE_ACCELEROCK] = 1, - [MOVE_LIQUIDATION] = 1, - [MOVE_PRISMATIC_LASER] = 1, - [MOVE_SPECTRAL_THIEF] = 1, - [MOVE_SUNSTEEL_STRIKE] = 1, - [MOVE_MOONGEIST_BEAM] = 1, - [MOVE_TEARFUL_LOOK] = 0, - [MOVE_ZING_ZAP] = 1, - [MOVE_NATURES_MADNESS] = 1, - [MOVE_MULTI_ATTACK] = 1, - [MOVE_MIND_BLOWN] = 1, - [MOVE_PLASMA_FISTS] = 1, - [MOVE_PHOTON_GEYSER] = 1, - [MOVE_ZIPPY_ZAP] = 1, - [MOVE_SPLISHY_SPLASH] = 1, - [MOVE_FLOATY_FALL] = 1, - [MOVE_PIKA_PAPOW] = 1, - [MOVE_BOUNCY_BUBBLE] = 1, - [MOVE_BUZZY_BUZZ] = 1, - [MOVE_SIZZLY_SLIDE] = 1, - [MOVE_GLITZY_GLOW] = 1, - [MOVE_BADDY_BAD] = 1, - [MOVE_SAPPY_SEED] = 1, - [MOVE_FREEZY_FROST] = 1, - [MOVE_SPARKLY_SWIRL] = 1, - [MOVE_VEEVEE_VOLLEY] = 1, - [MOVE_DOUBLE_IRON_BASH] = 1, - [MOVE_DYNAMAX_CANNON] = 1, - [MOVE_SNIPE_SHOT] = 1, - [MOVE_JAW_LOCK] = 1, - [MOVE_STUFF_CHEEKS] = 0, - [MOVE_NO_RETREAT] = 0, - [MOVE_TAR_SHOT] = 0, - [MOVE_MAGIC_POWDER] = 0, - [MOVE_DRAGON_DARTS] = 1, - [MOVE_TEATIME] = 0, - [MOVE_OCTOLOCK] = 0, - [MOVE_BOLT_BEAK] = 1, - [MOVE_FISHIOUS_REND] = 1, - [MOVE_COURT_CHANGE] = 0, - [MOVE_CLANGOROUS_SOUL] = 0, - [MOVE_BODY_PRESS] = 1, - [MOVE_DECORATE] = 0, - [MOVE_DRUM_BEATING] = 1, - [MOVE_SNAP_TRAP] = 1, - [MOVE_PYRO_BALL] = 1, - [MOVE_BEHEMOTH_BLADE] = 1, - [MOVE_BEHEMOTH_BASH] = 1, - [MOVE_AURA_WHEEL] = 1, - [MOVE_BREAKING_SWIPE] = 1, - [MOVE_BRANCH_POKE] = 1, - [MOVE_OVERDRIVE] = 1, - [MOVE_APPLE_ACID] = 1, - [MOVE_GRAV_APPLE] = 1, - [MOVE_SPIRIT_BREAK] = 1, - [MOVE_STRANGE_STEAM] = 1, - [MOVE_LIFE_DEW] = 0, - [MOVE_OBSTRUCT] = -1, - [MOVE_FALSE_SURRENDER] = 1, - [MOVE_METEOR_ASSAULT] = 1, - [MOVE_ETERNABEAM] = 1, - [MOVE_STEEL_BEAM] = 1, - [MOVE_EXPANDING_FORCE] = 1, - [MOVE_STEEL_ROLLER] = 1, - [MOVE_SCALE_SHOT] = 1, - [MOVE_METEOR_BEAM] = 1, - [MOVE_SHELL_SIDE_ARM] = 1, - [MOVE_MISTY_EXPLOSION] = 1, - [MOVE_GRASSY_GLIDE] = 1, - [MOVE_RISING_VOLTAGE] = 1, - [MOVE_TERRAIN_PULSE] = 1, - [MOVE_SKITTER_SMACK] = 1, - [MOVE_BURNING_JEALOUSY] = 1, - [MOVE_LASH_OUT] = 1, - [MOVE_POLTERGEIST] = 1, - [MOVE_CORROSIVE_GAS] = 0, - [MOVE_COACHING] = 0, - [MOVE_FLIP_TURN] = 1, - [MOVE_TRIPLE_AXEL] = 1, - [MOVE_DUAL_WINGBEAT] = 1, - [MOVE_SCORCHING_SANDS] = 1, - [MOVE_JUNGLE_HEALING] = 0, - [MOVE_WICKED_BLOW] = 1, - [MOVE_SURGING_STRIKES] = 1, - [MOVE_THUNDER_CAGE] = 1, - [MOVE_DRAGON_ENERGY] = 1, - [MOVE_FREEZING_GLARE] = 1, - [MOVE_FIERY_WRATH] = 1, - [MOVE_THUNDEROUS_KICK] = 1, - [MOVE_GLACIAL_LANCE] = 1, - [MOVE_ASTRAL_BARRAGE] = 1, - [MOVE_EERIE_SPELL] = 1, - [MOVE_DIRE_CLAW] = 1, - [MOVE_PSYSHIELD_BASH] = 1, - [MOVE_POWER_SHIFT] = 0, - [MOVE_STONE_AXE] = 1, - [MOVE_SPRINGTIDE_STORM] = 1, - [MOVE_MYSTICAL_POWER] = 1, - [MOVE_RAGING_FURY] = 1, - [MOVE_WAVE_CRASH] = 1, - [MOVE_CHLOROBLAST] = 1, - [MOVE_MOUNTAIN_GALE] = 1, - [MOVE_VICTORY_DANCE] = 0, - [MOVE_HEADLONG_RUSH] = 1, - [MOVE_BARB_BARRAGE] = 1, - [MOVE_ESPER_WING] = 1, - [MOVE_BITTER_MALICE] = 1, - [MOVE_SHELTER] = 0, - [MOVE_TRIPLE_ARROWS] = 1, - [MOVE_INFERNAL_PARADE] = 1, - [MOVE_CEASELESS_EDGE] = 1, - [MOVE_BLEAKWIND_STORM] = 1, - [MOVE_WILDBOLT_STORM] = 1, - [MOVE_SANDSEAR_STORM] = 1, - [MOVE_LUNAR_BLESSING] = 0, - [MOVE_TAKE_HEART] = 0, -}; - static const struct OamData sOam_JudgmentIcon = { .y = 0, @@ -1006,7 +357,25 @@ void BattleArena_InitPoints(void) void BattleArena_AddMindPoints(u8 battler) { - gBattleStruct->arenaMindPoints[battler] += sMindRatings[gCurrentMove]; +// All moves with power != 0 give 1 point, with the following exceptions: +// - Counter, Mirror Coat, and Bide give 0 points +// - Fake Out subtracts 1 point +// All moves with power == 0 give 0 points, with the following exceptions: +// - Protect, Detect, and Endure subtract 1 point + + if (gBattleMoves[gCurrentMove].effect == EFFECT_FAKE_OUT + || gBattleMoves[gCurrentMove].effect == EFFECT_PROTECT + || gBattleMoves[gCurrentMove].effect == EFFECT_ENDURE) + { + gBattleStruct->arenaMindPoints[battler]--; + } + else if (gBattleMoves[gCurrentMove].power != 0 + && gBattleMoves[gCurrentMove].effect != EFFECT_COUNTER + && gBattleMoves[gCurrentMove].effect != EFFECT_MIRROR_COAT + && gBattleMoves[gCurrentMove].effect != EFFECT_METAL_BURST) + { + gBattleStruct->arenaMindPoints[battler]++; + } } void BattleArena_AddSkillPoints(u8 battler) From 253234378ce25d73908d51ffc5add8c800e10ff8 Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Mon, 26 Sep 2022 23:46:41 -0400 Subject: [PATCH 121/147] trace records target ability --- src/battle_util.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/battle_util.c b/src/battle_util.c index 9039f49d6..1799e9b55 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5939,6 +5939,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } gBattleResources->flags->flags[i] &= ~RESOURCE_FLAG_TRACED; gBattleStruct->tracedAbility[i] = gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); // Record the opposing battler has this ability battler = gBattlerAbility = gBattleScripting.battler = i; PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) From 5ca1b927e62ac2b03e609d6e9f4d81e55aa5eda6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 27 Sep 2022 08:13:32 -0300 Subject: [PATCH 122/147] Added missing Bide exception to Battle Arena Mind Points --- src/battle_arena.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/battle_arena.c b/src/battle_arena.c index d741ed9ef..7fb8b6e59 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -372,7 +372,8 @@ void BattleArena_AddMindPoints(u8 battler) else if (gBattleMoves[gCurrentMove].power != 0 && gBattleMoves[gCurrentMove].effect != EFFECT_COUNTER && gBattleMoves[gCurrentMove].effect != EFFECT_MIRROR_COAT - && gBattleMoves[gCurrentMove].effect != EFFECT_METAL_BURST) + && gBattleMoves[gCurrentMove].effect != EFFECT_METAL_BURST + && gBattleMoves[gCurrentMove].effect != EFFECT_BIDE) { gBattleStruct->arenaMindPoints[battler]++; } From fb9105f8ac7fe2eea17499ada670095265130689 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 27 Sep 2022 10:21:26 -0300 Subject: [PATCH 123/147] Added Mega Evolution flag --- include/constants/pokemon.h | 17 +++++----- src/data/pokemon/base_stats.h | 62 ++++++++++++++++++++++++++++------- 2 files changed, 59 insertions(+), 20 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index c8337c722..5167f5f55 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -342,14 +342,15 @@ // Species Flags #define SPECIES_FLAG_LEGENDARY (1 << 0) #define SPECIES_FLAG_MYTHICAL (1 << 1) -#define SPECIES_FLAG_ULTRA_BEAST (1 << 2) -#define SPECIES_FLAG_ALOLAN_FORM (1 << 3) -#define SPECIES_FLAG_GALARIAN_FORM (1 << 4) -#define SPECIES_FLAG_HISUIAN_FORM (1 << 5) -#define SPECIES_FLAG_GENDER_DIFFERENCE (1 << 6) -#define SPECIES_FLAG_ALL_PERFECT_IVS (1 << 7) -#define SPECIES_FLAG_SHINY_LOCKED (1 << 8) -#define SPECIES_FLAG_CANNOT_BE_TRADED (1 << 9) +#define SPECIES_FLAG_MEGA_EVOLUTION (1 << 2) +#define SPECIES_FLAG_ULTRA_BEAST (1 << 3) +#define SPECIES_FLAG_ALOLAN_FORM (1 << 4) +#define SPECIES_FLAG_GALARIAN_FORM (1 << 5) +#define SPECIES_FLAG_HISUIAN_FORM (1 << 6) +#define SPECIES_FLAG_GENDER_DIFFERENCE (1 << 7) +#define SPECIES_FLAG_ALL_PERFECT_IVS (1 << 8) +#define SPECIES_FLAG_SHINY_LOCKED (1 << 9) +#define SPECIES_FLAG_CANNOT_BE_TRADED (1 << 10) #define LEGENDARY_PERFECT_IV_COUNT 3 diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 6cc51ccb5..d91c4cc4d 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -22878,6 +22878,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_THICK_FAT, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_CHARIZARD_MEGA_X] = @@ -22902,6 +22903,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TOUGH_CLAWS, ABILITY_TOUGH_CLAWS}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_CHARIZARD_MEGA_Y] = @@ -22926,6 +22928,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DROUGHT, ABILITY_DROUGHT}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_BLASTOISE_MEGA] = @@ -22950,6 +22953,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MEGA_LAUNCHER, ABILITY_MEGA_LAUNCHER}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_BEEDRILL_MEGA] = @@ -22976,6 +22980,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ADAPTABILITY, ABILITY_ADAPTABILITY}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_PIDGEOT_MEGA] = @@ -23000,6 +23005,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_NO_GUARD, ABILITY_NO_GUARD}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_ALAKAZAM_MEGA] = @@ -23029,6 +23035,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TRACE, ABILITY_TRACE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SLOWBRO_MEGA] = @@ -23054,6 +23061,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHELL_ARMOR, ABILITY_SHELL_ARMOR}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GENGAR_MEGA] = @@ -23078,6 +23086,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHADOW_TAG, ABILITY_SHADOW_TAG}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_KANGASKHAN_MEGA] = @@ -23102,6 +23111,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PARENTAL_BOND, ABILITY_PARENTAL_BOND}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_PINSIR_MEGA] = @@ -23126,6 +23136,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AERILATE, ABILITY_AERILATE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GYARADOS_MEGA] = @@ -23150,6 +23161,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MOLD_BREAKER, ABILITY_MOLD_BREAKER}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_AERODACTYL_MEGA] = @@ -23174,6 +23186,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TOUGH_CLAWS, ABILITY_TOUGH_CLAWS}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MEWTWO_MEGA_X] = @@ -23198,7 +23211,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STEADFAST, ABILITY_STEADFAST}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MEWTWO_MEGA_Y] = @@ -23223,7 +23236,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INSOMNIA, ABILITY_INSOMNIA}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_AMPHAROS_MEGA] = @@ -23248,6 +23261,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MOLD_BREAKER, ABILITY_MOLD_BREAKER}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_STEELIX_MEGA] = @@ -23273,6 +23287,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_FORCE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SCIZOR_MEGA] = @@ -23297,6 +23312,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TECHNICIAN, ABILITY_TECHNICIAN}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_HERACROSS_MEGA] = @@ -23321,6 +23337,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SKILL_LINK, ABILITY_SKILL_LINK}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_HOUNDOOM_MEGA] = @@ -23345,6 +23362,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SOLAR_POWER, ABILITY_SOLAR_POWER}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_TYRANITAR_MEGA] = @@ -23369,6 +23387,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_STREAM, ABILITY_SAND_STREAM}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SCEPTILE_MEGA] = @@ -23393,6 +23412,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_LIGHTNING_ROD}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_BLAZIKEN_MEGA] = @@ -23417,6 +23437,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SPEED_BOOST, ABILITY_SPEED_BOOST}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SWAMPERT_MEGA] = @@ -23441,6 +23462,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_SWIFT_SWIM}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GARDEVOIR_MEGA] = @@ -23465,6 +23487,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PIXILATE, ABILITY_PIXILATE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SABLEYE_MEGA] = @@ -23490,6 +23513,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGIC_BOUNCE, ABILITY_MAGIC_BOUNCE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MAWILE_MEGA] = @@ -23515,6 +23539,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HUGE_POWER, ABILITY_HUGE_POWER}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_AGGRON_MEGA] = @@ -23540,6 +23565,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FILTER, ABILITY_FILTER}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MEDICHAM_MEGA] = @@ -23564,6 +23590,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PURE_POWER, ABILITY_PURE_POWER}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MANECTRIC_MEGA] = @@ -23588,6 +23615,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_INTIMIDATE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SHARPEDO_MEGA] = @@ -23613,6 +23641,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STRONG_JAW, ABILITY_STRONG_JAW}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_CAMERUPT_MEGA] = @@ -23638,6 +23667,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHEER_FORCE, ABILITY_SHEER_FORCE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_ALTARIA_MEGA] = @@ -23662,6 +23692,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PIXILATE, ABILITY_PIXILATE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_BANETTE_MEGA] = @@ -23687,6 +23718,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRANKSTER, ABILITY_PRANKSTER}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_ABSOL_MEGA] = @@ -23711,6 +23743,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGIC_BOUNCE, ABILITY_MAGIC_BOUNCE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GLALIE_MEGA] = @@ -23735,6 +23768,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_REFRIGERATE, ABILITY_REFRIGERATE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SALAMENCE_MEGA] = @@ -23760,6 +23794,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AERILATE, ABILITY_AERILATE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_METAGROSS_MEGA] = @@ -23785,6 +23820,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TOUGH_CLAWS, ABILITY_TOUGH_CLAWS}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_LATIAS_MEGA] = @@ -23809,7 +23845,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_LATIOS_MEGA] = @@ -23834,7 +23870,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_LOPUNNY_MEGA] = @@ -23859,6 +23895,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SCRAPPY, ABILITY_SCRAPPY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GARCHOMP_MEGA] = @@ -23883,6 +23920,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_FORCE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_LUCARIO_MEGA] = @@ -23908,6 +23946,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ADAPTABILITY, ABILITY_ADAPTABILITY}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_ABOMASNOW_MEGA] = @@ -23934,6 +23973,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_WARNING, ABILITY_SNOW_WARNING}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GALLADE_MEGA] = @@ -23958,6 +23998,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_INNER_FOCUS}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_AUDINO_MEGA] = @@ -23984,6 +24025,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HEALER, ABILITY_HEALER}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_DIANCIE_MEGA] = @@ -24009,7 +24051,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGIC_BOUNCE, ABILITY_MAGIC_BOUNCE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = SPECIES_FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_RAYQUAZA_MEGA] = @@ -24035,7 +24077,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DELTA_STREAM, ABILITY_DELTA_STREAM}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_KYOGRE_PRIMAL] = @@ -25243,9 +25285,7 @@ const struct BaseStats gBaseStats[] = .catchRate = 75, .expYield = 168, .evYield_Attack = 2, - #ifdef ITEM_EXPANSION - .itemRare = ITEM_ABSORB_BULB, - #endif + .itemRare = ITEM_ABSORB_BULB, .genderRatio = MON_FEMALE, .eggCycles = 20, .friendship = 70, @@ -25346,9 +25386,7 @@ const struct BaseStats gBaseStats[] = .catchRate = 45, .expYield = 158, .evYield_SpDefense = 2, - #ifdef ITEM_EXPANSION - .itemRare = ITEM_SHED_SHELL, - #endif + .itemRare = ITEM_SHED_SHELL, .genderRatio = PERCENT_FEMALE(50), .eggCycles = 40, .friendship = 35, From d24899369fe8c25fa75d1f8b6df37e2a696673d8 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 28 Sep 2022 09:04:31 -0300 Subject: [PATCH 124/147] Special handling for Mew's Teachable moveset --- src/data/pokemon/teachable_learnsets.h | 69 +------------------------- src/pokemon.c | 32 ++++++++++++ 2 files changed, 33 insertions(+), 68 deletions(-) diff --git a/src/data/pokemon/teachable_learnsets.h b/src/data/pokemon/teachable_learnsets.h index 30405b044..5854e19e0 100644 --- a/src/data/pokemon/teachable_learnsets.h +++ b/src/data/pokemon/teachable_learnsets.h @@ -6137,75 +6137,8 @@ static const u16 sDragoniteTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +// Instead of reading this array for Mew, it checks for exceptions in CanLearnTeachableMove instead. static const u16 sMewtwoTeachableLearnset[] = { - MOVE_AERIAL_ACE, - MOVE_BLIZZARD, - MOVE_BRICK_BREAK, - MOVE_BULK_UP, - MOVE_CALM_MIND, - MOVE_DIVE, - MOVE_DOUBLE_TEAM, - MOVE_EARTHQUAKE, - MOVE_FACADE, - MOVE_FIRE_BLAST, - MOVE_FLAMETHROWER, - MOVE_FLASH, - MOVE_FOCUS_PUNCH, - MOVE_FRUSTRATION, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_HYPER_BEAM, - MOVE_ICE_BEAM, - MOVE_IRON_TAIL, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_PSYCHIC, - MOVE_RAIN_DANCE, - MOVE_REFLECT, - MOVE_REST, - MOVE_RETURN, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_SAFEGUARD, - MOVE_SANDSTORM, - MOVE_SECRET_POWER, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_THUNDER, - MOVE_THUNDERBOLT, - MOVE_TORMENT, - MOVE_TOXIC, - MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, - MOVE_FIRE_PUNCH, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MIMIC, - MOVE_MUD_SLAP, - MOVE_PSYCH_UP, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SUBSTITUTE, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; diff --git a/src/pokemon.c b/src/pokemon.c index a4fcc6b38..031d1aa67 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -7301,6 +7301,38 @@ u8 CanLearnTeachableMove(u16 species, u16 move) { return FALSE; } + else if (species == SPECIES_MEW) + { + switch (move) + { + case MOVE_BADDY_BAD: + case MOVE_BLAST_BURN: + case MOVE_BOUNCY_BUBBLE: + case MOVE_BUZZY_BUZZ: + case MOVE_DRACO_METEOR: + case MOVE_DRAGON_ASCENT: + case MOVE_FIRE_PLEDGE: + case MOVE_FLOATY_FALL: + case MOVE_FREEZY_FROST: + case MOVE_FRENZY_PLANT: + case MOVE_GLITZY_GLOW: + case MOVE_GRASS_PLEDGE: + case MOVE_HYDRO_CANNON: + case MOVE_RELIC_SONG: + case MOVE_SAPPY_SEED: + case MOVE_SECRET_SWORD: + case MOVE_SIZZLY_SLIDE: + case MOVE_SPARKLY_SWIRL: + case MOVE_SPLISHY_SPLASH: + case MOVE_STEEL_BEAM: + case MOVE_VOLT_TACKLE: + case MOVE_WATER_PLEDGE: + case MOVE_ZIPPY_ZAP: + return FALSE; + default: + return TRUE; + } + } else { u8 i; From 90ad11278dbc11ae507b6fc41fa5093f02ae4ad1 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 28 Sep 2022 09:17:10 -0300 Subject: [PATCH 125/147] Sorry Mewtwo ^^; --- src/data/pokemon/teachable_learnsets.h | 30 +++++--------------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/src/data/pokemon/teachable_learnsets.h b/src/data/pokemon/teachable_learnsets.h index 5854e19e0..b3bd97f4a 100644 --- a/src/data/pokemon/teachable_learnsets.h +++ b/src/data/pokemon/teachable_learnsets.h @@ -6137,47 +6137,33 @@ static const u16 sDragoniteTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -// Instead of reading this array for Mew, it checks for exceptions in CanLearnTeachableMove instead. static const u16 sMewtwoTeachableLearnset[] = { - MOVE_UNAVAILABLE, -}; - -static const u16 sMewTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_BULLET_SEED, MOVE_CALM_MIND, - MOVE_CUT, - MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, - MOVE_FLY, MOVE_FOCUS_PUNCH, MOVE_FRUSTRATION, - MOVE_GIGA_DRAIN, MOVE_HAIL, MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_RETURN, - MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -6186,31 +6172,23 @@ static const u16 sMewTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_SOLAR_BEAM, - MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SURF, MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_WATERFALL, MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_DREAM_EATER, MOVE_DYNAMIC_PUNCH, MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FIRE_PUNCH, - MOVE_FURY_CUTTER, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, @@ -6220,20 +6198,22 @@ static const u16 sMewTeachableLearnset[] = { MOVE_MUD_SLAP, MOVE_PSYCH_UP, MOVE_ROCK_SLIDE, - MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOFT_BOILED, MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; +// Instead of reading this array for Mew, it checks for exceptions in CanLearnTeachableMove instead. +static const u16 sMewTeachableLearnset[] = { + MOVE_UNAVAILABLE, +}; + static const u16 sChikoritaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, From 8dad7cc64990b0b130ec67abbf56bb4dcaea67df Mon Sep 17 00:00:00 2001 From: sbird Date: Thu, 29 Sep 2022 17:33:39 +0200 Subject: [PATCH 126/147] [doc] clean up casts in decompress.c --- src/decompress.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/decompress.c b/src/decompress.c index 6e94a5475..c16c2cdb3 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -268,7 +268,7 @@ bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet *src struct SpriteSheet dest; void *buffer; - buffer = AllocZeroed(*((u32 *)(&src->data[0])) >> 8); + buffer = AllocZeroed(src->data[0] >> 8); LZ77UnCompWram(src->data, buffer); dest.data = buffer; @@ -285,7 +285,7 @@ bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette struct SpritePalette dest; void *buffer; - buffer = AllocZeroed(*((u32 *)(&src->data[0])) >> 8); + buffer = AllocZeroed(src->data[0] >> 8); LZ77UnCompWram(src->data, buffer); dest.data = buffer; dest.tag = src->tag; From 79a34411ce339eca21f4c2e58236b348b89c928d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 29 Sep 2022 15:22:21 -0400 Subject: [PATCH 127/147] Add additional DISPLAY_TILE_WIDTH usage --- src/mystery_gift_menu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index a6fb542b8..4b81c81a3 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -640,8 +640,8 @@ static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whi width++; windowTemplate.width = width; - if (width < 30) - windowTemplate.tilemapLeft = (30 - width) / 2; + if (width < DISPLAY_TILE_WIDTH) + windowTemplate.tilemapLeft = (DISPLAY_TILE_WIDTH - width) / 2; else windowTemplate.tilemapLeft = 0; From 764bed65801a175058caf3599e6734086a7c91d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Augusto=20Vianna?= Date: Sat, 1 Oct 2022 20:50:55 -0300 Subject: [PATCH 128/147] Fixed berserk not activating if mon falls to exactly half HP. --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index 64c2e7557..181fb2012 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5209,7 +5209,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && TARGET_TURN_DAMAGED && IsBattlerAlive(battler) // Had more than half of hp before, now has less - && gBattleStruct->hpBefore[battler] > gBattleMons[battler].maxHP / 2 + && gBattleStruct->hpBefore[battler] >= gBattleMons[battler].maxHP / 2 && gBattleMons[battler].hp < gBattleMons[battler].maxHP / 2 && (gMultiHitCounter == 0 || gMultiHitCounter == 1) && !(TestSheerForceFlag(gBattlerAttacker, gCurrentMove)) From e8ed0bd9f21a9eca85579c68fede099e798126c9 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 4 Oct 2022 20:39:45 -0300 Subject: [PATCH 129/147] Changed ballMultiplier to account for future Hisuian ball multipliers --- src/battle_script_commands.c | 70 ++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index bb3fc1c0f..fdcebd47b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -13880,7 +13880,7 @@ u8 GetCatchingBattler(void) static void Cmd_handleballthrow(void) { - u8 ballMultiplier = 10; + u16 ballMultiplier = 100; s8 ballAddition = 0; if (gBattleControllerExecFlags) @@ -13915,30 +13915,30 @@ static void Cmd_handleballthrow(void) if (gBaseStats[gBattleMons[gBattlerTarget].species].flags & FLAG_ULTRA_BEAST) { if (gLastUsedItem == ITEM_BEAST_BALL) - ballMultiplier = 50; + ballMultiplier = 500; else - ballMultiplier = 1; + ballMultiplier = 10; } else { switch (gLastUsedItem) { case ITEM_ULTRA_BALL: - ballMultiplier = 20; + ballMultiplier = 200; break; #if B_SPORT_BALL_MODIFIER <= GEN_7 case ITEM_SPORT_BALL: #endif case ITEM_GREAT_BALL: case ITEM_SAFARI_BALL: - ballMultiplier = 15; + ballMultiplier = 150; break; case ITEM_NET_BALL: if (IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_WATER) || IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_BUG)) #if B_NET_BALL_MODIFIER >= GEN_7 - ballMultiplier = 35; + ballMultiplier = 350; #else - ballMultiplier = 30; + ballMultiplier = 300; #endif break; case ITEM_DIVE_BALL: @@ -13947,75 +13947,75 @@ static void Cmd_handleballthrow(void) || gIsFishingEncounter || gIsSurfingEncounter #endif ) - ballMultiplier = 35; + ballMultiplier = 350; break; case ITEM_NEST_BALL: #if B_NEST_BALL_MODIFIER >= GEN_6 //((41 - Pokémon's level) ÷ 10)× if Pokémon's level is between 1 and 29, 1× otherwise. if (gBattleMons[gBattlerTarget].level < 30) - ballMultiplier = 41 - gBattleMons[gBattlerTarget].level; + ballMultiplier = 410 - (gBattleMons[gBattlerTarget].level * 10); #elif B_NEST_BALL_MODIFIER == GEN_5 //((41 - Pokémon's level) ÷ 10)×, minimum 1× if (gBattleMons[gBattlerTarget].level < 31) - ballMultiplier = 41 - gBattleMons[gBattlerTarget].level; + ballMultiplier = 410 - (gBattleMons[gBattlerTarget].level * 10); #else //((40 - Pokémon's level) ÷ 10)×, minimum 1× if (gBattleMons[gBattlerTarget].level < 40) { - ballMultiplier = 40 - gBattleMons[gBattlerTarget].level; - if (ballMultiplier <= 9) - ballMultiplier = 10; + ballMultiplier = 400 - (gBattleMons[gBattlerTarget].level * 10); + if (ballMultiplier <= 90) + ballMultiplier = 100; } #endif break; case ITEM_REPEAT_BALL: if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), FLAG_GET_CAUGHT)) #if B_REPEAT_BALL_MODIFIER >= GEN_7 - ballMultiplier = 35; + ballMultiplier = 350; #else - ballMultiplier = 30; + ballMultiplier = 300; #endif break; case ITEM_TIMER_BALL: #if B_TIMER_BALL_MODIFIER >= GEN_5 - ballMultiplier = (gBattleResults.battleTurnCounter * 3) + 10; + ballMultiplier = (gBattleResults.battleTurnCounter * 30) + 100; #else - ballMultiplier = gBattleResults.battleTurnCounter + 10; + ballMultiplier = (gBattleResults.battleTurnCounter * 10) + 100; #endif - if (ballMultiplier > 40) - ballMultiplier = 40; + if (ballMultiplier > 400) + ballMultiplier = 400; break; case ITEM_DUSK_BALL: RtcCalcLocalTime(); if ((gLocalTime.hours >= 20 && gLocalTime.hours <= 3) || gMapHeader.cave || gMapHeader.mapType == MAP_TYPE_UNDERGROUND) #if B_DUSK_BALL_MODIFIER >= GEN_7 - ballMultiplier = 30; + ballMultiplier = 300; #else - ballMultiplier = 35; + ballMultiplier = 350; #endif break; case ITEM_QUICK_BALL: if (gBattleResults.battleTurnCounter == 0) #if B_QUICK_BALL_MODIFIER >= GEN_5 - ballMultiplier = 50; + ballMultiplier = 500; #else - ballMultiplier = 40; + ballMultiplier = 400; #endif break; case ITEM_LEVEL_BALL: if (gBattleMons[gBattlerAttacker].level >= 4 * gBattleMons[gBattlerTarget].level) - ballMultiplier = 80; + ballMultiplier = 800; else if (gBattleMons[gBattlerAttacker].level > 2 * gBattleMons[gBattlerTarget].level) - ballMultiplier = 40; + ballMultiplier = 400; else if (gBattleMons[gBattlerAttacker].level > gBattleMons[gBattlerTarget].level) - ballMultiplier = 20; + ballMultiplier = 200; break; case ITEM_LURE_BALL: if (gIsFishingEncounter) #if B_LURE_BALL_MODIFIER >= GEN_7 - ballMultiplier = 50; + ballMultiplier = 500; #else - ballMultiplier = 30; + ballMultiplier = 300; #endif break; case ITEM_MOON_BALL: @@ -14023,7 +14023,7 @@ static void Cmd_handleballthrow(void) { if (gEvolutionTable[gBattleMons[gBattlerTarget].species][i].method == EVO_ITEM && gEvolutionTable[gBattleMons[gBattlerTarget].species][i].param == ITEM_MOON_STONE) - ballMultiplier = 40; + ballMultiplier = 400; } break; case ITEM_LOVE_BALL: @@ -14033,12 +14033,12 @@ static void Cmd_handleballthrow(void) u8 gender2 = GetMonGender(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]); if (gender1 != gender2 && gender1 != MON_GENDERLESS && gender2 != MON_GENDERLESS) - ballMultiplier = 80; + ballMultiplier = 800; } break; case ITEM_FAST_BALL: if (gBaseStats[gBattleMons[gBattlerTarget].species].baseSpeed >= 100) - ballMultiplier = 40; + ballMultiplier = 400; break; case ITEM_HEAVY_BALL: i = GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), 1); @@ -14076,13 +14076,13 @@ static void Cmd_handleballthrow(void) case ITEM_DREAM_BALL: #if B_DREAM_BALL_MODIFIER >= GEN_8 if (gBattleMons[gBattlerTarget].status1 & STATUS1_SLEEP || GetBattlerAbility(gBattlerTarget) == ABILITY_COMATOSE) - ballMultiplier = 40; + ballMultiplier = 400; #else - ballMultiplier = 10; + ballMultiplier = 100; #endif break; case ITEM_BEAST_BALL: - ballMultiplier = 1; + ballMultiplier = 10; break; } } @@ -14093,7 +14093,7 @@ static void Cmd_handleballthrow(void) else catchRate = catchRate + ballAddition; - odds = (catchRate * ballMultiplier / 10) + odds = (catchRate * ballMultiplier / 100) * (gBattleMons[gBattlerTarget].maxHP * 3 - gBattleMons[gBattlerTarget].hp * 2) / (3 * gBattleMons[gBattlerTarget].maxHP); From a20334f79a48fcf03744ea8a6f779a0a20661a13 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 4 Oct 2022 22:06:07 -0300 Subject: [PATCH 130/147] Removed unused functions in item header --- include/item.h | 2 -- src/item.c | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/item.h b/include/item.h index bcd9178e5..c964e7628 100644 --- a/include/item.h +++ b/include/item.h @@ -62,13 +62,11 @@ u16 CountTotalItemQuantityInBag(u16 itemId); bool8 AddPyramidBagItem(u16 itemId, u16 count); bool8 RemovePyramidBagItem(u16 itemId, u16 count); const u8 *ItemId_GetName(u16 itemId); -u16 ItemId_GetId(u16 itemId); u16 ItemId_GetPrice(u16 itemId); u8 ItemId_GetHoldEffect(u16 itemId); u8 ItemId_GetHoldEffectParam(u16 itemId); const u8 *ItemId_GetDescription(u16 itemId); u8 ItemId_GetImportance(u16 itemId); -u8 ItemId_GetRegistrability(u16 itemId); u8 ItemId_GetPocket(u16 itemId); u8 ItemId_GetType(u16 itemId); ItemUseFunc ItemId_GetFieldFunc(u16 itemId); diff --git a/src/item.c b/src/item.c index acb00acc7..8b375df84 100644 --- a/src/item.c +++ b/src/item.c @@ -880,6 +880,7 @@ const u8 *ItemId_GetName(u16 itemId) return gItems[SanitizeItemId(itemId)].name; } +// Unused u16 ItemId_GetId(u16 itemId) { return gItems[SanitizeItemId(itemId)].itemId; @@ -910,7 +911,7 @@ u8 ItemId_GetImportance(u16 itemId) return gItems[SanitizeItemId(itemId)].importance; } -// unused +// Unused u8 ItemId_GetRegistrability(u16 itemId) { return gItems[SanitizeItemId(itemId)].registrability; From f3bddd1ea61dc19eba13a8a53e84594ca5d42980 Mon Sep 17 00:00:00 2001 From: tustin2121 Date: Thu, 6 Oct 2022 19:36:01 -0400 Subject: [PATCH 131/147] Fix typo --- src/naming_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/naming_screen.c b/src/naming_screen.c index fe858b879..0a0085058 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -2280,7 +2280,7 @@ static const struct Subsprite sSubsprites_PageSwapText[] = /* [0_____][] <-1 40x24 [2_____][] <-3 -[3___+_][] <-5/Origin +[4___+_][] <-5/Origin */ static const struct Subsprite sSubsprites_Button[] = { From ea168d1a6b9e6cf6a3581e9cf18f3dd124d08a19 Mon Sep 17 00:00:00 2001 From: tustin2121 Date: Thu, 6 Oct 2022 20:34:46 -0400 Subject: [PATCH 132/147] Fix typo 2: revelations --- src/naming_screen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/naming_screen.c b/src/naming_screen.c index 0a0085058..901c83fdc 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -2182,8 +2182,8 @@ static const struct OamData sOam_32x16 = /* [0_____][] <-1 40x32 [2_____][] <-3 -[3___+_][] <-5/Origin -[4 ][] <-7 +[4___+_][] <-5/Origin +[6 ][] <-7 */ static const struct Subsprite sSubsprites_PageSwapFrame[] = { From 50ca188cb24e507c21be34859a5186d6d6f36d44 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Fri, 7 Oct 2022 12:25:12 -0300 Subject: [PATCH 133/147] Replaced didMegaEvo with a shiny new species flag --- include/battle.h | 1 - src/battle_script_commands.c | 1 - src/battle_util.c | 3 ++- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/battle.h b/include/battle.h index 29cc79d36..b328b46bb 100644 --- a/include/battle.h +++ b/include/battle.h @@ -479,7 +479,6 @@ struct MegaEvolutionData bool8 playerSelect; u8 triggerSpriteId; bool8 isWishMegaEvo; - bool32 didMegaEvo[PARTY_SIZE][2]; // For each party member and side. }; struct Illusion diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 1232775fd..eaa7bbde1 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8840,7 +8840,6 @@ static void Cmd_various(void) gBattleMons[gActiveBattler].species = megaSpecies; PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gActiveBattler].species); - gBattleStruct->mega.didMegaEvo[gActiveBattler][GetBattlerSide(gActiveBattler)] = TRUE; BtlController_EmitSetMonData(BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]], sizeof(gBattleMons[gActiveBattler].species), &gBattleMons[gActiveBattler].species); MarkBattlerForControllerExec(gActiveBattler); diff --git a/src/battle_util.c b/src/battle_util.c index 0b0ab3a04..94fb078da 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2110,10 +2110,11 @@ u32 GetBattlerFriendshipScore(u8 battlerId) struct MegaEvolutionData *mega = &(((struct ChooseMoveStruct *)(&gBattleResources->bufferA[battlerId][4]))->mega); u8 side = GetBattlerSide(battlerId); struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; + u16 species = GetMonData(&party[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); if (side != B_SIDE_PLAYER) return FRIENDSHIP_NONE; - else if (gBattleStruct->mega.didMegaEvo[battlerId][side] + else if (gBaseStats[species].flags & SPECIES_FLAG_MEGA_EVOLUTION || (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK From 2a8048b677ce0075bd75cc6065670d79a4b762a9 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 7 Oct 2022 14:53:58 -0300 Subject: [PATCH 134/147] Removed ItemId_GetId like in upstream --- include/item.h | 1 - src/battle_anim_new.c | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/item.h b/include/item.h index 27383c6c1..e02aeb682 100644 --- a/include/item.h +++ b/include/item.h @@ -64,7 +64,6 @@ u16 CountTotalItemQuantityInBag(u16 itemId); bool8 AddPyramidBagItem(u16 itemId, u16 count); bool8 RemovePyramidBagItem(u16 itemId, u16 count); const u8 *ItemId_GetName(u16 itemId); -u16 ItemId_GetId(u16 itemId); u16 ItemId_GetPrice(u16 itemId); u8 ItemId_GetHoldEffect(u16 itemId); u8 ItemId_GetHoldEffectParam(u16 itemId); diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 2134a8914..e236e26bf 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -7856,8 +7856,8 @@ static void SpriteCB_TwinkleOnBattler(struct Sprite *sprite) void AnimTask_PrimalReversion(u8 taskId) { - if (ItemId_GetId(gBattleMons[gBattleAnimAttacker].item) == ITEM_RED_ORB) - gBattleAnimArgs[0] = ItemId_GetId(gBattleMons[gBattleAnimAttacker].item); + if (gBattleMons[gBattleAnimAttacker].item == ITEM_RED_ORB) + gBattleAnimArgs[0] = gBattleMons[gBattleAnimAttacker].item; else gBattleAnimArgs[0] = 0; DestroyAnimVisualTask(taskId); From 8ea060044abafa4d12627802f1be096dbb75d7c1 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 7 Oct 2022 17:22:29 -0300 Subject: [PATCH 135/147] Battle text pauses config --- include/constants/battle.h | 8 ++++---- include/constants/battle_config.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/constants/battle.h b/include/constants/battle.h index e2ea128c2..a5af07d98 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -401,10 +401,10 @@ #define BATTLE_TERRAIN_COUNT 22 -#define B_WAIT_TIME_LONG 64 -#define B_WAIT_TIME_MED 48 -#define B_WAIT_TIME_SHORT 32 -#define B_WAIT_TIME_SHORTEST 16 +#define B_WAIT_TIME_LONG (B_WAIT_TIME_MULTIPLIER * 4) +#define B_WAIT_TIME_MED (B_WAIT_TIME_MULTIPLIER * 3) +#define B_WAIT_TIME_SHORT (B_WAIT_TIME_MULTIPLIER * 2) +#define B_WAIT_TIME_SHORTEST (B_WAIT_TIME_MULTIPLIER) #define CHERRIM_OVERCAST 0 #define CHERRIM_SUNSHINE 1 diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index 0a7ba2303..ebdd7dfc8 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -160,6 +160,7 @@ #define B_SHOW_SPLIT_ICON TRUE // If set to TRUE, it will show an icon in the summary showing the move's category split. #define B_HIDE_HEALTHBOX_IN_ANIMS TRUE // If set to TRUE, hides healthboxes during move animations. #define B_EXPANDED_MOVE_NAMES FALSE // If set to TRUE, move names are increased from 12 characters to 16 characters. +#define B_WAIT_TIME_MULTIPLIER 16 // This determines how long text pauses in battle last. Vanilla is 16. Lower values result in faster battles. // Catching settings #define B_SEMI_INVULNERABLE_CATCH GEN_LATEST // In Gen4+, you cannot throw a ball against a Pokemon that is in a semi-invulnerable state (dig/fly/etc) From 589c969e89f4979eec7097013f7d2c025e26b0a0 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Fri, 7 Oct 2022 18:20:00 -0300 Subject: [PATCH 136/147] Removed unused access to struct MegaEvolutionData in GetBattlerFriendshipScore --- src/battle_util.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index 94fb078da..6cfb1801c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2107,7 +2107,6 @@ void TryToRevertMimicry(void) u32 GetBattlerFriendshipScore(u8 battlerId) { - struct MegaEvolutionData *mega = &(((struct ChooseMoveStruct *)(&gBattleResources->bufferA[battlerId][4]))->mega); u8 side = GetBattlerSide(battlerId); struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; u16 species = GetMonData(&party[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); From f79205af084e8ac0a14cbbcd2f49b3f532dd423c Mon Sep 17 00:00:00 2001 From: tennis Date: Thu, 13 Oct 2022 15:32:08 +0100 Subject: [PATCH 137/147] Fix bug where badge boost flag is inverted --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index d83f8429e..9dbdb1abf 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9852,7 +9852,7 @@ bool32 SetIllusionMon(struct Pokemon *mon, u32 battlerId) bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) { -#if B_BADGE_BOOST != GEN_3 +#if B_BADGE_BOOST == GEN_3 if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_FRONTIER)) return FALSE; else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) From db013aab0b2a975e0675e32fff458c4bc3ff37d1 Mon Sep 17 00:00:00 2001 From: tennis Date: Thu, 13 Oct 2022 15:58:57 +0100 Subject: [PATCH 138/147] Fix AI issue giving decrementing score to confuse hit instead of confuse --- src/battle_ai_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 344dd1657..113d5d3e0 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1333,7 +1333,7 @@ bool32 IsConfusionMoveEffect(u16 moveEffect) { switch (moveEffect) { - case EFFECT_CONFUSE_HIT: + case EFFECT_CONFUSE: case EFFECT_SWAGGER: case EFFECT_FLATTER: case EFFECT_TEETER_DANCE: From 90f79999bb9cd067a02379600da8b142afaff04f Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Thu, 13 Oct 2022 12:18:20 -0300 Subject: [PATCH 139/147] =?UTF-8?q?Added=20class-based=20Pok=C3=A9=20Balls?= =?UTF-8?q?=20for=20trainers=20Thanks=20to=20Ghoulslash=20for=20helping=20?= =?UTF-8?q?me=20optimizing=20things.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/constants/battle_config.h | 1 + include/constants/trainers.h | 1 + src/battle_main.c | 32 +++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index ebdd7dfc8..21e203682 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -175,6 +175,7 @@ #define B_EVOLUTION_AFTER_WHITEOUT GEN_LATEST // In Gen6+, Pokemon that qualify for evolution after battle will evolve even if the player loses. #define B_WILD_NATURAL_ENEMIES TRUE // If set to TRUE, certain wild mon species will attack other species when partnered in double wild battles (eg. Zangoose vs Seviper) #define B_AFFECTION_MECHANICS FALSE // In Gen6+, there's a stat called affection that can trigger different effects in battle. From LGPE onwards, those effects use friendship instead. +#define B_TRAINER_CLASS_POKE_BALLS GEN_LATEST // In Gen7+, trainers will use certain types of Poké Balls depending on their trainer class. // Animation Settings #define B_NEW_SWORD_PARTICLE FALSE // If set to TRUE, it updates Swords Dance's particle. diff --git a/include/constants/trainers.h b/include/constants/trainers.h index 09ae72011..39ca2a2b8 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -352,6 +352,7 @@ #define TRAINER_CLASS_PIKE_QUEEN 0x3f #define TRAINER_CLASS_PYRAMID_KING 0x40 #define TRAINER_CLASS_RS_PROTAG 0x41 +#define TRAINER_CLASS_COUNT 0x42 #define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music #define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music diff --git a/src/battle_main.c b/src/battle_main.c index e79879662..385faf2e3 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -392,6 +392,32 @@ const struct TrainerMoney gTrainerMoneyTable[] = {0xFF, 5}, // Any trainer class not listed above uses this }; +#if B_TRAINER_CLASS_POKE_BALLS >= GEN_7 +static const u16 sTrainerBallTable[TRAINER_CLASS_COUNT] = +{ +#if B_TRAINER_CLASS_POKE_BALLS == GEN_7 + [TRAINER_CLASS_PKMN_BREEDER] = ITEM_FRIEND_BALL, +#elif B_TRAINER_CLASS_POKE_BALLS == GEN_8 + [TRAINER_CLASS_PKMN_BREEDER] = ITEM_HEAL_BALL, +#endif + [TRAINER_CLASS_COOLTRAINER] = ITEM_ULTRA_BALL, + [TRAINER_CLASS_COLLECTOR] = ITEM_PREMIER_BALL, + [TRAINER_CLASS_SWIMMER_M] = ITEM_DIVE_BALL, + [TRAINER_CLASS_BLACK_BELT] = ITEM_ULTRA_BALL, + [TRAINER_CLASS_AQUA_LEADER] = ITEM_MASTER_BALL, + [TRAINER_CLASS_GENTLEMAN] = ITEM_LUXURY_BALL, + [TRAINER_CLASS_ELITE_FOUR] = ITEM_ULTRA_BALL, +#if B_TRAINER_CLASS_POKE_BALLS == GEN_7 + [TRAINER_CLASS_FISHERMAN] = ITEM_LURE_BALL, +#elif B_TRAINER_CLASS_POKE_BALLS == GEN_8 + [TRAINER_CLASS_FISHERMAN] = ITEM_DIVE_BALL, +#endif + [TRAINER_CLASS_SWIMMER_F] = ITEM_DIVE_BALL, + [TRAINER_CLASS_COOLTRAINER_2] = ITEM_ULTRA_BALL, + [TRAINER_CLASS_MAGMA_LEADER] = ITEM_MASTER_BALL, +}; +#endif + #include "data/text/abilities.h" static void (* const sTurnActionsFuncsTable[])(void) = @@ -1847,6 +1873,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir u8 fixedIV; s32 i, j; u8 monsCount; + u16 ball; if (trainerNum == TRAINER_SECRET_BASE) return 0; @@ -1950,6 +1977,11 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir break; } } + + #if B_TRAINER_CLASS_POKE_BALLS >= GEN_7 + ball = (sTrainerBallTable[gTrainers[trainerNum].trainerClass]) ? sTrainerBallTable[gTrainers[trainerNum].trainerClass] : ITEM_POKE_BALL; + SetMonData(&party[i], MON_DATA_POKEBALL, &ball); + #endif } gBattleTypeFlags |= gTrainers[trainerNum].doubleBattle; From 8a1a561b80defb27ce53c31afde51d830877a813 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Fri, 14 Oct 2022 11:28:15 -0300 Subject: [PATCH 140/147] Uncommented evo moves for each species --- src/data/pokemon/level_up_learnsets.h | 494 +++++++++++++------------- 1 file changed, 247 insertions(+), 247 deletions(-) diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index b501d9aae..bdcec3090 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -39,7 +39,7 @@ static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { }; static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -96,7 +96,7 @@ static const struct LevelUpMove sCharmeleonLevelUpLearnset[] = { }; static const struct LevelUpMove sCharizardLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), @@ -189,13 +189,13 @@ static const struct LevelUpMove sCaterpieLevelUpLearnset[] = { }; static const struct LevelUpMove sMetapodLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sButterfreeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(11, MOVE_CONFUSION), @@ -224,13 +224,13 @@ static const struct LevelUpMove sWeedleLevelUpLearnset[] = { }; static const struct LevelUpMove sKakunaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sBeedrillLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TWINEEDLE), + LEVEL_UP_MOVE( 0, MOVE_TWINEEDLE), LEVEL_UP_MOVE( 1, MOVE_TWINEEDLE), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(11, MOVE_FURY_ATTACK), @@ -326,7 +326,7 @@ static const struct LevelUpMove sRattataLevelUpLearnset[] = { }; static const struct LevelUpMove sRaticateLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -406,7 +406,7 @@ static const struct LevelUpMove sEkansLevelUpLearnset[] = { }; static const struct LevelUpMove sArbokLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), @@ -485,7 +485,7 @@ static const struct LevelUpMove sSandshrewLevelUpLearnset[] = { }; static const struct LevelUpMove sSandslashLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE( 0, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -857,7 +857,7 @@ static const struct LevelUpMove sVenonatLevelUpLearnset[] = { }; static const struct LevelUpMove sVenomothLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), @@ -901,7 +901,7 @@ static const struct LevelUpMove sDiglettLevelUpLearnset[] = { }; static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -944,7 +944,7 @@ static const struct LevelUpMove sMeowthLevelUpLearnset[] = { }; static const struct LevelUpMove sPersianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -1036,7 +1036,7 @@ static const struct LevelUpMove sMankeyLevelUpLearnset[] = { }; static const struct LevelUpMove sPrimeapeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RAGE), + LEVEL_UP_MOVE( 0, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_FINAL_GAMBIT), LEVEL_UP_MOVE( 1, MOVE_FLING), @@ -1130,7 +1130,7 @@ static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { }; static const struct LevelUpMove sPoliwrathLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SUBMISSION), + LEVEL_UP_MOVE( 0, MOVE_SUBMISSION), LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), LEVEL_UP_MOVE( 1, MOVE_CIRCLE_THROW), LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), @@ -1148,7 +1148,7 @@ static const struct LevelUpMove sAbraLevelUpLearnset[] = { }; static const struct LevelUpMove sKadabraLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_KINESIS), + LEVEL_UP_MOVE( 0, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -1169,7 +1169,7 @@ static const struct LevelUpMove sKadabraLevelUpLearnset[] = { }; static const struct LevelUpMove sAlakazamLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_KINESIS), + LEVEL_UP_MOVE( 0, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -1234,7 +1234,7 @@ static const struct LevelUpMove sMachokeLevelUpLearnset[] = { }; static const struct LevelUpMove sMachampLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STRENGTH), + LEVEL_UP_MOVE( 0, MOVE_STRENGTH), LEVEL_UP_MOVE( 1, MOVE_STRENGTH), LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), @@ -1298,7 +1298,7 @@ static const struct LevelUpMove sWeepinbellLevelUpLearnset[] = { }; static const struct LevelUpMove sVictreebelLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), LEVEL_UP_MOVE( 1, MOVE_LEAF_TORNADO), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), LEVEL_UP_MOVE( 1, MOVE_SWALLOW), @@ -1444,7 +1444,7 @@ static const struct LevelUpMove sPonytaLevelUpLearnset[] = { }; static const struct LevelUpMove sRapidashLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -1488,7 +1488,7 @@ static const struct LevelUpMove sSlowpokeLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowbroLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 0, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_HEAL_PULSE), LEVEL_UP_MOVE( 1, MOVE_CURSE), @@ -1534,7 +1534,7 @@ static const struct LevelUpMove sMagnemiteLevelUpLearnset[] = { }; static const struct LevelUpMove sMagnetonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), @@ -1605,7 +1605,7 @@ static const struct LevelUpMove sDoduoLevelUpLearnset[] = { }; static const struct LevelUpMove sDodrioLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -1650,7 +1650,7 @@ static const struct LevelUpMove sSeelLevelUpLearnset[] = { }; static const struct LevelUpMove sDewgongLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), + LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -1696,7 +1696,7 @@ static const struct LevelUpMove sGrimerLevelUpLearnset[] = { }; static const struct LevelUpMove sMukLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), @@ -1774,7 +1774,7 @@ static const struct LevelUpMove sGastlyLevelUpLearnset[] = { }; static const struct LevelUpMove sHaunterLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -1796,7 +1796,7 @@ static const struct LevelUpMove sHaunterLevelUpLearnset[] = { }; static const struct LevelUpMove sGengarLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -1997,7 +1997,7 @@ static const struct LevelUpMove sExeggcuteLevelUpLearnset[] = { }; static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STOMP), + LEVEL_UP_MOVE( 0, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), LEVEL_UP_MOVE( 1, MOVE_BARRAGE), @@ -2054,7 +2054,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), @@ -2082,7 +2082,7 @@ static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { }; static const struct LevelUpMove sHitmonchanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_COUNTER), @@ -2149,7 +2149,7 @@ static const struct LevelUpMove sKoffingLevelUpLearnset[] = { }; static const struct LevelUpMove sWeezingLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2191,7 +2191,7 @@ static const struct LevelUpMove sRhyhornLevelUpLearnset[] = { }; static const struct LevelUpMove sRhydonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), @@ -2547,7 +2547,7 @@ static const struct LevelUpMove sMagikarpLevelUpLearnset[] = { }; static const struct LevelUpMove sGyaradosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BITE), + LEVEL_UP_MOVE( 0, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE(21, MOVE_LEER), @@ -2611,7 +2611,7 @@ static const struct LevelUpMove sEeveeLevelUpLearnset[] = { }; static const struct LevelUpMove sVaporeonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2631,7 +2631,7 @@ static const struct LevelUpMove sVaporeonLevelUpLearnset[] = { }; static const struct LevelUpMove sJolteonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 0, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2651,7 +2651,7 @@ static const struct LevelUpMove sJolteonLevelUpLearnset[] = { }; static const struct LevelUpMove sFlareonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EMBER), + LEVEL_UP_MOVE( 0, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2708,7 +2708,7 @@ static const struct LevelUpMove sOmanyteLevelUpLearnset[] = { }; static const struct LevelUpMove sOmastarLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE( 0, MOVE_SPIKE_CANNON), LEVEL_UP_MOVE( 1, MOVE_SPIKE_CANNON), LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), @@ -2746,7 +2746,7 @@ static const struct LevelUpMove sKabutoLevelUpLearnset[] = { }; static const struct LevelUpMove sKabutopsLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_FEINT), @@ -2910,7 +2910,7 @@ static const struct LevelUpMove sDragonairLevelUpLearnset[] = { }; static const struct LevelUpMove sDragoniteLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), @@ -3016,7 +3016,7 @@ static const struct LevelUpMove sBayleefLevelUpLearnset[] = { }; static const struct LevelUpMove sMeganiumLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -3188,7 +3188,7 @@ static const struct LevelUpMove sSentretLevelUpLearnset[] = { }; static const struct LevelUpMove sFurretLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AGILITY), + LEVEL_UP_MOVE( 0, MOVE_AGILITY), LEVEL_UP_MOVE( 1, MOVE_AGILITY), LEVEL_UP_MOVE( 1, MOVE_COIL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -3318,7 +3318,7 @@ static const struct LevelUpMove sSpinarakLevelUpLearnset[] = { }; static const struct LevelUpMove sAriadosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), @@ -3347,7 +3347,7 @@ static const struct LevelUpMove sAriadosLevelUpLearnset[] = { }; static const struct LevelUpMove sCrobatLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CROSS_POISON), + LEVEL_UP_MOVE( 0, MOVE_CROSS_POISON), LEVEL_UP_MOVE( 1, MOVE_CROSS_POISON), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3392,9 +3392,9 @@ static const struct LevelUpMove sChinchouLevelUpLearnset[] = { }; static const struct LevelUpMove sLanturnLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), - //LEVEL_UP_MOVE( 0, MOVE_SWALLOW), - //LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 0, MOVE_SWALLOW), + LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), @@ -3515,7 +3515,7 @@ static const struct LevelUpMove sNatuLevelUpLearnset[] = { }; static const struct LevelUpMove sXatuLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), LEVEL_UP_MOVE( 1, MOVE_TAILWIND), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -3580,7 +3580,7 @@ static const struct LevelUpMove sFlaaffyLevelUpLearnset[] = { }; static const struct LevelUpMove sAmpharosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), @@ -3609,7 +3609,7 @@ static const struct LevelUpMove sAmpharosLevelUpLearnset[] = { }; static const struct LevelUpMove sBellossomLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 0, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), LEVEL_UP_MOVE( 1, MOVE_LEAF_BLADE), @@ -3667,7 +3667,7 @@ static const struct LevelUpMove sAzumarillLevelUpLearnset[] = { }; static const struct LevelUpMove sSudowoodoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLAM), + LEVEL_UP_MOVE( 0, MOVE_SLAM), LEVEL_UP_MOVE( 1, MOVE_SLAM), LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_COPYCAT), @@ -3896,7 +3896,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; static const struct LevelUpMove sEspeonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -3916,7 +3916,7 @@ static const struct LevelUpMove sEspeonLevelUpLearnset[] = { }; static const struct LevelUpMove sUmbreonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PURSUIT), + LEVEL_UP_MOVE( 0, MOVE_PURSUIT), LEVEL_UP_MOVE( 1, MOVE_PURSUIT), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -4048,8 +4048,8 @@ static const struct LevelUpMove sPinecoLevelUpLearnset[] = { }; static const struct LevelUpMove sForretressLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MIRROR_SHOT), - //LEVEL_UP_MOVE( 0, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE( 0, MOVE_MIRROR_SHOT), + LEVEL_UP_MOVE( 0, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_MIRROR_SHOT), LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), @@ -4369,7 +4369,7 @@ static const struct LevelUpMove sSlugmaLevelUpLearnset[] = { }; static const struct LevelUpMove sMagcargoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), LEVEL_UP_MOVE( 1, MOVE_YAWN), @@ -4413,7 +4413,7 @@ static const struct LevelUpMove sSwinubLevelUpLearnset[] = { }; static const struct LevelUpMove sPiloswineLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -4476,7 +4476,7 @@ static const struct LevelUpMove sRemoraidLevelUpLearnset[] = { }; static const struct LevelUpMove sOctilleryLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OCTAZOOKA), + LEVEL_UP_MOVE( 0, MOVE_OCTAZOOKA), LEVEL_UP_MOVE( 1, MOVE_OCTAZOOKA), LEVEL_UP_MOVE( 1, MOVE_GUNK_SHOT), LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), @@ -4634,7 +4634,7 @@ static const struct LevelUpMove sPhanpyLevelUpLearnset[] = { }; static const struct LevelUpMove sDonphanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), @@ -4719,7 +4719,7 @@ static const struct LevelUpMove sTyrogueLevelUpLearnset[] = { }; static const struct LevelUpMove sHitmontopLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROLLING_KICK), + LEVEL_UP_MOVE( 0, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), @@ -5166,7 +5166,7 @@ static const struct LevelUpMove sTreeckoLevelUpLearnset[] = { }; static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -5189,7 +5189,7 @@ static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { }; static const struct LevelUpMove sSceptileLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), @@ -5231,7 +5231,7 @@ static const struct LevelUpMove sTorchicLevelUpLearnset[] = { }; static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -5252,7 +5252,7 @@ static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { }; static const struct LevelUpMove sBlazikenLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), LEVEL_UP_MOVE( 1, MOVE_BLAZE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), @@ -5294,7 +5294,7 @@ static const struct LevelUpMove sMudkipLevelUpLearnset[] = { }; static const struct LevelUpMove sMarshtompLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -5357,7 +5357,7 @@ static const struct LevelUpMove sPoochyenaLevelUpLearnset[] = { }; static const struct LevelUpMove sMightyenaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SNARL), + LEVEL_UP_MOVE( 0, MOVE_SNARL), LEVEL_UP_MOVE( 1, MOVE_SNARL), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), @@ -5439,13 +5439,13 @@ static const struct LevelUpMove sWurmpleLevelUpLearnset[] = { }; static const struct LevelUpMove sSilcoonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sBeautiflyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE(12, MOVE_ABSORB), LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), @@ -5463,13 +5463,13 @@ static const struct LevelUpMove sBeautiflyLevelUpLearnset[] = { }; static const struct LevelUpMove sCascoonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sDustoxLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE(12, MOVE_CONFUSION), LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), @@ -5540,7 +5540,7 @@ static const struct LevelUpMove sSeedotLevelUpLearnset[] = { }; static const struct LevelUpMove sNuzleafLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 3, MOVE_HARDEN), @@ -5583,9 +5583,9 @@ static const struct LevelUpMove sNincadaLevelUpLearnset[] = { }; static const struct LevelUpMove sNinjaskLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_TEAM), - //LEVEL_UP_MOVE( 0, MOVE_SCREECH), - //LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 0, MOVE_SCREECH), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), @@ -5682,7 +5682,7 @@ static const struct LevelUpMove sShroomishLevelUpLearnset[] = { }; static const struct LevelUpMove sBreloomLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -5738,7 +5738,7 @@ static const struct LevelUpMove sWingullLevelUpLearnset[] = { }; static const struct LevelUpMove sPelipperLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), @@ -5927,7 +5927,7 @@ static const struct LevelUpMove sBaltoyLevelUpLearnset[] = { }; static const struct LevelUpMove sClaydolLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 0, MOVE_HYPER_BEAM), LEVEL_UP_MOVE( 1, MOVE_HYPER_BEAM), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -6038,7 +6038,7 @@ static const struct LevelUpMove sBarboachLevelUpLearnset[] = { }; static const struct LevelUpMove sWhiscashLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THRASH), + LEVEL_UP_MOVE( 0, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_BELCH), LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), @@ -6105,7 +6105,7 @@ static const struct LevelUpMove sCorphishLevelUpLearnset[] = { }; static const struct LevelUpMove sCrawdauntLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -6136,7 +6136,7 @@ static const struct LevelUpMove sFeebasLevelUpLearnset[] = { }; static const struct LevelUpMove sMiloticLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -6178,7 +6178,7 @@ static const struct LevelUpMove sCarvanhaLevelUpLearnset[] = { }; static const struct LevelUpMove sSharpedoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_FEINT), @@ -6225,7 +6225,7 @@ static const struct LevelUpMove sTrapinchLevelUpLearnset[] = { }; static const struct LevelUpMove sVibravaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM), @@ -6248,7 +6248,7 @@ static const struct LevelUpMove sVibravaLevelUpLearnset[] = { }; static const struct LevelUpMove sFlygonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), LEVEL_UP_MOVE( 1, MOVE_DRAGON_CLAW), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), @@ -6378,7 +6378,7 @@ static const struct LevelUpMove sNumelLevelUpLearnset[] = { }; static const struct LevelUpMove sCameruptLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_FISSURE), LEVEL_UP_MOVE( 1, MOVE_ERUPTION), @@ -6422,7 +6422,7 @@ static const struct LevelUpMove sSphealLevelUpLearnset[] = { }; static const struct LevelUpMove sSealeoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -6443,7 +6443,7 @@ static const struct LevelUpMove sSealeoLevelUpLearnset[] = { }; static const struct LevelUpMove sWalreinLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), @@ -6487,7 +6487,7 @@ static const struct LevelUpMove sCacneaLevelUpLearnset[] = { }; static const struct LevelUpMove sCacturneLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), LEVEL_UP_MOVE( 1, MOVE_REVENGE), @@ -6531,7 +6531,7 @@ static const struct LevelUpMove sSnoruntLevelUpLearnset[] = { }; static const struct LevelUpMove sGlalieLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -6631,7 +6631,7 @@ static const struct LevelUpMove sSpoinkLevelUpLearnset[] = { }; static const struct LevelUpMove sGrumpigLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_TEETER_DANCE), LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), LEVEL_UP_MOVE( 1, MOVE_BELCH), LEVEL_UP_MOVE( 1, MOVE_SPLASH), @@ -6800,7 +6800,7 @@ static const struct LevelUpMove sSwabluLevelUpLearnset[] = { }; static const struct LevelUpMove sAltariaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PLUCK), @@ -6858,7 +6858,7 @@ static const struct LevelUpMove sDuskullLevelUpLearnset[] = { }; static const struct LevelUpMove sDusclopsLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), @@ -6941,7 +6941,7 @@ static const struct LevelUpMove sVigorothLevelUpLearnset[] = { }; static const struct LevelUpMove sSlakingLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_PUNISHMENT), @@ -6985,7 +6985,7 @@ static const struct LevelUpMove sGulpinLevelUpLearnset[] = { }; static const struct LevelUpMove sSwalotLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_GUNK_SHOT), @@ -7051,7 +7051,7 @@ static const struct LevelUpMove sWhismurLevelUpLearnset[] = { }; static const struct LevelUpMove sLoudredLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BITE), + LEVEL_UP_MOVE( 0, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), @@ -7073,7 +7073,7 @@ static const struct LevelUpMove sLoudredLevelUpLearnset[] = { }; static const struct LevelUpMove sExploudLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_BOOMBURST), @@ -7583,7 +7583,7 @@ static const struct LevelUpMove sBagonLevelUpLearnset[] = { }; static const struct LevelUpMove sShelgonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -7605,7 +7605,7 @@ static const struct LevelUpMove sShelgonLevelUpLearnset[] = { }; static const struct LevelUpMove sSalamenceLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FLY), + LEVEL_UP_MOVE( 0, MOVE_FLY), LEVEL_UP_MOVE( 1, MOVE_FLY), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), @@ -7636,8 +7636,8 @@ static const struct LevelUpMove sBeldumLevelUpLearnset[] = { }; static const struct LevelUpMove sMetangLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CONFUSION), - //LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), @@ -7656,7 +7656,7 @@ static const struct LevelUpMove sMetangLevelUpLearnset[] = { }; static const struct LevelUpMove sMetagrossLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), @@ -7939,7 +7939,7 @@ static const struct LevelUpMove sGrotleLevelUpLearnset[] = { }; static const struct LevelUpMove sTorterraLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE( 0, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -7978,7 +7978,7 @@ static const struct LevelUpMove sChimcharLevelUpLearnset[] = { }; static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -7998,7 +7998,7 @@ static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { }; static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), @@ -8037,7 +8037,7 @@ static const struct LevelUpMove sPiplupLevelUpLearnset[] = { }; static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -8058,7 +8058,7 @@ static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { }; static const struct LevelUpMove sEmpoleonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 0, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -8113,7 +8113,7 @@ static const struct LevelUpMove sStaraviaLevelUpLearnset[] = { }; static const struct LevelUpMove sStaraptorLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -8151,7 +8151,7 @@ static const struct LevelUpMove sBidoofLevelUpLearnset[] = { }; static const struct LevelUpMove sBibarelLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -8181,7 +8181,7 @@ static const struct LevelUpMove sKricketotLevelUpLearnset[] = { }; static const struct LevelUpMove sKricketuneLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_BIDE), @@ -8292,7 +8292,7 @@ static const struct LevelUpMove sCranidosLevelUpLearnset[] = { }; static const struct LevelUpMove sRampardosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 0, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -8328,7 +8328,7 @@ static const struct LevelUpMove sShieldonLevelUpLearnset[] = { }; static const struct LevelUpMove sBastiodonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BLOCK), + LEVEL_UP_MOVE( 0, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -8356,7 +8356,7 @@ static const struct LevelUpMove sBurmyLevelUpLearnset[] = { }; static const struct LevelUpMove sWormadamLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -8379,7 +8379,7 @@ static const struct LevelUpMove sWormadamLevelUpLearnset[] = { }; static const struct LevelUpMove sMothimLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -8409,7 +8409,7 @@ static const struct LevelUpMove sCombeeLevelUpLearnset[] = { }; static const struct LevelUpMove sVespiquenLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), @@ -8510,7 +8510,7 @@ static const struct LevelUpMove sCherubiLevelUpLearnset[] = { }; static const struct LevelUpMove sCherrimLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_MORNING_SUN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -8645,7 +8645,7 @@ static const struct LevelUpMove sBunearyLevelUpLearnset[] = { }; static const struct LevelUpMove sLopunnyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RETURN), + LEVEL_UP_MOVE( 0, MOVE_RETURN), LEVEL_UP_MOVE( 1, MOVE_RETURN), LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), LEVEL_UP_MOVE( 1, MOVE_BOUNCE), @@ -8720,7 +8720,7 @@ static const struct LevelUpMove sGlameowLevelUpLearnset[] = { }; static const struct LevelUpMove sPuruglyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -8774,7 +8774,7 @@ static const struct LevelUpMove sStunkyLevelUpLearnset[] = { }; static const struct LevelUpMove sSkuntankLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 0, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -8819,7 +8819,7 @@ static const struct LevelUpMove sBronzorLevelUpLearnset[] = { }; static const struct LevelUpMove sBronzongLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BLOCK), + LEVEL_UP_MOVE( 0, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), @@ -8949,7 +8949,7 @@ static const struct LevelUpMove sGibleLevelUpLearnset[] = { }; static const struct LevelUpMove sGabiteLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -8967,7 +8967,7 @@ static const struct LevelUpMove sGabiteLevelUpLearnset[] = { }; static const struct LevelUpMove sGarchompLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), @@ -9027,7 +9027,7 @@ static const struct LevelUpMove sRioluLevelUpLearnset[] = { }; static const struct LevelUpMove sLucarioLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_LASER_FOCUS), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), @@ -9496,7 +9496,7 @@ static const struct LevelUpMove sYanmegaLevelUpLearnset[] = { }; static const struct LevelUpMove sLeafeonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -9516,7 +9516,7 @@ static const struct LevelUpMove sLeafeonLevelUpLearnset[] = { }; static const struct LevelUpMove sGlaceonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -9610,7 +9610,7 @@ static const struct LevelUpMove sPorygonZLevelUpLearnset[] = { }; static const struct LevelUpMove sGalladeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), @@ -9640,7 +9640,7 @@ static const struct LevelUpMove sGalladeLevelUpLearnset[] = { }; static const struct LevelUpMove sProbopassLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), @@ -9697,7 +9697,7 @@ static const struct LevelUpMove sDusknoirLevelUpLearnset[] = { }; static const struct LevelUpMove sFroslassLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OMINOUS_WIND), + LEVEL_UP_MOVE( 0, MOVE_OMINOUS_WIND), LEVEL_UP_MOVE( 1, MOVE_OMINOUS_WIND), LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -10098,7 +10098,7 @@ static const struct LevelUpMove sTepigLevelUpLearnset[] = { }; static const struct LevelUpMove sPigniteLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -10187,7 +10187,7 @@ static const struct LevelUpMove sDewottLevelUpLearnset[] = { }; static const struct LevelUpMove sSamurottLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10233,7 +10233,7 @@ static const struct LevelUpMove sPatratLevelUpLearnset[] = { }; static const struct LevelUpMove sWatchogLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 0, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10600,7 +10600,7 @@ static const struct LevelUpMove sRoggenrolaLevelUpLearnset[] = { }; static const struct LevelUpMove sBoldoreLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -10701,7 +10701,7 @@ static const struct LevelUpMove sDrilburLevelUpLearnset[] = { }; static const struct LevelUpMove sExcadrillLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HORN_DRILL), + LEVEL_UP_MOVE( 0, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -10852,7 +10852,7 @@ static const struct LevelUpMove sPalpitoadLevelUpLearnset[] = { }; static const struct LevelUpMove sSeismitoadLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ACID), + LEVEL_UP_MOVE( 0, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -10927,7 +10927,7 @@ static const struct LevelUpMove sSewaddleLevelUpLearnset[] = { }; static const struct LevelUpMove sSwadloonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_GRASS_WHISTLE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10938,7 +10938,7 @@ static const struct LevelUpMove sSwadloonLevelUpLearnset[] = { }; static const struct LevelUpMove sLeavannyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10978,7 +10978,7 @@ static const struct LevelUpMove sVenipedeLevelUpLearnset[] = { }; static const struct LevelUpMove sWhirlipedeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), @@ -11001,7 +11001,7 @@ static const struct LevelUpMove sWhirlipedeLevelUpLearnset[] = { }; static const struct LevelUpMove sScolipedeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 0, MOVE_BATON_PASS), LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -11202,7 +11202,7 @@ static const struct LevelUpMove sDarumakaLevelUpLearnset[] = { }; static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), @@ -11376,7 +11376,7 @@ static const struct LevelUpMove sYamaskLevelUpLearnset[] = { }; static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -11553,7 +11553,7 @@ static const struct LevelUpMove sZoruaLevelUpLearnset[] = { }; static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_DAZE), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -11721,7 +11721,7 @@ static const struct LevelUpMove sDuosionLevelUpLearnset[] = { }; static const struct LevelUpMove sReuniclusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DIZZY_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_DIZZY_PUNCH), LEVEL_UP_MOVE( 1, MOVE_DIZZY_PUNCH), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 1, MOVE_REFLECT), @@ -11872,7 +11872,7 @@ static const struct LevelUpMove sDeerlingLevelUpLearnset[] = { }; static const struct LevelUpMove sSawsbuckLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HORN_LEECH), + LEVEL_UP_MOVE( 0, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -12088,7 +12088,7 @@ static const struct LevelUpMove sJoltikLevelUpLearnset[] = { }; static const struct LevelUpMove sGalvantulaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STICKY_WEB), + LEVEL_UP_MOVE( 0, MOVE_STICKY_WEB), LEVEL_UP_MOVE( 1, MOVE_STICKY_WEB), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -12130,7 +12130,7 @@ static const struct LevelUpMove sFerroseedLevelUpLearnset[] = { }; static const struct LevelUpMove sFerrothornLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_POWER_WHIP), + LEVEL_UP_MOVE( 0, MOVE_POWER_WHIP), LEVEL_UP_MOVE( 1, MOVE_POWER_WHIP), LEVEL_UP_MOVE( 1, MOVE_ROCK_CLIMB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -12195,7 +12195,7 @@ static const struct LevelUpMove sKlangLevelUpLearnset[] = { }; static const struct LevelUpMove sKlinklangLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE( 0, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_GEAR_UP), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), @@ -12228,7 +12228,7 @@ static const struct LevelUpMove sTynamoLevelUpLearnset[] = { }; static const struct LevelUpMove sEelektrikLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), @@ -12452,7 +12452,7 @@ static const struct LevelUpMove sCubchooLevelUpLearnset[] = { }; static const struct LevelUpMove sBearticLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_THRASH), @@ -12659,7 +12659,7 @@ static const struct LevelUpMove sGolettLevelUpLearnset[] = { }; static const struct LevelUpMove sGolurkLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_HIGH_HORSEPOWER), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -12768,7 +12768,7 @@ static const struct LevelUpMove sRuffletLevelUpLearnset[] = { }; static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), @@ -12815,7 +12815,7 @@ static const struct LevelUpMove sVullabyLevelUpLearnset[] = { }; static const struct LevelUpMove sMandibuzzLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BONE_RUSH), + LEVEL_UP_MOVE( 0, MOVE_BONE_RUSH), LEVEL_UP_MOVE( 1, MOVE_BONE_RUSH), LEVEL_UP_MOVE( 1, MOVE_MIRROR_MOVE), LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), @@ -12969,7 +12969,7 @@ static const struct LevelUpMove sLarvestaLevelUpLearnset[] = { }; static const struct LevelUpMove sVolcaronaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_FIERY_DANCE), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), @@ -13274,7 +13274,7 @@ static const struct LevelUpMove sChespinLevelUpLearnset[] = { }; static const struct LevelUpMove sQuilladinLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NEEDLE_ARM), + LEVEL_UP_MOVE( 0, MOVE_NEEDLE_ARM), LEVEL_UP_MOVE( 1, MOVE_NEEDLE_ARM), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), @@ -13294,7 +13294,7 @@ static const struct LevelUpMove sQuilladinLevelUpLearnset[] = { }; static const struct LevelUpMove sChesnaughtLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_NEEDLE_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), @@ -13363,7 +13363,7 @@ static const struct LevelUpMove sBraixenLevelUpLearnset[] = { }; static const struct LevelUpMove sDelphoxLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MYSTICAL_FIRE), + LEVEL_UP_MOVE( 0, MOVE_MYSTICAL_FIRE), LEVEL_UP_MOVE( 1, MOVE_MYSTICAL_FIRE), LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -13429,7 +13429,7 @@ static const struct LevelUpMove sFrogadierLevelUpLearnset[] = { }; static const struct LevelUpMove sGreninjaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_SHURIKEN), + LEVEL_UP_MOVE( 0, MOVE_WATER_SHURIKEN), LEVEL_UP_MOVE( 1, MOVE_WATER_SHURIKEN), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_HAZE), @@ -13520,7 +13520,7 @@ static const struct LevelUpMove sFletchlingLevelUpLearnset[] = { }; static const struct LevelUpMove sFletchinderLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EMBER), + LEVEL_UP_MOVE( 0, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -13573,14 +13573,14 @@ static const struct LevelUpMove sScatterbugLevelUpLearnset[] = { }; static const struct LevelUpMove sSpewpaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sVivillonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_POWDER), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), @@ -13715,7 +13715,7 @@ static const struct LevelUpMove sSkiddoLevelUpLearnset[] = { }; static const struct LevelUpMove sGogoatLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE( 0, MOVE_AERIAL_ACE), LEVEL_UP_MOVE( 1, MOVE_AERIAL_ACE), LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -13758,7 +13758,7 @@ static const struct LevelUpMove sPanchamLevelUpLearnset[] = { }; static const struct LevelUpMove sPangoroLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_LOW_SWEEP), @@ -14099,7 +14099,7 @@ static const struct LevelUpMove sSkrelpLevelUpLearnset[] = { }; static const struct LevelUpMove sDragalgeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TWISTER), + LEVEL_UP_MOVE( 0, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -14141,7 +14141,7 @@ static const struct LevelUpMove sClauncherLevelUpLearnset[] = { }; static const struct LevelUpMove sClawitzerLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_DARK_PULSE), LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), @@ -14212,7 +14212,7 @@ static const struct LevelUpMove sTyruntLevelUpLearnset[] = { }; static const struct LevelUpMove sTyrantrumLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_HEAD_SMASH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -14260,7 +14260,7 @@ static const struct LevelUpMove sAmauraLevelUpLearnset[] = { }; static const struct LevelUpMove sAurorusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -14286,7 +14286,7 @@ static const struct LevelUpMove sAurorusLevelUpLearnset[] = { }; static const struct LevelUpMove sSylveonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 0, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -14399,7 +14399,7 @@ static const struct LevelUpMove sSliggooLevelUpLearnset[] = { }; static const struct LevelUpMove sGoodraLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE( 0, MOVE_AQUA_TAIL), LEVEL_UP_MOVE( 1, MOVE_AQUA_TAIL), LEVEL_UP_MOVE( 1, MOVE_OUTRAGE), LEVEL_UP_MOVE( 1, MOVE_FEINT), @@ -14460,7 +14460,7 @@ static const struct LevelUpMove sPhantumpLevelUpLearnset[] = { }; static const struct LevelUpMove sTrevenantLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -14546,7 +14546,7 @@ static const struct LevelUpMove sBergmiteLevelUpLearnset[] = { }; static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), @@ -14795,7 +14795,7 @@ static const struct LevelUpMove sDartrixLevelUpLearnset[] = { }; static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIRIT_SHACKLE), + LEVEL_UP_MOVE( 0, MOVE_SPIRIT_SHACKLE), LEVEL_UP_MOVE( 1, MOVE_SPIRIT_SHACKLE), LEVEL_UP_MOVE( 1, MOVE_PHANTOM_FORCE), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), @@ -14865,7 +14865,7 @@ static const struct LevelUpMove sTorracatLevelUpLearnset[] = { }; static const struct LevelUpMove sIncineroarLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DARKEST_LARIAT), + LEVEL_UP_MOVE( 0, MOVE_DARKEST_LARIAT), LEVEL_UP_MOVE( 1, MOVE_DARKEST_LARIAT), LEVEL_UP_MOVE( 1, MOVE_BULK_UP), LEVEL_UP_MOVE( 1, MOVE_THROAT_CHOP), @@ -14934,7 +14934,7 @@ static const struct LevelUpMove sBrionneLevelUpLearnset[] = { }; static const struct LevelUpMove sPrimarinaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPARKLING_ARIA), + LEVEL_UP_MOVE( 0, MOVE_SPARKLING_ARIA), LEVEL_UP_MOVE( 1, MOVE_SPARKLING_ARIA), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -14996,7 +14996,7 @@ static const struct LevelUpMove sTrumbeakLevelUpLearnset[] = { }; static const struct LevelUpMove sToucannonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BEAK_BLAST), + LEVEL_UP_MOVE( 0, MOVE_BEAK_BLAST), LEVEL_UP_MOVE( 1, MOVE_BEAK_BLAST), LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -15076,7 +15076,7 @@ static const struct LevelUpMove sGrubbinLevelUpLearnset[] = { }; static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CHARGE), + LEVEL_UP_MOVE( 0, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), @@ -15097,7 +15097,7 @@ static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { }; static const struct LevelUpMove sVikavoltLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE( 0, MOVE_THUNDERBOLT), LEVEL_UP_MOVE( 1, MOVE_THUNDERBOLT), LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -15137,7 +15137,7 @@ static const struct LevelUpMove sCrabrawlerLevelUpLearnset[] = { }; static const struct LevelUpMove sCrabominableLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -15194,7 +15194,7 @@ static const struct LevelUpMove sCutieflyLevelUpLearnset[] = { }; static const struct LevelUpMove sRibombeeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_POLLEN_PUFF), + LEVEL_UP_MOVE( 0, MOVE_POLLEN_PUFF), LEVEL_UP_MOVE( 1, MOVE_POLLEN_PUFF), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), @@ -15233,7 +15233,7 @@ static const struct LevelUpMove sRockruffLevelUpLearnset[] = { }; static const struct LevelUpMove sLycanrocLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ACCELEROCK), + LEVEL_UP_MOVE( 0, MOVE_ACCELEROCK), LEVEL_UP_MOVE( 1, MOVE_ACCELEROCK), LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -15294,7 +15294,7 @@ static const struct LevelUpMove sMareanieLevelUpLearnset[] = { }; static const struct LevelUpMove sToxapexLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BANEFUL_BUNKER), + LEVEL_UP_MOVE( 0, MOVE_BANEFUL_BUNKER), LEVEL_UP_MOVE( 1, MOVE_BANEFUL_BUNKER), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -15410,7 +15410,7 @@ static const struct LevelUpMove sFomantisLevelUpLearnset[] = { }; static const struct LevelUpMove sLurantisLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -15489,7 +15489,7 @@ static const struct LevelUpMove sSalanditLevelUpLearnset[] = { }; static const struct LevelUpMove sSalazzleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CAPTIVATE), + LEVEL_UP_MOVE( 0, MOVE_CAPTIVATE), LEVEL_UP_MOVE( 1, MOVE_CAPTIVATE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -15532,7 +15532,7 @@ static const struct LevelUpMove sStuffulLevelUpLearnset[] = { }; static const struct LevelUpMove sBewearLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BIND), + LEVEL_UP_MOVE( 0, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -15564,7 +15564,7 @@ static const struct LevelUpMove sBounsweetLevelUpLearnset[] = { }; static const struct LevelUpMove sSteeneeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), @@ -15585,7 +15585,7 @@ static const struct LevelUpMove sSteeneeLevelUpLearnset[] = { }; static const struct LevelUpMove sTsareenaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TROP_KICK), + LEVEL_UP_MOVE( 0, MOVE_TROP_KICK), LEVEL_UP_MOVE( 1, MOVE_TROP_KICK), LEVEL_UP_MOVE( 1, MOVE_PUNISHMENT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), @@ -15677,7 +15677,7 @@ static const struct LevelUpMove sWimpodLevelUpLearnset[] = { }; static const struct LevelUpMove sGolisopodLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FIRST_IMPRESSION), + LEVEL_UP_MOVE( 0, MOVE_FIRST_IMPRESSION), LEVEL_UP_MOVE( 1, MOVE_FIRST_IMPRESSION), LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -15779,7 +15779,7 @@ static const struct LevelUpMove sTypeNullLevelUpLearnset[] = { }; static const struct LevelUpMove sSilvallyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MULTI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_MULTI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_MULTI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HEAL_BLOCK), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -15979,7 +15979,7 @@ static const struct LevelUpMove sJangmooLevelUpLearnset[] = { }; static const struct LevelUpMove sHakamooLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE( 0, MOVE_SKY_UPPERCUT), LEVEL_UP_MOVE( 1, MOVE_SKY_UPPERCUT), LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -16004,7 +16004,7 @@ static const struct LevelUpMove sHakamooLevelUpLearnset[] = { }; static const struct LevelUpMove sKommooLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CLANGING_SCALES), + LEVEL_UP_MOVE( 0, MOVE_CLANGING_SCALES), LEVEL_UP_MOVE( 1, MOVE_CLANGING_SCALES), LEVEL_UP_MOVE( 1, MOVE_SKY_UPPERCUT), LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), @@ -16125,14 +16125,14 @@ static const struct LevelUpMove sCosmogLevelUpLearnset[] = { }; static const struct LevelUpMove sCosmoemLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE( 0, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_END }; static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SUNSTEEL_STRIKE), + LEVEL_UP_MOVE( 0, MOVE_SUNSTEEL_STRIKE), LEVEL_UP_MOVE( 1, MOVE_SUNSTEEL_STRIKE), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_WAKE_UP_SLAP), @@ -16154,7 +16154,7 @@ static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { }; static const struct LevelUpMove sLunalaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MOONGEIST_BEAM), + LEVEL_UP_MOVE( 0, MOVE_MOONGEIST_BEAM), LEVEL_UP_MOVE( 1, MOVE_MOONGEIST_BEAM), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), @@ -16426,7 +16426,7 @@ static const struct LevelUpMove sPoipoleLevelUpLearnset[] = { }; static const struct LevelUpMove sNaganadelLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_AIR_CUTTER), LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -16511,7 +16511,7 @@ static const struct LevelUpMove sMeltanLevelUpLearnset[] = { }; static const struct LevelUpMove sMelmetalLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -16548,7 +16548,7 @@ static const struct LevelUpMove sGrookeyLevelUpLearnset[] = { }; static const struct LevelUpMove sThwackeyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -16565,7 +16565,7 @@ static const struct LevelUpMove sThwackeyLevelUpLearnset[] = { }; static const struct LevelUpMove sRillaboomLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRUM_BEATING), + LEVEL_UP_MOVE( 0, MOVE_DRUM_BEATING), LEVEL_UP_MOVE( 1, MOVE_DRUM_BEATING), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), @@ -16616,7 +16616,7 @@ static const struct LevelUpMove sRabootLevelUpLearnset[] = { }; static const struct LevelUpMove sCinderaceLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PYRO_BALL), + LEVEL_UP_MOVE( 0, MOVE_PYRO_BALL), LEVEL_UP_MOVE( 1, MOVE_PYRO_BALL), LEVEL_UP_MOVE( 1, MOVE_FEINT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -16665,7 +16665,7 @@ static const struct LevelUpMove sDrizzileLevelUpLearnset[] = { }; static const struct LevelUpMove sInteleonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SNIPE_SHOT), + LEVEL_UP_MOVE( 0, MOVE_SNIPE_SHOT), LEVEL_UP_MOVE( 1, MOVE_SNIPE_SHOT), LEVEL_UP_MOVE( 1, MOVE_ACROBATICS), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -16701,7 +16701,7 @@ static const struct LevelUpMove sSkwovetLevelUpLearnset[] = { }; static const struct LevelUpMove sGreedentLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COVET), + LEVEL_UP_MOVE( 0, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -16750,7 +16750,7 @@ static const struct LevelUpMove sCorvisquireLevelUpLearnset[] = { }; static const struct LevelUpMove sCorviknightLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STEEL_WING), + LEVEL_UP_MOVE( 0, MOVE_STEEL_WING), LEVEL_UP_MOVE( 1, MOVE_STEEL_WING), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), @@ -16774,9 +16774,9 @@ static const struct LevelUpMove sBlipbugLevelUpLearnset[] = { }; static const struct LevelUpMove sDottlerLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_REFLECT), - //LEVEL_UP_MOVE( 0, MOVE_LIGHT_SCREEN), - //LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_REFLECT), + LEVEL_UP_MOVE( 0, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_REFLECT), LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -16820,7 +16820,7 @@ static const struct LevelUpMove sNickitLevelUpLearnset[] = { }; static const struct LevelUpMove sThievulLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THIEF), + LEVEL_UP_MOVE( 0, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -16853,7 +16853,7 @@ static const struct LevelUpMove sGossifleurLevelUpLearnset[] = { }; static const struct LevelUpMove sEldegossLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 0, MOVE_COTTON_SPORE), LEVEL_UP_MOVE( 1, MOVE_COTTON_SPORE), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SING), @@ -16917,7 +16917,7 @@ static const struct LevelUpMove sChewtleLevelUpLearnset[] = { }; static const struct LevelUpMove sDrednawLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE( 0, MOVE_ROCK_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROCK_TOMB), LEVEL_UP_MOVE( 1, MOVE_RAZOR_SHELL), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), @@ -16982,7 +16982,7 @@ static const struct LevelUpMove sRolycolyLevelUpLearnset[] = { }; static const struct LevelUpMove sCarkolLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE( 0, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), @@ -16999,7 +16999,7 @@ static const struct LevelUpMove sCarkolLevelUpLearnset[] = { }; static const struct LevelUpMove sCoalossalLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TAR_SHOT), + LEVEL_UP_MOVE( 0, MOVE_TAR_SHOT), LEVEL_UP_MOVE( 1, MOVE_TAR_SHOT), LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -17023,7 +17023,7 @@ static const struct LevelUpMove sApplinLevelUpLearnset[] = { }; static const struct LevelUpMove sFlappleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -17045,7 +17045,7 @@ static const struct LevelUpMove sFlappleLevelUpLearnset[] = { }; static const struct LevelUpMove sAppletunLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 0, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -17156,7 +17156,7 @@ static const struct LevelUpMove sToxelLevelUpLearnset[] = { }; static const struct LevelUpMove sToxtricityLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPARK), + LEVEL_UP_MOVE( 0, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), LEVEL_UP_MOVE( 1, MOVE_BELCH), @@ -17236,7 +17236,7 @@ static const struct LevelUpMove sClobbopusLevelUpLearnset[] = { }; static const struct LevelUpMove sGrapploctLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OCTOLOCK), + LEVEL_UP_MOVE( 0, MOVE_OCTOLOCK), LEVEL_UP_MOVE( 1, MOVE_OCTOLOCK), LEVEL_UP_MOVE( 1, MOVE_OCTAZOOKA), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -17271,7 +17271,7 @@ static const struct LevelUpMove sSinisteaLevelUpLearnset[] = { }; static const struct LevelUpMove sPolteageistLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TEATIME), + LEVEL_UP_MOVE( 0, MOVE_TEATIME), LEVEL_UP_MOVE( 1, MOVE_TEATIME), LEVEL_UP_MOVE( 1, MOVE_STRENGTH_SAP), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -17306,7 +17306,7 @@ static const struct LevelUpMove sHatennaLevelUpLearnset[] = { }; static const struct LevelUpMove sHattremLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE( 0, MOVE_BRUTAL_SWING), LEVEL_UP_MOVE( 1, MOVE_BRUTAL_SWING), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), @@ -17323,7 +17323,7 @@ static const struct LevelUpMove sHattremLevelUpLearnset[] = { }; static const struct LevelUpMove sHattereneLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_BRUTAL_SWING), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -17359,7 +17359,7 @@ static const struct LevelUpMove sImpidimpLevelUpLearnset[] = { }; static const struct LevelUpMove sMorgremLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FALSE_SURRENDER), + LEVEL_UP_MOVE( 0, MOVE_FALSE_SURRENDER), LEVEL_UP_MOVE( 1, MOVE_FALSE_SURRENDER), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_CONFIDE), @@ -17378,7 +17378,7 @@ static const struct LevelUpMove sMorgremLevelUpLearnset[] = { }; static const struct LevelUpMove sGrimmsnarlLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIRIT_BREAK), + LEVEL_UP_MOVE( 0, MOVE_SPIRIT_BREAK), LEVEL_UP_MOVE( 1, MOVE_SPIRIT_BREAK), LEVEL_UP_MOVE( 1, MOVE_FALSE_SURRENDER), LEVEL_UP_MOVE( 1, MOVE_BULK_UP), @@ -17401,7 +17401,7 @@ static const struct LevelUpMove sGrimmsnarlLevelUpLearnset[] = { }; static const struct LevelUpMove sObstagoonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OBSTRUCT), + LEVEL_UP_MOVE( 0, MOVE_OBSTRUCT), LEVEL_UP_MOVE( 1, MOVE_OBSTRUCT), LEVEL_UP_MOVE( 1, MOVE_CROSS_CHOP), LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), @@ -17427,7 +17427,7 @@ static const struct LevelUpMove sObstagoonLevelUpLearnset[] = { }; static const struct LevelUpMove sPerrserkerLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 0, MOVE_IRON_HEAD), LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), @@ -17466,7 +17466,7 @@ static const struct LevelUpMove sCursolaLevelUpLearnset[] = { }; static const struct LevelUpMove sSirfetchdLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_FIRST_IMPRESSION), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -17523,7 +17523,7 @@ static const struct LevelUpMove sMrRimeLevelUpLearnset[] = { }; static const struct LevelUpMove sRunerigusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -17562,7 +17562,7 @@ static const struct LevelUpMove sMilceryLevelUpLearnset[] = { }; static const struct LevelUpMove sAlcremieLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DECORATE), + LEVEL_UP_MOVE( 0, MOVE_DECORATE), LEVEL_UP_MOVE( 1, MOVE_DECORATE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), @@ -17622,7 +17622,7 @@ static const struct LevelUpMove sSnomLevelUpLearnset[] = { }; static const struct LevelUpMove sFrosmothLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), @@ -17730,7 +17730,7 @@ static const struct LevelUpMove sCufantLevelUpLearnset[] = { }; static const struct LevelUpMove sCopperajahLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -17842,7 +17842,7 @@ static const struct LevelUpMove sDreepyLevelUpLearnset[] = { }; static const struct LevelUpMove sDrakloakLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_INFESTATION), @@ -17864,7 +17864,7 @@ static const struct LevelUpMove sDrakloakLevelUpLearnset[] = { }; static const struct LevelUpMove sDragapultLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_DARTS), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_DARTS), LEVEL_UP_MOVE( 1, MOVE_DRAGON_DARTS), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -17962,7 +17962,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { }; static const struct LevelUpMove sUrshifuLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), + LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -18206,7 +18206,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18228,7 +18228,7 @@ static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -18260,7 +18260,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), + LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), @@ -18296,7 +18296,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), @@ -18326,7 +18326,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -18370,7 +18370,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), @@ -18483,7 +18483,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), @@ -18507,7 +18507,7 @@ static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), LEVEL_UP_MOVE( 1, MOVE_BARRAGE), @@ -18579,7 +18579,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18621,7 +18621,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), + LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18664,7 +18664,7 @@ static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), LEVEL_UP_MOVE( 1, MOVE_DEFOG), @@ -18782,7 +18782,7 @@ static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), + LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), @@ -18843,7 +18843,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), LEVEL_UP_MOVE( 1, MOVE_PIN_MISSILE), @@ -18885,7 +18885,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18995,7 +18995,7 @@ static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { }; static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEX), + LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), LEVEL_UP_MOVE(11, MOVE_ROLLOUT), @@ -19035,7 +19035,7 @@ static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { #if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), //LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), LEVEL_UP_MOVE(11, MOVE_SWORDS_DANCE), @@ -19049,7 +19049,7 @@ static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { }; static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), //LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), LEVEL_UP_MOVE( 9, MOVE_STUN_SPORE), @@ -19131,7 +19131,7 @@ static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { }; static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), //LEVEL_UP_MOVE( 9, MOVE_ICE_SHARD), @@ -19148,7 +19148,7 @@ static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { #if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), //LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), LEVEL_UP_MOVE(11, MOVE_ROOST), @@ -19222,7 +19222,7 @@ static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { #if P_GEN_4_POKEMON == TRUE static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19245,7 +19245,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { }; static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -19398,7 +19398,7 @@ static const struct LevelUpMove sHoopaUnboundLevelUpLearnset[] = { #if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COUNTER), + LEVEL_UP_MOVE( 0, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 1, MOVE_TAUNT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19420,7 +19420,7 @@ static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { }; static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THRASH), + LEVEL_UP_MOVE( 0, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_ACCELEROCK), LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19444,7 +19444,7 @@ static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { #if P_GEN_8_POKEMON == TRUE static const struct LevelUpMove sToxtricityLowKeyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPARK), + LEVEL_UP_MOVE( 0, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), LEVEL_UP_MOVE( 1, MOVE_BELCH), @@ -19491,7 +19491,7 @@ static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { }; static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), + LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), From 4cbc6d4de1e083492ff9302fe9bd1b5fab0db1ef Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Fri, 14 Oct 2022 22:31:45 -0300 Subject: [PATCH 141/147] Config for running indoors --- include/constants/overworld_config.h | 7 +++++-- src/bike.c | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/constants/overworld_config.h b/include/constants/overworld_config.h index 50f45933d..64437ca9b 100644 --- a/include/constants/overworld_config.h +++ b/include/constants/overworld_config.h @@ -1,9 +1,12 @@ #ifndef GUARD_CONSTANTS_OVERWORLD_CONFIG_H #define GUARD_CONSTANTS_OVERWORLD_CONFIG_H +// Movement config +#define OW_RUNNING_INDOORS GEN_LATEST // In Gen4+, players are allowed to run indoors. + // Overworld flags -#define OW_FLAG_NO_ENCOUNTER 0 // If this flag is set, wild encounters will be disabled. -#define OW_FLAG_NO_TRAINER_SEE 0 // If this flag is set, trainers will not battle the player unless they're talked to. +#define OW_FLAG_NO_ENCOUNTER 0 // If this flag is set, wild encounters will be disabled. +#define OW_FLAG_NO_TRAINER_SEE 0 // If this flag is set, trainers will not battle the player unless they're talked to. // Debug options #define DEBUG_SYSTEM_ENABLE TRUE // Enables a overworld debug menu for changing flags, variables, giving pokemon and more, accessed by holding R and pressing START while in the overworld by default. diff --git a/src/bike.c b/src/bike.c index ae30ce288..8f3faa2da 100644 --- a/src/bike.c +++ b/src/bike.c @@ -1053,7 +1053,11 @@ void Bike_HandleBumpySlopeJump(void) bool32 IsRunningDisallowed(u8 metatile) { +#if OW_RUNNING_INDOORS == GEN_3 if (!gMapHeader.allowRunning || IsRunningDisallowedByMetatile(metatile) == TRUE) +#else + if (IsRunningDisallowedByMetatile(metatile) == TRUE) +#endif return TRUE; else return FALSE; From dd2d6107bded2f849524cbc5a9981f7027710bb5 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Sun, 16 Oct 2022 09:57:21 -0300 Subject: [PATCH 142/147] =?UTF-8?q?Fixed=20Z-Move=20not=20being=20cleared?= =?UTF-8?q?=20if=20Pok=C3=A9mon=20faints?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/battle_main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/battle_main.c b/src/battle_main.c index 385faf2e3..5b6e724c9 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3303,6 +3303,11 @@ void FaintClearSetData(void) } } } + + // Clear Z-Move data + gBattleStruct->zmove.active = FALSE; + gBattleStruct->zmove.toBeUsed[gActiveBattler] = MOVE_NONE; + gBattleStruct->zmove.effect = EFFECT_HIT; } static void DoBattleIntro(void) From 71023512fda99de8b86708c3399d39bb29a05d01 Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Sun, 16 Oct 2022 19:20:24 -0400 Subject: [PATCH 143/147] update psycho cut anim --- data/battle_anim_scripts.s | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index e5f32e09a..19bc5edb0 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2987,21 +2987,26 @@ Move_MUD_BOMB: end Move_PSYCHO_CUT: - loadspritegfx ANIM_TAG_SPIRAL - loadspritegfx ANIM_TAG_PSYCHO_CUT - monbg ANIM_ATK_PARTNER + loadspritegfx ANIM_TAG_SPIRAL + loadspritegfx ANIM_TAG_PSYCHO_CUT + loadspritegfx ANIM_TAG_CROSS_IMPACT + monbg ANIM_ATK_PARTNER + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_CROSS_IMPACT, 0, 9, 9, RGB_PURPLE + createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 2, ANIM_ATTACKER createsprite gPsychoCutSpiralSpriteTemplate, 2, 4, 0, 0, 0, 0 createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 0, 4, RGB_BLACK - createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 0, 10, RGB(20, 12, 23) + createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 0, 10, RGB(20, 12, 23) delay 30 - clearmonbg ANIM_ATK_PARTNER - waitforvisualfinish - monbg ANIM_TARGET - splitbgprio ANIM_TARGET - setalpha 12, 8 - playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, - createsprite gPsychoCutSpriteTemplate, 130, 5, 20, 0, -8, 0, 20 - waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + waitforvisualfinish + monbg ANIM_TARGET + splitbgprio ANIM_TARGET + setalpha 12, 8 + playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, + createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 20, 0, -8, 0, 20 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1 + createsprite gCrossImpactSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 20 createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 4, 0, RGB_BLACK createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 10, 0, RGB(20, 12, 23) clearmonbg ANIM_TARGET From a585d56053af0f1b9664e184e91fd94139e4efd3 Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Sun, 16 Oct 2022 23:39:12 -0400 Subject: [PATCH 144/147] fix whitespace --- data/battle_anim_scripts.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 19bc5edb0..ff407c0c4 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2995,7 +2995,7 @@ Move_PSYCHO_CUT: createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 2, ANIM_ATTACKER createsprite gPsychoCutSpiralSpriteTemplate, 2, 4, 0, 0, 0, 0 createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 0, 4, RGB_BLACK - createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 0, 10, RGB(20, 12, 23) + createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 0, 10, RGB(20, 12, 23) delay 30 clearmonbg ANIM_ATK_PARTNER waitforvisualfinish From 610a8efb7d1f50c222d2bbd7b8cb299728605fde Mon Sep 17 00:00:00 2001 From: gruxor Date: Mon, 17 Oct 2022 11:21:06 -0400 Subject: [PATCH 145/147] Replaced busy-wait loops --- src/main.c | 4 +--- src/pokemon_debug.c | 6 +++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main.c b/src/main.c index 99d2610bb..3a306b2cf 100644 --- a/src/main.c +++ b/src/main.c @@ -408,9 +408,7 @@ static void IntrDummy(void) static void WaitForVBlank(void) { gMain.intrCheck &= ~INTR_FLAG_VBLANK; - - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)) - ; + VBlankIntrWait(); } void SetTrainerHillVBlankCounter(u32 *counter) diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index 8a047e397..447590e28 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -1380,7 +1380,7 @@ static void UpdateSubmenuOneOptionValue(u8 taskId, bool8 increment) UpdateBattlerValue(data); ReloadPokemonSprites(data); - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + VBlankIntrWait(); PlaySE(SE_DEX_SCROLL); } break; @@ -1499,7 +1499,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) PrintDigitChars(data); UpdateBattlerValue(data); ReloadPokemonSprites(data); - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + VBlankIntrWait(); PlaySE(SE_DEX_SCROLL); } @@ -1531,7 +1531,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) ResetOffsetSpriteValues(data); } PlaySE(SE_DEX_SCROLL); - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + VBlankIntrWait(); } else if (JOY_NEW(DPAD_UP)) { From c267c615c1e50a09810c160b8de6ce716fd475f2 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 22 Oct 2022 10:38:39 -0300 Subject: [PATCH 146/147] Fixed CanFling --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index 9dbdb1abf..125976fc8 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9983,7 +9983,7 @@ bool32 CanFling(u8 battlerId) #endif || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || gDisableStructs[battlerId].embargoTimer != 0 - || GetFlingPowerFromItemId(item) != 0 + || GetFlingPowerFromItemId(item) == 0 || !CanBattlerGetOrLoseItem(battlerId, item)) return FALSE; From 2cd0a0f86249039764143ed15714cc23c496d9eb Mon Sep 17 00:00:00 2001 From: kaisermg5 Date: Tue, 25 Oct 2022 18:48:06 -0300 Subject: [PATCH 147/147] Fix lock when teaching a TM/HM after learning a move by level up. --- src/party_menu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/party_menu.c b/src/party_menu.c index eaeadabab..635cd3fe0 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4928,6 +4928,7 @@ void ItemUseCB_TMHM(u8 taskId, TaskFunc task) u16 move = ItemIdToBattleMoveId(item); gPartyMenu.data1 = move; + gPartyMenu.learnMoveState = 0; PlaySE(SE_SELECT); mon = &gPlayerParty[gPartyMenu.slotId];