From 3f7b6ca3575d8663dc18013e927ce9b1b3c0a7a0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 28 Apr 2022 09:04:16 -0400 Subject: [PATCH 01/62] Remove spurious space in battle_anim_scripts.s --- 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 1cfc5230c0..35ad7cde05 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -5645,7 +5645,7 @@ HydroPumpBeams: createsprite gHydroPumpOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, 10, 0, -16 delay 1 return -HydroPumpHitSplats : +HydroPumpHitSplats: createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 15, ANIM_TARGET, 1 createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, -15, ANIM_TARGET, 1 return From ff936c15e1a5ca4e07e9d52cecc0f140cffd3a27 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 28 Apr 2022 13:46:23 -0400 Subject: [PATCH 02/62] Sync arg descriptions from FireRed https://github.com/pret/pokefirered/pull/501 --- data/battle_anim_scripts.s | 144 ++++++++++++++++---------------- include/constants/battle_anim.h | 13 ++- ld_script_modern.txt | 1 + 3 files changed, 82 insertions(+), 76 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 35ad7cde05..b4fdd4b1c1 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1458,11 +1458,11 @@ FuryCutterStrongest: Move_SELF_DESTRUCT: loadspritegfx ANIM_TAG_EXPLOSION createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 1, 0, 9, RGB_RED - createvisualtask AnimTask_ShakeMon2, 5, 4, 6, 0, 38, 1 - createvisualtask AnimTask_ShakeMon2, 5, 5, 6, 0, 38, 1 - createvisualtask AnimTask_ShakeMon2, 5, 6, 6, 0, 38, 1 - createvisualtask AnimTask_ShakeMon2, 5, 7, 6, 0, 38, 1 - createvisualtask AnimTask_ShakeMon2, 5, 8, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_LEFT, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_RIGHT, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_OPPONENT_LEFT, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_OPPONENT_RIGHT, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER_FORCE, 6, 0, 38, 1 call SelfDestructExplode call SelfDestructExplode waitforvisualfinish @@ -1624,11 +1624,11 @@ RisingWaterHitEffect: Move_EXPLOSION: loadspritegfx ANIM_TAG_EXPLOSION createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 9, RGB(26, 8, 8), 8, RGB_BLACK, 8 - createvisualtask AnimTask_ShakeMon2, 5, 4, 8, 0, 40, 1 - createvisualtask AnimTask_ShakeMon2, 5, 5, 8, 0, 40, 1 - createvisualtask AnimTask_ShakeMon2, 5, 6, 8, 0, 40, 1 - createvisualtask AnimTask_ShakeMon2, 5, 7, 8, 0, 40, 1 - createvisualtask AnimTask_ShakeMon2, 5, 8, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_LEFT, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_RIGHT, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_OPPONENT_LEFT, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_OPPONENT_RIGHT, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER_FORCE, 8, 0, 40, 1 call Explosion1 call Explosion1 waitforvisualfinish @@ -1657,12 +1657,12 @@ Explosion1: Move_DEFENSE_CURL: loadspritegfx ANIM_TAG_ECLIPSING_ORB loopsewithpan SE_M_TRI_ATTACK, SOUND_PAN_ATTACKER, 18, 3 - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, 0 + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, FALSE createvisualtask AnimTask_DefenseCurlDeformMon, 5 waitforvisualfinish createsprite gEclipsingOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 6, 0, 1 waitforvisualfinish - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, 1 + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, TRUE waitforvisualfinish end @@ -1709,7 +1709,7 @@ Frustration_Continue: Frustration_Strongest: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER, 1, 0, 15, 1 - createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 3, 0, 9, 31 + createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 3, 0, 9, RGB_RED waitforvisualfinish delay 20 playsewithpan SE_M_SWAGGER2, SOUND_PAN_ATTACKER @@ -1740,12 +1740,12 @@ Frustration_Strongest: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, -18, ANIM_TARGET, 0 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 3, 9, 0, 31 + createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 3, 9, 0, RGB_RED goto Frustration_Continue Frustration_Strong: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER, 1, 0, 15, 1 - createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 3, 0, 9, 31 + createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 3, 0, 9, RGB_RED waitforvisualfinish delay 20 playsewithpan SE_M_SWAGGER2, SOUND_PAN_ATTACKER @@ -1766,7 +1766,7 @@ Frustration_Strong: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -12, -6, ANIM_TARGET, 1 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1 waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 3, 9, 0, 31 + createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 3, 9, 0, RGB_RED goto Frustration_Continue Frustration_Medium: playsewithpan SE_M_SWAGGER2, SOUND_PAN_ATTACKER @@ -2597,8 +2597,8 @@ Move_LOW_KICK: end Move_EARTHQUAKE: - createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 10, 50 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 10, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 10, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 10, 50 playsewithpan SE_M_EARTHQUAKE, 0 delay 10 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 @@ -2608,7 +2608,7 @@ Move_EARTHQUAKE: Move_FISSURE: loadspritegfx ANIM_TAG_MUD_SAND - createvisualtask AnimTask_HorizontalShake, 3, (MAX_BATTLERS_COUNT + 1), 10, 50 + createvisualtask AnimTask_HorizontalShake, 3, ANIM_PLAYER_RIGHT, 10, 50 createvisualtask AnimTask_HorizontalShake, 3, ANIM_TARGET, 10, 50 playsewithpan SE_M_EARTHQUAKE, SOUND_PAN_TARGET delay 8 @@ -2953,7 +2953,7 @@ SkyAttackSetUpAgainstPartner: delay 20 createvisualtask AnimTask_BlendBattleAnimPal, 10, 2, 1, 15, 0, RGB_WHITE waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, 4, 1, 8, 0, RGB_BLACK + createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, ANIM_PLAYER_LEFT, 1, 8, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -3182,15 +3182,15 @@ Move_DESTINY_BOND: playsewithpan SE_M_CONFUSE_RAY, SOUND_PAN_ATTACKER delay 48 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 24, 1 - createvisualtask AnimTask_BlendBattleAnimPalExclude, 2, 6, 1, 0, 12, RGB(29, 29, 29) + createvisualtask AnimTask_BlendBattleAnimPalExclude, 2, ANIM_OPPONENT_LEFT, 1, 0, 12, RGB(29, 29, 29) delay 24 - createvisualtask AnimTask_BlendBattleAnimPalExclude, 2, 6, 1, 12, 0, RGB(29, 29, 29) + createvisualtask AnimTask_BlendBattleAnimPalExclude, 2, ANIM_OPPONENT_LEFT, 1, 12, 0, RGB(29, 29, 29) playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET waitforvisualfinish restorebg waitbgfadein blendoff - clearmonbg 5 + clearmonbg ANIM_PLAYER_RIGHT end Move_ENDURE: @@ -3323,13 +3323,13 @@ Move_MAGNITUDE: MagnitudeEnd: end MagnitudeRegular: - createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 0, 50 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 0, 50 loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 10 goto MagnitudeEnd MagnitudeIntense: - createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 0, 50 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 0, 50 loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 10 delay 10 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 @@ -3814,8 +3814,8 @@ Move_ERUPTION: createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 110, -32, 64, 50, 0 createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 60, -32, 80, 70, 1 delay 22 - createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 8, 60 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 8, 60 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 8, 60 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 8, 60 loopsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET, 16, 12 delay 80 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 40, 31, 4, 4, 0, RGB_RED @@ -3845,7 +3845,7 @@ Move_IMPRISON: waitforvisualfinish delay 4 createsprite gRedXSpriteTemplate, ANIM_ATTACKER, 5, ANIM_ATTACKER, 40 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 1, 10 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 1, 10 playsewithpan SE_M_HYPER_BEAM, SOUND_PAN_ATTACKER clearmonbg ANIM_DEF_PARTNER call UnsetPsychicBackground @@ -3915,27 +3915,27 @@ Move_LUSTER_PURGE: playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER createsprite gLusterPurgeCircleSpriteTemplate, ANIM_ATTACKER, 41, 0, 0, 0, 0 delay 20 - createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 0, 16, RGB_WHITEALPHA + createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, ANIM_PLAYER_RIGHT, 2, 0, 16, RGB_WHITEALPHA createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, 2, 0, 16, RGB_WHITEALPHA waitforvisualfinish createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 12, 12, RGB(0, 0, 23) waitforvisualfinish - createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, ANIM_TARGET, 2 createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_HYPER_BEAM, SOUND_PAN_TARGET delay 3 - createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, ANIM_TARGET, 2 createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_HYPER_BEAM, SOUND_PAN_TARGET delay 3 - createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, ANIM_TARGET, 2 createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_HYPER_BEAM, SOUND_PAN_TARGET delay 3 - createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, ANIM_TARGET, 2 createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_HYPER_BEAM, SOUND_PAN_TARGET delay 3 - createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, ANIM_TARGET, 2 createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_HYPER_BEAM, SOUND_PAN_TARGET delay 3 - createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 2 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, ANIM_TARGET, 2 createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_HYPER_BEAM, SOUND_PAN_TARGET waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA @@ -4360,7 +4360,7 @@ Move_AERIAL_ACE: Move_IRON_DEFENSE: loopsewithpan SE_SHINY, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 2, RGB_WHITEALPHA, 14, RGB_WHITEALPHA, 0 waitforvisualfinish end @@ -4373,7 +4373,7 @@ Move_BLOCK: Move_HOWL: loadspritegfx ANIM_TAG_NOISE_LINE - createvisualtask AnimTask_DeepInhale, 2, 0 + createvisualtask AnimTask_DeepInhale, 2, ANIM_ATTACKER delay 12 call RoarEffect createvisualtask SoundTask_PlayCryHighPitch, 2, ANIM_ATTACKER, 3 @@ -4572,7 +4572,7 @@ Move_SHOCK_WAVE: Move_HARDEN: loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK waitforvisualfinish end @@ -5269,14 +5269,14 @@ Move_DRAGON_RAGE: Move_RAIN_DANCE: loadspritegfx ANIM_TAG_RAIN_DROPS playsewithpan SE_M_RAIN_DANCE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x781, 2, 0, 4, RGB_BLACK + createvisualtask AnimTask_BlendBattleAnimPal, 10, 1 | (0xF << 7), 2, 0, 4, RGB_BLACK waitforvisualfinish createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 120 createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 120 delay 120 delay 30 waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x781, 2, 4, 0, RGB_BLACK + createvisualtask AnimTask_BlendBattleAnimPal, 10, 1 | (0xF << 7), 2, 4, 0, RGB_BLACK waitforvisualfinish end @@ -6721,7 +6721,7 @@ Move_SUNNY_DAY: loadspritegfx ANIM_TAG_SUNLIGHT monbg ANIM_ATK_PARTNER setalpha 13, 3 - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x781, 1, 0, 6, RGB_WHITE + createvisualtask AnimTask_BlendBattleAnimPal, 10, 1 | (0xF << 7), 1, 0, 6, RGB_WHITE waitforvisualfinish panse_adjustnone SE_M_PETAL_DANCE, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +1, 0 call SunnyDayLightRay @@ -6729,7 +6729,7 @@ Move_SUNNY_DAY: call SunnyDayLightRay call SunnyDayLightRay waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x781, 1, 6, 0, RGB_WHITE + createvisualtask AnimTask_BlendBattleAnimPal, 10, 1 | (0xF << 7), 1, 6, 0, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff @@ -6945,9 +6945,9 @@ Move_HAZE: playsewithpan SE_M_HAZE, 0 createvisualtask AnimTask_HazeScrollingFog, 5 delay 30 - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x780, 2, 0, 16, RGB_BLACK + createvisualtask AnimTask_BlendBattleAnimPal, 10, 0 | (0xF << 7), 2, 0, 16, RGB_BLACK delay 90 - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x780, 1, 16, 0, RGB_BLACK + createvisualtask AnimTask_BlendBattleAnimPal, 10, 0 | (0xF << 7), 1, 16, 0, RGB_BLACK end Move_FIRE_PUNCH: @@ -7219,7 +7219,7 @@ Move_STEEL_WING: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK waitforvisualfinish monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -7245,7 +7245,7 @@ Move_STEEL_WING: Move_IRON_TAIL: loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask AnimTask_MetallicShine, 5, 1, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 1, 0, RGB_BLACK waitforvisualfinish monbg ANIM_TARGET setalpha 12, 8 @@ -7255,7 +7255,7 @@ Move_IRON_TAIL: createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, 1 + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, TRUE clearmonbg ANIM_TARGET blendoff waitforvisualfinish @@ -7275,7 +7275,7 @@ Move_POISON_TAIL: createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, 1 + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, TRUE clearmonbg ANIM_TARGET blendoff call PoisonBubblesEffect @@ -7285,7 +7285,7 @@ Move_POISON_TAIL: Move_METAL_CLAW: loadspritegfx ANIM_TAG_CLAW_SLASH loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 - createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0 + createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK waitforvisualfinish createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 delay 2 @@ -7740,12 +7740,12 @@ Move_HEAL_BELL: unloadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_THIN_RING playsewithpan SE_SHINY, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, 4, 3, 10, 0, RGB(12, 24, 30) + createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, ANIM_PLAYER_LEFT, 3, 10, 0, RGB(12, 24, 30) createvisualtask AnimTask_BlendBattleAnimPal, 10, 10, 3, 10, 0, RGB_WHITE createsprite gBlendThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 16, 0, 0, 0, 1 end HealBellRing: - createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, 4, 3, 8, 0, RGB(12, 24, 30) + createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, ANIM_PLAYER_LEFT, 3, 8, 0, RGB(12, 24, 30) createvisualtask AnimTask_BlendBattleAnimPal, 10, 10, 3, 2, 10, RGB_WHITE createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 0, 1 playsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER @@ -7947,16 +7947,16 @@ Move_PERISH_SONG: panse SE_M_PERISH_SONG, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 delay 80 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_BLACK - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, 4, 0 - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, 5, 0 - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, 6, 0 - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, 7, 0 + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_PLAYER_LEFT, FALSE + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_PLAYER_RIGHT, FALSE + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_OPPONENT_LEFT, FALSE + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_OPPONENT_RIGHT, FALSE delay 100 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_BLACK - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, 4, 1 - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, 5, 1 - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, 6, 1 - createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, 7, 1 + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_PLAYER_LEFT, TRUE + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_PLAYER_RIGHT, TRUE + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_OPPONENT_LEFT, TRUE + createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_OPPONENT_RIGHT, TRUE waitforvisualfinish end @@ -8102,7 +8102,7 @@ Move_ENCORE: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_TAG_HAND createvisualtask AnimTask_CreateSpotlight, 2 - createvisualtask AnimTask_HardwarePaletteFade, 2, 248, 3, 0, 10, 0 + createvisualtask AnimTask_HardwarePaletteFade, 2, BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN, 3, 0, 10, FALSE waitforvisualfinish createsprite gSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8 createsprite gClappingHandSpriteTemplate, ANIM_ATTACKER, 2, -2, 0, 0, 0, 9 @@ -8113,7 +8113,7 @@ Move_ENCORE: createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_ENCORE2, SOUND_PAN_TARGET createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 5, ANIM_TARGET waitforvisualfinish - createvisualtask AnimTask_HardwarePaletteFade, 2, 248, 3, 10, 0, 1 + createvisualtask AnimTask_HardwarePaletteFade, 2, BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN, 3, 10, 0, TRUE waitforvisualfinish createvisualtask AnimTask_RemoveSpotlight, 2 end @@ -8288,7 +8288,7 @@ Move_MORNING_SUN: loadspritegfx ANIM_TAG_BLUE_STAR createvisualtask AnimTask_MorningSunLightBeam, 5 delay 8 - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x781, 8, 0, 12, RGB_WHITE + createvisualtask AnimTask_BlendBattleAnimPal, 10, 1 | (0xF << 7), 8, 0, 12, RGB_WHITE delay 14 call MorningSunStar call MorningSunStar @@ -8305,7 +8305,7 @@ Move_MORNING_SUN: call MorningSunStar call MorningSunStar call MorningSunStar - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x781, 3, 12, 0, RGB_WHITE + createvisualtask AnimTask_BlendBattleAnimPal, 10, 1 | (0xF << 7), 3, 12, 0, RGB_WHITE waitforvisualfinish waitsound call HealingEffect @@ -8364,7 +8364,7 @@ Move_HYPER_BEAM: delay 30 createsoundtask SoundTask_LoopSEAdjustPanning, SE_M_HYPER_BEAM2, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 - createvisualtask AnimTask_FlashAnimTagWithColor, 2, ANIM_TAG_ORBS, 1, 12, RGB(31, 0, 0), 16, 0, 0 + createvisualtask AnimTask_FlashAnimTagWithColor, 2, ANIM_TAG_ORBS, 1, 12, RGB_RED, 16, 0, 0 call HyperBeamOrbs call HyperBeamOrbs call HyperBeamOrbs @@ -8408,7 +8408,7 @@ Move_FLATTER: loadspritegfx ANIM_TAG_CONFETTI createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_ENCORE2, SOUND_PAN_TARGET createvisualtask AnimTask_CreateSpotlight, 2 - createvisualtask AnimTask_HardwarePaletteFade, 2, 248, 3, 0, 10, 0 + createvisualtask AnimTask_HardwarePaletteFade, 2, BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN, 3, 0, 10, FALSE waitforvisualfinish createsprite gFlatterSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8, 80 delay 0 @@ -8439,7 +8439,7 @@ Move_FLATTER: delay 5 createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_FLATTER, SOUND_PAN_TARGET waitforvisualfinish - createvisualtask AnimTask_HardwarePaletteFade, 2, 248, 3, 10, 0, 1 + createvisualtask AnimTask_HardwarePaletteFade, 2, BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN, 3, 10, 0, TRUE waitforvisualfinish createvisualtask AnimTask_RemoveSpotlight, 2 end @@ -9680,10 +9680,10 @@ Move_TWISTER: createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_DEF_PARTNER, 3, 0, 12, 1 delay 4 - createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 3 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, ANIM_TARGET, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET delay 4 - createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 1, 3 + createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, ANIM_TARGET, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET delay 4 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 32, 20, ANIM_TARGET, 3 @@ -10505,13 +10505,13 @@ General_FocusBand: General_Rain: loadspritegfx ANIM_TAG_RAIN_DROPS playsewithpan SE_M_RAIN_DANCE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x781, 2, 0, 4, RGB_BLACK + createvisualtask AnimTask_BlendBattleAnimPal, 10, 1 | (0xF << 7), 2, 0, 4, RGB_BLACK waitforvisualfinish createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 delay 50 waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 10, 0x781, 2, 4, 0, RGB_BLACK + createvisualtask AnimTask_BlendBattleAnimPal, 10, 1 | (0xF << 7), 2, 4, 0, RGB_BLACK waitforvisualfinish end diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 2ff9318be0..e478c396a7 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -298,10 +298,15 @@ #define ANIM_TAG_BLUE_RING_2 (ANIM_SPRITES_START + 288) // battlers -#define ANIM_ATTACKER 0 -#define ANIM_TARGET 1 -#define ANIM_ATK_PARTNER 2 -#define ANIM_DEF_PARTNER 3 +#define ANIM_ATTACKER 0 +#define ANIM_TARGET 1 +#define ANIM_ATK_PARTNER 2 +#define ANIM_DEF_PARTNER 3 +#define ANIM_PLAYER_LEFT 4 +#define ANIM_PLAYER_RIGHT 5 +#define ANIM_OPPONENT_LEFT 6 +#define ANIM_OPPONENT_RIGHT 7 +#define ANIM_ATTACKER_FORCE 8 // stereo panning constants [0-255] // diff --git a/ld_script_modern.txt b/ld_script_modern.txt index a988fe0cd5..a5977db7b1 100644 --- a/ld_script_modern.txt +++ b/ld_script_modern.txt @@ -49,6 +49,7 @@ SECTIONS { ALIGN(4) { src/rom_header.o(.text*); + src/rom_header_gf.o(.text*); src/*.o(.text*); gflib/*.o(.text*); asm/*.o(.text*); From 6fed961ed6e62b18452b0add96f914f009ce46c9 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Fri, 19 Aug 2022 15:29:35 +0100 Subject: [PATCH 03/62] Write palette IDs in hex --- gflib/sprite.c | 2 +- include/gba/defines.h | 6 + include/palette.h | 17 ++ src/battle_anim.c | 12 +- src/battle_anim_dark.c | 12 +- src/battle_anim_effects_1.c | 10 +- src/battle_anim_effects_2.c | 8 +- src/battle_anim_effects_3.c | 10 +- src/battle_anim_fire.c | 3 +- src/battle_anim_ghost.c | 4 +- src/battle_anim_ice.c | 4 +- src/battle_anim_mons.c | 14 +- src/battle_anim_rock.c | 2 +- src/battle_anim_status_effects.c | 2 +- src/battle_anim_throw.c | 22 +-- src/battle_anim_utility_funcs.c | 36 ++--- src/battle_anim_water.c | 4 +- src/battle_arena.c | 6 +- src/battle_bg.c | 172 ++++++++++----------- src/battle_controller_link_partner.c | 2 +- src/battle_controller_player.c | 2 +- src/battle_controller_player_partner.c | 4 +- src/battle_controller_recorded_player.c | 2 +- src/battle_controller_wally.c | 2 +- src/battle_dome.c | 60 +++---- src/battle_factory_screen.c | 56 +++---- src/battle_gfx_sfx_util.c | 44 +++--- src/battle_interface.c | 6 +- src/battle_main.c | 2 +- src/battle_pyramid_bag.c | 30 ++-- src/battle_records.c | 8 +- src/battle_script_commands.c | 2 +- src/battle_transition.c | 72 ++++----- src/battle_transition_frontier.c | 2 +- src/berry_blender.c | 28 ++-- src/berry_crush.c | 28 ++-- src/berry_fix_program.c | 8 +- src/berry_powder.c | 17 +- src/berry_tag_screen.c | 12 +- src/cable_car.c | 2 +- src/cable_club.c | 2 +- src/clear_save_data_screen.c | 8 +- src/contest.c | 44 +++--- src/contest_painting.c | 8 +- src/contest_util.c | 30 ++-- src/credits.c | 8 +- src/data/party_menu.h | 86 +++++------ src/data/trade.h | 42 ++--- src/data/union_room.h | 24 +-- src/daycare.c | 2 +- src/decoration.c | 12 +- src/diploma.c | 6 +- src/dodrio_berry_picking.c | 32 ++-- src/easy_chat.c | 30 ++-- src/egg_hatch.c | 10 +- src/event_object_movement.c | 2 +- src/evolution_scene.c | 20 +-- src/field_effect.c | 8 +- src/field_region_map.c | 6 +- src/field_screen_effect.c | 4 +- src/field_specials.c | 20 +-- src/field_weather.c | 20 +-- src/fieldmap.c | 12 +- src/fldeff_flash.c | 16 +- src/frontier_pass.c | 24 +-- src/frontier_util.c | 6 +- src/hall_of_fame.c | 8 +- src/intro.c | 18 +-- src/intro_credits_graphics.c | 42 ++--- src/item_menu.c | 44 +++--- src/link.c | 14 +- src/list_menu.c | 6 +- src/mail.c | 6 +- src/main_menu.c | 76 ++++----- src/map_name_popup.c | 20 +-- src/match_call.c | 8 +- src/menu.c | 35 +++-- src/menu_specialized.c | 10 +- src/move_relearner.c | 4 +- src/mystery_event_menu.c | 10 +- src/mystery_gift_menu.c | 50 +++--- src/mystery_gift_view.c | 24 +-- src/naming_screen.c | 16 +- src/option_menu.c | 46 +++--- src/palette.c | 18 +-- src/party_menu.c | 40 ++--- src/player_pc.c | 18 +-- src/pokeblock.c | 32 ++-- src/pokeblock_feed.c | 8 +- src/pokedex.c | 40 ++--- src/pokedex_cry_screen.c | 4 +- src/pokemon_animation.c | 29 ++-- src/pokemon_icon.c | 6 +- src/pokemon_jump.c | 32 ++-- src/pokemon_storage_system.c | 70 ++++----- src/pokemon_summary_screen.c | 72 ++++----- src/pokenav_conditions_gfx.c | 18 +-- src/pokenav_conditions_search_results.c | 7 +- src/pokenav_main_menu.c | 12 +- src/pokenav_match_call_gfx.c | 26 ++-- src/pokenav_menu_handler_gfx.c | 12 +- src/pokenav_region_map.c | 10 +- src/pokenav_ribbons_list.c | 5 +- src/pokenav_ribbons_summary.c | 13 +- src/rayquaza_scene.c | 12 +- src/region_map.c | 12 +- src/reset_rtc_screen.c | 6 +- src/roulette.c | 12 +- src/save_failed_screen.c | 12 +- src/scrcmd.c | 2 +- src/secret_base.c | 4 +- src/shop.c | 24 +-- src/slot_machine.c | 46 +++--- src/start_menu.c | 10 +- src/starter_choose.c | 12 +- src/text_window.c | 8 +- src/tileset_anims.c | 4 +- src/title_screen.c | 6 +- src/trade.c | 36 ++--- src/trader.c | 2 +- src/trainer_card.c | 62 ++++---- src/trainer_hill.c | 2 +- src/trainer_pokemon_sprites.c | 8 +- src/union_room.c | 10 +- src/union_room_battle.c | 4 +- src/union_room_chat.c | 32 ++-- src/use_pokeblock.c | 22 +-- src/wallclock.c | 16 +- src/wireless_communication_status_screen.c | 12 +- 129 files changed, 1262 insertions(+), 1240 deletions(-) diff --git a/gflib/sprite.c b/gflib/sprite.c index 9fc597cc3b..be2c5e2805 100644 --- a/gflib/sprite.c +++ b/gflib/sprite.c @@ -1615,7 +1615,7 @@ void LoadSpritePalettes(const struct SpritePalette *palettes) void DoLoadSpritePalette(const u16 *src, u16 paletteOffset) { - LoadPalette(src, paletteOffset + 0x100, 32); + LoadPalette(src, OBJ_PLTT_OFFSET + paletteOffset, PLTT_SIZE_4BPP); } u8 AllocSpritePalette(u16 tag) diff --git a/include/gba/defines.h b/include/gba/defines.h index c52d7ef4f9..3ef025fd88 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -67,6 +67,12 @@ #define DISPLAY_WIDTH 240 #define DISPLAY_HEIGHT 160 +#define PLTT_SIZEOF(n) ((n) * sizeof(u16)) +#define PLTT_SIZE_4BPP PLTT_SIZEOF(16) +#define PLTT_SIZE_8BPP PLTT_SIZEOF(256) + +#define PLTT_OFFSET_4BPP(n) ((n) * PLTT_SIZE_4BPP) + #define TILE_SIZE_4BPP 32 #define TILE_SIZE_8BPP 64 diff --git a/include/palette.h b/include/palette.h index 81a1e1caec..b94cf6aa84 100644 --- a/include/palette.h +++ b/include/palette.h @@ -18,6 +18,13 @@ #define PALETTES_OBJECTS 0xFFFF0000 #define PALETTES_ALL (PALETTES_BG | PALETTES_OBJECTS) +#define PLTT_ID(n) ((n) * 16) +#define BG_PLTT_OFFSET 0x000 +#define OBJ_PLTT_OFFSET 0x100 +#define BG_PLTT_ID(n) (BG_PLTT_OFFSET + PLTT_ID(n)) +#define OBJ_PLTT_ID(n) (OBJ_PLTT_OFFSET + PLTT_ID(n)) +#define OBJ_PLTT_ID2(n) (PLTT_ID((n) + 16)) + enum { FAST_FADE_IN_FROM_WHITE, @@ -74,4 +81,14 @@ void TintPalette_GrayScale2(u16 *palette, u16 count); void TintPalette_SepiaTone(u16 *palette, u16 count); void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 bTone); +extern inline void SetBackdropFromColor(u16 color) +{ + FillPalette(color, 0x00, PLTT_SIZEOF(1)); +} + +extern inline void SetBackdropFromPalette(const u16 *palette) +{ + LoadPalette(palette, 0x00, PLTT_SIZEOF(1)); +} + #endif // GUARD_PALETTE_H diff --git a/src/battle_anim.c b/src/battle_anim.c index 375363212b..a5e487af26 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -706,8 +706,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); - LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], animBg.paletteId * 16, 0x20); - CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void *)(BG_PLTT + animBg.paletteId * 32), 0x20); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(animBg.paletteId)), PLTT_SIZE_4BPP); if (IsContest()) battlerPosition = 0; @@ -741,8 +741,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); - LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], 0x90, 0x20); - CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void *)(BG_PLTT + 0x120), 0x20); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(0x9), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(0x9)), PLTT_SIZE_4BPP); DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); } @@ -1208,13 +1208,13 @@ static void LoadMoveBg(u16 bgId) dmaDest = (void *)BG_SCREEN_ADDR(26); DmaCopy32(3, dmaSrc, dmaDest, 0x800); LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)BG_SCREEN_ADDR(4)); - LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, GetBattleBgPaletteNum() * 16, 32); + LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, BG_PLTT_ID(GetBattleBgPaletteNum()), PLTT_SIZE_4BPP); } else { LZDecompressVram(gBattleAnimBackgroundTable[bgId].tilemap, (void *)BG_SCREEN_ADDR(26)); LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)BG_CHAR_ADDR(2)); - LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, 32, 32); + LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); } } diff --git a/src/battle_anim_dark.c b/src/battle_anim_dark.c index 1281ccc8b4..4106a7485e 100644 --- a/src/battle_anim_dark.c +++ b/src/battle_anim_dark.c @@ -426,7 +426,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId) GetBattleAnimBg1Data(&animBg); task->data[10] = gBattle_BG1_Y; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); - FillPalette(RGB_BLACK, animBg.paletteId * 16, 32); + FillPalette(RGB_BLACK, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); scanlineParams.dmaDest = ®_BG1VOFS; var0 = WINOUT_WIN01_BG1; if (!IsContest()) @@ -436,7 +436,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId) { task->data[10] = gBattle_BG2_Y; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); - FillPalette(RGB_BLACK, 144, 32); + FillPalette(RGB_BLACK, BG_PLTT_ID(0x9), PLTT_SIZE_4BPP); scanlineParams.dmaDest = ®_BG2VOFS; var0 = WINOUT_WIN01_BG2; if (!IsContest()) @@ -566,12 +566,12 @@ void AnimTask_MoveTargetMementoShadow(u8 taskId) { GetBattleAnimBg1Data(&animBg); task->data[10] = gBattle_BG1_Y; - FillPalette(RGB_BLACK, animBg.paletteId * 16, 32); + FillPalette(RGB_BLACK, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); } else { task->data[10] = gBattle_BG2_Y; - FillPalette(RGB_BLACK, 9 * 16, 32); + FillPalette(RGB_BLACK, BG_PLTT_ID(0x9), PLTT_SIZE_4BPP); } SetAllBattlersSpritePriority(3); @@ -863,7 +863,7 @@ void AnimTask_MetallicShine(u8 taskId) GetBattleAnimBg1Data(&animBg); AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap); AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset); - LoadCompressedPalette(gMetalShinePalette, animBg.paletteId * 16, 32); + LoadCompressedPalette(gMetalShinePalette, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); gBattle_BG1_X = -gSprites[spriteId].x + 96; gBattle_BG1_Y = -gSprites[spriteId].y + 32; @@ -872,7 +872,7 @@ void AnimTask_MetallicShine(u8 taskId) if (gBattleAnimArgs[1] == 0) SetGrayscaleOrOriginalPalette(paletteNum, FALSE); else - BlendPalette(paletteNum * 16, 16, 11, gBattleAnimArgs[2]); + BlendPalette(BG_PLTT_ID(paletteNum), 16, 11, gBattleAnimArgs[2]); gTasks[taskId].data[0] = newSpriteId; gTasks[taskId].data[1] = gBattleAnimArgs[0]; diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 0387d39291..14d0839ec9 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -3641,8 +3641,8 @@ void AnimTask_CycleMagicalLeafPal(u8 taskId) switch (task->data[0]) { case 0: - task->data[8] = IndexOfSpritePaletteTag(ANIM_TAG_LEAF) * 16 + 256; - task->data[12] = IndexOfSpritePaletteTag(ANIM_TAG_RAZOR_LEAF) * 16 + 256; + task->data[8] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_LEAF)); + task->data[12] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(ANIM_TAG_RAZOR_LEAF)); task->data[0]++; break; case 1: @@ -4349,7 +4349,7 @@ static void AnimLockOnTarget_Step4(struct Sprite *sprite) int pal; sprite->data[2]++; pal = sprite->oam.paletteNum; - LoadPalette(&gPlttBufferUnfaded[0x108 + pal * 16], pal * 16 | 0x101, 4); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(pal) + 8], OBJ_PLTT_ID(pal) + 1, PLTT_SIZEOF(2)); PlaySE12WithPanning(SE_M_LEER, BattleAnimAdjustPanning(63)); } else if (sprite->data[1] == 0) @@ -5173,8 +5173,8 @@ void AnimTask_DoubleTeam(u8 taskId) struct Task *task = &gTasks[taskId]; task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[1] = AllocSpritePalette(ANIM_TAG_BENT_SPOON); - r3 = (task->data[1] * 16) + 0x100; - r4 = (gSprites[task->data[0]].oam.paletteNum + 16) << 4; + r3 = OBJ_PLTT_ID(task->data[1]); + r4 = OBJ_PLTT_ID2(gSprites[task->data[0]].oam.paletteNum); for (i = 1; i < 16; i++) gPlttBufferUnfaded[r3 + i] = gPlttBufferUnfaded[r4 + i]; diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 33065c0dd8..e7ab07543a 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -2678,7 +2678,7 @@ static void AnimUproarRing(struct Sprite *sprite) u8 index = IndexOfSpritePaletteTag(ANIM_TAG_THIN_RING); if (index != 0xFF) { - BlendPalette(((index << 20) + 0x1010000) >> 16, 15, gBattleAnimArgs[5], gBattleAnimArgs[4]); + BlendPalette((OBJ_PLTT_ID(index) + 1), 15, gBattleAnimArgs[5], gBattleAnimArgs[4]); } StartSpriteAffineAnim(sprite, 1); @@ -3026,7 +3026,7 @@ void AnimTask_LoadMusicNotesPals(u8 taskId) gMonSpritesGfxPtr->buffer = AllocZeroed(0x2000); LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->buffer); for (i = 0; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) - LoadPalette(&gMonSpritesGfxPtr->buffer[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); + LoadPalette(&gMonSpritesGfxPtr->buffer[i * 32], (u16)(OBJ_PLTT_ID(paletteNums[i])), PLTT_SIZE_4BPP); FREE_AND_SET_NULL(gMonSpritesGfxPtr->buffer); DestroyAnimVisualTask(taskId); @@ -3261,7 +3261,7 @@ void AnimTask_HeartsBackground(u8 taskId) GetBattleAnimBg1Data(&animBg); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Attract, animBg.tilesOffset); AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_Attract, FALSE); - LoadCompressedPalette(gBattleAnimBgPalette_Attract, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBgPalette_Attract, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); gTasks[taskId].func = AnimTask_HeartsBackground_Step; } @@ -3345,7 +3345,7 @@ void AnimTask_ScaryFace(u8 taskId) AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, FALSE); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_ScaryFace, animBg.tilesOffset); - LoadCompressedPalette(gBattleAnimBgPalette_ScaryFace, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBgPalette_ScaryFace, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); gTasks[taskId].func = AnimTask_ScaryFace_Step; } diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 6fca60369a..ebfed9b4a3 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -2405,7 +2405,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId) } AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimMaskImage_LightBeam, animBg.tilesOffset); - LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[11] = gBattle_BG1_Y; @@ -2601,7 +2601,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId) } AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimMaskImage_LightBeam, animBg.tilesOffset); - LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[11] = gBattle_BG1_Y; gTasks[taskId].data[0]++; @@ -3252,7 +3252,7 @@ void AnimTask_RolePlaySilhouette(u8 taskId) gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; - FillPalette(RGB_WHITE, (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32); + FillPalette(RGB_WHITE, OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum), PLTT_SIZE_4BPP); gSprites[spriteId].oam.priority = priority; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); @@ -3880,7 +3880,7 @@ void AnimTask_FacadeColorBlend(u8 taskId) gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = gBattleAnimArgs[1]; spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - gTasks[taskId].data[2] = 0x100 + gSprites[spriteId].oam.paletteNum * 16; + gTasks[taskId].data[2] = OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum); gTasks[taskId].func = AnimTask_FacadeColorBlend_Step; } @@ -5145,7 +5145,7 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId) spriteId2 = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, FALSE); if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE) - BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE); + BlendPalette(OBJ_PLTT_ID(gSprites[spriteId2].oam.paletteNum), 16, 6, RGB_WHITE); gTasks[taskId].data[15] = spriteId2; gTasks[taskId].data[0]++; diff --git a/src/battle_anim_fire.c b/src/battle_anim_fire.c index cbfe21c609..2cf3a0ce4d 100644 --- a/src/battle_anim_fire.c +++ b/src/battle_anim_fire.c @@ -2,6 +2,7 @@ #include "battle_anim.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "palette.h" #include "sound.h" #include "util.h" #include "task.h" @@ -1329,7 +1330,7 @@ void AnimTask_BlendBackground(u8 taskId) { struct BattleAnimBgData animBg; GetBattleAnimBg1Data(&animBg); - BlendPalette(animBg.paletteId * 16, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]); + BlendPalette(BG_PLTT_ID(animBg.paletteId), 16, gBattleAnimArgs[0], gBattleAnimArgs[1]); DestroyAnimVisualTask(taskId); } diff --git a/src/battle_anim_ghost.c b/src/battle_anim_ghost.c index 819b60969b..3604daf399 100644 --- a/src/battle_anim_ghost.c +++ b/src/battle_anim_ghost.c @@ -642,8 +642,8 @@ static void AnimTask_SpiteTargetShadow_Step1(u8 taskId) } break; case 1: - task->data[14] = (task->data[14] + 16) * 16; - CpuCopy32(&gPlttBufferUnfaded[task->data[4]], &gPlttBufferFaded[task->data[14]], 32); + task->data[14] = OBJ_PLTT_ID2(task->data[14]); + CpuCopy32(&gPlttBufferUnfaded[task->data[4]], &gPlttBufferFaded[task->data[14]], PLTT_SIZE_4BPP); BlendPalette(task->data[4], 16, 10, RGB(13, 0, 15)); task->data[15]++; break; diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index 6a0ff1154a..6a381a3755 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -1001,7 +1001,7 @@ void AnimTask_HazeScrollingFog(u8 taskId) GetBattleAnimBg1Data(&animBg); LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimFogTilemap, FALSE); - LoadPalette(&gFogPalette, animBg.paletteId * 16, 32); + LoadPalette(&gFogPalette, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); gTasks[taskId].func = AnimTask_HazeScrollingFog_Step; } @@ -1106,7 +1106,7 @@ void AnimTask_LoadMistTiles(u8 taskId) GetBattleAnimBg1Data(&animBg); LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimFogTilemap, FALSE); - LoadPalette(&gFogPalette, animBg.paletteId * 16, 32); + LoadPalette(&gFogPalette, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); gTasks[taskId].data[15] = -1; gTasks[taskId].func = AnimTask_LoadMistTiles_Step; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 05b0daf3f4..42c949ffc0 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -1726,7 +1726,7 @@ void AnimTask_BlendMonInAndOut(u8 task) DestroyAnimVisualTask(task); return; } - gTasks[task].data[0] = (gSprites[spriteId].oam.paletteNum * 0x10) + 0x101; + gTasks[task].data[0] = OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum) + 1; AnimTask_BlendPalInAndOutSetup(&gTasks[task]); } @@ -2104,7 +2104,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 gMonSpritesGfxPtr->buffer = AllocZeroed(0x2000); if (!isBackpic) { - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP); if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->buffer, @@ -2120,7 +2120,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 } else { - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP); if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], gMonSpritesGfxPtr->buffer, @@ -2427,9 +2427,9 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId) task->tPaletteNum = AllocSpritePalette(ANIM_TAG_BENT_SPOON); task->tNumTracesActive = 0; - dest = (task->tPaletteNum + 16) * 16; - src = (gSprites[task->tBattlerSpriteId].oam.paletteNum + 0x10) * 0x10; - + dest = OBJ_PLTT_ID2(task->tPaletteNum); + src = OBJ_PLTT_ID2(gSprites[task->tBattlerSpriteId].oam.paletteNum); + // Set trace's priority based on battler's subpriority task->tPriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); if (task->tPriority == 20 || task->tPriority == 40) @@ -2437,7 +2437,7 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId) else task->tPriority = 3; - CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20); + CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], PLTT_SIZE_4BPP); BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]); task->func = AnimTask_AttackerPunchWithTrace_Step; } diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c index e2ea43fb67..ed887c8757 100644 --- a/src/battle_anim_rock.c +++ b/src/battle_anim_rock.c @@ -410,7 +410,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId) GetBattleAnimBg1Data(&animBg); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Sandstorm, animBg.tilesOffset); AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_Sandstorm, FALSE); - LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) var0 = 1; diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index f56d04ccd1..4e6b3a3402 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -316,7 +316,7 @@ static void Task_UpdateFlashingCircleImpacts(u8 taskId) if (gTasks[taskId].data[2] == 2) { gTasks[taskId].data[2] = 0; - BlendPalette(0x100 + gTasks[taskId].data[0] * 16, 16, gTasks[taskId].data[4], gTasks[taskId].data[1]); + BlendPalette(OBJ_PLTT_ID(gTasks[taskId].data[0]), 16, gTasks[taskId].data[4], gTasks[taskId].data[1]); if (gTasks[taskId].data[5] == 0) { gTasks[taskId].data[4]++; diff --git a/src/battle_anim_throw.c b/src/battle_anim_throw.c index b029951426..aaec63e59b 100755 --- a/src/battle_anim_throw.c +++ b/src/battle_anim_throw.c @@ -471,7 +471,7 @@ void AnimTask_UnusedLevelUpHealthBox(u8 taskId) GetBattleAnimBg1Data(&animBgData); AnimLoadCompressedBgTilemap(animBgData.bgId, UnusedLevelupAnimationTilemap); AnimLoadCompressedBgGfx(animBgData.bgId, UnusedLevelupAnimationGfx, animBgData.tilesOffset); - LoadCompressedPalette(gCureBubblesPal, animBgData.paletteId << 4, 32); + LoadCompressedPalette(gCureBubblesPal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); gBattle_BG1_X = -gSprites[spriteId3].x + 32; gBattle_BG1_Y = -gSprites[spriteId3].y - 32; @@ -553,10 +553,10 @@ static void LoadHealthboxPalsForLevelUp(u8 *paletteId1, u8 *paletteId2, u8 battl *paletteId1 = AllocSpritePalette(0xD709); *paletteId2 = AllocSpritePalette(0xD70A); - offset1 = (gSprites[healthBoxSpriteId].oam.paletteNum * 16) + 0x100; - offset2 = (gSprites[spriteId2].oam.paletteNum * 16) + 0x100; - LoadPalette(&gPlttBufferUnfaded[offset1], *paletteId1 * 16 + 0x100, 0x20); - LoadPalette(&gPlttBufferUnfaded[offset2], *paletteId2 * 16 + 0x100, 0x20); + offset1 = OBJ_PLTT_ID(gSprites[healthBoxSpriteId].oam.paletteNum); + offset2 = OBJ_PLTT_ID(gSprites[spriteId2].oam.paletteNum); + LoadPalette(&gPlttBufferUnfaded[offset1], OBJ_PLTT_ID(*paletteId1), PLTT_SIZE_4BPP); + LoadPalette(&gPlttBufferUnfaded[offset2], OBJ_PLTT_ID(*paletteId2), PLTT_SIZE_4BPP); gSprites[healthBoxSpriteId].oam.paletteNum = *paletteId1; gSprites[spriteId1].oam.paletteNum = *paletteId1; @@ -620,7 +620,7 @@ static void AnimTask_FlashHealthboxOnLevelUp_Step(u8 taskId) if (gTasks[taskId].data[2] > 16) gTasks[taskId].data[2] = 16; - paletteOffset = paletteNum * 16 + 0x100; + paletteOffset = OBJ_PLTT_ID(paletteNum); BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31)); if (gTasks[taskId].data[2] == 16) gTasks[taskId].data[1]++; @@ -630,7 +630,7 @@ static void AnimTask_FlashHealthboxOnLevelUp_Step(u8 taskId) if (gTasks[taskId].data[2] < 0) gTasks[taskId].data[2] = 0; - paletteOffset = paletteNum * 16 + 0x100; + paletteOffset = OBJ_PLTT_ID(paletteNum); BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31)); if (gTasks[taskId].data[2] == 0) DestroyAnimVisualTask(taskId); @@ -2030,12 +2030,12 @@ u8 LaunchBallFadeMonTask(bool8 unfadeLater, u8 spritePalNum, u32 selectedPalette if (!unfadeLater) { - BlendPalette(spritePalNum * 16 + 0x100, 16, 0, gBallOpenFadeColors[ballId]); + BlendPalette(OBJ_PLTT_ID(spritePalNum), 16, 0, gBallOpenFadeColors[ballId]); gTasks[taskId].tdCoeff = 1; } else { - BlendPalette(spritePalNum * 16 + 0x100, 16, 16, gBallOpenFadeColors[ballId]); + BlendPalette(OBJ_PLTT_ID(spritePalNum), 16, 16, gBallOpenFadeColors[ballId]); gTasks[taskId].tCoeff = 16; gTasks[taskId].tdCoeff = -1; gTasks[taskId].func = Task_FadeMon_ToNormal; @@ -2051,7 +2051,7 @@ static void Task_FadeMon_ToBallColor(u8 taskId) if (gTasks[taskId].tTimer <= 16) { - BlendPalette(gTasks[taskId].tPalOffset * 16 + 0x100, 16, gTasks[taskId].tCoeff, gBallOpenFadeColors[ballId]); + BlendPalette(OBJ_PLTT_ID(gTasks[taskId].tPalOffset), 16, gTasks[taskId].tCoeff, gBallOpenFadeColors[ballId]); gTasks[taskId].tCoeff += gTasks[taskId].tdCoeff; gTasks[taskId].tTimer++; } @@ -2079,7 +2079,7 @@ static void Task_FadeMon_ToNormal_Step(u8 taskId) if (gTasks[taskId].tTimer <= 16) { - BlendPalette(gTasks[taskId].tPalOffset * 16 + 0x100, 16, gTasks[taskId].tCoeff, gBallOpenFadeColors[ballId]); + BlendPalette(OBJ_PLTT_ID(gTasks[taskId].tPalOffset), 16, gTasks[taskId].tCoeff, gBallOpenFadeColors[ballId]); gTasks[taskId].tCoeff += gTasks[taskId].tdCoeff; gTasks[taskId].tTimer++; } diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index 688a6e5aea..197443aa85 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -166,7 +166,7 @@ void StartBlendAnimSpriteColor(u8 taskId, u32 selectedPalettes) static void AnimTask_BlendSpriteColor_Step2(u8 taskId) { u32 selectedPalettes; - u16 singlePaletteMask = 0; + u16 singlePaletteOffset = 0x00; if (gTasks[taskId].data[9] == gTasks[taskId].data[2]) { @@ -175,8 +175,8 @@ static void AnimTask_BlendSpriteColor_Step2(u8 taskId) while (selectedPalettes != 0) { if (selectedPalettes & 1) - BlendPalette(singlePaletteMask, 16, gTasks[taskId].data[10], gTasks[taskId].data[5]); - singlePaletteMask += 0x10; + BlendPalette(singlePaletteOffset, 16, gTasks[taskId].data[10], gTasks[taskId].data[5]); + singlePaletteOffset += 0x10; selectedPalettes >>= 1; } @@ -333,7 +333,7 @@ void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId) GetBattleAnimBg1Data(&animBgData); AnimLoadCompressedBgTilemapHandleContest(&animBgData, gBattleAnimMaskTilemap_Curse, FALSE); AnimLoadCompressedBgGfx(animBgData.bgId, gBattleAnimMaskImage_Curse, animBgData.tilesOffset); - LoadPalette(sCurseLinesPalette, animBgData.paletteId * 16 + 1, 2); + LoadPalette(sCurseLinesPalette, BG_PLTT_ID(animBgData.paletteId) + 1, PLTT_SIZEOF(1)); gBattle_BG1_X = -gSprites[spriteId].x + 32; gBattle_BG1_Y = -gSprites[spriteId].y + 32; @@ -478,28 +478,28 @@ static void StatsChangeAnimation_Step2(u8 taskId) switch (sAnimStatsChangeData->data[1]) { case 0: - LoadCompressedPalette(gBattleStatMask2_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask2_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 1: - LoadCompressedPalette(gBattleStatMask1_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask1_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 2: - LoadCompressedPalette(gBattleStatMask3_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask3_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 3: - LoadCompressedPalette(gBattleStatMask4_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask4_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 4: - LoadCompressedPalette(gBattleStatMask6_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask6_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 5: - LoadCompressedPalette(gBattleStatMask7_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask7_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case 6: - LoadCompressedPalette(gBattleStatMask8_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask8_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; default: - LoadCompressedPalette(gBattleStatMask5_Pal, animBgData.paletteId * 16, 32); + LoadCompressedPalette(gBattleStatMask5_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; } @@ -639,16 +639,10 @@ static void AnimTask_Flash_Step(u8 taskId) for (i = 0; i < 16; i++) { if ((task->data[15] >> i) & 1) - { - u16 paletteOffset = i * 16; - BlendPalette(paletteOffset, 16, task->data[2], 0xFFFF); - } + BlendPalette(BG_PLTT_ID(i), 16, task->data[2], 0xFFFF); if ((task->data[14] >> i) & 1) - { - u16 paletteOffset = i * 16 + 0x100; - BlendPalette(paletteOffset, 16, task->data[2], 0); - } + BlendPalette(OBJ_PLTT_ID(i), 16, task->data[2], 0); } if (task->data[2] == 0) @@ -822,7 +816,7 @@ void StartMonScrollingBgMask(u8 taskId, int unused, u16 scrollSpeed, u8 battler, GetBattleAnimBg1Data(&animBgData); AnimLoadCompressedBgTilemapHandleContest(&animBgData, tilemap, FALSE); AnimLoadCompressedBgGfx(animBgData.bgId, gfx, animBgData.tilesOffset); - LoadCompressedPalette(palette, animBgData.paletteId * 16, 32); + LoadCompressedPalette(palette, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); gBattle_BG1_X = 0; gBattle_BG1_Y = 0; diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c index b7c2df3d11..117dd3b88c 100644 --- a/src/battle_anim_water.c +++ b/src/battle_anim_water.c @@ -825,9 +825,9 @@ void AnimTask_CreateSurfWave(u8 taskId) } AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset); if (gBattleAnimArgs[0] == 0) - LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBgPalette_Surf, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); else - LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); taskId2 = CreateTask(AnimTask_SurfWaveScanlineEffect, gTasks[taskId].priority + 1); gTasks[taskId].data[15] = taskId2; gTasks[taskId2].data[0] = 0; diff --git a/src/battle_arena.c b/src/battle_arena.c index 92b7c66a3a..8139325191 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -514,7 +514,7 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) BeginNormalPaletteFade(0x7FFFFF1C, 4, 0, 8, RGB_BLACK); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); LoadCompressedSpriteSheet(sBattleArenaJudgementSymbolsSpriteSheet); - LoadCompressedPalette(gBattleArenaJudgementSymbolsPalette, 0x1F0, 0x20); + LoadCompressedPalette(gBattleArenaJudgementSymbolsPalette, OBJ_PLTT_ID(0xF), PLTT_SIZE_4BPP); gBattle_WIN0H = 0xFF; gBattle_WIN0V = 0x70; (*state)++; @@ -894,7 +894,7 @@ static void BufferArenaOpponentName(void) void DrawArenaRefereeTextBox(void) { u8 width = 27; - u8 palNum = 7; + u8 palNum = 0x7; FillBgTilemapBufferRect(0, 0, 254, 14, 1, 6, palNum); FillBgTilemapBufferRect(0, 0, 32, 14, 1, 6, palNum); @@ -918,7 +918,7 @@ void EraseArenaRefereeTextBox(void) { u8 width; u8 height; - u8 palNum = 0; + u8 palNum = 0x0; FillBgTilemapBufferRect(0, 3, 0, 14, 1, 1, palNum); height = 4; diff --git a/src/battle_bg.c b/src/battle_bg.c index ace4ea24fa..163b77a517 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -167,7 +167,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 0x0090, }, [B_WIN_ACTION_PROMPT] = { @@ -176,7 +176,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 35, .width = 14, .height = 4, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 0x01c0, }, [B_WIN_ACTION_MENU] = { @@ -185,7 +185,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 35, .width = 12, .height = 4, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0190, }, [B_WIN_MOVE_NAME_1] = { @@ -194,7 +194,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0300, }, [B_WIN_MOVE_NAME_2] = { @@ -203,7 +203,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0310, }, [B_WIN_MOVE_NAME_3] = { @@ -212,7 +212,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0320, }, [B_WIN_MOVE_NAME_4] = { @@ -221,7 +221,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0330, }, [B_WIN_PP] = { @@ -230,7 +230,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 4, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0290, }, [B_WIN_DUMMY] = { @@ -239,7 +239,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 57, .width = 0, .height = 0, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0298, }, [B_WIN_PP_REMAINING] = { @@ -248,7 +248,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 4, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0298, }, [B_WIN_MOVE_TYPE] = { @@ -257,7 +257,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x02a0, }, [B_WIN_SWITCH_PROMPT] = { @@ -266,7 +266,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 4, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x02b0, }, [B_WIN_YESNO] = { @@ -275,7 +275,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 9, .width = 3, .height = 4, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0100, }, [B_WIN_LEVEL_UP_BOX] = { @@ -284,7 +284,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 8, .width = 10, .height = 11, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0100, }, [B_WIN_LEVEL_UP_BANNER] = { @@ -293,7 +293,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 0, .width = 12, .height = 3, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 0x016e, }, [B_WIN_VS_PLAYER] = { @@ -302,7 +302,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 3, .width = 6, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0020, }, [B_WIN_VS_OPPONENT] = { @@ -311,7 +311,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 3, .width = 6, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0040, }, [B_WIN_VS_MULTI_PLAYER_1] = { @@ -320,7 +320,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 6, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0020, }, [B_WIN_VS_MULTI_PLAYER_2] = { @@ -329,7 +329,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 6, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0040, }, [B_WIN_VS_MULTI_PLAYER_3] = { @@ -338,7 +338,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 6, .width = 6, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0060, }, [B_WIN_VS_MULTI_PLAYER_4] = { @@ -347,7 +347,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 6, .width = 6, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0080, }, [B_WIN_VS_OUTCOME_DRAW] = { @@ -356,7 +356,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 6, .height = 2, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 0x00a0, }, [B_WIN_VS_OUTCOME_LEFT] = { @@ -365,7 +365,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 7, .height = 2, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 0x00a0, }, [B_WIN_VS_OUTCOME_RIGHT] = { @@ -374,7 +374,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 7, .height = 2, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 0x00b0, }, DUMMY_WIN_TEMPLATE @@ -388,7 +388,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 0x0090, }, [B_WIN_ACTION_PROMPT] = { @@ -397,7 +397,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 35, .width = 14, .height = 4, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 0x01c0, }, [B_WIN_ACTION_MENU] = { @@ -406,7 +406,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 35, .width = 12, .height = 4, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0190, }, [B_WIN_MOVE_NAME_1] = { @@ -415,7 +415,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0300, }, [B_WIN_MOVE_NAME_2] = { @@ -424,7 +424,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0310, }, [B_WIN_MOVE_NAME_3] = { @@ -433,7 +433,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0320, }, [B_WIN_MOVE_NAME_4] = { @@ -442,7 +442,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0330, }, [B_WIN_PP] = { @@ -451,7 +451,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 4, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0290, }, [B_WIN_DUMMY] = { @@ -460,7 +460,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 57, .width = 0, .height = 0, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0298, }, [B_WIN_PP_REMAINING] = { @@ -469,7 +469,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 4, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0298, }, [B_WIN_MOVE_TYPE] = { @@ -478,7 +478,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x02a0, }, [B_WIN_SWITCH_PROMPT] = { @@ -487,7 +487,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 4, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x02b0, }, [B_WIN_YESNO] = { @@ -496,7 +496,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 9, .width = 3, .height = 4, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0100, }, [B_WIN_LEVEL_UP_BOX] = { @@ -505,7 +505,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 8, .width = 10, .height = 11, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0100, }, [B_WIN_LEVEL_UP_BANNER] = { @@ -514,7 +514,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 0, .width = 12, .height = 3, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 0x016e, }, [ARENA_WIN_PLAYER_NAME] = { @@ -523,7 +523,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 1, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0100, }, [ARENA_WIN_VS] = { @@ -532,7 +532,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 1, .width = 2, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0110, }, [ARENA_WIN_OPPONENT_NAME] = { @@ -541,7 +541,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 1, .width = 8, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0114, }, [ARENA_WIN_MIND] = { @@ -550,7 +550,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 4, .width = 6, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0124, }, [ARENA_WIN_SKILL] = { @@ -559,7 +559,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 6, .width = 6, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0130, }, [ARENA_WIN_BODY] = { @@ -568,7 +568,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 8, .width = 6, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x013c, }, [ARENA_WIN_JUDGEMENT_TITLE] = { @@ -577,7 +577,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 11, .width = 14, .height = 2, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0x0148, }, [ARENA_WIN_JUDGEMENT_TEXT] = { @@ -586,7 +586,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 0x0090, }, DUMMY_WIN_TEMPLATE @@ -742,17 +742,17 @@ void InitBattleBgsVideo(void) void LoadBattleMenuWindowGfx(void) { - LoadUserWindowBorderGfx(2, 0x12, 0x10); - LoadUserWindowBorderGfx(2, 0x22, 0x10); - LoadCompressedPalette(gBattleWindowTextPalette, 0x50, 0x20); + LoadUserWindowBorderGfx(2, 0x12, BG_PLTT_ID(0x1)); + LoadUserWindowBorderGfx(2, 0x22, BG_PLTT_ID(0x1)); + LoadCompressedPalette(gBattleWindowTextPalette, BG_PLTT_ID(0x5), PLTT_SIZE_4BPP); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { // Load graphics for the Battle Arena referee's mid-battle messages. - Menu_LoadStdPalAt(0x70); - LoadMessageBoxGfx(0, 0x30, 0x70); - gPlttBufferUnfaded[0x76] = 0; - CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2); + Menu_LoadStdPalAt(BG_PLTT_ID(0x7)); + LoadMessageBoxGfx(0, 0x30, BG_PLTT_ID(0x7)); + gPlttBufferUnfaded[BG_PLTT_ID(0x7) + 6] = 0; + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(0x7) + 6], &gPlttBufferFaded[BG_PLTT_ID(0x7) + 6], PLTT_SIZEOF(1)); } } @@ -762,25 +762,25 @@ void DrawMainBattleBackground(void) { LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) { LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE) { LZDecompressVram(gBattleTerrainTiles_Water, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA) { LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); } else { @@ -791,14 +791,14 @@ void DrawMainBattleBackground(void) { LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); return; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); return; } } @@ -809,47 +809,47 @@ void DrawMainBattleBackground(void) case MAP_BATTLE_SCENE_NORMAL: LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); + LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GYM: LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_MAGMA: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_AQUA: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_SIDNEY: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_PHOEBE: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GLACIA: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_DRAKE: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_FRONTIER: LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; } } @@ -860,7 +860,7 @@ void LoadBattleTextboxAndBackground(void) LZDecompressVram(gBattleTextboxTiles, (void *)(BG_CHAR_ADDR(0))); CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); CopyBgTilemapBufferToVram(0); - LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); LoadBattleMenuWindowGfx(); DrawMainBattleBackground(); } @@ -1126,7 +1126,7 @@ void DrawBattleEntryBackground(void) { LZDecompressVram(gBattleVSFrame_Gfx, (void *)(BG_CHAR_ADDR(1))); LZDecompressVram(gVsLettersGfx, (void *)OBJ_VRAM0); - LoadCompressedPalette(gBattleVSFrame_Pal, 0x60, 0x20); + LoadCompressedPalette(gBattleVSFrame_Pal, BG_PLTT_ID(0x6), PLTT_SIZE_4BPP); SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1); SetGpuReg(REG_OFFSET_BG1CNT, 0x5C04); CopyToBgTilemapBuffer(1, gBattleVSFrame_Tilemap, 0, 0); @@ -1219,7 +1219,7 @@ bool8 LoadChosenBattleElement(u8 caseId) CopyBgTilemapBufferToVram(0); break; case 2: - LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); break; case 3: if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER)) @@ -1345,14 +1345,14 @@ bool8 LoadChosenBattleElement(u8 caseId) case 5: if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER)) { - LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { if (gGameVersion == VERSION_RUBY) - LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); else - LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); } else { @@ -1361,12 +1361,12 @@ bool8 LoadChosenBattleElement(u8 caseId) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; } } @@ -1375,31 +1375,31 @@ bool8 LoadChosenBattleElement(u8 caseId) { default: case MAP_BATTLE_SCENE_NORMAL: - LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); + LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GYM: - LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_MAGMA: - LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_AQUA: - LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_SIDNEY: - LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_PHOEBE: - LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GLACIA: - LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_DRAKE: - LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_FRONTIER: - LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); break; } } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index c072ae12ff..8c5b0bff17 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1558,7 +1558,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void) trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; } - LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 272e0120c6..22a710d4cd 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -2960,7 +2960,7 @@ static void PlayerHandleIntroTrainerBallThrow(void) StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); - LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(Task_StartSendOutAnim, 5); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 3812a8ffee..7a389f5dd2 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1794,12 +1794,12 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void) if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { u8 spriteId = TRAINER_BACK_PIC_STEVEN; - LoadCompressedPalette(gTrainerBackPicPaletteTable[spriteId].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[spriteId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); } else { u8 spriteId = GetFrontierTrainerFrontSpriteId(gPartnerTrainerId); - LoadCompressedPalette(gTrainerFrontPicPaletteTable[spriteId].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerFrontPicPaletteTable[spriteId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 6200b5ef63..35979cb931 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -1678,7 +1678,7 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void) else trainerPicId = gSaveBlock2Ptr->playerGender; - LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 8e02831776..bb2adba5fa 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -1445,7 +1445,7 @@ static void WallyHandleIntroTrainerBallThrow(void) StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); - LoadCompressedPalette(gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_WALLY].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_WALLY].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(Task_StartSendOutAnim, 5); diff --git a/src/battle_dome.c b/src/battle_dome.c index 9018050311..4293e5e19b 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -676,7 +676,7 @@ static const struct WindowTemplate sTourneyTreeWindowTemplates[] = .tilemapTop = 3, .width = 8, .height = 16, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 16, }, { @@ -685,7 +685,7 @@ static const struct WindowTemplate sTourneyTreeWindowTemplates[] = .tilemapTop = 3, .width = 8, .height = 16, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 144, }, { @@ -694,7 +694,7 @@ static const struct WindowTemplate sTourneyTreeWindowTemplates[] = .tilemapTop = 1, .width = 14, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 272, }, DUMMY_WIN_TEMPLATE, @@ -708,7 +708,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 2, .width = 26, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1, }, { @@ -717,7 +717,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 53, }, { @@ -726,7 +726,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 7, .width = 9, .height = 3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 69, }, { @@ -735,7 +735,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 96, }, { @@ -744,7 +744,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 12, .width = 26, .height = 7, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 112, }, { @@ -753,7 +753,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 2, .width = 23, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 294, }, { @@ -762,7 +762,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 340, }, { @@ -771,7 +771,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 356, }, { @@ -780,7 +780,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 16, .width = 26, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 372, }, { @@ -789,7 +789,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 2, .width = 26, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1, }, { @@ -798,7 +798,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 53, }, { @@ -807,7 +807,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 7, .width = 9, .height = 3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 69, }, { @@ -816,7 +816,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 96, }, { @@ -825,7 +825,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 12, .width = 26, .height = 7, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 112, }, { @@ -834,7 +834,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 2, .width = 23, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 294, }, { @@ -843,7 +843,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 340, }, { @@ -852,7 +852,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 356, }, { @@ -861,7 +861,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 16, .width = 26, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 372, }, #ifdef UBFIX @@ -3048,12 +3048,12 @@ static void Task_ShowTourneyInfoCard(u8 taskId) DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyInfoCard_Tilemap, 0x2000, 0, 1); DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyInfoCardBg_Tilemap, 0x800, 0, 1); LoadCompressedSpriteSheet(sTourneyTreeButtonsSpriteSheet); - LoadCompressedPalette(gDomeTourneyTree_Pal, 0, 0x200); - LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, 0x100, 0x200); - LoadCompressedPalette(gBattleWindowTextPalette, 0xF0, 0x20); + LoadCompressedPalette(gDomeTourneyTree_Pal, BG_PLTT_OFFSET, BG_PLTT_SIZE); + LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, OBJ_PLTT_OFFSET, OBJ_PLTT_SIZE); + LoadCompressedPalette(gBattleWindowTextPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); if (mode == INFOCARD_MATCH) - LoadCompressedPalette(gDomeTourneyMatchCardBg_Pal, 0x50, 0x20); // Changes the moving info card bg to orange when in match card mode - CpuFill32(0, gPlttBufferFaded, 0x400); + LoadCompressedPalette(gDomeTourneyMatchCardBg_Pal, BG_PLTT_ID(0x5), PLTT_SIZE_4BPP); // Changes the moving info card bg to orange when in match card mode + CpuFill32(0, gPlttBufferFaded, PLTT_SIZE); ShowBg(0); ShowBg(1); ShowBg(2); @@ -5327,10 +5327,10 @@ static void Task_ShowTourneyTree(u8 taskId) DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLine_Gfx, 0x2000, 0, 0); DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLineDown_Tilemap, 0x2000, 0, 1); DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyLineUp_Tilemap, 0x2000, 0, 1); - LoadCompressedPalette(gDomeTourneyTree_Pal, 0, 0x200); - LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, 0x100, 0x200); - LoadCompressedPalette(gBattleWindowTextPalette, 0xF0, 0x20); - CpuFill32(0, gPlttBufferFaded, 0x400); + LoadCompressedPalette(gDomeTourneyTree_Pal, BG_PLTT_OFFSET, BG_PLTT_SIZE); + LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, OBJ_PLTT_OFFSET, OBJ_PLTT_SIZE); + LoadCompressedPalette(gBattleWindowTextPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + CpuFill32(0, gPlttBufferFaded, PLTT_SIZE); ShowBg(0); ShowBg(1); ShowBg(2); diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index 0e3ebaeff8..c6843e7533 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -350,7 +350,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 2, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0001, }, [SELECT_WIN_SPECIES] = { @@ -359,7 +359,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 2, .width = 11, .height = 2, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x0019, }, [SELECT_WIN_INFO] = { @@ -368,7 +368,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 15, .width = 20, .height = 3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x002f, }, [SELECT_WIN_OPTIONS] = { @@ -377,7 +377,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 14, .width = 8, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x006b, }, [SELECT_WIN_YES_NO] = { @@ -386,7 +386,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 14, .width = 8, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x009b, }, [SELECT_WIN_MON_CATEGORY] = { @@ -395,7 +395,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 0, .width = 15, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x00bb, }, DUMMY_WIN_TEMPLATE, @@ -945,7 +945,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0001, }, [SWAP_WIN_SPECIES] = { @@ -954,7 +954,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 11, .height = 2, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x0019, }, [SWAP_WIN_INFO] = { @@ -963,7 +963,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 15, .width = 20, .height = 3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x002f, }, [SWAP_WIN_OPTIONS] = { @@ -972,7 +972,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 14, .width = 9, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x006b, }, [SWAP_WIN_YES_NO] = { @@ -981,7 +981,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 14, .width = 8, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x00a1, }, [SWAP_WIN_ACTION_FADE] = { @@ -990,7 +990,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 15, .width = 9, .height = 5, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x006b, }, [SWAP_WIN_UNUSED] = { @@ -999,7 +999,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 4, .height = 2, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x00c1, }, [SWAP_WIN_SPECIES_AT_FADE] = { @@ -1008,7 +1008,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 11, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x00c9, }, [SWAP_WIN_MON_CATEGORY] = { @@ -1017,7 +1017,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 0, .width = 15, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x00df, }, DUMMY_WIN_TEMPLATE, @@ -1175,16 +1175,16 @@ static void CB2_InitSelectScreen(void) LoadBgTiles(3, sSelectMonPicBgTilesetBuffer, 0x60, 0); CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSelectMenuTilemapBuffer, BG_SCREEN_SIZE); LoadBgTilemap(1, sSelectMenuTilemapBuffer, BG_SCREEN_SIZE, 0); - LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); - LoadPalette(sSelectText_Pal, 0xF0, 8); - LoadPalette(sSelectText_Pal, 0xE0, 10); + LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 2 * PLTT_SIZE_4BPP); + LoadPalette(sSelectText_Pal, BG_PLTT_ID(0xF), PLTT_SIZEOF(4)); + LoadPalette(sSelectText_Pal, BG_PLTT_ID(0xE), PLTT_SIZEOF(5)); #ifdef UBFIX if (sFactorySelectScreen && sFactorySelectScreen->fromSummaryScreen) #else if (sFactorySelectScreen->fromSummaryScreen == TRUE) #endif gPlttBufferUnfaded[228] = sFactorySelectScreen->speciesNameColorBackup; - LoadPalette(sMonPicBg_Pal, 0x20, 4); + LoadPalette(sMonPicBg_Pal, BG_PLTT_ID(0x2), PLTT_SIZEOF(2)); gMain.state++; break; case 3: @@ -2748,7 +2748,7 @@ static void Swap_Task_FadeOutSpeciesName(u8 taskId) gTasks[taskId].tState++; break; case 1: - LoadPalette(&gPlttBufferUnfaded[0xF0], 0xE0, 0xA); + LoadPalette(&gPlttBufferUnfaded[BG_PLTT_ID(0xF)], BG_PLTT_ID(0xE), PLTT_SIZEOF(5)); gTasks[taskId].tState++; break; case 2: @@ -2994,7 +2994,7 @@ static void Swap_Task_ScreenInfoTransitionOut(u8 taskId) switch (gTasks[taskId].tState) { case 0: - LoadPalette(sSwapText_Pal, 0xE0, sizeof(sSwapText_Pal)); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(0xE), sizeof(sSwapText_Pal)); Swap_PrintActionStrings(); PutWindowTilemap(SWAP_WIN_ACTION_FADE); gTasks[taskId].tState++; @@ -3309,10 +3309,10 @@ static void CB2_InitSwapScreen(void) LoadBgTiles(3, sSwapMonPicBgTilesetBuffer, 0x60, 0); CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSwapMenuTilemapBuffer, BG_SCREEN_SIZE); LoadBgTilemap(1, sSwapMenuTilemapBuffer, BG_SCREEN_SIZE, 0); - LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); - LoadPalette(sSwapText_Pal, 0xF0, sizeof(sSwapText_Pal)); - LoadPalette(sSwapText_Pal, 0xE0, sizeof(sSwapText_Pal)); - LoadPalette(sMonPicBg_Pal, 0x20, 4); + LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 2 * PLTT_SIZE_4BPP); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(0xF), sizeof(sSwapText_Pal)); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(0xE), sizeof(sSwapText_Pal)); + LoadPalette(sMonPicBg_Pal, BG_PLTT_ID(0x2), PLTT_SIZEOF(2)); gMain.state++; break; case 3: @@ -3867,7 +3867,7 @@ static void Swap_PrintMonSpeciesAtFade(void) pal[4] = gPlttBufferFaded[228]; else pal[4] = sFactorySwapScreen->speciesNameColorBackup; - LoadPalette(pal, 0xF0, sizeof(sSwapText_Pal)); + LoadPalette(pal, BG_PLTT_ID(0xF), sizeof(sSwapText_Pal)); PutWindowTilemap(SWAP_WIN_SPECIES_AT_FADE); FillWindowPixelBuffer(SWAP_WIN_SPECIES_AT_FADE, PIXEL_FILL(0)); @@ -3895,8 +3895,8 @@ static void Swap_PrintMonSpeciesForTransition(void) u16 species; u8 x; - LoadPalette(sSwapText_Pal, 0xE0, sizeof(sSwapText_Pal)); - CpuCopy16(&gPlttBufferUnfaded[240], &gPlttBufferFaded[224], 10); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(0xE), sizeof(sSwapText_Pal)); + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(0xF)], &gPlttBufferFaded[BG_PLTT_ID(0xE)], PLTT_SIZEOF(5)); if (sFactorySwapScreen->cursorPos >= FRONTIER_PARTY_SIZE) { diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index ca6be9d4e2..42f3805aa0 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -576,7 +576,7 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) gMonSpritesGfxPtr->sprites.ptr[position], species, currentPersonality); - paletteOffset = 0x100 + battlerId * 16; + paletteOffset = OBJ_PLTT_ID(battlerId); if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) lzPaletteData = GetMonFrontSpritePal(mon); @@ -584,21 +584,21 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); LZDecompressWram(lzPaletteData, gDecompressionBuffer); - LoadPalette(gDecompressionBuffer, paletteOffset, 0x20); - LoadPalette(gDecompressionBuffer, 0x80 + battlerId * 16, 0x20); + LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(gDecompressionBuffer, 0x80 + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); if (species == SPECIES_CASTFORM) { - paletteOffset = 0x100 + battlerId * 16; + paletteOffset = OBJ_PLTT_ID(battlerId); LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP); } // transform's pink color if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, PLTT_SIZEOF(16)); } } @@ -639,7 +639,7 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) species, currentPersonality); } - paletteOffset = 0x100 + battlerId * 16; + paletteOffset = OBJ_PLTT_ID(battlerId); if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) lzPaletteData = GetMonFrontSpritePal(mon); @@ -647,21 +647,21 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); LZDecompressWram(lzPaletteData, gDecompressionBuffer); - LoadPalette(gDecompressionBuffer, paletteOffset, 0x20); - LoadPalette(gDecompressionBuffer, 0x80 + battlerId * 16, 0x20); + LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(gDecompressionBuffer, 0x80 + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); if (species == SPECIES_CASTFORM) { - paletteOffset = 0x100 + battlerId * 16; + paletteOffset = OBJ_PLTT_ID(battlerId); LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP); } // transform's pink color if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, PLTT_SIZEOF(16)); } } @@ -690,7 +690,7 @@ void DecompressTrainerBackPic(u16 backPicId, u8 battlerId) gMonSpritesGfxPtr->sprites.ptr[position], SPECIES_NONE); LoadCompressedPalette(gTrainerBackPicPaletteTable[backPicId].data, - 0x100 + 16 * battlerId, 0x20); + OBJ_PLTT_ID(battlerId), PLTT_SIZE_4BPP); } void BattleGfxSfxDummy3(u8 gender) @@ -903,13 +903,13 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform) if (castform) { StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleSpritesDataPtr->animationData->animArg); - paletteOffset = 0x100 + battlerAtk * 16; - LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, 32); + paletteOffset = OBJ_PLTT_ID(battlerAtk); + LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, PLTT_SIZE_4BPP); gBattleMonForms[battlerAtk] = gBattleSpritesDataPtr->animationData->animArg; if (gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, PLTT_SIZEOF(16)); } gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk); } @@ -965,20 +965,20 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform) src = gMonSpritesGfxPtr->sprites.ptr[position]; dst = (void *)(OBJ_VRAM0 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32); DmaCopy32(3, src, dst, MON_PIC_SIZE); - paletteOffset = 0x100 + battlerAtk * 16; + paletteOffset = OBJ_PLTT_ID(battlerAtk); lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue); LZDecompressWram(lzPaletteData, gDecompressionBuffer); - LoadPalette(gDecompressionBuffer, paletteOffset, 32); + LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); if (targetSpecies == SPECIES_CASTFORM) { gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonFrontAnimsPtrTable[targetSpecies]; LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerDef]], paletteOffset, 32); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerDef]], paletteOffset, PLTT_SIZE_4BPP); } BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, PLTT_SIZEOF(16)); if (!IsContest()) { @@ -1014,8 +1014,8 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) Dma3CopyLarge32_(gMonSpritesGfxPtr->sprites.ptr[position], &gMonSpritesGfxPtr->sprites.byte[position][MON_PIC_SIZE * i], MON_PIC_SIZE); } - palOffset = (battlerId * 16) + 0x100; - LoadCompressedPalette(gSubstituteDollPal, palOffset, 32); + palOffset = OBJ_PLTT_ID(battlerId); + LoadCompressedPalette(gSubstituteDollPal, palOffset, PLTT_SIZE_4BPP); } else { diff --git a/src/battle_interface.c b/src/battle_interface.c index ed4aa9ed8a..2bf1a02244 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -2027,11 +2027,11 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) return; } - pltAdder = gSprites[healthboxSpriteId].oam.paletteNum * 16; + pltAdder = PLTT_ID(gSprites[healthboxSpriteId].oam.paletteNum); pltAdder += battlerId + 12; - FillPalette(sStatusIconColors[statusPalId], pltAdder + 0x100, 2); - CpuCopy16(gPlttBufferUnfaded + 0x100 + pltAdder, (void *)(OBJ_PLTT + pltAdder * 2), 2); + FillPalette(sStatusIconColors[statusPalId], OBJ_PLTT_OFFSET + pltAdder, PLTT_SIZEOF(1)); + CpuCopy16(gPlttBufferUnfaded + OBJ_PLTT_OFFSET + pltAdder, (u16 *)OBJ_PLTT + pltAdder, PLTT_SIZEOF(1)); CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 96); if (IsDoubleBattle() == TRUE || GetBattlerSide(battlerId) == B_SIDE_OPPONENT) { diff --git a/src/battle_main.c b/src/battle_main.c index 6a4244b1ae..879d9113d3 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2215,7 +2215,7 @@ void CB2_InitEndLinkBattle(void) gBattle_BG3_Y = 0; InitBattleBgsVideo(); - LoadCompressedPalette(gBattleTextboxPalette, 0, 64); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); LoadBattleMenuWindowGfx(); ResetSpriteData(); ResetTasks(); diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 9fab996da8..93c7df06ac 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -214,7 +214,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 2, .width = 15, .height = 16, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 30 }, [WIN_INFO] = { @@ -223,7 +223,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 270 }, [WIN_MSG] = { @@ -232,7 +232,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 354 }, [WIN_TOSS_NUM] = { @@ -241,7 +241,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 5, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 462 }, DUMMY_WIN_TEMPLATE, @@ -263,7 +263,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 17, .width = 7, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 472 }, [MENU_WIN_1x2] = { @@ -272,7 +272,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 15, .width = 7, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 472 }, [MENU_WIN_2x2] = { @@ -281,7 +281,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 15, .width = 14, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 472 }, [MENU_WIN_2x3] = { // Unused @@ -290,7 +290,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 472 }, [MENU_WIN_YESNO] = { @@ -299,7 +299,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 15, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 472 }, }; @@ -578,7 +578,7 @@ static bool8 LoadPyramidBagGfx(void) } break; case 2: - LoadCompressedPalette(gBattlePyramidBagInterface_Pal, 0, 32); + LoadCompressedPalette(gBattlePyramidBagInterface_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); gPyramidBagMenu->state++; break; case 3: @@ -1439,9 +1439,9 @@ static void InitPyramidBagWindows(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x1, 0xE0); - LoadMessageBoxGfx(0, 0xA, 0xD0); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadUserWindowBorderGfx(0, 0x1, BG_PLTT_ID(0xE)); + LoadMessageBoxGfx(0, 0xA, BG_PLTT_ID(0xD)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); for (i = 0; i < ARRAY_COUNT(sWindowTemplates); i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); @@ -1537,10 +1537,10 @@ static void FreeItemIconSprite(u8 spriteArrId) static void LoadPyramidBagPalette(void) { struct SpritePalette spritePalette; - u16 *palPtr = Alloc(0x40); + u16 *palPtr = Alloc(2 * PLTT_SIZE_4BPP); LZDecompressWram(gBattlePyramidBag_Pal, palPtr); - spritePalette.data = palPtr + (gSaveBlock2Ptr->frontier.lvlMode * 16); + spritePalette.data = palPtr + PLTT_ID(gSaveBlock2Ptr->frontier.lvlMode); spritePalette.tag = TAG_PYRAMID_BAG; LoadSpritePalette(&spritePalette); Free(palPtr); diff --git a/src/battle_records.c b/src/battle_records.c index 6cab28d21b..c6becd6d7d 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -67,7 +67,7 @@ static const struct WindowTemplate sTrainerHillRecordsWindowTemplates[] = .tilemapTop = 1, .width = 26, .height = 18, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 20 }, DUMMY_WIN_TEMPLATE @@ -80,7 +80,7 @@ static const struct WindowTemplate sLinkBattleRecordsWindow = .tilemapTop = 1, .width = 26, .height = 17, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }; @@ -444,7 +444,7 @@ static void LoadTrainerHillRecordsWindowGfx(u8 bgId) { LoadBgTiles(bgId, sTrainerHillWindowTileset, sizeof(sTrainerHillWindowTileset), 0); CopyToBgTilemapBufferRect(bgId, sTrainerHillWindowTilemap, 0, 0, 0x20, 0x20); - LoadPalette(sTrainerHillWindowPalette, 0, 0x20); + LoadPalette(sTrainerHillWindowPalette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); } static void VblankCB_TrainerHillRecords(void) @@ -491,7 +491,7 @@ static void CB2_ShowTrainerHillRecords(void) break; case 3: LoadTrainerHillRecordsWindowGfx(3); - LoadPalette(GetTextWindowPalette(0), 0xF0, 0x20); + LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); gMain.state++; break; case 4: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6532215833..e3bba69624 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6013,7 +6013,7 @@ static void InitLevelUpBanner(void) gBattle_BG2_Y = 0; gBattle_BG2_X = LEVEL_UP_BANNER_START; - LoadPalette(sLevelUpBanner_Pal, 0x60, 0x20); + LoadPalette(sLevelUpBanner_Pal, BG_PLTT_ID(0x6), PLTT_SIZE_4BPP); CopyToWindowPixelBuffer(B_WIN_LEVEL_UP_BANNER, sLevelUpBanner_Gfx, 0, 0); PutWindowTilemap(B_WIN_LEVEL_UP_BANNER); CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, COPYWIN_FULL); diff --git a/src/battle_transition.c b/src/battle_transition.c index bc289efa7f..31363f4a9c 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -1406,7 +1406,7 @@ static bool8 Aqua_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); LZ77UnCompVram(sTeamAqua_Tileset, tileset); - LoadPalette(sEvilTeam_Palette, 0xF0, sizeof(sEvilTeam_Palette)); + LoadPalette(sEvilTeam_Palette, BG_PLTT_ID(0xF), sizeof(sEvilTeam_Palette)); task->tState++; return FALSE; @@ -1421,7 +1421,7 @@ static bool8 Magma_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); LZ77UnCompVram(sTeamMagma_Tileset, tileset); - LoadPalette(sEvilTeam_Palette, 0xF0, sizeof(sEvilTeam_Palette)); + LoadPalette(sEvilTeam_Palette, BG_PLTT_ID(0xF), sizeof(sEvilTeam_Palette)); task->tState++; return FALSE; @@ -1449,7 +1449,7 @@ static bool8 BigPokeball_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); CpuCopy16(sBigPokeball_Tileset, tileset, sizeof(sBigPokeball_Tileset)); - LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(0xF), sizeof(sFieldEffectPal_Pokeball)); task->tState++; return FALSE; @@ -1504,7 +1504,7 @@ static bool8 Regice_SetGfx(struct Task *task) u16 *tilemap, *tileset; GetBg0TilesDst(&tilemap, &tileset); - LoadPalette(sRegice_Palette, 0xF0, sizeof(sRegice_Palette)); + LoadPalette(sRegice_Palette, BG_PLTT_ID(0xF), sizeof(sRegice_Palette)); CpuCopy16(sRegice_Tilemap, tilemap, 0x500); SetSinWave(gScanlineEffectRegBuffers[0], 0, task->tSinIndex, 132, task->tAmplitude, DISPLAY_HEIGHT); @@ -1517,7 +1517,7 @@ static bool8 Registeel_SetGfx(struct Task *task) u16 *tilemap, *tileset; GetBg0TilesDst(&tilemap, &tileset); - LoadPalette(sRegisteel_Palette, 0xF0, sizeof(sRegisteel_Palette)); + LoadPalette(sRegisteel_Palette, BG_PLTT_ID(0xF), sizeof(sRegisteel_Palette)); CpuCopy16(sRegisteel_Tilemap, tilemap, 0x500); SetSinWave(gScanlineEffectRegBuffers[0], 0, task->tSinIndex, 132, task->tAmplitude, DISPLAY_HEIGHT); @@ -1530,7 +1530,7 @@ static bool8 Regirock_SetGfx(struct Task *task) u16 *tilemap, *tileset; GetBg0TilesDst(&tilemap, &tileset); - LoadPalette(sRegirock_Palette, 0xF0, sizeof(sRegirock_Palette)); + LoadPalette(sRegirock_Palette, BG_PLTT_ID(0xF), sizeof(sRegirock_Palette)); CpuCopy16(sRegirock_Tilemap, tilemap, 0x500); SetSinWave(gScanlineEffectRegBuffers[0], 0, task->tSinIndex, 132, task->tAmplitude, DISPLAY_HEIGHT); @@ -1559,7 +1559,7 @@ static bool8 Kyogre_PaletteFlash(struct Task *task) { u16 offset = task->tTimer % 30; offset /= 3; - LoadPalette(&sKyogre1_Palette[offset * 16], 0xF0, 0x20); + LoadPalette(&sKyogre1_Palette[offset * 16], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); } if (++task->tTimer > 58) { @@ -1575,7 +1575,7 @@ static bool8 Kyogre_PaletteBrighten(struct Task *task) if (task->tTimer % 5 == 0) { s16 offset = task->tTimer / 5; - LoadPalette(&sKyogre2_Palette[offset * 16], 0xF0, 0x20); + LoadPalette(&sKyogre2_Palette[offset * 16], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); } if (++task->tTimer > 68) { @@ -1776,7 +1776,7 @@ static bool8 PokeballsTrail_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuSet(sPokeballTrail_Tileset, tileset, 0x20); CpuFill32(0, tilemap, BG_SCREEN_SIZE); - LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(0xF), sizeof(sFieldEffectPal_Pokeball)); task->tState++; return FALSE; @@ -2328,8 +2328,8 @@ static bool8 Mugshot_SetGfx(struct Task *task) mugshotsMap = sMugshotsTilemap; GetBg0TilesDst(&tilemap, &tileset); CpuSet(sEliteFour_Tileset, tileset, 0xF0); - LoadPalette(sOpponentMugshotsPals[task->tMugshotId], 0xF0, 0x20); - LoadPalette(sPlayerMugshotsPals[gSaveBlock2Ptr->playerGender], 0xFA, 0xC); + LoadPalette(sOpponentMugshotsPals[task->tMugshotId], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(sPlayerMugshotsPals[gSaveBlock2Ptr->playerGender], BG_PLTT_ID(0xF) + 10, PLTT_SIZEOF(6)); for (i = 0; i < 20; i++) { @@ -3193,7 +3193,7 @@ static bool8 RectangularSpiral_Init(struct Task *task) CpuCopy16(sShrinkingBoxTileset, tileset, 0x20); CpuCopy16(&sShrinkingBoxTileset[0x70], &tileset[0x20], 0x20); CpuFill16(0xF0 << 8, tilemap, BG_SCREEN_SIZE); - LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(0xF), sizeof(sFieldEffectPal_Pokeball)); task->data[3] = 1; task->tState++; @@ -3389,7 +3389,7 @@ static bool8 Groudon_PaletteFlash(struct Task *task) if (task->tTimer % 3 == 0) { u16 offset = (task->tTimer % 30) / 3; - LoadPalette(&sGroudon1_Palette[offset * 16], 0xF0, 0x20); + LoadPalette(&sGroudon1_Palette[offset * 16], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); } if (++task->tTimer > 58) { @@ -3405,7 +3405,7 @@ static bool8 Groudon_PaletteBrighten(struct Task *task) if (task->tTimer % 5 == 0) { s16 offset = task->tTimer / 5; - LoadPalette(&sGroudon2_Palette[offset * 16], 0xF0, 0x20); + LoadPalette(&sGroudon2_Palette[offset * 16], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); } if (++task->tTimer > 68) { @@ -3448,7 +3448,7 @@ static bool8 Rayquaza_Init(struct Task *task) sTransitionData->counter = 0; task->tState++; - LoadPalette(&sRayquaza_Palette[0x50], 0xF0, 0x20); + LoadPalette(&sRayquaza_Palette[0x50], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); for (i = 0; i < DISPLAY_HEIGHT; i++) { @@ -3476,7 +3476,7 @@ static bool8 Rayquaza_PaletteFlash(struct Task *task) { u16 value = task->tTimer / 4; const u16 *palPtr = &sRayquaza_Palette[(value + 5) * 16]; - LoadPalette(palPtr, 0xF0, 0x20); + LoadPalette(palPtr, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); } if (++task->tTimer > 40) { @@ -3524,7 +3524,7 @@ static bool8 Rayquaza_TriRing(struct Task *task) { u16 value = task->tTimer / 3; const u16 *palPtr = &sRayquaza_Palette[(value + 0) * 16]; - LoadPalette(palPtr, 0xF0, 0x20); + LoadPalette(palPtr, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); } if (++task->tTimer >= 40) { @@ -3775,7 +3775,7 @@ static bool8 GridSquares_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuSet(sShrinkingBoxTileset, tileset, 16); CpuFill16(0xF0 << 8, tilemap, BG_SCREEN_SIZE); - LoadPalette(sFieldEffectPal_Pokeball, 0xF0, sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(0xF), sizeof(sFieldEffectPal_Pokeball)); task->tState++; return FALSE; @@ -4242,7 +4242,7 @@ static bool8 FrontierLogoWiggle_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); LZ77UnCompVram(sFrontierLogo_Tileset, tileset); - LoadPalette(sFrontierLogo_Palette, 0xF0, sizeof(sFrontierLogo_Palette)); + LoadPalette(sFrontierLogo_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierLogo_Palette)); task->tState++; return FALSE; @@ -4304,7 +4304,7 @@ static bool8 FrontierLogoWave_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); LZ77UnCompVram(sFrontierLogo_Tileset, tileset); - LoadPalette(sFrontierLogo_Palette, 0xF0, sizeof(sFrontierLogo_Palette)); + LoadPalette(sFrontierLogo_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierLogo_Palette)); sTransitionData->cameraY = 0; task->tState++; @@ -4451,10 +4451,10 @@ static bool8 FrontierSquares_Init(struct Task *task) LZ77UnCompVram(sFrontierSquares_FilledBg_Tileset, tileset); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); - FillBgTilemapBufferRect(0, 1, 0, 0, MARGIN_SIZE, 32, 15); - FillBgTilemapBufferRect(0, 1, 30 - MARGIN_SIZE, 0, MARGIN_SIZE, 32, 15); + FillBgTilemapBufferRect(0, 1, 0, 0, MARGIN_SIZE, 32, 0xF); + FillBgTilemapBufferRect(0, 1, 30 - MARGIN_SIZE, 0, MARGIN_SIZE, 32, 0xF); CopyBgTilemapBufferToVram(0); - LoadPalette(sFrontierSquares_Palette, 0xF0, sizeof(sFrontierSquares_Palette)); + LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierSquares_Palette)); task->tPosX = MARGIN_SIZE; task->tPosY = 0; @@ -4471,7 +4471,7 @@ static bool8 FrontierSquares_Draw(struct Task *task) SQUARE_SIZE, SQUARE_SIZE, task->tPosX, task->tPosY, SQUARE_SIZE, SQUARE_SIZE, - 15, 0, 0); + 0xF, 0, 0); CopyBgTilemapBufferToVram(0); task->tPosX += SQUARE_SIZE; @@ -4546,12 +4546,12 @@ static bool8 FrontierSquaresSpiral_Init(struct Task *task) LZ77UnCompVram(sFrontierSquares_FilledBg_Tileset, tileset); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); - FillBgTilemapBufferRect(0, 1, 0, 0, MARGIN_SIZE, 32, 15); - FillBgTilemapBufferRect(0, 1, 30 - MARGIN_SIZE, 0, MARGIN_SIZE, 32, 15); + FillBgTilemapBufferRect(0, 1, 0, 0, MARGIN_SIZE, 32, 0xF); + FillBgTilemapBufferRect(0, 1, 30 - MARGIN_SIZE, 0, MARGIN_SIZE, 32, 0xF); CopyBgTilemapBufferToVram(0); - LoadPalette(sFrontierSquares_Palette, 0xE0, sizeof(sFrontierSquares_Palette)); - LoadPalette(sFrontierSquares_Palette, 0xF0, sizeof(sFrontierSquares_Palette)); - BlendPalette(0xE0, 16, 8, RGB_BLACK); + LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(0xE), sizeof(sFrontierSquares_Palette)); + LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierSquares_Palette)); + BlendPalette(BG_PLTT_ID(0xE), 16, 8, RGB_BLACK); task->tSquareNum = NUM_SQUARES - 1; task->tFadeFlag = 0; @@ -4569,7 +4569,7 @@ static bool8 FrontierSquaresSpiral_Outward(struct Task *task) SQUARE_SIZE, SQUARE_SIZE, SQUARE_SIZE * x + MARGIN_SIZE, SQUARE_SIZE * y, SQUARE_SIZE, SQUARE_SIZE, - 15, 0, 0); + 0xF, 0, 0); CopyBgTilemapBufferToVram(0); if (--task->tSquareNum < 0) @@ -4581,7 +4581,7 @@ static bool8 FrontierSquaresSpiral_Outward(struct Task *task) // set it to black so it's not revealed when the squares are removed. static bool8 FrontierSquaresSpiral_SetBlack(struct Task *task) { - BlendPalette(0xE0, 16, 3, RGB_BLACK); + BlendPalette(BG_PLTT_ID(0xE), 16, 3, RGB_BLACK); BlendPalettes(PALETTES_ALL & ~(1 << 15 | 1 << 14), 16, RGB_BLACK); task->tSquareNum = 0; @@ -4603,7 +4603,7 @@ static bool8 FrontierSquaresSpiral_Inward(struct Task *task) SQUARE_SIZE * (sFrontierSquaresSpiral_Positions[task->tSquareNum] % NUM_SQUARES_PER_ROW) + MARGIN_SIZE, SQUARE_SIZE * (sFrontierSquaresSpiral_Positions[task->tSquareNum] / NUM_SQUARES_PER_ROW), SQUARE_SIZE, SQUARE_SIZE, - 14, 0, 0); + 0xE, 0, 0); } else { @@ -4614,7 +4614,7 @@ static bool8 FrontierSquaresSpiral_Inward(struct Task *task) SQUARE_SIZE * (sFrontierSquaresSpiral_Positions[task->tSquareNum - 1] % NUM_SQUARES_PER_ROW) + MARGIN_SIZE, SQUARE_SIZE * (sFrontierSquaresSpiral_Positions[task->tSquareNum - 1] / NUM_SQUARES_PER_ROW), SQUARE_SIZE, SQUARE_SIZE, - 15); + 0xF); } task->tSquareNum++; } @@ -4664,7 +4664,7 @@ static bool8 FrontierSquaresScroll_Init(struct Task *task) LZ77UnCompVram(sFrontierSquares_FilledBg_Tileset, tileset); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); CopyBgTilemapBufferToVram(0); - LoadPalette(sFrontierSquares_Palette, 0xF0, sizeof(sFrontierSquares_Palette)); + LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierSquares_Palette)); gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -4709,7 +4709,7 @@ static bool8 FrontierSquaresScroll_Draw(struct Task *task) SQUARE_SIZE, SQUARE_SIZE, SQUARE_SIZE * x + MARGIN_SIZE, SQUARE_SIZE * y, SQUARE_SIZE, SQUARE_SIZE, - 15, 0, 0); + 0xF, 0, 0); CopyBgTilemapBufferToVram(0); if (++task->tSquareNum >= (int)ARRAY_COUNT(sFrontierSquaresScroll_Positions)) @@ -4738,7 +4738,7 @@ static bool8 FrontierSquaresScroll_Erase(struct Task *task) FillBgTilemapBufferRect(0, 1, SQUARE_SIZE * x + MARGIN_SIZE, SQUARE_SIZE * y, SQUARE_SIZE, SQUARE_SIZE, - 15); + 0xF); CopyBgTilemapBufferToVram(0); if (++task->tSquareNum >= (int)ARRAY_COUNT(sFrontierSquaresScroll_Positions)) diff --git a/src/battle_transition_frontier.c b/src/battle_transition_frontier.c index 088865dbab..107e9067db 100644 --- a/src/battle_transition_frontier.c +++ b/src/battle_transition_frontier.c @@ -226,7 +226,7 @@ static void LoadLogoGfx(void) GetBg0TilesDst(&tilemap, &tileset); LZ77UnCompVram(sLogoCenter_Gfx, tileset); LZ77UnCompVram(sLogoCenter_Tilemap, tilemap); - LoadPalette(sLogo_Pal, 0xF0, sizeof(sLogo_Pal)); + LoadPalette(sLogo_Pal, BG_PLTT_ID(0xF), sizeof(sLogo_Pal)); LoadCompressedSpriteSheet(&sSpriteSheet_LogoCircles); LoadSpritePalette(&sSpritePalette_LogoCircles); } diff --git a/src/berry_blender.c b/src/berry_blender.c index d099a14ba2..defc5ac963 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -338,7 +338,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 6, .width = 7, .height = 2, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x28, }, { @@ -347,7 +347,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 6, .width = 7, .height = 2, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x36, }, { @@ -356,7 +356,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 12, .width = 7, .height = 2, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x44, }, { @@ -365,7 +365,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 12, .width = 7, .height = 2, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x52, }, { @@ -374,7 +374,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x60, }, { @@ -383,7 +383,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 3, .width = 21, .height = 14, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x60, }, DUMMY_WIN_TEMPLATE @@ -396,7 +396,7 @@ static const struct WindowTemplate sYesNoWindowTemplate_ContinuePlaying = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0xCC }; @@ -926,7 +926,7 @@ static const struct WindowTemplate sBlenderRecordWindowTemplate = .tilemapTop = 4, .width = 18, .height = 11, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 8 }; @@ -959,7 +959,7 @@ static bool8 LoadBerryBlenderGfx(void) case 1: CopyToBgTilemapBuffer(2, sBlenderCenter_Tilemap, 0x400, 0); CopyBgTilemapBufferToVram(2); - LoadPalette(sBlenderCenter_Pal, 0, 0x100); + LoadPalette(sBlenderCenter_Pal, BG_PLTT_ID(0x0), 8 * PLTT_SIZE_4BPP); sBerryBlender->loadGfxState++; break; case 2: @@ -984,7 +984,7 @@ static bool8 LoadBerryBlenderGfx(void) sBerryBlender->loadGfxState++; break; case 7: - LoadPalette(sBlenderOuter_Pal, 0x80, 0x20); + LoadPalette(sBlenderOuter_Pal, BG_PLTT_ID(0x8), PLTT_SIZE_4BPP); sBerryBlender->loadGfxState++; break; case 8: @@ -1065,8 +1065,8 @@ static void CB2_LoadBerryBlender(void) InitBgsFromTemplates(1, sBgTemplates, ARRAY_COUNT(sBgTemplates)); SetBgTilemapBuffer(1, sBerryBlender->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlender->tilemapBuffers[1]); - LoadUserWindowBorderGfx(0, 1, 0xD0); - LoadMessageBoxGfx(0, 0x14, 0xF0); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); + LoadMessageBoxGfx(0, 0x14, BG_PLTT_ID(0xF)); InitBerryBlenderWindows(); sBerryBlender->mainState++; @@ -1502,8 +1502,8 @@ static void InitBlenderBgs(void) SetBgTilemapBuffer(1, sBerryBlender->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlender->tilemapBuffers[1]); - LoadUserWindowBorderGfx(0, 1, 0xD0); - LoadMessageBoxGfx(0, 0x14, 0xF0); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); + LoadMessageBoxGfx(0, 0x14, BG_PLTT_ID(0xF)); InitBerryBlenderWindows(); sBerryBlender->unk0 = 0; diff --git a/src/berry_crush.c b/src/berry_crush.c index 19c03391d3..a100b72358 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -473,7 +473,7 @@ static const struct WindowTemplate sWindowTemplate_Rankings = .tilemapTop = 4, .width = 24, .height = 13, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }; @@ -485,7 +485,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 0, .width = 9, .height = 2, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 1005 }, { @@ -494,7 +494,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 3, .width = 9, .height = 2, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 987 }, { @@ -503,7 +503,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 6, .width = 9, .height = 2, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 969 }, { @@ -512,7 +512,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 3, .width = 9, .height = 2, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 951 }, { @@ -521,7 +521,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 6, .width = 9, .height = 2, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 933 }, DUMMY_WIN_TEMPLATE, @@ -535,7 +535,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 2, .width = 20, .height = 16, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, [STATE_RESULTS_RANDOM - RESULTS_STATE_START] = { @@ -544,7 +544,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 2, .width = 20, .height = 16, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, [STATE_RESULTS_CRUSHING - RESULTS_STATE_START] = { @@ -553,7 +553,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 2, .width = 22, .height = 16, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, DUMMY_WIN_TEMPLATE, @@ -1235,7 +1235,7 @@ static s32 ShowGameDisplay(void) gPaletteFade.bufferTransferDisabled = TRUE; break; case 7: - LoadPalette(gBerryCrush_Crusher_Pal, 0, 0x180); + LoadPalette(gBerryCrush_Crusher_Pal, BG_PLTT_ID(0x0), 12 * PLTT_SIZE_4BPP); CopyToBgTilemapBuffer(1, sCrusherTop_Tilemap, 0, 0); CopyToBgTilemapBuffer(2, sContainerCap_Tilemap, 0, 0); CopyToBgTilemapBuffer(3, sBg_Tilemap, 0, 0); @@ -1751,8 +1751,8 @@ static bool32 OpenResultsWindow(struct BerryCrushGame *game, struct BerryCrushGa FillWindowPixelBuffer(gfx->resultsWindowId, PIXEL_FILL(0)); break; case 2: - LoadUserWindowBorderGfx_(gfx->resultsWindowId, 541, 208); - DrawStdFrameWithCustomTileAndPalette(gfx->resultsWindowId, FALSE, 541, 13); + LoadUserWindowBorderGfx_(gfx->resultsWindowId, 541, BG_PLTT_ID(0xD)); + DrawStdFrameWithCustomTileAndPalette(gfx->resultsWindowId, FALSE, 541, 0xD); break; case 3: playerCountIdx = game->playerCount - 2; @@ -1809,8 +1809,8 @@ static void Task_ShowRankings(u8 taskId) tWindowId = AddWindow(&sWindowTemplate_Rankings); PutWindowTilemap(tWindowId); FillWindowPixelBuffer(tWindowId, PIXEL_FILL(0)); - LoadUserWindowBorderGfx_(tWindowId, 541, 208); - DrawStdFrameWithCustomTileAndPalette(tWindowId, FALSE, 541, 13); + LoadUserWindowBorderGfx_(tWindowId, 541, BG_PLTT_ID(0xD)); + DrawStdFrameWithCustomTileAndPalette(tWindowId, FALSE, 541, 0xD); break; case 1: // Print header text diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index e8c4bc7e68..149e5d5116 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -77,7 +77,7 @@ static const struct WindowTemplate sBerryFixWindowTemplates[] = { .tilemapTop = 4, .width = 26, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, { @@ -86,7 +86,7 @@ static const struct WindowTemplate sBerryFixWindowTemplates[] = { .tilemapTop = 11, .width = 28, .height = 8, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 53 }, { @@ -95,7 +95,7 @@ static const struct WindowTemplate sBerryFixWindowTemplates[] = { .tilemapTop = 8, .width = 30, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 277 }, { @@ -104,7 +104,7 @@ static const struct WindowTemplate sBerryFixWindowTemplates[] = { .tilemapTop = 0, .width = 14, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 337 }, DUMMY_WIN_TEMPLATE diff --git a/src/berry_powder.c b/src/berry_powder.c index 96f14d6e4e..70a8960f76 100755 --- a/src/berry_powder.c +++ b/src/berry_powder.c @@ -4,6 +4,7 @@ #include "event_data.h" #include "load_save.h" #include "menu.h" +#include "palette.h" #include "string_util.h" #include "strings.h" #include "text.h" @@ -67,7 +68,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 1, .width = 28, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 19 }, { @@ -76,7 +77,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 5, .width = 28, .height = 14, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 75 }, { @@ -85,7 +86,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 5, .width = 28, .height = 7, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 75 }, { @@ -94,7 +95,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 8, .width = 19, .height = 3, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 19 }, { @@ -103,7 +104,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 7, .width = 6, .height = 4, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 76 }, { @@ -112,7 +113,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 6, .width = 22, .height = 5, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 19 }, { @@ -121,7 +122,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 8, .width = 19, .height = 3, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 19 }, }; @@ -228,7 +229,7 @@ void DisplayBerryPowderVendorMenu(void) sBerryPowderVendorWindowId = AddWindow(&template); FillWindowPixelBuffer(sBerryPowderVendorWindowId, PIXEL_FILL(0)); PutWindowTilemap(sBerryPowderVendorWindowId); - LoadUserWindowBorderGfx_(sBerryPowderVendorWindowId, 0x21D, 0xD0); + LoadUserWindowBorderGfx_(sBerryPowderVendorWindowId, 0x21D, BG_PLTT_ID(0xD)); DrawPlayerPowderAmount(sBerryPowderVendorWindowId, 0x21D, 13, GetBerryPowder()); } diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index f683c73f45..70d88b3133 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -108,7 +108,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 4, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 69, }, { // WIN_SIZE_FIRM @@ -117,7 +117,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 7, .width = 18, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 85, }, { // WIN_DESC @@ -126,7 +126,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 14, .width = 25, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 157, }, { // WIN_BERRY_TAG @@ -135,7 +135,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 0, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 257, }, DUMMY_WIN_TEMPLATE @@ -346,7 +346,7 @@ static bool8 LoadBerryTagGfx(void) sBerryTag->gfxState++; break; case 4: - LoadCompressedPalette(gBerryCheck_Pal, 0, 0xC0); + LoadCompressedPalette(gBerryCheck_Pal, BG_PLTT_ID(0x0), 6 * PLTT_SIZE_4BPP); sBerryTag->gfxState++; break; case 5: @@ -367,7 +367,7 @@ static void HandleInitWindows(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadPalette(sFontPalette, 0xF0, 0x20); + LoadPalette(sFontPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); for (i = 0; i < ARRAY_COUNT(sWindowTemplates) - 1; i++) PutWindowTilemap(i); ScheduleBgCopyTilemapToVram(0); diff --git a/src/cable_car.c b/src/cable_car.c index 562e9eceb7..8485c2352a 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -306,7 +306,7 @@ static void CB2_LoadCableCar(void) case 3: if (!FreeTempTileDataBuffersIfPossible()) { - LoadPalette(gCableCarBg_Pal, 0, 0x80); + LoadPalette(gCableCarBg_Pal, BG_PLTT_ID(0x0), 4 * PLTT_SIZE_4BPP); gMain.state++; } break; diff --git a/src/cable_club.c b/src/cable_club.c index 913a1b7287..762bd4ec35 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -41,7 +41,7 @@ static const struct WindowTemplate sWindowTemplate_LinkPlayerCount = { .tilemapTop = 11, .width = 11, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0125, }; diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index 9b79b48f1f..42930777ba 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -52,7 +52,7 @@ static const struct WindowTemplate sClearSaveTextWindow[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 11, }, DUMMY_WIN_TEMPLATE @@ -66,7 +66,7 @@ static const struct WindowTemplate sClearSaveYesNo[] = .tilemapTop = 2, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 115, } }; @@ -204,6 +204,6 @@ static void InitClearSaveDataScreenWindows(void) InitWindows(sClearSaveTextWindow); DeactivateAllTextPrinters(); FillWindowPixelBuffer(0, PIXEL_FILL(0)); - LoadWindowGfx(0, 0, 2, 224); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadWindowGfx(0, 0, 2, BG_PLTT_ID(0xE)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); } diff --git a/src/contest.c b/src/contest.c index b2c875a583..7a7db4f5f3 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1032,13 +1032,13 @@ void LoadContestBgAfterMoveAnim(void) LZDecompressVram(gContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4))); CopyToBgTilemapBuffer(3, gContestAudienceTilemap, 0, 0); CopyBgTilemapBufferToVram(3); - LoadCompressedPalette(gContestInterfaceAudiencePalette, 0, 0x200); + LoadCompressedPalette(gContestInterfaceAudiencePalette, BG_PLTT_OFFSET, BG_PLTT_SIZE); LoadContestPalettes(); for (i = 0; i < CONTESTANT_COUNT; i++) { u32 contestantWindowId = 5 + i; - LoadPalette(eContestTempSave.cachedWindowPalettes[contestantWindowId], 16 * (5 + gContestantTurnOrder[i]), sizeof((eContestTempSave.cachedWindowPalettes[contestantWindowId]))); + LoadPalette(eContestTempSave.cachedWindowPalettes[contestantWindowId], BG_PLTT_ID(0x5 + gContestantTurnOrder[i]), sizeof((eContestTempSave.cachedWindowPalettes[contestantWindowId]))); } } @@ -1073,11 +1073,11 @@ static void LoadContestPalettes(void) { s32 i; - LoadPalette(sText_Pal, 0xf0, 0x20); - FillPalette(RGB_BLACK, 0, 2); + LoadPalette(sText_Pal, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + SetBackdropFromColor(RGB_BLACK); for (i = 10; i < 14; i++) - LoadPalette(gPlttBufferUnfaded + 241, 240 + i, 2); - FillPalette(RGB(31, 17, 31), 0xF3, 2); + LoadPalette(gPlttBufferUnfaded + BG_PLTT_ID(0xF) + 1, BG_PLTT_ID(0xF) + i, PLTT_SIZEOF(1)); + FillPalette(RGB(31, 17, 31), BG_PLTT_ID(0xF) + 3, PLTT_SIZEOF(1)); } static void InitContestResources(void) @@ -1327,11 +1327,11 @@ static bool8 SetupContestGraphics(u8 *stateVar) DmaCopy32Defvars(3, gContestResources->contestBgTilemaps[2], eContestTempSave.savedJunk, sizeof(eContestTempSave.savedJunk)); break; case 5: - LoadCompressedPalette(gContestInterfaceAudiencePalette, 0, 0x200); - CpuCopy32(gPlttBufferUnfaded + 128, tempPalette1, 16 * sizeof(u16)); - CpuCopy32(gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, tempPalette2, 16 * sizeof(u16)); - CpuCopy32(tempPalette2, gPlttBufferUnfaded + 128, 16 * sizeof(u16)); - CpuCopy32(tempPalette1, gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, 16 * sizeof(u16)); + LoadCompressedPalette(gContestInterfaceAudiencePalette, BG_PLTT_OFFSET, BG_PLTT_SIZE); + CpuCopy32(gPlttBufferUnfaded + BG_PLTT_ID(0x8), tempPalette1, PLTT_SIZE_4BPP); + CpuCopy32(gPlttBufferUnfaded + BG_PLTT_ID(0x5 + gContestPlayerMonIndex), tempPalette2, 16 * sizeof(u16)); + CpuCopy32(tempPalette2, gPlttBufferUnfaded + BG_PLTT_ID(0x8), PLTT_SIZE_4BPP); + CpuCopy32(tempPalette1, gPlttBufferUnfaded + BG_PLTT_ID(0x5 + gContestPlayerMonIndex), PLTT_SIZE_4BPP); DmaCopy32Defvars(3, gPlttBufferUnfaded, eContestTempSave.cachedWindowPalettes, sizeof(eContestTempSave.cachedWindowPalettes)); LoadContestPalettes(); break; @@ -3097,7 +3097,7 @@ static u8 CreateJudgeSprite(void) u8 spriteId; LoadCompressedSpriteSheet(&sSpriteSheet_Judge); - LoadCompressedPalette(gContest2Pal, 0x110, 32); + LoadCompressedPalette(gContest2Pal, OBJ_PLTT_ID(0x1), PLTT_SIZE_4BPP); spriteId = CreateSprite(&sSpriteTemplate_Judge, 112, 36, 30); gSprites[spriteId].oam.paletteNum = 1; gSprites[spriteId].callback = SpriteCallbackDummy; @@ -3126,7 +3126,7 @@ static u8 CreateContestantSprite(u16 species, u32 otId, u32 personality, u32 ind else HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], gMonSpritesGfxPtr->sprites.ptr[B_POSITION_PLAYER_LEFT], species, personality); - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x120, 0x20); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(species, B_POSITION_PLAYER_LEFT); spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x70, GetBattlerSpriteFinal_Y(2, species, FALSE), 30); @@ -3997,7 +3997,7 @@ static void Task_StopFlashJudgeAttentionEye(u8 taskId) { gTasks[eContest.judgeAttentionTaskId].data[contestant * 4 + 0] = 0xFF; gTasks[eContest.judgeAttentionTaskId].data[contestant * 4 + 1] = 0; - BlendPalette((eContest.prevTurnOrder[contestant] + 5) * 16 + 6, 2, 0, RGB(31, 31, 18)); + BlendPalette(BG_PLTT_ID(0x5 + eContest.prevTurnOrder[contestant]) + 6, 2, 0, RGB(31, 31, 18)); DestroyTask(taskId); } } @@ -4021,7 +4021,7 @@ static void Task_FlashJudgeAttentionEye(u8 taskId) || gTasks[taskId].data[offset + 0] == 0) gTasks[taskId].data[offset + 1] ^= 1; - BlendPalette((eContest.prevTurnOrder[i] + 5) * 16 + 6, 2, gTasks[taskId].data[offset + 0], RGB(31, 31, 18)); + BlendPalette(BG_PLTT_ID(0x5 + eContest.prevTurnOrder[i]) + 6, 2, gTasks[taskId].data[offset + 0], RGB(31, 31, 18)); } } } @@ -4100,8 +4100,8 @@ static void Task_UnusedBlend(u8 taskId) || gTasks[taskId].data[idx] == 0) gTasks[taskId].data[idx + 1] ^= 1; - BlendPalette((i + 5) * 16 + 10, 1, gTasks[taskId].data[idx + 0], RGB(31, 31, 18)); - BlendPalette((i + 5) * 16 + 12 + i, 1, gTasks[taskId].data[idx + 0], RGB(31, 31, 18)); + BlendPalette(BG_PLTT_ID(0x5 + i) + 10, 1, gTasks[taskId].data[idx + 0], RGB(31, 31, 18)); + BlendPalette(BG_PLTT_ID(0x5 + i) + 12 + i, 1, gTasks[taskId].data[idx + 0], RGB(31, 31, 18)); } } } @@ -4414,7 +4414,7 @@ static void DrawContestantWindows(void) for (i = 0; i < CONTESTANT_COUNT; i++) { s32 windowId = i + 5; - LoadPalette(eContestTempSave.cachedWindowPalettes[windowId], (gContestantTurnOrder[i] + 5) * 16, sizeof(eContestTempSave.cachedWindowPalettes[0])); + LoadPalette(eContestTempSave.cachedWindowPalettes[windowId], BG_PLTT_ID(0x5 + gContestantTurnOrder[i]), sizeof(eContestTempSave.cachedWindowPalettes[0])); } DrawContestantWindowText(); } @@ -4769,7 +4769,7 @@ static void Task_ApplauseOverflowAnimation(u8 taskId) else gTasks[taskId].data[4]--; - BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB_WHITE); + BlendPalette(OBJ_PLTT_ID(gTasks[taskId].data[2]) + 8, 1, gTasks[taskId].data[4], RGB_WHITE); // At the maximum or minimum blending, switch directions. if (gTasks[taskId].data[4] == 0 || gTasks[taskId].data[4] == 16) @@ -4779,7 +4779,7 @@ static void Task_ApplauseOverflowAnimation(u8 taskId) // Continue the animation until the applause meter is cleared. if (eContest.applauseLevel < 5) { - BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, RGB_RED); + BlendPalette(OBJ_PLTT_ID(gTasks[taskId].data[2]) + 8, 1, 0, RGB_RED); DestroyTask(taskId); } } @@ -4992,8 +4992,8 @@ static void Task_BlendAudienceBackground(u8 taskId) else gTasks[taskId].tBlendCoeff--; - BlendPalette(17, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor); - BlendPalette(26, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor); + BlendPalette(BG_PLTT_ID(0x1) + 1, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor); + BlendPalette(BG_PLTT_ID(0x1) + 10, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor); if (gTasks[taskId].tBlendCoeff == gTasks[taskId].tTargetBlendCoeff) { diff --git a/src/contest_painting.c b/src/contest_painting.c index e71cf391f8..d995749bb2 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -121,7 +121,7 @@ static const struct WindowTemplate sWindowTemplate = .tilemapTop = 14, .width = 26, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1, }; @@ -223,7 +223,7 @@ static void ShowContestPainting(void) break; case 4: PrintContestPaintingCaption(gCurContestWinnerSaveIdx, gCurContestWinnerIsForArtist); - LoadPalette(sBgPalette, 0, 1 * 2); + SetBackdropFromPalette(sBgPalette); DmaClear32(3, PLTT, PLTT_SIZE); BeginFastPaletteFade(2); SetVBlankCallback(VBlankCB_ContestPainting); @@ -420,7 +420,7 @@ static void LoadContestPaintingFrame(u8 contestWinnerId, bool8 isForArtist) { u8 x, y; - LoadPalette(sPictureFramePalettes, 0, 0x100); + LoadPalette(sPictureFramePalettes, BG_PLTT_ID(0x0), 8 * PLTT_SIZE_4BPP); if (isForArtist == TRUE) { // Load Artist's frame @@ -586,7 +586,7 @@ static void DoContestPaintingImageProcessing(u8 imageEffect) ApplyImageProcessingEffects(&gImageProcessingContext); ApplyImageProcessingQuantization(&gImageProcessingContext); ConvertImageProcessingToGBA(&gImageProcessingContext); - LoadPalette(gContestPaintingMonPalette, 0x100, 0x200); + LoadPalette(gContestPaintingMonPalette, OBJ_PLTT_ID(0x0), 16 * PLTT_SIZE_4BPP); } static void CreateContestPaintingPicture(u8 contestWinnerId, bool8 isForArtist) diff --git a/src/contest_util.c b/src/contest_util.c index d44b47373c..bbb4ba5bdd 100644 --- a/src/contest_util.c +++ b/src/contest_util.c @@ -327,7 +327,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 4, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 770 }, { @@ -336,7 +336,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 7, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 794 }, { @@ -345,7 +345,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 10, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 818 }, { @@ -354,7 +354,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 842 }, DUMMY_WIN_TEMPLATE, @@ -455,8 +455,8 @@ static void LoadContestResultsBgGfx(void) CopyToBgTilemapBuffer(2, gContestResults_Interface_Tilemap, 0, 0); CopyToBgTilemapBuffer(0, gContestResults_WinnerBanner_Tilemap, 0, 0); LoadContestResultsTitleBarTilemaps(); - LoadCompressedPalette(gContestResults_Pal, 0, 0x200); - LoadPalette(sResultsTextWindow_Pal, 0xF0, sizeof(sResultsTextWindow_Pal)); + LoadCompressedPalette(gContestResults_Pal, BG_PLTT_ID(0x0), 16 * PLTT_SIZE_4BPP); + LoadPalette(sResultsTextWindow_Pal, BG_PLTT_ID(0xF), sizeof(sResultsTextWindow_Pal)); for (i = 0; i < CONTESTANT_COUNT; i++) { @@ -1092,9 +1092,9 @@ static void Task_FlashStarsAndHearts(u8 taskId) else if (gTasks[taskId].tCoeff == 0) gTasks[taskId].tDecreasing = FALSE; - BlendPalette(0x6B, 1, gTasks[taskId].tCoeff, RGB(30, 22, 11)); - BlendPalette(0x68, 1, gTasks[taskId].tCoeff, RGB_WHITE); - BlendPalette(0x6E, 1, gTasks[taskId].tCoeff, RGB(30, 29, 29)); + BlendPalette(BG_PLTT_ID(0x6) + 11, 1, gTasks[taskId].tCoeff, RGB(30, 22, 11)); + BlendPalette(BG_PLTT_ID(0x6) + 8, 1, gTasks[taskId].tCoeff, RGB_WHITE); + BlendPalette(BG_PLTT_ID(0x6) + 14, 1, gTasks[taskId].tCoeff, RGB(30, 29, 29)); } if (gTasks[taskId].tCoeff == 0) @@ -1143,7 +1143,7 @@ static void LoadAllContestMonIconPalettes(void) for (i = 0; i < CONTESTANT_COUNT; i++) { species = gContestMons[i].species; - LoadPalette(gMonIconPalettes[gMonIconPaletteIndices[GetIconSpecies(species, 0)]], i * 0x10 + 0xA0, 0x20); + LoadPalette(gMonIconPalettes[gMonIconPaletteIndices[GetIconSpecies(species, 0)]], BG_PLTT_ID(0xA + i), PLTT_SIZE_4BPP); } } @@ -1561,7 +1561,7 @@ static void Task_HighlightWinnersBox(u8 taskId) if (++gTasks[taskId].data[11] == 1) { gTasks[taskId].data[11] = 0; - BlendPalette(0x91, 1, gTasks[taskId].data[12], RGB(13, 28, 27)); + BlendPalette(BG_PLTT_ID(0x9) + 1, 1, gTasks[taskId].data[12], RGB(13, 28, 27)); if (gTasks[taskId].data[13] == 0) { if (++gTasks[taskId].data[12] == 16) @@ -2525,16 +2525,16 @@ void LoadLinkContestPlayerPalettes(void) if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) { if (gLinkPlayers[i].gender == MALE) - LoadPalette(gObjectEventPal_RubySapphireBrendan, 0x160 + i * 0x10, 0x20); + LoadPalette(gObjectEventPal_RubySapphireBrendan, OBJ_PLTT_ID(0x6 + i), PLTT_SIZE_4BPP); else - LoadPalette(gObjectEventPal_RubySapphireMay, 0x160 + i * 0x10, 0x20); + LoadPalette(gObjectEventPal_RubySapphireMay, OBJ_PLTT_ID(0x6 + i), PLTT_SIZE_4BPP); } else { if (gLinkPlayers[i].gender == MALE) - LoadPalette(gObjectEventPal_Brendan, 0x160 + i * 0x10, 0x20); + LoadPalette(gObjectEventPal_Brendan, OBJ_PLTT_ID(0x6 + i), PLTT_SIZE_4BPP); else - LoadPalette(gObjectEventPal_May, 0x160 + i * 0x10, 0x20); + LoadPalette(gObjectEventPal_May, OBJ_PLTT_ID(0x6 + i), PLTT_SIZE_4BPP); } } } diff --git a/src/credits.c b/src/credits.c index c318595999..0764e185db 100644 --- a/src/credits.c +++ b/src/credits.c @@ -185,7 +185,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 9, .width = 30, .height = 12, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 1 }, DUMMY_WIN_TEMPLATE, @@ -365,7 +365,7 @@ static void InitCreditsBgsAndWindows(void) ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sBackgroundTemplates, ARRAY_COUNT(sBackgroundTemplates)); SetBgTilemapBuffer(0, AllocZeroed(BG_SCREEN_SIZE)); - LoadPalette(sCredits_Pal, 0x80, 64); + LoadPalette(sCredits_Pal, BG_PLTT_ID(0x8), 2 * PLTT_SIZE_4BPP); InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); PutWindowTilemap(0); @@ -549,7 +549,7 @@ static void Task_LoadShowMons(u8 taskId) gReservedSpritePaletteCount = 8; LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM); LZ77UnCompVram(gBirchGrassTilemap, (void *)(BG_SCREEN_ADDR(7))); - LoadPalette(gBirchBagGrassPal[0] + 1, 1, 31 * 2); + LoadPalette(gBirchBagGrassPal[0] + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(2 * 16 - 1)); for (i = 0; i < MON_PIC_SIZE; i++) gDecompressionBuffer[i] = 0x11; @@ -624,7 +624,7 @@ static void Task_CreditsTheEnd3(u8 taskId) { ResetGpuAndVram(); ResetPaletteFade(); - LoadTheEndScreen(0, 0x3800, 0); + LoadTheEndScreen(0, 0x3800, BG_PLTT_ID(0x0)); ResetSpriteData(); FreeAllSpritePalettes(); BeginNormalPaletteFade(PALETTES_ALL, 8, 16, 0, RGB_BLACK); diff --git a/src/data/party_menu.h b/src/data/party_menu.h index fdceb9b7d9..a3cf30fc13 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -140,7 +140,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 3, .width = 10, .height = 7, - .paletteNum = 3, + .paletteNum = 0x3, .baseBlock = 0x63, }, { @@ -149,7 +149,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 1, .width = 18, .height = 3, - .paletteNum = 4, + .paletteNum = 0x4, .baseBlock = 0xA9, }, { @@ -158,7 +158,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 4, .width = 18, .height = 3, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0xDF, }, { @@ -167,7 +167,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 7, .width = 18, .height = 3, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 0x115, }, { @@ -176,7 +176,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 10, .width = 18, .height = 3, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 0x14B, }, { @@ -185,7 +185,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 13, .width = 18, .height = 3, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 0x181, }, { @@ -194,7 +194,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x1DF, }, DUMMY_WIN_TEMPLATE @@ -208,7 +208,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 1, .width = 10, .height = 7, - .paletteNum = 3, + .paletteNum = 0x3, .baseBlock = 0x63, }, { @@ -217,7 +217,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 8, .width = 10, .height = 7, - .paletteNum = 4, + .paletteNum = 0x4, .baseBlock = 0xA9, }, { @@ -226,7 +226,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 1, .width = 18, .height = 3, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0xEF, }, { @@ -235,7 +235,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 5, .width = 18, .height = 3, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 0x125, }, { @@ -244,7 +244,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 9, .width = 18, .height = 3, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 0x15B, }, { @@ -253,7 +253,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 13, .width = 18, .height = 3, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 0x191, }, { @@ -262,7 +262,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x1DF, }, DUMMY_WIN_TEMPLATE @@ -276,7 +276,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 1, .width = 10, .height = 7, - .paletteNum = 3, + .paletteNum = 0x3, .baseBlock = 0x63, }, { @@ -285,7 +285,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 8, .width = 10, .height = 7, - .paletteNum = 4, + .paletteNum = 0x4, .baseBlock = 0xA9, }, { @@ -294,7 +294,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 2, .width = 18, .height = 3, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0xEF, }, { @@ -303,7 +303,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 5, .width = 18, .height = 3, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 0x125, }, { @@ -312,7 +312,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 9, .width = 18, .height = 3, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 0x15B, }, { @@ -321,7 +321,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 12, .width = 18, .height = 3, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 0x191, }, { @@ -330,7 +330,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x1DF, }, DUMMY_WIN_TEMPLATE @@ -344,7 +344,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 2, .width = 10, .height = 7, - .paletteNum = 3, + .paletteNum = 0x3, .baseBlock = 0x63, }, { @@ -353,7 +353,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 3, .width = 18, .height = 3, - .paletteNum = 5, + .paletteNum = 0x5, .baseBlock = 0xA9, }, { @@ -362,7 +362,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 6, .width = 18, .height = 3, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 0xDF, }, { @@ -371,7 +371,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 11, .width = 10, .height = 7, - .paletteNum = 4, + .paletteNum = 0x4, .baseBlock = 0x115, }, { @@ -380,7 +380,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 12, .width = 18, .height = 3, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 0x16B, }, { @@ -389,7 +389,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 15, .width = 18, .height = 3, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 0x1A1, }, DUMMY_WIN_TEMPLATE @@ -402,7 +402,7 @@ static const struct WindowTemplate sCancelButtonWindowTemplate = .tilemapTop = 17, .width = 6, .height = 2, - .paletteNum = 3, + .paletteNum = 0x3, .baseBlock = 0x1C7, }; @@ -413,7 +413,7 @@ static const struct WindowTemplate sMultiCancelButtonWindowTemplate = .tilemapTop = 18, .width = 6, .height = 2, - .paletteNum = 3, + .paletteNum = 0x3, .baseBlock = 0x1C7, }; @@ -424,7 +424,7 @@ static const struct WindowTemplate sConfirmButtonWindowTemplate = .tilemapTop = 16, .width = 6, .height = 2, - .paletteNum = 3, + .paletteNum = 0x3, .baseBlock = 0x1D3, }; @@ -435,7 +435,7 @@ static const struct WindowTemplate sDefaultPartyMsgWindowTemplate = .tilemapTop = 17, .width = 21, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x24F, }; @@ -446,7 +446,7 @@ static const struct WindowTemplate sDoWhatWithMonMsgWindowTemplate = .tilemapTop = 17, .width = 16, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x279, }; @@ -457,7 +457,7 @@ static const struct WindowTemplate sDoWhatWithItemMsgWindowTemplate = .tilemapTop = 17, .width = 20, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x299, }; @@ -468,7 +468,7 @@ static const struct WindowTemplate sDoWhatWithMailMsgWindowTemplate = .tilemapTop = 17, .width = 18, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x299, }; @@ -479,7 +479,7 @@ static const struct WindowTemplate sWhichMoveMsgWindowTemplate = .tilemapTop = 17, .width = 16, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x299, }; @@ -490,7 +490,7 @@ static const struct WindowTemplate sAlreadyHoldingOneMsgWindowTemplate = .tilemapTop = 15, .width = 20, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x299, }; @@ -501,7 +501,7 @@ static const struct WindowTemplate sItemGiveTakeWindowTemplate = .tilemapTop = 13, .width = 6, .height = 6, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x39D, }; @@ -512,7 +512,7 @@ static const struct WindowTemplate sMailReadTakeWindowTemplate = .tilemapTop = 13, .width = 8, .height = 6, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x39D, }; @@ -523,7 +523,7 @@ static const struct WindowTemplate sMoveSelectWindowTemplate = .tilemapTop = 11, .width = 10, .height = 8, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x2E9, }; @@ -534,7 +534,7 @@ static const struct WindowTemplate sPartyMenuYesNoWindowTemplate = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x2E9, }; @@ -545,7 +545,7 @@ static const struct WindowTemplate sLevelUpStatsWindowTemplate = .tilemapTop = 1, .width = 10, .height = 11, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x2E9, }; @@ -556,7 +556,7 @@ static const struct WindowTemplate sUnusedWindowTemplate1 = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x1DF, }; @@ -567,7 +567,7 @@ static const struct WindowTemplate sUnusedWindowTemplate2 = .tilemapTop = 13, .width = 18, .height = 3, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x39D, }; diff --git a/src/data/trade.h b/src/data/trade.h index 80d17a49ba..9cf4955bcc 100644 --- a/src/data/trade.h +++ b/src/data/trade.h @@ -463,7 +463,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 7, .width = 22, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 30 }, { @@ -472,7 +472,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 10, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 118 }, { @@ -481,7 +481,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 158 }, { @@ -490,7 +490,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 174 }, { @@ -499,7 +499,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 190 }, { @@ -508,7 +508,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 206 }, { @@ -517,7 +517,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 222 }, { @@ -526,7 +526,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 238 }, { @@ -535,7 +535,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 254 }, { @@ -544,7 +544,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 270 }, { @@ -553,7 +553,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 286 }, { @@ -562,7 +562,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 302 }, { @@ -571,7 +571,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 318 }, { @@ -580,7 +580,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 8, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 334 }, { @@ -589,7 +589,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 14, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 350 }, { @@ -598,7 +598,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 8, .width = 11, .height = 8, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 378 }, { @@ -607,7 +607,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 14, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 466 }, { @@ -616,7 +616,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 8, .width = 11, .height = 8, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 494 }, DUMMY_WIN_TEMPLATE, @@ -629,7 +629,7 @@ static const struct WindowTemplate sTradeYesNoWindowTemplate = .tilemapTop = 13, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 582 }; @@ -1112,7 +1112,7 @@ static const struct WindowTemplate sTradeSequenceWindowTemplates[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 64 }, DUMMY_WIN_TEMPLATE @@ -1125,7 +1125,7 @@ const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 188 }; diff --git a/src/data/union_room.h b/src/data/union_room.h index cf4b12b5d5..804a8435ff 100644 --- a/src/data/union_room.h +++ b/src/data/union_room.h @@ -627,7 +627,7 @@ static const struct WindowTemplate sWindowTemplate_BButtonCancel = { .tilemapTop = 0, .width = 30, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0008 }; @@ -669,7 +669,7 @@ static const struct WindowTemplate sWindowTemplate_PlayerList = { .tilemapTop = 3, .width = 13, .height = 8, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0044 }; @@ -679,7 +679,7 @@ static const struct WindowTemplate sWindowTemplate_5PlayerList = { .tilemapTop = 3, .width = 13, .height = 10, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0044 }; @@ -689,7 +689,7 @@ static const struct WindowTemplate sWindowTemplate_NumPlayerMode = { .tilemapTop = 3, .width = 7, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x00c6 }; @@ -728,7 +728,7 @@ static const struct WindowTemplate sWindowTemplate_GroupList = { .tilemapTop = 3, .width = 17, .height = 10, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0044 }; @@ -738,7 +738,7 @@ static const struct WindowTemplate sWindowTemplate_PlayerNameAndId = { .tilemapTop = 3, .width = 7, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x00ee }; @@ -788,7 +788,7 @@ static const struct WindowTemplate sWindowTemplate_InviteToActivity = { .tilemapTop = 5, .width = 16, .height = 8, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0001 }; @@ -826,7 +826,7 @@ static const struct WindowTemplate sWindowTemplate_RegisterForTrade = { .tilemapTop = 7, .width = 16, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0001 }; @@ -863,7 +863,7 @@ static const struct WindowTemplate sWindowTemplate_TradingBoardRequestType = { .tilemapTop = 1, .width = 16, .height = 12, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0001 }; @@ -915,7 +915,7 @@ static const struct WindowTemplate sWindowTemplate_TradingBoardHeader = { .tilemapTop = 1, .width = 28, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x0001 }; @@ -925,7 +925,7 @@ static const struct WindowTemplate sWindowTemplate_TradingBoardMain = { .tilemapTop = 5, .width = 28, .height = 12, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x0039 }; @@ -970,7 +970,7 @@ static const struct WindowTemplate sWindowTemplate_Unused = { .tilemapTop = 5, .width = 28, .height = 12, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x0039 }; diff --git a/src/daycare.c b/src/daycare.c index 19d5edbb2c..57119c3ca7 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -46,7 +46,7 @@ static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = .tilemapTop = 1, .width = 14, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 8 }; diff --git a/src/decoration.c b/src/decoration.c index cc740f189e..684e67bc87 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -263,7 +263,7 @@ static const struct WindowTemplate sDecorationWindowTemplates[WINDOW_COUNT] = .tilemapTop = 1, .width = 18, .height = 2 * ARRAY_COUNT(sDecorationMainMenuActions), - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0001 }, { @@ -272,7 +272,7 @@ static const struct WindowTemplate sDecorationWindowTemplates[WINDOW_COUNT] = .tilemapTop = 1, .width = 13, .height = 18, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x0091 }, { @@ -281,7 +281,7 @@ static const struct WindowTemplate sDecorationWindowTemplates[WINDOW_COUNT] = .tilemapTop = 1, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x017b }, { @@ -290,7 +290,7 @@ static const struct WindowTemplate sDecorationWindowTemplates[WINDOW_COUNT] = .tilemapTop = 13, .width = 13, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0193 } }; @@ -687,7 +687,7 @@ static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId) static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId) { - LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); + LoadPalette(sDecorationMenuPalette, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); ClearDialogWindowAndFrame(0, FALSE); RemoveDecorationWindow(WINDOW_MAIN_MENU); InitDecorationCategoriesWindow(taskId); @@ -833,7 +833,7 @@ static void ReturnToActionsMenuFromCategories(u8 taskId) void ShowDecorationCategoriesWindow(u8 taskId) { - LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); + LoadPalette(sDecorationMenuPalette, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); ClearDialogWindowAndFrame(0, FALSE); gTasks[taskId].tDecorationMenuCommand = DECOR_MENU_TRADE; sCurDecorationCategory = DECORCAT_DESK; diff --git a/src/diploma.c b/src/diploma.c index ce31578dcb..5fe8aef83d 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -72,7 +72,7 @@ void CB2_ShowDiploma(void) ResetSpriteData(); ResetPaletteFade(); FreeAllSpritePalettes(); - LoadPalette(sDiplomaPalettes, 0, 64); + LoadPalette(sDiplomaPalettes, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); sDiplomaTilemapPtr = malloc(0x1000); InitDiplomaBg(); InitDiplomaWindow(); @@ -186,7 +186,7 @@ static const struct WindowTemplate sDiplomaWinTemplates[2] = .tilemapTop = 2, .width = 20, .height = 16, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1, }, DUMMY_WIN_TEMPLATE, @@ -196,7 +196,7 @@ static void InitDiplomaWindow(void) { InitWindows(sDiplomaWinTemplates); DeactivateAllTextPrinters(); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); FillWindowPixelBuffer(0, PIXEL_FILL(0)); PutWindowTilemap(0); } diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 11bf12925b..e1fe5248f1 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -2931,7 +2931,7 @@ static const struct WindowTemplate sWindowTemplates_Records = .tilemapTop = 1, .width = 20, .height = 11, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x1, }; @@ -3005,7 +3005,7 @@ static void PrintRecordsText(u8 windowId, s32 width) recordNums[1] = gSaveBlock2Ptr->berryPick.bestScore; recordNums[2] = gSaveBlock2Ptr->berryPick.berriesPickedInRow; - LoadUserWindowBorderGfx_(windowId, 0x21D, 0xD0); + LoadUserWindowBorderGfx_(windowId, 0x21D, BG_PLTT_ID(0xD)); DrawTextBorderOuter(windowId, 0x21D, 0xD); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_BerryPickingRecords, GetStringCenterAlignXOffset(FONT_NORMAL, gText_BerryPickingRecords, width * 8), 1, TEXT_SKIP_DRAW, NULL); @@ -3401,7 +3401,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 1, .width = 28, .height = 2, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x13, }, { @@ -3410,7 +3410,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 5, .width = 28, .height = 14, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x4B, } }; @@ -3422,7 +3422,7 @@ static const struct WindowTemplate sWindowTemplate_Prize = .tilemapTop = 5, .width = 28, .height = 7, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x4B, }; @@ -3439,7 +3439,7 @@ static const struct WindowTemplate sWindowTemplates_PlayAgain[] = .tilemapTop = 8, .width = 19, .height = 3, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x13, }, [WIN_YES_NO] = { @@ -3448,7 +3448,7 @@ static const struct WindowTemplate sWindowTemplates_PlayAgain[] = .tilemapTop = 7, .width = 6, .height = 4, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x4C, } }; @@ -3460,7 +3460,7 @@ static const struct WindowTemplate sWindowTemplate_DroppedOut = .tilemapTop = 6, .width = 22, .height = 5, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x13, }; @@ -3471,7 +3471,7 @@ static const struct WindowTemplate sWindowTemplate_CommStandby = .tilemapTop = 8, .width = 19, .height = 3, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x13, }; @@ -4429,12 +4429,12 @@ static void ResetBerryAndStatusBarSprites(void) static void LoadWindowFrameGfx(u8 frameId) { LoadBgTiles(BG_INTERFACE, GetWindowFrameTilesPal(frameId)->tiles, 0x120, 1); - LoadPalette(GetWindowFrameTilesPal(frameId)->pal, 0xA0, 0x20); + LoadPalette(GetWindowFrameTilesPal(frameId)->pal, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); } static void LoadUserWindowFrameGfx(void) { - LoadUserWindowBorderGfx_(0, 0xA, 0xB0); + LoadUserWindowBorderGfx_(0, 0xA, BG_PLTT_ID(0xB)); } static void ResetGfxState(void) @@ -4448,7 +4448,7 @@ static void ResetGfxState(void) static void DrawYesNoMessageWindow(const struct WindowTemplate *template) { - u8 pal = 10; + u8 pal = 0xA; FillBgTilemapBufferRect(BG_INTERFACE, 1, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, pal); FillBgTilemapBufferRect(BG_INTERFACE, 2, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, pal); @@ -4462,7 +4462,7 @@ static void DrawYesNoMessageWindow(const struct WindowTemplate *template) static void DrawMessageWindow(const struct WindowTemplate *template) { - u8 pal = 11; + u8 pal = 0xB; FillBgTilemapBufferRect(BG_INTERFACE, 10, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, pal); FillBgTilemapBufferRect(BG_INTERFACE, 11, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, pal); @@ -4634,7 +4634,7 @@ static void ShowNames(void) window.bg = BG_INTERFACE; window.width = 7; window.height = 2; - window.paletteNum = 13; + window.paletteNum = 0xD; window.baseBlock = 0x13; for (i = 0; i < numPlayers; coords++, i++) { @@ -5193,7 +5193,7 @@ static bool32 LoadBgGfx(void) switch (sGfx->loadState) { case 0: - LoadPalette(sBg_Pal, 0, sizeof(sBg_Pal)); + LoadPalette(sBg_Pal, BG_PLTT_ID(0x0), sizeof(sBg_Pal)); break; case 1: ResetTempTileDataBuffers(); @@ -5209,7 +5209,7 @@ static bool32 LoadBgGfx(void) return FALSE; break; case 5: - LoadPalette(GetTextWindowPalette(3), 0xD0, 0x20); + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); break; default: sGfx->loadState = 0; diff --git a/src/easy_chat.c b/src/easy_chat.c index 91b44fb26b..574ed22ee5 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -820,7 +820,7 @@ static const struct WindowTemplate sEasyChatWindowTemplates[] = { .tilemapTop = 0, .width = 18, .height = 2, - .paletteNum = 10, + .paletteNum = 0xA, .baseBlock = 0x10, }, { @@ -829,7 +829,7 @@ static const struct WindowTemplate sEasyChatWindowTemplates[] = { .tilemapTop = 15, .width = 24, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0xA, }, { @@ -838,7 +838,7 @@ static const struct WindowTemplate sEasyChatWindowTemplates[] = { .tilemapTop = 0, .width = 28, .height = 32, - .paletteNum = 3, + .paletteNum = 0x3, .baseBlock = 0, }, DUMMY_WIN_TEMPLATE, @@ -850,7 +850,7 @@ static const struct WindowTemplate sEasyChatYesNoWindowTemplate = { .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x6A, }; @@ -3911,13 +3911,13 @@ static void InitEasyChatBgs(void) static void LoadEasyChatPalettes(void) { ResetPaletteFade(); - LoadPalette(gEasyChatMode_Pal, 0, 32); - LoadPalette(sTextInputFrameOrange_Pal, 1 * 16, 32); - LoadPalette(sTextInputFrameGreen_Pal, 4 * 16, 32); - LoadPalette(sTitleText_Pal, 10 * 16, 8); - LoadPalette(sText_Pal, 11 * 16, 12); - LoadPalette(sText_Pal, 15 * 16, 12); - LoadPalette(sText_Pal, 3 * 16, 12); + LoadPalette(gEasyChatMode_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sTextInputFrameOrange_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(sTextInputFrameGreen_Pal, BG_PLTT_ID(0x4), PLTT_SIZE_4BPP); + LoadPalette(sTitleText_Pal, BG_PLTT_ID(0xA), PLTT_SIZEOF(4)); + LoadPalette(sText_Pal, BG_PLTT_ID(0xB), PLTT_SIZEOF(6)); + LoadPalette(sText_Pal, BG_PLTT_ID(0xF), PLTT_SIZEOF(6)); + LoadPalette(sText_Pal, BG_PLTT_ID(0x3), PLTT_SIZEOF(6)); } static void PrintTitle(void) @@ -3951,8 +3951,8 @@ static void PrintEasyChatTextWithColors(u8 windowId, u8 fontId, const u8 *str, u static void PrintInitialInstructions(void) { FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17); - LoadUserWindowBorderGfx(1, 1, 0xE0); - DrawTextBorderOuter(1, 1, 14); + LoadUserWindowBorderGfx(1, 1, BG_PLTT_ID(0xE)); + DrawTextBorderOuter(1, 1, 0xE); PrintEasyChatStdMessage(MSG_INSTRUCTIONS); PutWindowTilemap(1); CopyBgTilemapBufferToVram(0); @@ -4024,7 +4024,7 @@ static void AddPhraseWindow(void) template.tilemapTop = sPhraseFrameDimensions[frameId].top; template.width = sPhraseFrameDimensions[frameId].width; template.height = sPhraseFrameDimensions[frameId].height; - template.paletteNum = 11; + template.paletteNum = 0xB; template.baseBlock = 0x6C; sScreenControl->windowId = AddWindow(&template); PutWindowTilemap(sScreenControl->windowId); @@ -5069,7 +5069,7 @@ static void AddMainScreenButtonWindow(void) template.tilemapTop = 11; template.width = 28; template.height = 2; - template.paletteNum = 11; + template.paletteNum = 0xB; template.baseBlock = 0x34; windowId = AddWindow(&template); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index d714fb9505..1832ec2156 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -264,7 +264,7 @@ static const struct WindowTemplate sWinTemplates_EggHatch[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 64 }, DUMMY_WIN_TEMPLATE @@ -277,7 +277,7 @@ static const struct WindowTemplate sYesNoWinTemplate = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 424 }; @@ -532,7 +532,7 @@ static void CB2_LoadEggHatch(void) case 2: DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); - LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); gMain.state++; break; case 3: @@ -556,7 +556,7 @@ static void CB2_LoadEggHatch(void) break; case 7: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - LoadPalette(gTradeGba2_Pal, 0x10, 0xA0); + LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(0x1), 5 * PLTT_SIZE_4BPP); LoadBgTiles(1, gTradeGba_Gfx, 0x1420, 0); CopyToBgTilemapBuffer(1, gTradePlatform_Tilemap, 0x1000, 0); CopyBgTilemapBufferToVram(1); @@ -678,7 +678,7 @@ static void CB2_EggHatch(void) // Print the nickname prompt if (!IsTextPrinterActive(sEggHatchData->windowId)) { - LoadUserWindowBorderGfx(sEggHatchData->windowId, 0x140, 0xE0); + LoadUserWindowBorderGfx(sEggHatchData->windowId, 0x140, BG_PLTT_ID(0xE)); CreateYesNoMenu(&sYesNoWinTemplate, 0x140, 0xE, 0); sEggHatchData->state++; } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 69377cac61..eaca44a7ae 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -2005,7 +2005,7 @@ void PatchObjectPalette(u16 paletteTag, u8 paletteSlot) { u8 paletteIndex = FindObjectEventPaletteIndexByTag(paletteTag); - LoadPalette(sObjectEventSpritePalettes[paletteIndex].data, 16 * paletteSlot + 0x100, 0x20); + LoadPalette(sObjectEventSpritePalettes[paletteIndex].data, OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } void PatchObjectPaletteRange(const u16 *paletteTags, u8 minSlot, u8 maxSlot) diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 2c4e225c1b..9ca441bc4f 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -263,7 +263,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_LEFT], currSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(currSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x110, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x1), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(currSpecies, B_POSITION_OPPONENT_LEFT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -278,7 +278,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_RIGHT], postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x120, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -356,7 +356,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x120, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -427,7 +427,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_RIGHT], postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x120, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); gMain.state++; } break; @@ -492,7 +492,7 @@ void TradeEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, u8 preEvoSprit postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, 0x120, 0x20); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_LEFT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -1301,7 +1301,7 @@ static void Task_TradeEvolutionScene(u8 taskId) case T_MVSTATE_PRINT_YES_NO: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - LoadUserWindowBorderGfx(0, 0xA8, 0xE0); + LoadUserWindowBorderGfx(0, 0xA8, BG_PLTT_ID(0xE)); CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, 0xA8, 0xE, 0); sEvoCursorPos = 0; gTasks[taskId].tLearnMoveState++; @@ -1507,7 +1507,7 @@ static void Task_UpdateBgPalette(u8 taskId) else { // Haven't reached final palette in current stage, load the current palette - LoadPalette(&sBgAnimPal[tPalStage * 16], 0xA0, 0x20); + LoadPalette(&sBgAnimPal[tPalStage * 16], BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); tCycleTimer = 0; tPalStage++; } @@ -1605,7 +1605,7 @@ static void StartBgAnimation(bool8 isLink) else innerBgId = 1, outerBgId = 3; - LoadPalette(sBgAnim_Intro_Pal, 0xA0, 0x20); + LoadPalette(sBgAnim_Intro_Pal, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); DecompressAndLoadBgGfxUsingHeap(1, sBgAnim_Gfx, FALSE, 0, 0); CopyToBgTilemapBuffer(innerBgId, sBgAnim_Inner_Tilemap, 0, 0); @@ -1644,7 +1644,7 @@ static void PauseBgPaletteAnim(void) if (taskId != TASK_NONE) gTasks[taskId].tPaused = TRUE; - FillPalette(RGB_BLACK, 0xA0, 0x20); + FillPalette(RGB_BLACK, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); } #undef tPaused @@ -1658,7 +1658,7 @@ static void StopBgAnimation(void) if ((taskId = FindTaskIdByFunc(Task_AnimateBg)) != TASK_NONE) DestroyTask(taskId); - FillPalette(RGB_BLACK, 0xA0, 0x20); + FillPalette(RGB_BLACK, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); RestoreBgAfterAnim(); } diff --git a/src/field_effect.c b/src/field_effect.c index ba917b5654..242d55770f 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -893,7 +893,7 @@ u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buf void LoadTrainerGfx_TrainerCard(u8 gender, u16 palOffset, u8 *dest) { LZDecompressVram(gTrainerFrontPicTable[gender].data, dest); - LoadCompressedPalette(gTrainerFrontPicPaletteTable[gender].data, palOffset, 0x20); + LoadCompressedPalette(gTrainerFrontPicPaletteTable[gender].data, palOffset, PLTT_SIZE_4BPP); } u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority) @@ -2620,7 +2620,7 @@ static void FieldMoveShowMonOutdoorsEffect_LoadGfx(struct Task *task) u16 delta = ((REG_BG0CNT >> 8) << 11); CpuCopy16(sFieldMoveStreaksOutdoors_Gfx, (void *)(VRAM + offset), 0x200); CpuFill32(0, (void *)(VRAM + delta), 0x800); - LoadPalette(sFieldMoveStreaksOutdoors_Pal, 0xf0, sizeof(sFieldMoveStreaksOutdoors_Pal)); + LoadPalette(sFieldMoveStreaksOutdoors_Pal, BG_PLTT_ID(0xF), sizeof(sFieldMoveStreaksOutdoors_Pal)); LoadFieldMoveOutdoorStreaksTilemap(delta); task->tState++; } @@ -2783,7 +2783,7 @@ static void FieldMoveShowMonIndoorsEffect_LoadGfx(struct Task *task) task->data[12] = delta; CpuCopy16(sFieldMoveStreaksIndoors_Gfx, (void *)(VRAM + offset), 0x80); CpuFill32(0, (void *)(VRAM + delta), 0x800); - LoadPalette(sFieldMoveStreaksIndoors_Pal, 0xf0, sizeof(sFieldMoveStreaksIndoors_Pal)); + LoadPalette(sFieldMoveStreaksIndoors_Pal, BG_PLTT_ID(0xF), sizeof(sFieldMoveStreaksIndoors_Pal)); task->tState++; } @@ -3082,7 +3082,7 @@ u8 FldEff_RayquazaSpotlight(void) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(14, 14)); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); - LoadPalette(sSpotlight_Pal, 0xC0, sizeof(sSpotlight_Pal)); + LoadPalette(sSpotlight_Pal, BG_PLTT_ID(0xC), sizeof(sSpotlight_Pal)); SetGpuReg(REG_OFFSET_BG0VOFS, 120); for (i = 3; i < 15; i++) { diff --git a/src/field_region_map.c b/src/field_region_map.c index 5e14920fba..cd728aef79 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -72,7 +72,7 @@ static const struct WindowTemplate sFieldRegionMapWindowTemplates[] = .tilemapTop = 17, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, { @@ -81,7 +81,7 @@ static const struct WindowTemplate sFieldRegionMapWindowTemplates[] = .tilemapTop = 1, .width = 7, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 25 }, DUMMY_WIN_TEMPLATE @@ -115,7 +115,7 @@ static void MCB2_InitRegionMapRegisters(void) InitBgsFromTemplates(1, sFieldRegionMapBgTemplates, ARRAY_COUNT(sFieldRegionMapBgTemplates)); InitWindows(sFieldRegionMapWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x27, 0xd0); + LoadUserWindowBorderGfx(0, 0x27, BG_PLTT_ID(0xD)); ClearScheduledBgCopiesToVram(); SetMainCallback2(MCB2_FieldUpdateRegionMap); SetVBlankCallback(VBCB_FieldUpdateRegionMap); diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 948d812e81..2192aa574b 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -1079,9 +1079,7 @@ static void LoadOrbEffectPalette(bool8 blueOrb) color[0] = RGB_BLUE; for (i = 0; i < 16; i++) - { - LoadPalette(color, 0xF0 + i, 2); - } + LoadPalette(color, BG_PLTT_ID(0xF) + i, PLTT_SIZEOF(1)); } static bool8 UpdateOrbEffectBlend(u16 shakeDir) diff --git a/src/field_specials.c b/src/field_specials.c index 7c226e7a39..74c4a5e7ac 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -583,16 +583,16 @@ static void LoadLinkPartnerObjectEventSpritePalette(u8 graphicsId, u8 localEvent switch (graphicsId) { case OBJ_EVENT_GFX_LINK_RS_BRENDAN: - LoadPalette(gObjectEventPal_RubySapphireBrendan, 0x100 + (adjustedPaletteNum << 4), 0x20); + LoadPalette(gObjectEventPal_RubySapphireBrendan, OBJ_PLTT_ID(adjustedPaletteNum), PLTT_SIZE_4BPP); break; case OBJ_EVENT_GFX_LINK_RS_MAY: - LoadPalette(gObjectEventPal_RubySapphireMay, 0x100 + (adjustedPaletteNum << 4), 0x20); + LoadPalette(gObjectEventPal_RubySapphireMay, OBJ_PLTT_ID(adjustedPaletteNum), PLTT_SIZE_4BPP); break; case OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL: - LoadPalette(gObjectEventPal_Brendan, 0x100 + (adjustedPaletteNum << 4), 0x20); + LoadPalette(gObjectEventPal_Brendan, OBJ_PLTT_ID(adjustedPaletteNum), PLTT_SIZE_4BPP); break; case OBJ_EVENT_GFX_RIVAL_MAY_NORMAL: - LoadPalette(gObjectEventPal_May, 0x100 + (adjustedPaletteNum << 4), 0x20); + LoadPalette(gObjectEventPal_May, OBJ_PLTT_ID(adjustedPaletteNum), PLTT_SIZE_4BPP); break; } } @@ -1638,7 +1638,7 @@ const struct WindowTemplate gElevatorFloor_WindowTemplate = .tilemapTop = 1, .width = 8, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 8, }; @@ -2845,7 +2845,7 @@ void ShowBattlePointsWindow(void) .tilemapTop = 1, .width = 6, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 8, }; @@ -2891,7 +2891,7 @@ void ShowFrontierExchangeCornerItemIconWindow(void) .tilemapTop = 9, .width = 4, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 20, }; @@ -3031,7 +3031,7 @@ static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection) .tilemapTop = 7, .width = 12, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 28, }; @@ -3266,7 +3266,7 @@ static void Task_DeoxysRockInteraction(u8 taskId) static void ChangeDeoxysRockLevel(u8 rockLevel) { u8 objectEventId; - LoadPalette(&sDeoxysRockPalettes[rockLevel], 0x1A0, 8); + LoadPalette(&sDeoxysRockPalettes[rockLevel], OBJ_PLTT_ID(0xA), PLTT_SIZEOF(4)); TryGetObjectEventIdByLocalIdAndMap(LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId); if (rockLevel == 0) @@ -3314,7 +3314,7 @@ void IncrementBirthIslandRockStepCount(void) void SetDeoxysRockPalette(void) { - LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], 0x1A0, 8); + LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], OBJ_PLTT_ID(0xA), PLTT_SIZEOF(4)); BlendPalettes(0x04000000, 16, 0); } diff --git a/src/field_weather.c b/src/field_weather.c index f7a7f81291..164da8343d 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -545,7 +545,7 @@ static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaI u8 gBlend = color.g; u8 bBlend = color.b; - palOffset = startPalIndex * 16; + palOffset = BG_PLTT_ID(startPalIndex); numPalettes += startPalIndex; gammaIndex--; curPalIndex = startPalIndex; @@ -556,7 +556,7 @@ static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaI { // No gamma shift. Simply blend the colors. BlendPalette(palOffset, 16, blendCoeff, blendColor); - palOffset += 16; + palOffset += 0x10; } else { @@ -601,14 +601,14 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl rBlend = color.r; gBlend = color.g; bBlend = color.b; - palOffset = 0; + palOffset = 0x00; for (curPalIndex = 0; curPalIndex < 32; curPalIndex++) { if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) { // No gamma shift. Simply blend the colors. BlendPalette(palOffset, 16, blendCoeff, blendColor); - palOffset += 16; + palOffset += 0x10; } else { @@ -649,7 +649,7 @@ static void ApplyFogBlend(u8 blendCoeff, u16 blendColor) u8 bBlend; u16 curPalIndex; - BlendPalette(0, 256, blendCoeff, blendColor); + BlendPalette(BG_PLTT_ID(0x0), 16 * 16, blendCoeff, blendColor); color = *(struct RGBColor *)&blendColor; rBlend = color.r; gBlend = color.g; @@ -683,7 +683,7 @@ static void ApplyFogBlend(u8 blendCoeff, u16 blendColor) } else { - BlendPalette(curPalIndex * 16, 16, blendCoeff, blendColor); + BlendPalette(PLTT_ID(curPalIndex), 16, blendCoeff, blendColor); } } } @@ -823,8 +823,8 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) } break; case WEATHER_PAL_STATE_SCREEN_FADING_OUT: - paletteIndex *= 16; - CpuFastCopy(gPlttBufferFaded + paletteIndex, gPlttBufferUnfaded + paletteIndex, 32); + paletteIndex = PLTT_ID(paletteIndex); + CpuFastCopy(gPlttBufferFaded + paletteIndex, gPlttBufferUnfaded + paletteIndex, PLTT_SIZE_4BPP); BlendPalette(paletteIndex, 16, gPaletteFade.y, gPaletteFade.blendColor); break; // WEATHER_PAL_STATE_CHANGING_WEATHER @@ -836,7 +836,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) } else { - paletteIndex *= 16; + paletteIndex = PLTT_ID(paletteIndex); BlendPalette(paletteIndex, 16, 12, RGB(28, 31, 28)); } break; @@ -859,7 +859,7 @@ static bool8 IsFirstFrameOfWeatherFadeIn(void) void LoadCustomWeatherSpritePalette(const u16 *palette) { - LoadPalette(palette, 0x100 + gWeatherPtr->weatherPicSpritePalIndex * 16, 32); + LoadPalette(palette, OBJ_PLTT_ID(gWeatherPtr->weatherPicSpritePalIndex), PLTT_SIZE_4BPP); UpdateSpritePaletteWithWeather(gWeatherPtr->weatherPicSpritePalIndex); } diff --git a/src/fieldmap.c b/src/fieldmap.c index 2b981dc6e5..479150d489 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -878,13 +878,13 @@ void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u16 size) { if (tileset->isSecondary == FALSE) { - LoadPalette(&black, destOffset, 2); - LoadPalette(((u16 *)tileset->palettes) + 1, destOffset + 1, size - 2); - FieldmapPaletteDummy(destOffset + 1, (size - 2) >> 1); + LoadPalette(&black, destOffset, PLTT_SIZEOF(1)); + LoadPalette(((u16 *)tileset->palettes) + 1, destOffset + 1, size - PLTT_SIZEOF(1)); + FieldmapPaletteDummy(destOffset + 1, (size - PLTT_SIZEOF(1)) >> 1); } else if (tileset->isSecondary == TRUE) { - LoadPalette(((u16 *)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size); + LoadPalette(((u16 *)tileset->palettes) + BG_PLTT_ID(NUM_PALS_IN_PRIMARY), destOffset, size); FieldmapPaletteDummy(destOffset, size >> 1); } else @@ -912,12 +912,12 @@ void CopySecondaryTilesetToVramUsingHeap(struct MapLayout const *mapLayout) static void LoadPrimaryTilesetPalette(struct MapLayout const *mapLayout) { - LoadTilesetPalette(mapLayout->primaryTileset, 0, NUM_PALS_IN_PRIMARY * 16 * 2); + LoadTilesetPalette(mapLayout->primaryTileset, BG_PLTT_ID(0x0), NUM_PALS_IN_PRIMARY * PLTT_SIZE_4BPP); } void LoadSecondaryTilesetPalette(struct MapLayout const *mapLayout) { - LoadTilesetPalette(mapLayout->secondaryTileset, NUM_PALS_IN_PRIMARY * 16, (NUM_PALS_TOTAL - NUM_PALS_IN_PRIMARY) * 16 * 2); + LoadTilesetPalette(mapLayout->secondaryTileset, BG_PLTT_ID(NUM_PALS_IN_PRIMARY), (NUM_PALS_TOTAL - NUM_PALS_IN_PRIMARY) * PLTT_SIZE_4BPP); } void CopyMapTilesetsToVram(struct MapLayout const *mapLayout) diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index abdca2a88a..3790636ea2 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -218,8 +218,8 @@ static void Task_ExitCaveTransition2(u8 taskId) SetGpuReg(REG_OFFSET_DISPCNT, 0); LZ77UnCompVram(sCaveTransitionTiles, (void *)(VRAM + 0xC000)); LZ77UnCompVram(sCaveTransitionTilemap, (void *)(VRAM + 0xF800)); - LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20); - LoadPalette(sCaveTransitionPalette_Exit, 0xE0, 0x10); + LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); + LoadPalette(sCaveTransitionPalette_Exit, BG_PLTT_ID(0xE), 0x10); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 @@ -270,11 +270,11 @@ static void Task_ExitCaveTransition4(u8 taskId) if (count < 8) { gTasks[taskId].data[2]++; - LoadPalette(&sCaveTransitionPalette_Exit[count], 0xE0, 16 - 2 * count); + LoadPalette(&sCaveTransitionPalette_Exit[count], BG_PLTT_ID(0xE), PLTT_SIZEOF(8) - PLTT_SIZEOF(count)); } else { - LoadPalette(sCaveTransitionPalette_White, 0, 0x20); + LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); gTasks[taskId].func = Task_ExitCaveTransition5; gTasks[taskId].data[2] = 8; } @@ -315,8 +315,8 @@ static void Task_EnterCaveTransition2(u8 taskId) | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON); - LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20); - LoadPalette(sCaveTransitionPalette_Black, 0, 0x20); + LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); + LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); gTasks[taskId].func = Task_EnterCaveTransition3; gTasks[taskId].data[0] = 16; gTasks[taskId].data[1] = 0; @@ -331,7 +331,7 @@ static void Task_EnterCaveTransition3(u8 taskId) { gTasks[taskId].data[2]++; gTasks[taskId].data[2]++; - LoadPalette(&sCaveTransitionPalette_Enter[15 - count], 0xE0, 2 * (count + 1)); + LoadPalette(&sCaveTransitionPalette_Enter[15 - count], BG_PLTT_ID(0xE), PLTT_SIZEOF(count + 1)); } else { @@ -359,7 +359,7 @@ static void Task_EnterCaveTransition4(u8 taskId) } else { - LoadPalette(sCaveTransitionPalette_Black, 0, 0x20); + LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); SetMainCallback2(gMain.savedCallback); } } diff --git a/src/frontier_pass.c b/src/frontier_pass.c index b143587415..48d4a5fce2 100644 --- a/src/frontier_pass.c +++ b/src/frontier_pass.c @@ -253,7 +253,7 @@ static const struct WindowTemplate sPassWindowTemplates[WINDOW_COUNT] = .tilemapTop = 3, .width = 12, .height = 3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x1, }, [WINDOW_BATTLE_RECORD] = { @@ -262,7 +262,7 @@ static const struct WindowTemplate sPassWindowTemplates[WINDOW_COUNT] = .tilemapTop = 10, .width = 12, .height = 3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x26, }, [WINDOW_BATTLE_POINTS] = { @@ -271,7 +271,7 @@ static const struct WindowTemplate sPassWindowTemplates[WINDOW_COUNT] = .tilemapTop = 13, .width = 12, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x4B, }, [WINDOW_DESCRIPTION] = { @@ -280,7 +280,7 @@ static const struct WindowTemplate sPassWindowTemplates[WINDOW_COUNT] = .tilemapTop = 18, .width = 30, .height = 3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x7C, }, DUMMY_WIN_TEMPLATE @@ -294,7 +294,7 @@ static const struct WindowTemplate sMapWindowTemplates[] = .tilemapTop = 1, .width = 15, .height = 5, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x1, }, [MAP_WINDOW_NAME] = { @@ -303,7 +303,7 @@ static const struct WindowTemplate sMapWindowTemplates[] = .tilemapTop = 1, .width = 10, .height = 14, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x4D, }, [MAP_WINDOW_DESCRIPTION] = { @@ -312,7 +312,7 @@ static const struct WindowTemplate sMapWindowTemplates[] = .tilemapTop = 16, .width = 26, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0xDA, }, DUMMY_WIN_TEMPLATE @@ -768,9 +768,9 @@ static bool32 InitFrontierPass(void) CopyBgTilemapBufferToVram(2); break; case 8: - LoadPalette(gFrontierPassBg_Pal[0], 0, 0x1A0); - LoadPalette(gFrontierPassBg_Pal[1 + sPassData->trainerStars], 0x10, 0x20); - LoadPalette(GetTextWindowPalette(0), 0xF0, 0x20); + LoadPalette(gFrontierPassBg_Pal[0], 0, 13 * PLTT_SIZE_4BPP); + LoadPalette(gFrontierPassBg_Pal[1 + sPassData->trainerStars], BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); DrawFrontierPassBg(); UpdateAreaHighlight(sPassData->cursorArea, sPassData->previousCursorArea); if (sPassData->areaToShow == CURSOR_AREA_MAP || sPassData->areaToShow == CURSOR_AREA_CARD) @@ -1412,8 +1412,8 @@ static bool32 InitFrontierMap(void) case 5: if (FreeTempTileDataBuffersIfPossible()) return FALSE; - LoadPalette(gFrontierPassBg_Pal[0], 0, 0x1A0); - LoadPalette(GetTextWindowPalette(0), 0xF0, 0x20); + LoadPalette(gFrontierPassBg_Pal[0], BG_PLTT_ID(0x0), 13 * PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); CopyToBgTilemapBuffer(2, sMapScreen_Tilemap, 0, 0); CopyBgTilemapBufferToVram(2); break; diff --git a/src/frontier_util.c b/src/frontier_util.c index f5dde452fc..9f8c030231 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -638,7 +638,7 @@ static const struct WindowTemplate sFrontierResultsWindowTemplate = .tilemapTop = 1, .width = 28, .height = 18, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }; @@ -649,7 +649,7 @@ static const struct WindowTemplate sLinkContestResultsWindowTemplate = .tilemapTop = 2, .width = 26, .height = 15, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }; @@ -660,7 +660,7 @@ static const struct WindowTemplate sRankingHallRecordsWindowTemplate = .tilemapTop = 1, .width = 26, .height = 17, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }; diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 8be5372e98..07bbf9bb88 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -140,7 +140,7 @@ static const struct WindowTemplate sHof_WindowTemplate = { .tilemapTop = 2, .width = 14, .height = 6, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 1 }; @@ -702,8 +702,8 @@ static void Task_Hof_DisplayPlayer(u8 taskId) ShowBg(3); gTasks[taskId].tPlayerSpriteID = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(gSaveBlock2Ptr->playerGender, TRUE), TRUE, 120, 72, 6, TAG_NONE); AddWindow(&sHof_WindowTemplate); - LoadWindowGfx(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, 0xD0); - LoadPalette(GetTextWindowPalette(1), 0xE0, 0x20); + LoadWindowGfx(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, BG_PLTT_ID(0xD)); + LoadPalette(GetTextWindowPalette(1), BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); gTasks[taskId].tFrameCount = 120; gTasks[taskId].func = Task_Hof_WaitAndPrintPlayerInfo; } @@ -1269,7 +1269,7 @@ static void ClearVramOamPltt_LoadHofPal(void) DmaFill16(3, 0, plttOffset, plttSize); ResetPaletteFade(); - LoadPalette(sHallOfFame_Pal, 0, 0x20); + LoadPalette(sHallOfFame_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); } static void LoadHofGfx(void) diff --git a/src/intro.c b/src/intro.c index 7e9a751690..06c5adba5d 100644 --- a/src/intro.c +++ b/src/intro.c @@ -1051,11 +1051,11 @@ static void MainCB2_EndIntro(void) SetMainCallback2(CB2_InitTitleScreen); } -static void LoadCopyrightGraphics(u16 tilesetAddress, u16 tilemapAddress, u16 paletteAddress) +static void LoadCopyrightGraphics(u16 tilesetAddress, u16 tilemapAddress, u16 paletteOffset) { LZ77UnCompVram(gIntroCopyright_Gfx, (void *)(VRAM + tilesetAddress)); LZ77UnCompVram(gIntroCopyright_Tilemap, (void *)(VRAM + tilemapAddress)); - LoadPalette(gIntroCopyright_Pal, paletteAddress, 32); + LoadPalette(gIntroCopyright_Pal, paletteOffset, PLTT_SIZE_4BPP); } static void SerialCB_CopyrightScreen(void) @@ -1080,7 +1080,7 @@ static u8 SetUpCopyrightScreen(void) CpuFill32(0, (void *)OAM, OAM_SIZE); CpuFill16(0, (void *)(PLTT + 2), PLTT_SIZE - 2); ResetPaletteFade(); - LoadCopyrightGraphics(0, 0x3800, 0); + LoadCopyrightGraphics(0, 0x3800, BG_PLTT_ID(0x0)); ScanlineEffect_Stop(); ResetTasks(); ResetSpriteData(); @@ -1178,7 +1178,7 @@ static void Task_Scene1_Load(u8 taskId) DmaClear16(3, BG_SCREEN_ADDR(21), BG_SCREEN_SIZE); LZ77UnCompVram(sIntro1Bg3_Tilemap, (void *)(BG_SCREEN_ADDR(22))); DmaClear16(3, BG_SCREEN_ADDR(23), BG_SCREEN_SIZE); - LoadPalette(sIntro1Bg_Pal, 0, sizeof(sIntro1Bg_Pal)); + LoadPalette(sIntro1Bg_Pal, BG_PLTT_ID(0x0), sizeof(sIntro1Bg_Pal)); SetGpuReg(REG_OFFSET_BG3CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(22) | BGCNT_16COLOR | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(20) | BGCNT_16COLOR | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(18) | BGCNT_16COLOR | BGCNT_TXT256x512); @@ -1717,7 +1717,7 @@ static void Task_Scene3_Load(u8 taskId) IntroResetGpuRegs(); LZ77UnCompVram(sIntroPokeball_Gfx, (void *)VRAM); LZ77UnCompVram(sIntroPokeball_Tilemap, (void *)(BG_CHAR_ADDR(1))); - LoadPalette(sIntroPokeball_Pal, 0, sizeof(sIntroPokeball_Pal)); + LoadPalette(sIntroPokeball_Pal, BG_PLTT_ID(0x0), sizeof(sIntroPokeball_Pal)); gTasks[taskId].tAlpha = 0; gTasks[taskId].tZoomDiv = 0; gTasks[taskId].tZoomDivSpeed = 0; @@ -2663,10 +2663,10 @@ static void Task_RayquazaAttack(u8 taskId) { if (--data[3] != 0) { - BlendPalette(0x50, 16, data[3], RGB(9, 10, 10)); - CpuCopy16(&gIntro3Bg_Pal[0x1AC], &gPlttBufferFaded[94], 2); - CpuCopy16(&gIntro3Bg_Pal[0x1AC], &gPlttBufferFaded[88], 2); - CpuCopy16(&gIntro3Bg_Pal[0x18C], &gPlttBufferFaded[92], 2); + BlendPalette(BG_PLTT_ID(0x5), 16, data[3], RGB(9, 10, 10)); + CpuCopy16(&gIntro3Bg_Pal[0x1AC], &gPlttBufferFaded[BG_PLTT_ID(0x5) + 14], PLTT_SIZEOF(1)); + CpuCopy16(&gIntro3Bg_Pal[0x1AC], &gPlttBufferFaded[BG_PLTT_ID(0x5) + 8], PLTT_SIZEOF(1)); + CpuCopy16(&gIntro3Bg_Pal[0x18C], &gPlttBufferFaded[BG_PLTT_ID(0x5) + 12], PLTT_SIZEOF(1)); } else { diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c index cf193018a4..2851f8638d 100644 --- a/src/intro_credits_graphics.c +++ b/src/intro_credits_graphics.c @@ -730,7 +730,7 @@ void LoadIntroPart2Graphics(u8 scenery) { LZ77UnCompVram(sGrass_Gfx, (void *)(BG_CHAR_ADDR(1))); LZ77UnCompVram(sGrass_Tilemap, (void *)(BG_SCREEN_ADDR(15))); - LoadPalette(&sGrass_Pal, 240, sizeof(sGrass_Pal)); + LoadPalette(&sGrass_Pal, BG_PLTT_ID(0xF), sizeof(sGrass_Pal)); switch (scenery) { case 0: @@ -739,17 +739,17 @@ void LoadIntroPart2Graphics(u8 scenery) // Clouds are never used in this part of the intro LZ77UnCompVram(sCloudsBg_Gfx, (void *)(VRAM)); LZ77UnCompVram(sCloudsBg_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sCloudsBg_Pal, 0, sizeof(sCloudsBg_Pal)); + LoadPalette(&sCloudsBg_Pal, BG_PLTT_ID(0x0), sizeof(sCloudsBg_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_Clouds); - LoadPalette(&sClouds_Pal, 256, sizeof(sClouds_Pal)); + LoadPalette(&sClouds_Pal, OBJ_PLTT_ID(0x0), sizeof(sClouds_Pal)); CreateCloudSprites(); break; case 1: LZ77UnCompVram(sTrees_Gfx, (void *)(VRAM)); LZ77UnCompVram(sTrees_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sTrees_Pal, 0, sizeof(sTrees_Pal)); + LoadPalette(&sTrees_Pal, BG_PLTT_ID(0x0), sizeof(sTrees_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_TreesSmall); - LoadPalette(&sTreesSmall_Pal, 256, sizeof(sTreesSmall_Pal)); + LoadPalette(&sTreesSmall_Pal, OBJ_PLTT_ID(0x0), sizeof(sTreesSmall_Pal)); CreateTreeSprites(); break; } @@ -843,42 +843,42 @@ void LoadCreditsSceneGraphics(u8 scene) { case SCENE_OCEAN_MORNING: default: - LoadPalette(&sGrass_Pal, 240, sizeof(sGrass_Pal)); + LoadPalette(&sGrass_Pal, BG_PLTT_ID(0xF), sizeof(sGrass_Pal)); LZ77UnCompVram(sCloudsBg_Gfx, (void *)(VRAM)); LZ77UnCompVram(sCloudsBg_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sCloudsBg_Pal, 0, sizeof(sCloudsBg_Pal)); + LoadPalette(&sCloudsBg_Pal, BG_PLTT_ID(0x0), sizeof(sCloudsBg_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_Clouds); LZ77UnCompVram(sClouds_Gfx, (void *)(OBJ_VRAM0)); - LoadPalette(&sClouds_Pal, 256, sizeof(sClouds_Pal)); + LoadPalette(&sClouds_Pal, OBJ_PLTT_ID(0x0), sizeof(sClouds_Pal)); CreateCloudSprites(); break; case SCENE_OCEAN_SUNSET: - LoadPalette(&sGrassSunset_Pal, 240, sizeof(sGrassSunset_Pal)); + LoadPalette(&sGrassSunset_Pal, BG_PLTT_ID(0xF), sizeof(sGrassSunset_Pal)); LZ77UnCompVram(sCloudsBg_Gfx, (void *)(VRAM)); LZ77UnCompVram(sCloudsBg_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sCloudsBgSunset_Pal, 0, sizeof(sCloudsBgSunset_Pal)); + LoadPalette(&sCloudsBgSunset_Pal, BG_PLTT_ID(0x0), sizeof(sCloudsBgSunset_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_Clouds); LZ77UnCompVram(sClouds_Gfx, (void *)(OBJ_VRAM0)); - LoadPalette(&sCloudsSunset_Pal, 256, sizeof(sCloudsSunset_Pal)); + LoadPalette(&sCloudsSunset_Pal, OBJ_PLTT_ID(0x0), sizeof(sCloudsSunset_Pal)); CreateCloudSprites(); break; case SCENE_FOREST_RIVAL_ARRIVE: case SCENE_FOREST_CATCH_RIVAL: - LoadPalette(&sGrassSunset_Pal, 240, sizeof(sGrassSunset_Pal)); + LoadPalette(&sGrassSunset_Pal, BG_PLTT_ID(0xF), sizeof(sGrassSunset_Pal)); LZ77UnCompVram(sTrees_Gfx, (void *)(VRAM)); LZ77UnCompVram(sTrees_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sTreesSunset_Pal, 0, sizeof(sTreesSunset_Pal)); + LoadPalette(&sTreesSunset_Pal, BG_PLTT_ID(0x0), sizeof(sTreesSunset_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_TreesSmall); - LoadPalette(&sTreesSunset_Pal, 256, sizeof(sTreesSunset_Pal)); + LoadPalette(&sTreesSunset_Pal, OBJ_PLTT_ID(0x0), sizeof(sTreesSunset_Pal)); CreateTreeSprites(); break; case SCENE_CITY_NIGHT: - LoadPalette(&sGrassNight_Pal, 240, sizeof(sGrassNight_Pal)); + LoadPalette(&sGrassNight_Pal, BG_PLTT_ID(0xF), sizeof(sGrassNight_Pal)); LZ77UnCompVram(sHouses_Gfx, (void *)(VRAM)); LZ77UnCompVram(sHouses_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sHouses_Pal, 0, sizeof(sHouses_Pal)); + LoadPalette(&sHouses_Pal, BG_PLTT_ID(0x0), sizeof(sHouses_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_HouseSilhouette); - LoadPalette(&sHouseSilhouette_Pal, 256, sizeof(sHouseSilhouette_Pal)); + LoadPalette(&sHouseSilhouette_Pal, OBJ_PLTT_ID(0x0), sizeof(sHouseSilhouette_Pal)); CreateHouseSprites(); break; } @@ -1006,8 +1006,8 @@ void CycleSceneryPalette(u8 mode) x = gPlttBufferUnfaded[10]; y = gPlttBufferUnfaded[9]; } - LoadPalette(&x, 9, sizeof(x)); - LoadPalette(&y, 10, sizeof(y)); + LoadPalette(&x, BG_PLTT_ID(0x0) + 9, sizeof(x)); + LoadPalette(&y, BG_PLTT_ID(0x0) + 10, sizeof(y)); break; case 2: if (gMain.vblankCounter1 & 3 || gPaletteFade.active) @@ -1022,8 +1022,8 @@ void CycleSceneryPalette(u8 mode) x = RGB(28, 24, 0); y = RGB(7, 9, 15); } - LoadPalette(&x, 12, sizeof(x)); - LoadPalette(&y, 13, sizeof(y)); + LoadPalette(&x, BG_PLTT_ID(0x0) + 12, sizeof(x)); + LoadPalette(&y, BG_PLTT_ID(0x0) + 13, sizeof(y)); break; case 1: break; diff --git a/src/item_menu.c b/src/item_menu.c index 288c2d9565..33b204291f 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -399,7 +399,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 2, .width = 15, .height = 16, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 0x27, }, [WIN_DESCRIPTION] = { @@ -408,7 +408,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 0x117, }, [WIN_POCKET_NAME] = { @@ -417,7 +417,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 1, .width = 8, .height = 2, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 0x1A1, }, [WIN_TMHM_INFO_ICONS] = { @@ -426,7 +426,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 13, .width = 5, .height = 6, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x16B, }, [WIN_TMHM_INFO] = { @@ -435,7 +435,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 13, .width = 4, .height = 6, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x189, }, [WIN_MESSAGE] = { @@ -444,7 +444,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x1B1, }, DUMMY_WIN_TEMPLATE, @@ -458,7 +458,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 17, .width = 7, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x21D, }, [ITEMWIN_1x2] = { @@ -467,7 +467,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 15, .width = 7, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x21D, }, [ITEMWIN_2x2] = { @@ -476,7 +476,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 15, .width = 14, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x21D, }, [ITEMWIN_2x3] = { @@ -485,7 +485,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x21D, }, [ITEMWIN_MESSAGE] = { @@ -494,7 +494,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x1B1, }, [ITEMWIN_YESNO_LOW] = { // Yes/No tucked in corner, for toss confirm @@ -503,7 +503,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 15, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x21D, }, [ITEMWIN_YESNO_HIGH] = { // Yes/No higher up, positioned above a lower message box @@ -512,7 +512,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x21D, }, [ITEMWIN_QUANTITY] = { // Used for quantity of items to Toss/Deposit @@ -521,7 +521,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 17, .width = 5, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x21D, }, [ITEMWIN_QUANTITY_WIDE] = { // Used for quantity and price of items to Sell @@ -530,7 +530,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 11, .width = 10, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x245, }, [ITEMWIN_MONEY] = { @@ -539,7 +539,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 1, .width = 10, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x231, }, }; @@ -818,9 +818,9 @@ static bool8 LoadBagMenu_Graphics(void) break; case 2: if (!IsWallysBag() && gSaveBlock2Ptr->playerGender != MALE) - LoadCompressedPalette(gBagScreenFemale_Pal, 0, 0x40); + LoadCompressedPalette(gBagScreenFemale_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); else - LoadCompressedPalette(gBagScreenMale_Pal, 0, 0x40); + LoadCompressedPalette(gBagScreenMale_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); gBagMenu->graphicsLoadState++; break; case 3: @@ -2448,10 +2448,10 @@ static void LoadBagMenuTextWindows(void) InitWindows(sDefaultBagWindows); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, 0xE0); - LoadMessageBoxGfx(0, 10, 0xD0); - ListMenuLoadStdPalAt(0xC0, 1); - LoadPalette(&gStandardMenuPalette, 0xF0, 0x20); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xE)); + LoadMessageBoxGfx(0, 10, BG_PLTT_ID(0xD)); + ListMenuLoadStdPalAt(BG_PLTT_ID(0xC), 1); + LoadPalette(&gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); for (i = 0; i <= WIN_POCKET_NAME; i++) { FillWindowPixelBuffer(i, PIXEL_FILL(0)); diff --git a/src/link.c b/src/link.c index 57e33c8115..a78849ddbe 100644 --- a/src/link.c +++ b/src/link.c @@ -200,7 +200,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .tilemapTop = 0, .width = 30, .height = 5, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x002 }, { .bg = 0, @@ -208,7 +208,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .tilemapTop = 6, .width = 30, .height = 7, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x098 }, { .bg = 0, @@ -216,7 +216,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .tilemapTop = 13, .width = 30, .height = 7, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x16A }, DUMMY_WIN_TEMPLATE }; @@ -247,7 +247,7 @@ void Task_DestroySelf(u8 taskId) static void InitLinkTestBG(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock, u16 baseChar) { - LoadPalette(sLinkTestDigitsPal, paletteNum * 16, 0x20); + LoadPalette(sLinkTestDigitsPal, BG_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); DmaCopy16(3, sLinkTestDigitsGfx, (u16 *)BG_CHAR_ADDR(charBaseBlock) + (16 * baseChar), sizeof sLinkTestDigitsGfx); gLinkTestBGInfo.screenBaseBlock = screenBaseBlock; gLinkTestBGInfo.paletteNum = paletteNum; @@ -271,7 +271,7 @@ static void InitLinkTestBG(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charB // Unused static void LoadLinkTestBgGfx(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock) { - LoadPalette(sLinkTestDigitsPal, paletteNum * 16, 0x20); + LoadPalette(sLinkTestDigitsPal, BG_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); DmaCopy16(3, sLinkTestDigitsGfx, (u16 *)BG_CHAR_ADDR(charBaseBlock), sizeof sLinkTestDigitsGfx); gLinkTestBGInfo.screenBaseBlock = screenBaseBlock; gLinkTestBGInfo.paletteNum = paletteNum; @@ -1595,7 +1595,7 @@ void CB2_LinkError(void) ResetSpriteData(); FreeAllSpritePalettes(); ResetPaletteFadeControl(); - FillPalette(RGB_BLACK, 0, 2); + SetBackdropFromColor(RGB_BLACK); ResetTasks(); ScanlineEffect_Stop(); if (gWirelessCommType) @@ -1621,7 +1621,7 @@ void CB2_LinkError(void) SetGpuReg(REG_OFFSET_BG1HOFS, 0); SetGpuReg(REG_OFFSET_BG1VOFS, 0); ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON); - LoadPalette(gStandardMenuPalette, 0xf0, 0x20); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); gSoftResetDisabled = FALSE; CreateTask(Task_DestroySelf, 0); StopMapMusic(); diff --git a/src/list_menu.c b/src/list_menu.c index 64692ce1f6..55ddf436e8 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -1078,7 +1078,7 @@ u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 if (arrowInfo->palTag == TAG_NONE) { - LoadPalette(sRedArrowPal, (16 * arrowInfo->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, OBJ_PLTT_ID(arrowInfo->palNum), PLTT_SIZE_4BPP); } else { @@ -1324,7 +1324,7 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) if (cursor->palTag == TAG_NONE) { - LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, OBJ_PLTT_ID(cursor->palNum), PLTT_SIZE_4BPP); } else { @@ -1409,7 +1409,7 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) if (cursor->palTag == TAG_NONE) { - LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, OBJ_PLTT_ID(cursor->palNum), PLTT_SIZE_4BPP); } else { diff --git a/src/mail.c b/src/mail.c index 651fcbb84e..52ce8df5ea 100644 --- a/src/mail.c +++ b/src/mail.c @@ -113,7 +113,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 3, .width = 26, .height = 15, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, DUMMY_WIN_TEMPLATE @@ -566,13 +566,13 @@ static bool8 MailReadBuildGraphics(void) CopyBgTilemapBufferToVram(2); break; case 12: - LoadPalette(GetOverworldTextboxPalettePtr(), 240, 32); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); gPlttBufferUnfaded[250] = sMailGraphics[sMailRead->mailType].textColor; gPlttBufferFaded[250] = sMailGraphics[sMailRead->mailType].textColor; gPlttBufferUnfaded[251] = sMailGraphics[sMailRead->mailType].textShadow; gPlttBufferFaded[251] = sMailGraphics[sMailRead->mailType].textShadow; - LoadPalette(sMailGraphics[sMailRead->mailType].palette, 0, 32); + LoadPalette(sMailGraphics[sMailRead->mailType].palette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); gPlttBufferUnfaded[10] = sBgColors[gSaveBlock2Ptr->playerGender][0]; gPlttBufferFaded[10] = sBgColors[gSaveBlock2Ptr->playerGender][0]; diff --git a/src/main_menu.c b/src/main_menu.c index b8abffda57..381676c0da 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -294,7 +294,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN0, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN0, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, // OPTIONS @@ -304,7 +304,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN1, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN1, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x35 }, // Has saved game @@ -315,7 +315,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN2, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, // NEW GAME @@ -325,7 +325,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN3, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x9D }, // OPTION / MYSTERY GIFT @@ -335,7 +335,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN4, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0xD1 }, // OPTION / MYSTERY EVENTS @@ -345,7 +345,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN5, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN5, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x105 }, // OPTION @@ -355,7 +355,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN6, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x139 }, // Error message window @@ -365,7 +365,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_ERROR, .width = MENU_WIDTH_ERROR, .height = MENU_HEIGHT_ERROR, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x16D }, DUMMY_WIN_TEMPLATE @@ -379,7 +379,7 @@ static const struct WindowTemplate sNewGameBirchSpeechTextWindows[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, { @@ -388,7 +388,7 @@ static const struct WindowTemplate sNewGameBirchSpeechTextWindows[] = .tilemapTop = 5, .width = 6, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x6D }, { @@ -397,7 +397,7 @@ static const struct WindowTemplate sNewGameBirchSpeechTextWindows[] = .tilemapTop = 2, .width = 9, .height = 10, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x85 }, DUMMY_WIN_TEMPLATE @@ -571,8 +571,8 @@ static u32 InitMainMenu(bool8 returningFromOptionsMenu) DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); ResetPaletteFade(); - LoadPalette(sMainMenuBgPal, 0, 32); - LoadPalette(sMainMenuTextPal, 0xF0, 32); + LoadPalette(sMainMenuBgPal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sMainMenuTextPal, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); ScanlineEffect_Stop(); ResetTasks(); ResetSpriteData(); @@ -750,28 +750,28 @@ static void Task_DisplayMainMenu(u8 taskId) SetGpuReg(REG_OFFSET_BLDY, 7); palette = RGB_BLACK; - LoadPalette(&palette, 254, 2); + LoadPalette(&palette, BG_PLTT_ID(0xF) + 14, PLTT_SIZEOF(1)); palette = RGB_WHITE; - LoadPalette(&palette, 250, 2); + LoadPalette(&palette, BG_PLTT_ID(0xF) + 10, PLTT_SIZEOF(1)); palette = RGB(12, 12, 12); - LoadPalette(&palette, 251, 2); + LoadPalette(&palette, BG_PLTT_ID(0xF) + 11, PLTT_SIZEOF(1)); palette = RGB(26, 26, 25); - LoadPalette(&palette, 252, 2); + LoadPalette(&palette, BG_PLTT_ID(0xF) + 12, PLTT_SIZEOF(1)); // Note: If there is no save file, the save block is zeroed out, // so the default gender is MALE. if (gSaveBlock2Ptr->playerGender == MALE) { palette = RGB(4, 16, 31); - LoadPalette(&palette, 241, 2); + LoadPalette(&palette, BG_PLTT_ID(0xF) + 1, PLTT_SIZEOF(1)); } else { palette = RGB(31, 3, 21); - LoadPalette(&palette, 241, 2); + LoadPalette(&palette, BG_PLTT_ID(0xF) + 1, PLTT_SIZEOF(1)); } switch (gTasks[taskId].tMenuType) @@ -1274,8 +1274,8 @@ static void Task_NewGameBirchSpeech_Init(u8 taskId) LZ77UnCompVram(sBirchSpeechShadowGfx, (void *)VRAM); LZ77UnCompVram(sBirchSpeechBgMap, (void *)(BG_SCREEN_ADDR(7))); - LoadPalette(sBirchSpeechBgPals, 0, 64); - LoadPalette(sBirchSpeechPlatformBlackPal, 1, 16); + LoadPalette(sBirchSpeechBgPals, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadPalette(sBirchSpeechPlatformBlackPal, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(8)); ScanlineEffect_Stop(); ResetSpriteData(); FreeAllSpritePalettes(); @@ -1327,7 +1327,7 @@ static void Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome(u8 taskId) { InitWindows(sNewGameBirchSpeechTextWindows); LoadMainMenuWindowFrameTiles(0, 0xF3); - LoadMessageBoxGfx(0, 0xFC, 0xF0); + LoadMessageBoxGfx(0, 0xFC, BG_PLTT_ID(0xF)); NewGameBirchSpeech_ShowDialogueWindow(0, 1); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_GFX); @@ -1809,8 +1809,8 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void) ResetPaletteFade(); LZ77UnCompVram(sBirchSpeechShadowGfx, (u8 *)VRAM); LZ77UnCompVram(sBirchSpeechBgMap, (u8 *)(BG_SCREEN_ADDR(7))); - LoadPalette(sBirchSpeechBgPals, 0, 64); - LoadPalette(&sBirchSpeechBgGradientPal[1], 1, 16); + LoadPalette(sBirchSpeechBgPals, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadPalette(&sBirchSpeechBgGradientPal[1], BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(8)); ResetTasks(); taskId = CreateTask(Task_NewGameBirchSpeech_ReturnFromNamingScreenShowTextbox, 0); gTasks[taskId].tTimer = 5; @@ -1853,7 +1853,7 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void) SetMainCallback2(CB2_MainMenu); InitWindows(sNewGameBirchSpeechTextWindows); LoadMainMenuWindowFrameTiles(0, 0xF3); - LoadMessageBoxGfx(0, 0xFC, 0xF0); + LoadMessageBoxGfx(0, 0xFC, BG_PLTT_ID(0xF)); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); } @@ -2029,7 +2029,7 @@ static void Task_NewGameBirchSpeech_FadePlatformIn(u8 taskId) { gTasks[taskId].tDelayTimer = gTasks[taskId].tDelay; gTasks[taskId].tPalIndex++; - LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], 1, 16); + LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(8)); } } @@ -2063,7 +2063,7 @@ static void Task_NewGameBirchSpeech_FadePlatformOut(u8 taskId) { gTasks[taskId].tDelayTimer = gTasks[taskId].tDelay; gTasks[taskId].tPalIndex--; - LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], 1, 16); + LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(8)); } } @@ -2191,7 +2191,7 @@ static void MainMenu_FormatSavegameBadges(void) static void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset) { LoadBgTiles(bgId, GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->tiles, 0x120, tileOffset); - LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, 32, 32); + LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); } static void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16 baseTileNum) @@ -2204,26 +2204,26 @@ static void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16 u16 sp14 = 7 + baseTileNum; u16 r6 = 8 + baseTileNum; - FillBgTilemapBufferRect(template->bg, baseTileNum, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, 2); - FillBgTilemapBufferRect(template->bg, r9, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, 2); - FillBgTilemapBufferRect(template->bg, r10, template->tilemapLeft + template->width, template->tilemapTop - 1, 1, 1, 2); - FillBgTilemapBufferRect(template->bg, sp18, template->tilemapLeft - 1, template->tilemapTop, 1, template->height, 2); - FillBgTilemapBufferRect(template->bg, spC, template->tilemapLeft + template->width, template->tilemapTop, 1, template->height, 2); - FillBgTilemapBufferRect(template->bg, sp10, template->tilemapLeft - 1, template->tilemapTop + template->height, 1, 1, 2); - FillBgTilemapBufferRect(template->bg, sp14, template->tilemapLeft, template->tilemapTop + template->height, template->width, 1, 2); - FillBgTilemapBufferRect(template->bg, r6, template->tilemapLeft + template->width, template->tilemapTop + template->height, 1, 1, 2); + FillBgTilemapBufferRect(template->bg, baseTileNum, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, 0x2); + FillBgTilemapBufferRect(template->bg, r9, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, 0x2); + FillBgTilemapBufferRect(template->bg, r10, template->tilemapLeft + template->width, template->tilemapTop - 1, 1, 1, 0x2); + FillBgTilemapBufferRect(template->bg, sp18, template->tilemapLeft - 1, template->tilemapTop, 1, template->height, 0x2); + FillBgTilemapBufferRect(template->bg, spC, template->tilemapLeft + template->width, template->tilemapTop, 1, template->height, 0x2); + FillBgTilemapBufferRect(template->bg, sp10, template->tilemapLeft - 1, template->tilemapTop + template->height, 1, 1, 0x2); + FillBgTilemapBufferRect(template->bg, sp14, template->tilemapLeft, template->tilemapTop + template->height, template->width, 1, 0x2); + FillBgTilemapBufferRect(template->bg, r6, template->tilemapLeft + template->width, template->tilemapTop + template->height, 1, 1, 0x2); CopyBgTilemapBufferToVram(template->bg); } static void ClearMainMenuWindowTilemap(const struct WindowTemplate *template) { - FillBgTilemapBufferRect(template->bg, 0, template->tilemapLeft - 1, template->tilemapTop - 1, template->tilemapLeft + template->width + 1, template->tilemapTop + template->height + 1, 2); + FillBgTilemapBufferRect(template->bg, 0, template->tilemapLeft - 1, template->tilemapTop - 1, template->tilemapLeft + template->width + 1, template->tilemapTop + template->height + 1, 0x2); CopyBgTilemapBufferToVram(template->bg); } static void NewGameBirchSpeech_ClearGenderWindowTilemap(u8 bg, u8 x, u8 y, u8 width, u8 height, u8 unused) { - FillBgTilemapBufferRect(bg, 0, x + 255, y + 255, width + 2, height + 2, 2); + FillBgTilemapBufferRect(bg, 0, x + 255, y + 255, width + 2, height + 2, 0x2); } static void NewGameBirchSpeech_ClearGenderWindow(u8 windowId, bool8 copyToVram) diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 41054d16d2..f7d5320d34 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -351,19 +351,19 @@ static void DrawMapNamePopUpFrame(u8 bg, u8 x, u8 y, u8 deltaX, u8 deltaY, u8 un // Draw top edge for (i = 0; i < 1 + TILE_TOP_EDGE_END - TILE_TOP_EDGE_START; i++) - FillBgTilemapBufferRect(bg, TILE_TOP_EDGE_START + i, i - 1 + x, y - 1, 1, 1, 14); + FillBgTilemapBufferRect(bg, TILE_TOP_EDGE_START + i, i - 1 + x, y - 1, 1, 1, 0xE); // Draw sides - FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_TOP, x - 1, y, 1, 1, 14); - FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_TOP, deltaX + x, y, 1, 1, 14); - FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_MID, x - 1, y + 1, 1, 1, 14); - FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_MID, deltaX + x, y + 1, 1, 1, 14); - FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_BOT, x - 1, y + 2, 1, 1, 14); - FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_BOT, deltaX + x, y + 2, 1, 1, 14); + FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_TOP, x - 1, y, 1, 1, 0xE); + FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_TOP, deltaX + x, y, 1, 1, 0xE); + FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_MID, x - 1, y + 1, 1, 1, 0xE); + FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_MID, deltaX + x, y + 1, 1, 1, 0xE); + FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_BOT, x - 1, y + 2, 1, 1, 0xE); + FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_BOT, deltaX + x, y + 2, 1, 1, 0xE); // Draw bottom edge for (i = 0; i < 1 + TILE_BOT_EDGE_END - TILE_BOT_EDGE_START; i++) - FillBgTilemapBufferRect(bg, TILE_BOT_EDGE_START + i, i - 1 + x, y + deltaY, 1, 1, 14); + FillBgTilemapBufferRect(bg, TILE_BOT_EDGE_START + i, i - 1 + x, y + deltaY, 1, 1, 0xE); } static void LoadMapNamePopUpWindowBg(void) @@ -385,8 +385,8 @@ static void LoadMapNamePopUpWindowBg(void) CallWindowFunction(popupWindowId, DrawMapNamePopUpFrame); PutWindowTilemap(popupWindowId); if (gMapHeader.weather == WEATHER_UNDERWATER_BUBBLES) - LoadPalette(&sMapPopUp_Palette_Underwater, 0xE0, sizeof(sMapPopUp_Palette_Underwater)); + LoadPalette(&sMapPopUp_Palette_Underwater, BG_PLTT_ID(0xE), sizeof(sMapPopUp_Palette_Underwater)); else - LoadPalette(sMapPopUp_PaletteTable[popUpThemeId], 0xE0, sizeof(sMapPopUp_PaletteTable[0])); + LoadPalette(sMapPopUp_PaletteTable[popUpThemeId], BG_PLTT_ID(0xE), sizeof(sMapPopUp_PaletteTable[0])); BlitBitmapToWindow(popupWindowId, sMapPopUp_Table[popUpThemeId], 0, 0, 80, 24); } diff --git a/src/match_call.c b/src/match_call.c index 4f6a7b9821..5d92e55b9f 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1235,7 +1235,7 @@ static const struct WindowTemplate sMatchCallTextWindow = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x200 }; @@ -1267,8 +1267,8 @@ static bool32 MatchCall_LoadGfx(u8 taskId) } FillWindowPixelBuffer(tWindowId, PIXEL_FILL(8)); - LoadPalette(sMatchCallWindow_Pal, 0xE0, sizeof(sMatchCallWindow_Pal)); - LoadPalette(sPokenavIcon_Pal, 0xF0, sizeof(sPokenavIcon_Pal)); + LoadPalette(sMatchCallWindow_Pal, BG_PLTT_ID(0xE), sizeof(sMatchCallWindow_Pal)); + LoadPalette(sPokenavIcon_Pal, BG_PLTT_ID(0xF), sizeof(sPokenavIcon_Pal)); ChangeBgY(0, -0x2000, BG_COORD_SET); return TRUE; } @@ -2102,7 +2102,7 @@ void LoadMatchCallWindowGfx(u32 windowId, u32 destOffset, u32 paletteId) { u8 bg = GetWindowAttribute(windowId, WINDOW_BG); LoadBgTiles(bg, sMatchCallWindow_Gfx, 0x100, destOffset); - LoadPalette(sMatchCallWindow_Pal, paletteId << 4, sizeof(sMatchCallWindow_Pal)); + LoadPalette(sMatchCallWindow_Pal, BG_PLTT_ID(paletteId), sizeof(sMatchCallWindow_Pal)); } void DrawMatchCallTextBoxBorder(u32 windowId, u32 tileOffset, u32 paletteId) diff --git a/src/menu.c b/src/menu.c index 937c391436..2a8b2f565b 100644 --- a/src/menu.c +++ b/src/menu.c @@ -20,9 +20,10 @@ #include "window.h" #include "constants/songs.h" -#define DLG_WINDOW_PALETTE_NUM 15 +#define DLG_WINDOW_PALETTE_NUM 0xF #define DLG_WINDOW_BASE_TILE_NUM 0x200 -#define STD_WINDOW_PALETTE_NUM 14 +#define STD_WINDOW_PALETTE_NUM 0xE +#define STD_WINDOW_PALETTE_SIZE PLTT_SIZEOF(10) #define STD_WINDOW_BASE_TILE_NUM 0x214 struct MenuInfoIcon @@ -88,7 +89,7 @@ static const struct WindowTemplate sStandardTextBox_WindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x194 }, DUMMY_WIN_TEMPLATE @@ -101,7 +102,7 @@ static const struct WindowTemplate sYesNo_WindowTemplates = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x125 }; @@ -208,8 +209,8 @@ void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonP void LoadMessageBoxAndBorderGfx(void) { - LoadMessageBoxGfx(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); - LoadUserWindowBorderGfx(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); + LoadMessageBoxGfx(0, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM)); + LoadUserWindowBorderGfx(0, STD_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM)); } void DrawDialogueFrame(u8 windowId, bool8 copyToVram) @@ -427,18 +428,18 @@ void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram) void LoadMessageBoxAndFrameGfx(u8 windowId, bool8 copyToVram) { - LoadMessageBoxGfx(windowId, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); + LoadMessageBoxGfx(windowId, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM)); DrawDialogFrameWithCustomTileAndPalette(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, 0xF); } void Menu_LoadStdPal(void) { - LoadPalette(gStandardMenuPalette, STD_WINDOW_PALETTE_NUM * 0x10, 0x14); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(STD_WINDOW_PALETTE_NUM), STD_WINDOW_PALETTE_SIZE); } void Menu_LoadStdPalAt(u16 offset) { - LoadPalette(gStandardMenuPalette, offset, 0x14); + LoadPalette(gStandardMenuPalette, offset, STD_WINDOW_PALETTE_SIZE); } // Unused @@ -550,7 +551,7 @@ void AddTextPrinterWithCallbackForMessage(bool8 canSpeedUp, void (*callback)(str void EraseFieldMessageBox(bool8 copyToVram) { - FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x11); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 17); if (copyToVram == TRUE) CopyBgTilemapBufferToVram(0); } @@ -685,7 +686,7 @@ void ClearDialogWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram) static void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) { - FillBgTilemapBufferRect(bg, 0, tilemapLeft - 3, tilemapTop - 1, width + 6, height + 2, 0); + FillBgTilemapBufferRect(bg, 0, tilemapLeft - 3, tilemapTop - 1, width + 6, height + 2, 0x0); } void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum) @@ -782,7 +783,7 @@ void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram) static void WindowFunc_ClearStdWindowAndFrameToTransparent(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) { - FillBgTilemapBufferRect(bg, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 0); + FillBgTilemapBufferRect(bg, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 0x0); } // Creates the window used to display the info bar at the top of the HOF PC that shows the controls and team number. @@ -805,10 +806,10 @@ u8 HofPCTopBar_AddWindow(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile) sHofPCTopBarWindowId = AddWindow(&window); - if (palette > 15) - palette = 15 * 16; + if (palette > 0xF) + palette = BG_PLTT_ID(0xF); else - palette *= 16; + palette = BG_PLTT_ID(palette); LoadPalette(sHofPC_TopBar_Pal, palette, sizeof(sHofPC_TopBar_Pal)); return sHofPCTopBarWindowId; @@ -2084,7 +2085,7 @@ static void UnusedBlitBitmapRect(const struct Bitmap *src, struct Bitmap *dst, u // Unused static void LoadMonIconPalAtOffset(u8 palOffset, u16 speciesId) { - LoadPalette(GetValidMonIconPalettePtr(speciesId), palOffset, 0x20); + LoadPalette(GetValidMonIconPalettePtr(speciesId), palOffset, PLTT_SIZE_4BPP); } // Unused @@ -2111,7 +2112,7 @@ void ListMenuLoadStdPalAt(u8 palOffset, u8 palId) break; } - LoadPalette(palette, palOffset, 0x20); + LoadPalette(palette, palOffset, PLTT_SIZE_4BPP); } void BlitMenuInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y) diff --git a/src/menu_specialized.c b/src/menu_specialized.c index 42c80b5ee3..f4d3493d7c 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -48,7 +48,7 @@ static const struct WindowTemplate sWindowTemplates_MailboxMenu[MAILBOXWIN_COUNT .tilemapTop = 1, .width = 8, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x8 }, [MAILBOXWIN_LIST] = { @@ -57,7 +57,7 @@ static const struct WindowTemplate sWindowTemplates_MailboxMenu[MAILBOXWIN_COUNT .tilemapTop = 1, .width = 8, .height = 18, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x18 }, [MAILBOXWIN_OPTIONS] = { @@ -66,7 +66,7 @@ static const struct WindowTemplate sWindowTemplates_MailboxMenu[MAILBOXWIN_COUNT .tilemapTop = 1, .width = 11, .height = 8, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x18 } }; @@ -707,8 +707,8 @@ void InitMoveRelearnerWindows(bool8 useContextWindow) InitWindows(sMoveRelearnerWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, 0xE0); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xE)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); for (i = 0; i < ARRAY_COUNT(sMoveRelearnerWindowTemplates) - 1; i++) FillWindowPixelBuffer(i, PIXEL_FILL(1)); diff --git a/src/move_relearner.c b/src/move_relearner.c index d9c943b576..e86877c8ea 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -405,7 +405,7 @@ static void CB2_InitLearnMove(void) CreateUISprites(); sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuSate.listOffset, sMoveRelearnerMenuSate.listRow); - FillPalette(RGB_BLACK, 0, 2); + SetBackdropFromColor(RGB_BLACK); SetMainCallback2(CB2_MoveRelearnerMain); } @@ -430,7 +430,7 @@ static void CB2_InitLearnMoveReturnFromSelectMove(void) CreateUISprites(); sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuSate.listOffset, sMoveRelearnerMenuSate.listRow); - FillPalette(RGB_BLACK, 0, 2); + SetBackdropFromColor(RGB_BLACK); SetMainCallback2(CB2_MoveRelearnerMain); } diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index c35fe8ed80..59e6d999e2 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -46,7 +46,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 22, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 20 }, { @@ -55,7 +55,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 6, .width = 16, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x6C }, DUMMY_WIN_TEMPLATE @@ -91,8 +91,8 @@ void CB2_InitMysteryEventMenu(void) FillWindowPixelBuffer(i, PIXEL_FILL(0)); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); - LoadUserWindowBorderGfx(0, 1u, 0xD0u); - Menu_LoadStdPalAt(0xE0); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); + Menu_LoadStdPalAt(BG_PLTT_ID(0xE)); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON); SetGpuReg(REG_OFFSET_BLDCNT, 0); CreateTask(Task_DestroySelf, 0); @@ -102,7 +102,7 @@ void CB2_InitMysteryEventMenu(void) BuildOamBuffer(); RunTextPrinters(); UpdatePaletteFade(); - FillPalette(RGB_BLACK, 0, 2); + SetBackdropFromColor(RGB_BLACK); SetMainCallback2(CB2_MysteryEventMenu); } } diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index b970711fd3..f9e2c2af9a 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -33,7 +33,7 @@ #include "constants/cable_club.h" #define LIST_MENU_TILE_NUM 10 -#define LIST_MENU_PAL_NUM 224 +#define LIST_MENU_PAL_NUM BG_PLTT_ID(0xE) static void LoadMysteryGiftTextboxBorder(u8 bgId); static void CreateMysteryGiftTask(void); @@ -104,7 +104,7 @@ static const struct WindowTemplate sMainWindows[] = { .tilemapTop = 0, .width = 30, .height = 2, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x0013 }, { .bg = 0, @@ -112,7 +112,7 @@ static const struct WindowTemplate sMainWindows[] = { .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x004f }, { .bg = 0, @@ -120,7 +120,7 @@ static const struct WindowTemplate sMainWindows[] = { .tilemapTop = 15, .width = 30, .height = 5, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 0x004f }, DUMMY_WIN_TEMPLATE @@ -132,7 +132,7 @@ static const struct WindowTemplate sWindowTemplate_YesNoMsg_Wide = { .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x00e5 }; @@ -142,7 +142,7 @@ static const struct WindowTemplate sWindowTemplate_YesNoMsg = { .tilemapTop = 15, .width = 20, .height = 4, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x00e5 }; @@ -152,7 +152,7 @@ static const struct WindowTemplate sWindowTemplate_GiftSelect = { .tilemapTop = 15, .width = 19, .height = 4, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x00e5 }; @@ -162,7 +162,7 @@ static const struct WindowTemplate sWindowTemplate_ThreeOptions = { .tilemapTop = 6, .width = 14, .height = 6, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x0155 }; @@ -172,7 +172,7 @@ static const struct WindowTemplate sWindowTemplate_YesNoBox = { .tilemapTop = 15, .width = 6, .height = 4, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x0155 }; @@ -182,7 +182,7 @@ static const struct WindowTemplate sWindowTemplate_GiftSelect_3Options = { .tilemapTop = 11, .width = 7, .height = 8, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x0155 }; @@ -192,7 +192,7 @@ static const struct WindowTemplate sWindowTemplate_GiftSelect_2Options = { .tilemapTop = 13, .width = 7, .height = 6, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x0155 }; @@ -202,7 +202,7 @@ static const struct WindowTemplate sWindowTemplate_GiftSelect_1Option = { .tilemapTop = 15, .width = 7, .height = 4, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x0155 }; @@ -411,14 +411,14 @@ static bool32 HandleMysteryGiftOrEReaderSetup(s32 isEReader) gMain.state++; break; case 1: - LoadPalette(sTextboxBorder_Pal, 0, 0x20); - LoadPalette(GetTextWindowPalette(2), 0xd0, 0x20); - Menu_LoadStdPalAt(0xC0); - LoadUserWindowBorderGfx(0, 0xA, 0xE0); - LoadUserWindowBorderGfx_(0, 0x1, 0xF0); - FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 0x11); - FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11); - FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x11); + LoadPalette(sTextboxBorder_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); + Menu_LoadStdPalAt(BG_PLTT_ID(0xC)); + LoadUserWindowBorderGfx(0, 0xA, BG_PLTT_ID(0xE)); + LoadUserWindowBorderGfx_(0, 0x1, BG_PLTT_ID(0xF)); + FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 17); + FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17); + FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 17); MG_DrawCheckerboardPattern(3); PrintMysteryGiftOrEReaderTopMenu(isEReader, FALSE); gMain.state++; @@ -505,16 +505,16 @@ void MG_DrawCheckerboardPattern(u32 bg) { s32 i = 0, j; - FillBgTilemapBufferRect(bg, 0x003, 0, 0, 32, 2, 0x11); + FillBgTilemapBufferRect(bg, 0x003, 0, 0, 32, 2, 17); for (i = 0; i < 18; i++) { for (j = 0; j < 32; j++) { if ((i & 1) != (j & 1)) - FillBgTilemapBufferRect(bg, 1, j, i + 2, 1, 1, 0x11); + FillBgTilemapBufferRect(bg, 1, j, i + 2, 1, 1, 17); else - FillBgTilemapBufferRect(bg, 2, j, i + 2, 1, 1, 0x11); + FillBgTilemapBufferRect(bg, 2, j, i + 2, 1, 1, 17); } } } @@ -524,10 +524,10 @@ static void ClearScreenInBg0(bool32 ignoreTopTwoRows) switch (ignoreTopTwoRows) { case 0: - FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x11); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 17); break; case 1: - FillBgTilemapBufferRect(0, 0, 0, 2, 32, 30, 0x11); + FillBgTilemapBufferRect(0, 0, 0, 2, 32, 30, 17); break; } CopyBgTilemapBufferToVram(0); diff --git a/src/mystery_gift_view.c b/src/mystery_gift_view.c index ff34c88536..d279bb2f54 100644 --- a/src/mystery_gift_view.c +++ b/src/mystery_gift_view.c @@ -96,7 +96,7 @@ static const struct WindowTemplate sCard_WindowTemplates[] = { .tilemapTop = 1, .width = 25, .height = 4, - .paletteNum = 2, + .paletteNum = 0x2, .baseBlock = 0x029c }, [CARD_WIN_BODY] = { @@ -105,7 +105,7 @@ static const struct WindowTemplate sCard_WindowTemplates[] = { .tilemapTop = 6, .width = 28, .height = 8, - .paletteNum = 2, + .paletteNum = 0x2, .baseBlock = 0x01bc }, [CARD_WIN_FOOTER] = { @@ -114,7 +114,7 @@ static const struct WindowTemplate sCard_WindowTemplates[] = { .tilemapTop = 14, .width = 28, .height = 5, - .paletteNum = 2, + .paletteNum = 0x2, .baseBlock = 0x0130 } }; @@ -239,11 +239,11 @@ s32 WonderCard_Enter(void) case 3: if (FreeTempTileDataBuffersIfPossible()) return 0; - LoadPalette(GetTextWindowPalette(1), 0x20, 0x20); + LoadPalette(GetTextWindowPalette(1), BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); gPaletteFade.bufferTransferDisabled = TRUE; - LoadPalette(sWonderCardData->gfx->pal, 0x10, 0x20); + LoadPalette(sWonderCardData->gfx->pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); 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, 30, 20, 0, 0, 30, 20, 0x1, 0x008, 0); CopyBgTilemapBufferToVram(2); break; case 4: @@ -586,7 +586,7 @@ static const struct WindowTemplate sNews_WindowTemplates[] = { .tilemapTop = 0, .width = 28, .height = 3, - .paletteNum = 2, + .paletteNum = 0x2, .baseBlock = 0x2AC }, [NEWS_WIN_BODY] = { @@ -595,7 +595,7 @@ static const struct WindowTemplate sNews_WindowTemplates[] = { .tilemapTop = 3, .width = 28, .height = 20, - .paletteNum = 2, + .paletteNum = 0x2, .baseBlock = 0x07C } }; @@ -702,12 +702,12 @@ s32 WonderNews_Enter(void) case 3: if (FreeTempTileDataBuffersIfPossible()) return 0; - LoadPalette(GetTextWindowPalette(1), 0x20, 0x20); + LoadPalette(GetTextWindowPalette(1), BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); gPaletteFade.bufferTransferDisabled = TRUE; - LoadPalette(sWonderNewsData->gfx->pal, 0x10, 0x20); + LoadPalette(sWonderNewsData->gfx->pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); 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, 30, 3, 0, 0, 30, 3, 0x1, 8, 0); + CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, 30, 23, 0, 3, 30, 23, 0x1, 8, 0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(3); break; diff --git a/src/naming_screen.c b/src/naming_screen.c index b4007b2658..bbdcef5658 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -233,7 +233,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 10, .width = 19, .height = 8, - .paletteNum = 10, + .paletteNum = 0xA, .baseBlock = 0x030 }, [WIN_KB_PAGE_2] = { @@ -242,7 +242,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 10, .width = 19, .height = 8, - .paletteNum = 10, + .paletteNum = 0xA, .baseBlock = 0x0C8 }, [WIN_TEXT_ENTRY] = { @@ -251,7 +251,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 6, .width = 17, .height = 2, - .paletteNum = 10, + .paletteNum = 0xA, .baseBlock = 0x030 }, [WIN_TEXT_ENTRY_BOX] = { @@ -260,7 +260,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 4, .width = 17, .height = 2, - .paletteNum = 10, + .paletteNum = 0xA, .baseBlock = 0x052 }, [WIN_BANNER] = { @@ -269,7 +269,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 0, .width = 30, .height = 2, - .paletteNum = 11, + .paletteNum = 0xB, .baseBlock = 0x074 }, DUMMY_WIN_TEMPLATE @@ -1880,9 +1880,9 @@ static void CreateHelperTasks(void) static void LoadPalettes(void) { - LoadPalette(gNamingScreenMenu_Pal, 0, sizeof(gNamingScreenMenu_Pal)); - LoadPalette(sKeyboard_Pal, 0xA0, sizeof(sKeyboard_Pal)); - LoadPalette(GetTextWindowPalette(2), 0xB0, 0x20); + LoadPalette(gNamingScreenMenu_Pal, BG_PLTT_ID(0x0), sizeof(gNamingScreenMenu_Pal)); + LoadPalette(sKeyboard_Pal, BG_PLTT_ID(0xA), sizeof(sKeyboard_Pal)); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(0xB), PLTT_SIZE_4BPP); } static void DrawBgTilemap(u8 bg, const void *src) diff --git a/src/option_menu.c b/src/option_menu.c index 3ca9857e84..e3d767c5e1 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -102,7 +102,7 @@ static const struct WindowTemplate sOptionMenuWinTemplates[] = .tilemapTop = 1, .width = 26, .height = 2, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 2 }, { @@ -111,7 +111,7 @@ static const struct WindowTemplate sOptionMenuWinTemplates[] = .tilemapTop = 5, .width = 26, .height = 14, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 0x36 }, DUMMY_WIN_TEMPLATE @@ -207,12 +207,12 @@ void CB2_InitOptionMenu(void) gMain.state++; break; case 4: - LoadPalette(sOptionMenuBg_Pal, 0, sizeof(sOptionMenuBg_Pal)); - LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, 0x70, 0x20); + LoadPalette(sOptionMenuBg_Pal, BG_PLTT_ID(0x0), sizeof(sOptionMenuBg_Pal)); + LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); gMain.state++; break; case 5: - LoadPalette(sOptionMenuText_Pal, 16, sizeof(sOptionMenuText_Pal)); + LoadPalette(sOptionMenuText_Pal, BG_PLTT_ID(0x1), sizeof(sOptionMenuText_Pal)); gMain.state++; break; case 6: @@ -529,7 +529,7 @@ static u8 FrameType_ProcessInput(u8 selection) selection = 0; LoadBgTiles(1, GetWindowFrameTilesPal(selection)->tiles, 0x120, 0x1A2); - LoadPalette(GetWindowFrameTilesPal(selection)->pal, 0x70, 0x20); + LoadPalette(GetWindowFrameTilesPal(selection)->pal, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); sArrowPressed = TRUE; } if (JOY_NEW(DPAD_LEFT)) @@ -540,7 +540,7 @@ static u8 FrameType_ProcessInput(u8 selection) selection = WINDOW_FRAMES_COUNT - 1; LoadBgTiles(1, GetWindowFrameTilesPal(selection)->tiles, 0x120, 0x1A2); - LoadPalette(GetWindowFrameTilesPal(selection)->pal, 0x70, 0x20); + LoadPalette(GetWindowFrameTilesPal(selection)->pal, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); sArrowPressed = TRUE; } return selection; @@ -653,24 +653,24 @@ static void DrawBgWindowFrames(void) { // bg, tile, x, y, width, height, palNum // Draw title window frame - FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 0, 1, 1, 7); - FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 0, 27, 1, 7); - FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 0, 1, 1, 7); - FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 1, 1, 2, 7); - FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 1, 1, 2, 7); - FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 3, 1, 1, 7); - FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 3, 27, 1, 7); - FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 3, 1, 1, 7); + FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 0, 1, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 0, 27, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 0, 1, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 1, 1, 2, 0x7); + FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 1, 1, 2, 0x7); + FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 3, 1, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 3, 27, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 3, 1, 1, 0x7); // Draw options list window frame - FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 4, 1, 1, 7); - FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 4, 26, 1, 7); - FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 4, 1, 1, 7); - FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 5, 1, 18, 7); - FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 5, 1, 18, 7); - FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 19, 1, 1, 7); - FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 19, 26, 1, 7); - FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 19, 1, 1, 7); + FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 4, 1, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 4, 26, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 4, 1, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 5, 1, 18, 0x7); + FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 5, 1, 18, 0x7); + FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 19, 1, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 19, 26, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 19, 1, 1, 0x7); CopyBgTilemapBufferToVram(1); } diff --git a/src/palette.c b/src/palette.c index 577257eff3..e02e0de5bf 100644 --- a/src/palette.c +++ b/src/palette.c @@ -431,7 +431,7 @@ static u8 UpdateNormalPaletteFade(void) gPaletteFade.delayCounter = 0; } - paletteOffset = 0; + paletteOffset = 0x00; if (!gPaletteFade.objPaletteToggle) { @@ -452,7 +452,7 @@ static u8 UpdateNormalPaletteFade(void) gPaletteFade.y, gPaletteFade.blendColor); selectedPalettes >>= 1; - paletteOffset += 16; + paletteOffset += 0x10; } gPaletteFade.objPaletteToggle ^= 1; @@ -495,7 +495,7 @@ static u8 UpdateNormalPaletteFade(void) void InvertPlttBuffer(u32 selectedPalettes) { - u16 paletteOffset = 0; + u16 paletteOffset = 0x00; while (selectedPalettes) { @@ -506,13 +506,13 @@ void InvertPlttBuffer(u32 selectedPalettes) gPlttBufferFaded[paletteOffset + i] = ~gPlttBufferFaded[paletteOffset + i]; } selectedPalettes >>= 1; - paletteOffset += 16; + paletteOffset += 0x10; } } void TintPlttBuffer(u32 selectedPalettes, s8 r, s8 g, s8 b) { - u16 paletteOffset = 0; + u16 paletteOffset = 0x00; while (selectedPalettes) { @@ -528,13 +528,13 @@ void TintPlttBuffer(u32 selectedPalettes, s8 r, s8 g, s8 b) } } selectedPalettes >>= 1; - paletteOffset += 16; + paletteOffset += 0x10; } } void UnfadePlttBuffer(u32 selectedPalettes) { - u16 paletteOffset = 0; + u16 paletteOffset = 0x00; while (selectedPalettes) { @@ -545,7 +545,7 @@ void UnfadePlttBuffer(u32 selectedPalettes) gPlttBufferFaded[paletteOffset + i] = gPlttBufferUnfaded[paletteOffset + i]; } selectedPalettes >>= 1; - paletteOffset += 16; + paletteOffset += 0x10; } } @@ -835,7 +835,7 @@ void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color) { u16 paletteOffset; - for (paletteOffset = 0; selectedPalettes; paletteOffset += 16) + for (paletteOffset = 0x00; selectedPalettes; paletteOffset += 0x10) { if (selectedPalettes & 1) BlendPalette(paletteOffset, 16, coeff, color); diff --git a/src/party_menu.c b/src/party_menu.c index 623f2eecab..2a4abef2a8 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -668,8 +668,8 @@ static bool8 AllocPartyMenuBgGfx(void) } break; case 2: - LoadCompressedPalette(gPartyMenuBg_Pal, 0, 0x160); - CpuCopy16(gPlttBufferUnfaded, sPartyMenuInternal->palBuffer, 0x160); + LoadCompressedPalette(gPartyMenuBg_Pal, BG_PLTT_ID(0x0), 11 * PLTT_SIZE_4BPP); + CpuCopy16(gPlttBufferUnfaded, sPartyMenuInternal->palBuffer, 11 * PLTT_SIZE_4BPP); sPartyMenuInternal->data[0]++; break; case 3: @@ -1021,7 +1021,7 @@ static void CreateCancelConfirmPokeballSprites(void) if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE) { // The showcase has no Cancel/Confirm buttons - FillBgTilemapBufferRect(1, 14, 23, 17, 7, 2, 1); + FillBgTilemapBufferRect(1, 14, 23, 17, 7, 2, 0x1); } else { @@ -2015,9 +2015,9 @@ static void InitPartyMenuWindows(u8 layout) DeactivateAllTextPrinters(); for (i = 0; i < PARTY_SIZE; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - LoadUserWindowBorderGfx(0, 0x4F, 0xD0); - LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadUserWindowBorderGfx(0, 0x4F, BG_PLTT_ID(0xD)); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); } static void CreateCancelConfirmWindows(bool8 chooseHalf) @@ -2119,9 +2119,9 @@ static void DrawEmptySlot(u8 windowId) #define LOAD_PARTY_BOX_PAL(paletteIds, paletteOffsets) \ { \ - LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[0]), paletteOffsets[0] + palNum, 2); \ - LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[1]), paletteOffsets[1] + palNum, 2); \ - LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[2]), paletteOffsets[2] + palNum, 2); \ + LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[0]), paletteOffsets[0] + palNum, PLTT_SIZEOF(1)); \ + LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[1]), paletteOffsets[1] + palNum, PLTT_SIZEOF(1)); \ + LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[2]), paletteOffsets[2] + palNum, PLTT_SIZEOF(1)); \ } static void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags) @@ -2263,13 +2263,13 @@ static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, stru switch (gender) { case MON_MALE: - LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[0]), sGenderPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[1]), sGenderPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[0]), sGenderPalOffsets[0] + palNum, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[1]), sGenderPalOffsets[1] + palNum, PLTT_SIZEOF(1)); DisplayPartyPokemonBarDetail(menuBox->windowId, gText_MaleSymbol, 2, &menuBox->infoRects->dimensions[8]); break; case MON_FEMALE: - LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[0]), sGenderPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[1]), sGenderPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[0]), sGenderPalOffsets[0] + palNum, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[1]), sGenderPalOffsets[1] + palNum, PLTT_SIZEOF(1)); DisplayPartyPokemonBarDetail(menuBox->windowId, gText_FemaleSymbol, 2, &menuBox->infoRects->dimensions[8]); break; } @@ -2330,16 +2330,16 @@ static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *men { case HP_BAR_GREEN: case HP_BAR_FULL: - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[0]), sHPBarPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[1]), sHPBarPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[0]), sHPBarPalOffsets[0] + palNum, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[1]), sHPBarPalOffsets[1] + palNum, PLTT_SIZEOF(1)); break; case HP_BAR_YELLOW: - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[0]), sHPBarPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[1]), sHPBarPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[0]), sHPBarPalOffsets[0] + palNum, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[1]), sHPBarPalOffsets[1] + palNum, PLTT_SIZEOF(1)); break; default: - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[0]), sHPBarPalOffsets[0] + palNum, 2); - LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[1]), sHPBarPalOffsets[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[0]), sHPBarPalOffsets[0] + palNum, PLTT_SIZEOF(1)); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[1]), sHPBarPalOffsets[1] + palNum, PLTT_SIZEOF(1)); break; } @@ -2822,7 +2822,7 @@ static void MoveAndBufferPartySlot(const void *rectSrc, s16 x, s16 y, s16 width, { FillBgTilemapBufferRect_Palette0(0, 0, newX, y, newWidth, height); if (TryMovePartySlot(x + dir, width, &srcX, &newX, &newWidth)) - CopyRectToBgTilemapBufferRect(0, rectSrc, srcX, 0, width, height, newX, y, newWidth, height, 17, 0, 0); + CopyRectToBgTilemapBufferRect(0, rectSrc, srcX, 0, width, height, newX, y, newWidth, height, 17, 0, 0x0); } } diff --git a/src/player_pc.c b/src/player_pc.c index 9ec36d61d2..1998495beb 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -244,7 +244,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenus[] = .tilemapTop = 1, .width = 9, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, [WIN_MAIN_MENU_BEDROOM] = { @@ -253,7 +253,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenus[] = .tilemapTop = 1, .width = 9, .height = 8, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, [WIN_ITEM_STORAGE_MENU] = { @@ -262,7 +262,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenus[] = .tilemapTop = 1, .width = 10, .height = 8, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 } }; @@ -302,7 +302,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 1, .width = 13, .height = 18, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0001 }, [ITEMPC_WIN_MESSAGE] = { @@ -311,7 +311,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 13, .width = 13, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x00EB }, [ITEMPC_WIN_ICON] = { @@ -320,7 +320,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 8, .width = 3, .height = 3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0153 }, [ITEMPC_WIN_TITLE] = { @@ -329,7 +329,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 1, .width = 13, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0139 }, [ITEMPC_WIN_QUANTITY] = { @@ -338,7 +338,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 9, .width = 6, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x015C }, [ITEMPC_WIN_YESNO] = { @@ -347,7 +347,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 7, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0168 } }; diff --git a/src/pokeblock.c b/src/pokeblock.c index cf0513f80e..769363b3eb 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -314,7 +314,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 1, .width = 9, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x1E }, [WIN_LIST] = { @@ -323,7 +323,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 1, .width = 14, .height = 18, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x30 }, [WIN_SPICY] = { @@ -332,7 +332,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 5, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x12C }, [WIN_DRY] = { @@ -341,7 +341,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 5, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x136 }, [WIN_SWEET] = { @@ -350,7 +350,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 5, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x140 }, [WIN_BITTER] = { @@ -359,7 +359,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 5, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x14A }, [WIN_SOUR] = { @@ -368,7 +368,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 5, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x154 }, [WIN_FEEL] = { @@ -377,7 +377,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 2, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x15E }, [WIN_ACTIONS_TALL] = { @@ -386,7 +386,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 5, .width = 6, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x162 }, [WIN_ACTIONS] = { @@ -395,7 +395,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 7, .width = 6, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x186 }, [WIN_TOSS_MSG] = { @@ -404,7 +404,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x19E }, DUMMY_WIN_TEMPLATE @@ -417,7 +417,7 @@ static const struct WindowTemplate sTossPkblockWindowTemplate = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x20A }; @@ -653,7 +653,7 @@ static bool8 LoadPokeblockMenuGfx(void) } break; case 2: - LoadCompressedPalette(gMenuPokeblock_Pal, 0, 0xC0); + LoadCompressedPalette(gMenuPokeblock_Pal, BG_PLTT_ID(0x0), 6 * PLTT_SIZE_4BPP); sPokeblockMenu->gfxState++; break; case 3: @@ -679,9 +679,9 @@ static void HandleInitWindows(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, 0xE0); - LoadMessageBoxGfx(0, 0xA, 0xD0); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xE)); + LoadMessageBoxGfx(0, 0xA, BG_PLTT_ID(0xD)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); for (i = 0; i < ARRAY_COUNT(sWindowTemplates) - 1; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 5267c3b848..53de0ee9a5 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -459,7 +459,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0xA }, DUMMY_WIN_TEMPLATE @@ -771,7 +771,7 @@ static bool8 LoadMonAndSceneGfx(struct Pokemon *mon) } break; case 8: - LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); sPokeblockFeed->loadGfxState = 0; return TRUE; } @@ -783,8 +783,8 @@ static void HandleInitWindows(void) { InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, 0xE0); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xE)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); FillWindowPixelBuffer(0, PIXEL_FILL(0)); PutWindowTilemap(0); ScheduleBgCopyTilemapToVram(0); diff --git a/src/pokedex.c b/src/pokedex.c index 8abf972488..6a5de60179 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -831,7 +831,7 @@ static const struct WindowTemplate sPokemonList_WindowTemplate[] = .tilemapTop = 0, .width = 32, .height = 32, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 1, }, DUMMY_WIN_TEMPLATE @@ -902,7 +902,7 @@ static const struct WindowTemplate sInfoScreen_WindowTemplates[] = .tilemapTop = 0, .width = 32, .height = 20, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 1, }, [WIN_FOOTPRINT] = @@ -912,7 +912,7 @@ static const struct WindowTemplate sInfoScreen_WindowTemplates[] = .tilemapTop = 8, .width = 2, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 641, }, [WIN_CRY_WAVE] = @@ -922,7 +922,7 @@ static const struct WindowTemplate sInfoScreen_WindowTemplates[] = .tilemapTop = 12, .width = 32, .height = 7, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 645, }, [WIN_VU_METER] = @@ -932,7 +932,7 @@ static const struct WindowTemplate sInfoScreen_WindowTemplates[] = .tilemapTop = 3, .width = 10, .height = 8, - .paletteNum = 9, + .paletteNum = 0x9, .baseBlock = 869, }, DUMMY_WIN_TEMPLATE @@ -969,7 +969,7 @@ static const struct WindowTemplate sNewEntryInfoScreen_WindowTemplates[] = .tilemapTop = 0, .width = 32, .height = 20, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 1, }, [WIN_FOOTPRINT] = @@ -979,7 +979,7 @@ static const struct WindowTemplate sNewEntryInfoScreen_WindowTemplates[] = .tilemapTop = 8, .width = 2, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 641, }, DUMMY_WIN_TEMPLATE @@ -1490,7 +1490,7 @@ static const struct WindowTemplate sSearchMenu_WindowTemplate[] = .tilemapTop = 0, .width = 32, .height = 20, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 0x0001, }, DUMMY_WIN_TEMPLATE @@ -2145,12 +2145,12 @@ static bool8 LoadPokedexListPage(u8 page) static void LoadPokedexBgPalette(bool8 isSearchResults) { if (isSearchResults == TRUE) - LoadPalette(gPokedexSearchResults_Pal + 1, 1, 0xBE); + LoadPalette(gPokedexSearchResults_Pal + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(6 * 16 - 1)); else if (!IsNationalPokedexEnabled()) - LoadPalette(gPokedexBgHoenn_Pal + 1, 1, 0xBE); + LoadPalette(gPokedexBgHoenn_Pal + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(6 * 16 - 1)); else - LoadPalette(gPokedexBgNational_Pal + 1, 1, 0xBE); - LoadPalette(GetOverworldTextboxPalettePtr(), 0xF0, 32); + LoadPalette(gPokedexBgNational_Pal + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); } static void FreeWindowAndBgBuffers(void) @@ -3264,7 +3264,7 @@ static void Task_LoadInfoScreen(u8 taskId) case 4: PrintMonInfo(sPokedexListItem->dexNum, sPokedexView->dexMode == DEX_MODE_HOENN ? FALSE : TRUE, sPokedexListItem->owned, 0); if (!sPokedexListItem->owned) - LoadPalette(gPlttBufferUnfaded + 1, 0x31, 0x1E); + LoadPalette(gPlttBufferUnfaded + 1, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(16 - 1)); CopyWindowToVram(WIN_INFO, COPYWIN_FULL); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -3713,7 +3713,7 @@ static void LoadPlayArrowPalette(bool8 cryPlaying) color = RGB(18, 28, 0); else color = RGB(15, 21, 0); - LoadPalette(&color, 0x5D, 2); + LoadPalette(&color, BG_PLTT_ID(0x5) + 13, PLTT_SIZEOF(1)); } static void Task_LoadSizeScreen(u8 taskId) @@ -3768,7 +3768,7 @@ static void Task_LoadSizeScreen(u8 taskId) gSprites[spriteId].oam.priority = 0; gSprites[spriteId].y2 = gPokedexEntries[sPokedexListItem->dexNum].trainerOffset; SetOamMatrix(1, gPokedexEntries[sPokedexListItem->dexNum].trainerScale, 0, 0, gPokedexEntries[sPokedexListItem->dexNum].trainerScale); - LoadPalette(sSizeScreenSilhouette_Pal, (gSprites[spriteId].oam.paletteNum + 16) * 16, 0x20); + LoadPalette(sSizeScreenSilhouette_Pal, OBJ_PLTT_ID2(gSprites[spriteId].oam.paletteNum), PLTT_SIZE_4BPP); gTasks[taskId].tTrainerSpriteId = spriteId; gMain.state++; break; @@ -3779,7 +3779,7 @@ static void Task_LoadSizeScreen(u8 taskId) gSprites[spriteId].oam.priority = 0; gSprites[spriteId].y2 = gPokedexEntries[sPokedexListItem->dexNum].pokemonOffset; SetOamMatrix(2, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale, 0, 0, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale); - LoadPalette(sSizeScreenSilhouette_Pal, (gSprites[spriteId].oam.paletteNum + 16) * 16, 0x20); + LoadPalette(sSizeScreenSilhouette_Pal, OBJ_PLTT_ID2(gSprites[spriteId].oam.paletteNum), PLTT_SIZE_4BPP); gTasks[taskId].tMonSpriteId = spriteId; CopyWindowToVram(WIN_INFO, COPYWIN_FULL); CopyBgTilemapBufferToVram(1); @@ -4030,11 +4030,11 @@ static void Task_HandleCaughtMonPageInput(u8 taskId) // Flicker caught screen color else if (++gTasks[taskId].tPalTimer & 16) { - LoadPalette(gPokedexBgHoenn_Pal + 1, 0x31, 14); + LoadPalette(gPokedexBgHoenn_Pal + 1, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(7)); } else { - LoadPalette(gPokedexCaughtScreen_Pal + 1, 0x31, 14); + LoadPalette(gPokedexCaughtScreen_Pal + 1, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(7)); } } @@ -4063,7 +4063,7 @@ static void Task_ExitCaughtMonPage(u8 taskId) personality = ((u16)gTasks[taskId].tPersonalityHi << 16) | (u16)gTasks[taskId].tPersonalityLo; paletteNum = gSprites[gTasks[taskId].tMonSpriteId].oam.paletteNum; lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality); - LoadCompressedPalette(lzPaletteData, 0x100 | paletteNum * 16, 32); + LoadCompressedPalette(lzPaletteData, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); DestroyTask(taskId); } } @@ -4836,7 +4836,7 @@ static void Task_LoadSearchMenu(u8 taskId) CopyToBgTilemapBuffer(3, gPokedexSearchMenuHoenn_Tilemap, 0, 0); else CopyToBgTilemapBuffer(3, gPokedexSearchMenuNational_Tilemap, 0, 0); - LoadPalette(gPokedexSearchMenu_Pal + 1, 1, 0x7E); + LoadPalette(gPokedexSearchMenu_Pal + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(4 * 16 - 1)); gMain.state = 1; } break; diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 406d1377d6..ed53ebf1ec 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -258,7 +258,7 @@ bool8 LoadCryWaveformWindow(struct CryScreenWindow *window, u8 windowId) break; case 2: DrawWaveformWindow(windowId); - LoadPalette(sCryScreenBg_Pal, window->paletteNo * 16, 32); + LoadPalette(sCryScreenBg_Pal, BG_PLTT_ID(window->paletteNo), PLTT_SIZE_4BPP); finished = TRUE; break; } @@ -458,7 +458,7 @@ bool8 LoadCryMeter(struct CryScreenWindow *window, u8 windowId) sCryMeterNeedle = AllocZeroed(sizeof(*sCryMeterNeedle)); CopyToWindowPixelBuffer(windowId, sCryMeter_Gfx, 0, 0); - LoadPalette(sCryMeter_Pal, window->paletteNo * 16, 32); + LoadPalette(sCryMeter_Pal, BG_PLTT_ID(window->paletteNo), PLTT_SIZE_4BPP); gDexCryScreenState++; break; case 1: diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 9a95edf4b3..ae9df9ba14 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -1,5 +1,6 @@ #include "global.h" #include "battle.h" +#include "palette.h" #include "pokemon.h" #include "pokemon_animation.h" #include "sprite.h" @@ -1538,7 +1539,7 @@ static void Anim_CircleCounterclockwise(struct Sprite *sprite) #define GlowColor(color, colorIncrement, speed) \ { \ if (sprite->data[2] == 0) \ - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; \ + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); \ \ if (sprite->data[2] > 128) \ { \ @@ -2473,7 +2474,7 @@ static void Anim_FlashYellow(struct Sprite *sprite) { if (++sprite->data[2] == 1) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[6] = 0; sprite->data[5] = 0; sprite->data[4] = 0; @@ -5262,7 +5263,7 @@ static void Anim_ShakeFlashYellow_Fast(struct Sprite *sprite) { if (++sprite->data[2] == 1) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[6] = 0; sprite->data[5] = 0; sprite->data[4] = 0; @@ -5276,7 +5277,7 @@ static void Anim_ShakeFlashYellow(struct Sprite *sprite) { if (++sprite->data[2] == 1) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[6] = 0; sprite->data[5] = 0; sprite->data[4] = 0; @@ -5290,7 +5291,7 @@ static void Anim_ShakeFlashYellow_Slow(struct Sprite *sprite) { if (++sprite->data[2] == 1) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[6] = 0; sprite->data[5] = 0; sprite->data[4] = 0; @@ -5356,7 +5357,7 @@ static void Anim_ShakeGlowRed_Fast(struct Sprite *sprite) { if (sprite->data[2] == 0) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[0] = 10; sprite->data[5] = 0; sprite->data[4] = 2; @@ -5377,7 +5378,7 @@ static void Anim_ShakeGlowRed(struct Sprite *sprite) { if (sprite->data[2] == 0) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[0] = 20; sprite->data[5] = 0; sprite->data[4] = 1; @@ -5398,7 +5399,7 @@ static void Anim_ShakeGlowRed_Slow(struct Sprite *sprite) { if (sprite->data[2] == 0) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[0] = 80; sprite->data[5] = 0; sprite->data[4] = 1; @@ -5419,7 +5420,7 @@ static void Anim_ShakeGlowGreen_Fast(struct Sprite *sprite) { if (sprite->data[2] == 0) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[0] = 10; sprite->data[5] = 0; sprite->data[4] = 2; @@ -5440,7 +5441,7 @@ static void Anim_ShakeGlowGreen(struct Sprite *sprite) { if (sprite->data[2] == 0) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[0] = 20; sprite->data[5] = 0; sprite->data[4] = 1; @@ -5461,7 +5462,7 @@ static void Anim_ShakeGlowGreen_Slow(struct Sprite *sprite) { if (sprite->data[2] == 0) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[0] = 80; sprite->data[5] = 0; sprite->data[4] = 1; @@ -5482,7 +5483,7 @@ static void Anim_ShakeGlowBlue_Fast(struct Sprite *sprite) { if (sprite->data[2] == 0) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[0] = 10; sprite->data[5] = 0; sprite->data[4] = 2; @@ -5503,7 +5504,7 @@ static void Anim_ShakeGlowBlue(struct Sprite *sprite) { if (sprite->data[2] == 0) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[0] = 20; sprite->data[5] = 0; sprite->data[4] = 1; @@ -5524,7 +5525,7 @@ static void Anim_ShakeGlowBlue_Slow(struct Sprite *sprite) { if (sprite->data[2] == 0) { - sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[7] = OBJ_PLTT_ID(sprite->oam.paletteNum); sprite->data[0] = 80; sprite->data[5] = 0; sprite->data[4] = 1; diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 7f9b146a41..92df35ecc7 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1201,12 +1201,12 @@ void TryLoadAllMonIconPalettesAtOffset(u16 offset) s32 i; const struct SpritePalette* monIconPalettePtr; - if (offset <= 0xA0) + if (offset <= BG_PLTT_ID(0xA)) { monIconPalettePtr = gMonIconPaletteTable; - for(i = ARRAY_COUNT(gMonIconPaletteTable) - 1; i >= 0; i--) + for (i = ARRAY_COUNT(gMonIconPaletteTable) - 1; i >= 0; i--) { - LoadPalette(monIconPalettePtr->data, offset, 0x20); + LoadPalette(monIconPalettePtr->data, offset, PLTT_SIZE_4BPP); offset += 0x10; monIconPalettePtr++; } diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index 4f2a14fdf0..4039a62c6a 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -3105,7 +3105,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 0, .width = 6, .height = 2, - .paletteNum = 2, + .paletteNum = 0x2, .baseBlock = 0x13, }, [WIN_TIMES] = { @@ -3114,7 +3114,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 0, .width = 6, .height = 2, - .paletteNum = 2, + .paletteNum = 0x2, .baseBlock = 0x1F, }, DUMMY_WIN_TEMPLATE, @@ -3183,21 +3183,21 @@ static void LoadPokeJumpGfx(void) ResetTempTileDataBuffers(); LoadSpriteSheetsAndPalettes(sPokemonJumpGfx); InitDigitPrinters(); - LoadPalette(sBg_Pal, 0, 0x20); + LoadPalette(sBg_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(BG_SCENERY, sBg_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_SCENERY, sBg_Tilemap, 0, 0, 1); - LoadPalette(sVenusaur_Pal, 0x30, 0x20); + LoadPalette(sVenusaur_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(BG_VENUSAUR, sVenusaur_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_VENUSAUR, sVenusaur_Tilemap, 0, 0, 1); - LoadPalette(sBonuses_Pal, 0x10, 0x20); + LoadPalette(sBonuses_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(BG_BONUSES, sBonuses_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_BONUSES, sBonuses_Tilemap, 0, 0, 1); - LoadPalette(sInterface_Pal, 0x20, 0x20); + LoadPalette(sInterface_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); SetBgTilemapBuffer(BG_INTERFACE, sPokemonJumpGfx->tilemapBuffer); FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 0x20, 0x20); PrintScoreSuffixes(); PrintScore(0); - LoadUserWindowBorderGfxOnBg(0, 1, 0xE0); + LoadUserWindowBorderGfxOnBg(0, 1, BG_PLTT_ID(0xE)); CopyBgTilemapBufferToVram(BG_INTERFACE); CopyBgTilemapBufferToVram(BG_VENUSAUR); CopyBgTilemapBufferToVram(BG_BONUSES); @@ -3321,7 +3321,7 @@ static void Msg_WantToPlayAgain(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); CreatePokeJumpYesNoMenu(23, 7, 0); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->mainState++; @@ -3348,7 +3348,7 @@ static void Msg_SavingDontTurnOff(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->mainState++; } @@ -3391,7 +3391,7 @@ static void Msg_SomeoneDroppedOut(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->mainState++; } @@ -3417,7 +3417,7 @@ static void Msg_CommunicationStandby(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->mainState++; } @@ -3527,7 +3527,7 @@ static bool32 DoPrizeMessageAndFanfare(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->msgWindowState++; } @@ -3618,7 +3618,7 @@ static void CreatePokeJumpYesNoMenu(u16 left, u16 top, u8 cursorPos) window.tilemapTop = top; window.width = 6; window.height = 4; - window.paletteNum = 2; + window.paletteNum = 0x2; window.baseBlock = 0x2B; CreateYesNoMenu(&window, 1, 0xD, cursorPos); @@ -3832,7 +3832,7 @@ static void AddPlayerNameWindows(void) window.bg = BG_INTERFACE; window.width = 8; window.height = 2; - window.paletteNum = 2; + window.paletteNum = 0x2; window.baseBlock = 0x2B; for (i = 0; i < playersCount; i++) @@ -4142,7 +4142,7 @@ static const struct WindowTemplate sWindowTemplate_Records = .tilemapTop = 1, .width = 28, .height = 9, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x1, }; @@ -4213,7 +4213,7 @@ static void PrintRecordsText(u16 windowId, int width) recordNums[1] = records->bestJumpScore; recordNums[2] = records->excellentsInRow; - LoadUserWindowBorderGfx_(windowId, 0x21D, 0xD0); + LoadUserWindowBorderGfx_(windowId, 0x21D, BG_PLTT_ID(0xD)); DrawTextBorderOuter(windowId, 0x21D, 0xD); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_PkmnJumpRecords, GetStringCenterAlignXOffset(FONT_NORMAL, gText_PkmnJumpRecords, width * 8), 1, TEXT_SKIP_DRAW, NULL); diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 32069153e6..010ec80f78 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -895,7 +895,7 @@ static const struct WindowTemplate sWindowTemplate_MainMenu = .tilemapTop = 1, .width = 17, .height = 10, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x1, }; @@ -976,7 +976,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 11, .width = 9, .height = 7, - .paletteNum = 3, + .paletteNum = 0x3, .baseBlock = 0xC0, }, [WIN_MESSAGE] = { @@ -985,7 +985,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 18, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x14, }, [WIN_ITEM_DESC] = { @@ -994,7 +994,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 21, .height = 7, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x14, }, DUMMY_WIN_TEMPLATE @@ -1104,7 +1104,7 @@ static const struct WindowTemplate sYesNoWindowTemplate = .tilemapTop = 11, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x5C, }; @@ -2128,7 +2128,7 @@ static void Task_InitPokeStorage(u8 taskId) PutWindowTilemap(WIN_DISPLAY_INFO); ClearWindowTilemap(WIN_MESSAGE); CpuFill32(0, (void *)VRAM, 0x200); - LoadUserWindowBorderGfx(WIN_MESSAGE, 0xB, 0xE0); + LoadUserWindowBorderGfx(WIN_MESSAGE, 0xB, BG_PLTT_ID(0xE)); break; case 3: ResetAllBgCoords(); @@ -3849,13 +3849,13 @@ static void LoadWaveformSpritePalette(void) static void InitPalettesAndSprites(void) { - LoadPalette(sInterface_Pal, 0, sizeof(sInterface_Pal)); - LoadPalette(sPkmnDataGray_Pal, 0x20, sizeof(sPkmnDataGray_Pal)); - LoadPalette(sTextWindows_Pal, 0xF0, sizeof(sTextWindows_Pal)); + LoadPalette(sInterface_Pal, BG_PLTT_ID(0x0), sizeof(sInterface_Pal)); + LoadPalette(sPkmnDataGray_Pal, BG_PLTT_ID(0x2), sizeof(sPkmnDataGray_Pal)); + LoadPalette(sTextWindows_Pal, BG_PLTT_ID(0xF), sizeof(sTextWindows_Pal)); if (sStorage->boxOption != OPTION_MOVE_ITEMS) - LoadPalette(sBg_Pal, 0x30, sizeof(sBg_Pal)); + LoadPalette(sBg_Pal, BG_PLTT_ID(0x3), sizeof(sBg_Pal)); else - LoadPalette(sBgMoveItems_Pal, 0x30, sizeof(sBgMoveItems_Pal)); + LoadPalette(sBgMoveItems_Pal, BG_PLTT_ID(0x3), sizeof(sBgMoveItems_Pal)); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(30)); CreateDisplayMonSprite(); @@ -3958,7 +3958,7 @@ static void CreateDisplayMonSprite(void) break; sStorage->displayMonSprite = &gSprites[spriteId]; - sStorage->displayMonPalOffset = palSlot * 16 + 0x100; + sStorage->displayMonPalOffset = OBJ_PLTT_ID(palSlot); sStorage->displayMonTilePtr = (void *) OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP; } while (0); @@ -3979,7 +3979,7 @@ static void LoadDisplayMonGfx(u16 species, u32 pid) LoadSpecialPokePic(&gMonFrontPicTable[species], sStorage->tileBuffer, species, pid, TRUE); LZ77UnCompWram(sStorage->displayMonPalette, sStorage->displayMonPalBuffer); CpuCopy32(sStorage->tileBuffer, sStorage->displayMonTilePtr, MON_PIC_SIZE); - LoadPalette(sStorage->displayMonPalBuffer, sStorage->displayMonPalOffset, 0x20); + LoadPalette(sStorage->displayMonPalBuffer, sStorage->displayMonPalOffset, PLTT_SIZE_4BPP); sStorage->displayMonSprite->invisible = FALSE; } else @@ -4045,7 +4045,7 @@ static void UpdateWaveformAnimation(void) static void InitSupplementalTilemaps(void) { LZ77UnCompWram(gStorageSystemPartyMenu_Tilemap, sStorage->partyMenuTilemapBuffer); - LoadPalette(gStorageSystemPartyMenu_Pal, 0x10, 0x20); + LoadPalette(gStorageSystemPartyMenu_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); TilemapUtil_SetMap(TILEMAPID_PARTY_MENU, 1, sStorage->partyMenuTilemapBuffer, 12, 22); TilemapUtil_SetMap(TILEMAPID_CLOSE_BUTTON, 1, sCloseBoxButton_Tilemap, 9, 4); TilemapUtil_SetPos(TILEMAPID_PARTY_MENU, 10, 0); @@ -4267,7 +4267,7 @@ static void UpdateBoxToSendMons(void) static void InitPokeStorageBg0(void) { SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(29)); - LoadUserWindowBorderGfx(WIN_MESSAGE, 2, 208); + LoadUserWindowBorderGfx(WIN_MESSAGE, 2, BG_PLTT_ID(0xD)); FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17); CopyBgTilemapBufferToVram(0); } @@ -4308,7 +4308,7 @@ static void PrintMessage(u8 id) DynamicPlaceholderTextUtil_ExpandPlaceholders(sStorage->messageText, sMessages[id].text); FillWindowPixelBuffer(WIN_MESSAGE, PIXEL_FILL(1)); AddTextPrinterParameterized(WIN_MESSAGE, FONT_NORMAL, sStorage->messageText, 0, 1, TEXT_SKIP_DRAW, NULL); - DrawTextBorderOuter(WIN_MESSAGE, 2, 14); + DrawTextBorderOuter(WIN_MESSAGE, 2, 0xE); PutWindowTilemap(WIN_MESSAGE); CopyWindowToVram(WIN_MESSAGE, COPYWIN_GFX); ScheduleBgCopyTilemapToVram(0); @@ -5380,9 +5380,9 @@ static void LoadWallpaperGfx(u8 boxId, s8 direction) DrawWallpaper(sStorage->wallpaperTilemap, sStorage->wallpaperLoadDir, sStorage->wallpaperOffset); if (sStorage->wallpaperLoadDir != 0) - LoadPalette(wallpaper->palettes, (sStorage->wallpaperOffset * 32) + 0x40, 0x40); + LoadPalette(wallpaper->palettes, 0x40 + BG_PLTT_ID(sStorage->wallpaperOffset * 2), 2 * PLTT_SIZE_4BPP); else - CpuCopy16(wallpaper->palettes, &gPlttBufferUnfaded[(sStorage->wallpaperOffset * 32) + 0x40], 0x40); + CpuCopy16(wallpaper->palettes, &gPlttBufferUnfaded[0x40 + BG_PLTT_ID(sStorage->wallpaperOffset * 2)], 2 * PLTT_SIZE_4BPP); sStorage->wallpaperTiles = malloc_and_decompress(wallpaper->tiles, &tilesSize); LoadBgTiles(2, sStorage->wallpaperTiles, tilesSize, sStorage->wallpaperOffset << 8); @@ -5398,9 +5398,9 @@ static void LoadWallpaperGfx(u8 boxId, s8 direction) CpuCopy16(GetWaldaWallpaperColorsPtr(), &sStorage->wallpaperTilemap[17], 4); if (sStorage->wallpaperLoadDir != 0) - LoadPalette(sStorage->wallpaperTilemap, (sStorage->wallpaperOffset * 32) + 0x40, 0x40); + LoadPalette(sStorage->wallpaperTilemap, 0x40 + BG_PLTT_ID(sStorage->wallpaperOffset * 2), 2 * PLTT_SIZE_4BPP); else - CpuCopy16(sStorage->wallpaperTilemap, &gPlttBufferUnfaded[(sStorage->wallpaperOffset * 32) + 0x40], 0x40); + CpuCopy16(sStorage->wallpaperTilemap, &gPlttBufferUnfaded[0x40 + BG_PLTT_ID(sStorage->wallpaperOffset * 2)], 2 * PLTT_SIZE_4BPP); sStorage->wallpaperTiles = malloc_and_decompress(wallpaper->tiles, &tilesSize); iconGfx = malloc_and_decompress(sWaldaWallpaperIcons[GetWaldaWallpaperIconId()], &iconSize); @@ -5437,7 +5437,7 @@ static void DrawWallpaper(const void *tilemap, s8 direction, u8 offset) else x -= 4; - FillBgTilemapBufferRect(2, 0, x, 2, 4, 0x12, 0x11); + FillBgTilemapBufferRect(2, 0, x, 2, 4, 0x12, 17); } static void TrimOldWallpaper(void *tilemap) @@ -5488,7 +5488,7 @@ static void InitBoxTitle(u8 boxId) sStorage->wallpaperPalBits = 0x3f0; tagIndex = IndexOfSpritePaletteTag(PALTAG_BOX_TITLE); - sStorage->boxTitlePalOffset = 0x10e + 16 * tagIndex; + sStorage->boxTitlePalOffset = OBJ_PLTT_ID(tagIndex) + 14; sStorage->wallpaperPalBits |= 0x10000 << tagIndex; // The below seems intended to have separately tracked @@ -5496,7 +5496,7 @@ static void InitBoxTitle(u8 boxId) // share a palette tag, all colors (and fields in some cases) // this is redundant along with the use of boxTitleAltPalOffset tagIndex = IndexOfSpritePaletteTag(PALTAG_BOX_TITLE); - sStorage->boxTitleAltPalOffset = 0x10e + 16 * tagIndex; + sStorage->boxTitleAltPalOffset = OBJ_PLTT_ID(tagIndex) + 14; sStorage->wallpaperPalBits |= 0x10000 << tagIndex; StringCopyPadded(sStorage->boxTitleText, GetBoxNamePtr(boxId), 0, BOX_NAME_LENGTH); @@ -7929,7 +7929,7 @@ static void InitMenu(void) sStorage->menuItemsCount = 0; sStorage->menuWidth = 0; sStorage->menuWindow.bg = 0; - sStorage->menuWindow.paletteNum = 15; + sStorage->menuWindow.paletteNum = 0xF; sStorage->menuWindow.baseBlock = 92; } @@ -8085,7 +8085,7 @@ static const struct WindowTemplate sWindowTemplate_MultiMove = .tilemapTop = 3, .width = 20, .height = 18, - .paletteNum = 9, + .paletteNum = 0x9, .baseBlock = 0xA, }; @@ -8164,7 +8164,7 @@ static bool8 MultiMove_Start(void) { case 0: HideBg(0); - TryLoadAllMonIconPalettesAtOffset(0x80); + TryLoadAllMonIconPalettesAtOffset(BG_PLTT_ID(0x8)); sMultiMove->state++; break; case 1: @@ -8213,7 +8213,7 @@ static bool8 MultiMove_Cancel(void) if (!IsDma3ManagerBusyWithBgCopy()) { SetCursorPriorityTo1(); - LoadPalette(GetTextWindowPalette(3), 0xD0, 0x20); + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); ShowBg(0); return FALSE; } @@ -8319,7 +8319,7 @@ static bool8 MultiMove_PlaceMons(void) case 3: if (!IsDma3ManagerBusyWithBgCopy()) { - LoadPalette(GetTextWindowPalette(3), 0xD0, 0x20); + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); SetCursorPriorityTo1(); ShowBg(0); return FALSE; @@ -9103,7 +9103,7 @@ static void LoadItemIconGfx(u8 id, const u32 *itemTiles, const u32 *itemPal) CpuFastCopy(sStorage->itemIconBuffer, sStorage->itemIcons[id].tiles, 0x200); LZ77UnCompWram(itemPal, sStorage->itemIconBuffer); - LoadPalette(sStorage->itemIconBuffer, sStorage->itemIcons[id].palIndex, 0x20); + LoadPalette(sStorage->itemIconBuffer, sStorage->itemIcons[id].palIndex, PLTT_SIZE_4BPP); } static void SetItemIconAffineAnim(u8 id, u8 animNum) @@ -9236,7 +9236,7 @@ static bool8 UpdateItemInfoWindowSlideOut(void) if (pos >= 0) DrawItemInfoWindow(pos); - FillBgTilemapBufferRect(0, 0, pos + 1, 12, 1, 9, 0x11); + FillBgTilemapBufferRect(0, 0, pos + 1, 12, 1, 9, 17); ScheduleBgCopyTilemapToVram(0); return TRUE; } @@ -9245,12 +9245,12 @@ static void DrawItemInfoWindow(u32 x) { if (x != 0) { - FillBgTilemapBufferRect(0, 0x13A, 0, 0xC, x, 1, 0xFu); - FillBgTilemapBufferRect(0, 0x93A, 0, 0x14, x, 1, 0xFu); + FillBgTilemapBufferRect(0, 0x13A, 0, 0xC, x, 1, 0xF); + FillBgTilemapBufferRect(0, 0x93A, 0, 0x14, x, 1, 0xF); } - FillBgTilemapBufferRect(0, 0x13B, x, 0xD, 1, 7, 0xFu); - FillBgTilemapBufferRect(0, 0x13C, x, 0xC, 1, 1, 0xFu); - FillBgTilemapBufferRect(0, 0x13D, x, 0x14, 1, 1, 0xFu); + FillBgTilemapBufferRect(0, 0x13B, x, 0xD, 1, 7, 0xF); + FillBgTilemapBufferRect(0, 0x13C, x, 0xC, 1, 1, 0xF); + FillBgTilemapBufferRect(0, 0x13D, x, 0x14, 1, 1, 0xF); ScheduleBgCopyTilemapToVram(0); } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index bdbca31d02..e406225062 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -391,7 +391,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 11, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 1, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_TITLE] = { @@ -400,7 +400,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 11, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 23, }, [PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE] = { @@ -409,7 +409,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 11, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 45, }, [PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE] = { @@ -418,7 +418,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 11, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 67, }, [PSS_LABEL_WINDOW_PROMPT_CANCEL] = { @@ -427,7 +427,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 8, .height = 2, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 89, }, [PSS_LABEL_WINDOW_PROMPT_INFO] = { @@ -436,7 +436,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 8, .height = 2, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 105, }, [PSS_LABEL_WINDOW_PROMPT_SWITCH] = { @@ -445,7 +445,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 8, .height = 2, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 121, }, [PSS_LABEL_WINDOW_UNUSED1] = { @@ -454,7 +454,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 4, .width = 0, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 137, }, [PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL] = { @@ -463,7 +463,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 4, .width = 18, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 137, }, [PSS_LABEL_WINDOW_POKEMON_INFO_TYPE] = { @@ -472,7 +472,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 6, .width = 18, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 173, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT] = { @@ -481,7 +481,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 7, .width = 6, .height = 6, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 209, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT] = { @@ -490,7 +490,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 7, .width = 5, .height = 6, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 245, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP] = { @@ -499,7 +499,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 14, .width = 11, .height = 4, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 275, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS] = { @@ -508,7 +508,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 18, .width = 6, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 319, }, [PSS_LABEL_WINDOW_MOVES_POWER_ACC] = { @@ -517,7 +517,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 15, .width = 9, .height = 4, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 331, }, [PSS_LABEL_WINDOW_MOVES_APPEAL_JAM] = { @@ -526,7 +526,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 15, .width = 5, .height = 4, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 367, }, [PSS_LABEL_WINDOW_UNUSED2] = { @@ -535,7 +535,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 4, .width = 0, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 387, }, [PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER] = { @@ -544,7 +544,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 2, .width = 4, .height = 2, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 387, }, [PSS_LABEL_WINDOW_PORTRAIT_NICKNAME] = { @@ -553,7 +553,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 12, .width = 9, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 395, }, [PSS_LABEL_WINDOW_PORTRAIT_SPECIES] = { @@ -562,7 +562,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 14, .width = 9, .height = 4, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 413, }, [PSS_LABEL_WINDOW_END] = DUMMY_WIN_TEMPLATE @@ -575,7 +575,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .tilemapTop = 4, .width = 11, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 449, }, [PSS_DATA_WINDOW_INFO_ID] = { @@ -584,7 +584,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .tilemapTop = 4, .width = 7, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 471, }, [PSS_DATA_WINDOW_INFO_ABILITY] = { @@ -593,7 +593,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .tilemapTop = 9, .width = 18, .height = 4, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 485, }, [PSS_DATA_WINDOW_INFO_MEMO] = { @@ -602,7 +602,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .tilemapTop = 14, .width = 18, .height = 6, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 557, }, }; @@ -614,7 +614,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 4, .width = 10, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 449, }, [PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT] = { @@ -623,7 +623,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 4, .width = 10, .height = 2, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 469, }, [PSS_DATA_WINDOW_SKILLS_STATS_LEFT] = { @@ -632,7 +632,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 7, .width = 6, .height = 6, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 489, }, [PSS_DATA_WINDOW_SKILLS_STATS_RIGHT] = { @@ -641,7 +641,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 7, .width = 3, .height = 6, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 525, }, [PSS_DATA_WINDOW_EXP] = { @@ -650,7 +650,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 14, .width = 6, .height = 4, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 543, }, }; @@ -662,7 +662,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .tilemapTop = 4, .width = 9, .height = 10, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 449, }, [PSS_DATA_WINDOW_MOVE_PP] = { @@ -671,7 +671,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .tilemapTop = 4, .width = 6, .height = 10, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 539, }, [PSS_DATA_WINDOW_MOVE_DESCRIPTION] = { @@ -680,7 +680,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .tilemapTop = 15, .width = 20, .height = 4, - .paletteNum = 6, + .paletteNum = 0x6, .baseBlock = 599, }, }; @@ -1328,8 +1328,8 @@ static bool8 DecompressGraphics(void) sMonSummaryScreen->switchCounter++; break; case 6: - LoadCompressedPalette(gSummaryScreen_Pal, 0, 0x100); - LoadPalette(&gPPTextPalette, 0x81, 0x1E); + LoadCompressedPalette(gSummaryScreen_Pal, BG_PLTT_ID(0x0), 8 * PLTT_SIZE_4BPP); + LoadPalette(&gPPTextPalette, BG_PLTT_ID(0x8) + 1, PLTT_SIZEOF(16 - 1)); sMonSummaryScreen->switchCounter++; break; case 7: @@ -1353,7 +1353,7 @@ static bool8 DecompressGraphics(void) sMonSummaryScreen->switchCounter++; break; case 12: - LoadCompressedPalette(gMoveTypes_Pal, 0x1D0, 0x60); + LoadCompressedPalette(gMoveTypes_Pal, OBJ_PLTT_ID(0xD), 3 * PLTT_SIZE_4BPP); sMonSummaryScreen->switchCounter = 0; return TRUE; } @@ -4001,7 +4001,7 @@ static void StopPokemonAnimations(void) // A subtle effect, this function stops gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON]].callback = SpriteCallbackDummy; StopPokemonAnimationDelayTask(); - paletteIndex = (gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON]].oam.paletteNum * 16) | 0x100; + paletteIndex = OBJ_PLTT_ID(gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON]].oam.paletteNum); for (i = 0; i < 16; i++) { diff --git a/src/pokenav_conditions_gfx.c b/src/pokenav_conditions_gfx.c index 5631f5bb2a..9ad8854359 100644 --- a/src/pokenav_conditions_gfx.c +++ b/src/pokenav_conditions_gfx.c @@ -68,7 +68,7 @@ static const struct WindowTemplate sMonNameGenderWindowTemplate = .tilemapTop = 1, .width = 13, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 2 }; @@ -79,7 +79,7 @@ static const struct WindowTemplate sListIndexWindowTemplate = .tilemapTop = 6, .width = 7, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x36 }; @@ -90,7 +90,7 @@ static const struct WindowTemplate sUnusedWindowTemplate1 = .tilemapTop = 0x1C, .width = 5, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x44 }; @@ -101,7 +101,7 @@ static const struct WindowTemplate sUnusedWindowTemplate2 = .tilemapTop = 0x1C, .width = 3, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x44 }; @@ -224,8 +224,8 @@ static u32 LoopedTask_OpenConditionGraphMenu(s32 state) CopyToBgTilemapBufferRect(3, gPokenavOptions_Tilemap, 0, 5, 9, 4); CopyBgTilemapBufferToVram(3); - CopyPaletteIntoBufferUnfaded(gPokenavCondition_Pal, 0x10, 0x20); - CopyPaletteIntoBufferUnfaded(gConditionText_Pal, 0xF0, 0x20); + CopyPaletteIntoBufferUnfaded(gPokenavCondition_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(gConditionText_Pal, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); menu->monTransitionX = -80; return LT_INC_AND_PAUSE; case 4: @@ -235,7 +235,7 @@ static u32 LoopedTask_OpenConditionGraphMenu(s32 state) LZ77UnCompVram(sConditionGraphData_Tilemap, menu->tilemapBuffers[2]); SetBgTilemapBuffer(2, menu->tilemapBuffers[2]); CopyBgTilemapBufferToVram(2); - CopyPaletteIntoBufferUnfaded(gConditionGraphData_Pal, 0x30, 0x20); + CopyPaletteIntoBufferUnfaded(gConditionGraphData_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); ConditionGraph_InitWindow(2); return LT_INC_AND_PAUSE; case 5: @@ -827,13 +827,13 @@ static void CreateConditionMonPic(u8 id) menu->monPicSpriteId = spriteId; gSprites[menu->monPicSpriteId].callback = MonPicGfxSpriteCallback; menu->monGfxPtr = (void *)VRAM + BG_VRAM_SIZE + (menu->monGfxTileStart * 32); - menu->monPalIndex = (menu->monPalIndex * 16) + 0x100; + menu->monPalIndex = OBJ_PLTT_ID(menu->monPalIndex); } } else { DmaCopy16Defvars(3, GetConditionMonPicGfx(id), menu->monGfxPtr, MON_PIC_SIZE); - LoadPalette(GetConditionMonPal(id), menu->monPalIndex, 0x20); + LoadPalette(GetConditionMonPal(id), menu->monPalIndex, PLTT_SIZE_4BPP); } } diff --git a/src/pokenav_conditions_search_results.c b/src/pokenav_conditions_search_results.c index d0d2b7c55a..49ce612cc1 100644 --- a/src/pokenav_conditions_search_results.c +++ b/src/pokenav_conditions_search_results.c @@ -2,6 +2,7 @@ #include "pokenav.h" #include "bg.h" #include "menu.h" +#include "palette.h" #include "window.h" #include "sound.h" #include "dynamic_placeholder_text_util.h" @@ -120,7 +121,7 @@ static const struct WindowTemplate sSearchResultListMenuWindowTemplate = .tilemapTop = 6, .width = 7, .height = 2, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 20 }; @@ -431,7 +432,7 @@ static u32 LoopedTask_OpenConditionSearchResults(s32 state) SetBgTilemapBuffer(1, gfx->buff); CopyToBgTilemapBuffer(1, sConditionSearchResultTilemap, 0, 0); CopyBgTilemapBufferToVram(1); - CopyPaletteIntoBufferUnfaded(sConditionSearchResultFramePal, 0x10, 0x20); + CopyPaletteIntoBufferUnfaded(sConditionSearchResultFramePal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(1); return LT_INC_AND_PAUSE; case 1: @@ -443,7 +444,7 @@ static u32 LoopedTask_OpenConditionSearchResults(s32 state) case 2: if (FreeTempTileDataBuffersIfPossible()) return LT_PAUSE; - CopyPaletteIntoBufferUnfaded(sListBg_Pal, 0x20, 32); + CopyPaletteIntoBufferUnfaded(sListBg_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); CreateSearchResultsList(); return LT_INC_AND_PAUSE; case 3: diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c index c51ab10bae..3dbc7952d2 100644 --- a/src/pokenav_main_menu.c +++ b/src/pokenav_main_menu.c @@ -78,7 +78,7 @@ static const struct WindowTemplate sHelpBarWindowTemplate[] = .tilemapTop = 22, .width = 16, .height = 2, - .paletteNum = 0, + .paletteNum = 0x0, .baseBlock = 0x36, }, DUMMY_WIN_TEMPLATE @@ -349,7 +349,7 @@ static u32 LoopedTask_InitPokenavMenu(s32 state) DecompressAndCopyTileDataToVram(0, &gPokenavHeader_Gfx, 0, 0, 0); SetBgTilemapBuffer(0, menu->tilemapBuffer); CopyToBgTilemapBuffer(0, &gPokenavHeader_Tilemap, 0, 0); - CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, 0, 0x20); + CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(0); return LT_INC_AND_PAUSE; case 2: @@ -460,8 +460,8 @@ void Pokenav_AllocAndLoadPalettes(const struct SpritePalette *palettes) } else { - index = (index * 16) + 0x100; - CopyPaletteIntoBufferUnfaded(current->data, index, 0x20); + index = OBJ_PLTT_ID(index); + CopyPaletteIntoBufferUnfaded(current->data, index, PLTT_SIZE_4BPP); } } } @@ -683,7 +683,7 @@ static void LoadLeftHeaderGfxForMenu(u32 menuGfxId) menu = GetSubstructPtr(POKENAV_SUBSTRUCT_MAIN_MENU); tag = sMenuLeftHeaderSpriteSheets[menuGfxId].tag; size = GetDecompressedDataSize(sMenuLeftHeaderSpriteSheets[menuGfxId].data); - LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(1) * 16) + 0x100, 0x20); + LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], OBJ_PLTT_ID(IndexOfSpritePaletteTag(1)), PLTT_SIZE_4BPP); LZ77UnCompWram(sMenuLeftHeaderSpriteSheets[menuGfxId].data, gDecompressionBuffer); RequestDma3Copy(gDecompressionBuffer, (void *)OBJ_VRAM0 + (GetSpriteTileStartByTag(2) * 32), size, 1); menu->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sMenuLeftHeaderSpriteSheets[menuGfxId].size; @@ -703,7 +703,7 @@ static void LoadLeftHeaderGfxForSubMenu(u32 menuGfxId) tag = sPokenavSubMenuLeftHeaderSpriteSheets[menuGfxId].tag; size = GetDecompressedDataSize(sPokenavSubMenuLeftHeaderSpriteSheets[menuGfxId].data); - LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(2) * 16) + 0x100, 0x20); + LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], OBJ_PLTT_ID(IndexOfSpritePaletteTag(2)), PLTT_SIZE_4BPP); LZ77UnCompWram(sPokenavSubMenuLeftHeaderSpriteSheets[menuGfxId].data, &gDecompressionBuffer[0x1000]); RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)OBJ_VRAM0 + 0x800 + (GetSpriteTileStartByTag(2) * 32), size, 1); } diff --git a/src/pokenav_match_call_gfx.c b/src/pokenav_match_call_gfx.c index fd5b36fae0..710aeef17b 100755 --- a/src/pokenav_match_call_gfx.c +++ b/src/pokenav_match_call_gfx.c @@ -182,7 +182,7 @@ static const struct WindowTemplate sMatchCallLocationWindowTemplate = .tilemapTop = 5, .width = 11, .height = 2, - .paletteNum = 2, + .paletteNum = 0x2, .baseBlock = 16 }; @@ -193,7 +193,7 @@ static const struct WindowTemplate sMatchCallInfoBoxWindowTemplate = .tilemapTop = 9, .width = 11, .height = 8, - .paletteNum = 2, + .paletteNum = 0x2, .baseBlock = 38 }; @@ -214,7 +214,7 @@ static const struct WindowTemplate sCallMsgBoxWindowTemplate = .tilemapTop = 12, .width = 28, .height = 4, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 10 }; @@ -333,7 +333,7 @@ static u32 LoopedTask_OpenMatchCall(s32 state) SetBgTilemapBuffer(2, gfx->bgTilemapBuffer2); CopyToBgTilemapBuffer(2, sMatchCallUI_Tilemap, 0, 0); CopyBgTilemapBufferToVram(2); - CopyPaletteIntoBufferUnfaded(sMatchCallUI_Pal, 0x20, 0x20); + CopyPaletteIntoBufferUnfaded(sMatchCallUI_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(2); return LT_INC_AND_PAUSE; case 1: @@ -343,7 +343,7 @@ static u32 LoopedTask_OpenMatchCall(s32 state) BgDmaFill(1, 0, 0, 1); SetBgTilemapBuffer(1, gfx->bgTilemapBuffer1); FillBgTilemapBufferRect_Palette0(1, 0x1000, 0, 0, 32, 20); - CopyPaletteIntoBufferUnfaded(sCallWindow_Pal, 0x10, 0x20); + CopyPaletteIntoBufferUnfaded(sCallWindow_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(1); return LT_INC_AND_PAUSE; case 2: @@ -352,8 +352,8 @@ static u32 LoopedTask_OpenMatchCall(s32 state) LoadCallWindowAndFade(gfx); DecompressAndCopyTileDataToVram(3, sPokeball_Gfx, 0, 0, 0); - CopyPaletteIntoBufferUnfaded(sListWindow_Pal, 0x30, 0x20); - CopyPaletteIntoBufferUnfaded(sPokeball_Pal, 0x50, 0x20); + CopyPaletteIntoBufferUnfaded(sListWindow_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sPokeball_Pal, BG_PLTT_ID(0x5), PLTT_SIZE_4BPP); return LT_INC_AND_PAUSE; case 3: if (FreeTempTileDataBuffersIfPossible() || !IsMatchCallListInitFinished()) @@ -1082,15 +1082,15 @@ static void UpdateWindowsToShowCheckPage(struct Pokenav_MatchCallGfx *gfx) static void LoadCallWindowAndFade(struct Pokenav_MatchCallGfx *gfx) { gfx->msgBoxWindowId = AddWindow(&sCallMsgBoxWindowTemplate); - LoadMatchCallWindowGfx(gfx->msgBoxWindowId, 1, 4); + LoadMatchCallWindowGfx(gfx->msgBoxWindowId, 1, 0x4); FadeToBlackExceptPrimary(); } static void DrawMsgBoxForMatchCallMsg(struct Pokenav_MatchCallGfx *gfx) { struct Sprite *sprite; - LoadMatchCallWindowGfx(gfx->msgBoxWindowId, 1, 4); - DrawMatchCallTextBoxBorder(gfx->msgBoxWindowId, 1, 4); + LoadMatchCallWindowGfx(gfx->msgBoxWindowId, 1, 0x4); + DrawMatchCallTextBoxBorder(gfx->msgBoxWindowId, 1, 0x4); FillWindowPixelBuffer(gfx->msgBoxWindowId, PIXEL_FILL(1)); PutWindowTilemap(gfx->msgBoxWindowId); CopyWindowToVram(gfx->msgBoxWindowId, COPYWIN_FULL); @@ -1102,8 +1102,8 @@ static void DrawMsgBoxForMatchCallMsg(struct Pokenav_MatchCallGfx *gfx) static void DrawMsgBoxForCloseByMsg(struct Pokenav_MatchCallGfx *gfx) { - LoadUserWindowBorderGfx(gfx->msgBoxWindowId, 1, 0x40); - DrawTextBorderOuter(gfx->msgBoxWindowId, 1, 4); + LoadUserWindowBorderGfx(gfx->msgBoxWindowId, 1, BG_PLTT_ID(0x4)); + DrawTextBorderOuter(gfx->msgBoxWindowId, 1, 0x4); FillWindowPixelBuffer(gfx->msgBoxWindowId, PIXEL_FILL(1)); PutWindowTilemap(gfx->msgBoxWindowId); CopyWindowToVram(gfx->msgBoxWindowId, COPYWIN_FULL); @@ -1186,7 +1186,7 @@ static void AllocMatchCallSprites(void) spriteSheet.tag = GFXTAG_TRAINER_PIC; gfx->trainerPicGfxPtr = (u8 *)OBJ_VRAM0 + LoadSpriteSheet(&spriteSheet) * 0x20; paletteNum = AllocSpritePalette(PALTAG_TRAINER_PIC); - gfx->trainerPicPalOffset = 0x100 + paletteNum * 0x10; + gfx->trainerPicPalOffset = OBJ_PLTT_ID(paletteNum); gfx->trainerPicSprite = CreateTrainerPicSprite(); gfx->trainerPicSprite->invisible = TRUE; } diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index bc55fa7515..1acd2edf9e 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -261,7 +261,7 @@ static const struct WindowTemplate sOptionDescWindowTemplate = .tilemapTop = 17, .width = 24, .height = 2, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 8 }; @@ -457,7 +457,7 @@ static u32 LoopedTask_OpenMenu(s32 state) SetBgTilemapBuffer(1, gfx->bg1TilemapBuffer); CopyToBgTilemapBuffer(1, gPokenavMessageBox_Tilemap, 0, 0); CopyBgTilemapBufferToVram(1); - CopyPaletteIntoBufferUnfaded(gPokenavMessageBox_Pal, 0x10, 0x20); + CopyPaletteIntoBufferUnfaded(gPokenavMessageBox_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); ChangeBgX(1, 0, BG_COORD_SET); ChangeBgY(1, 0, BG_COORD_SET); ChangeBgX(2, 0, BG_COORD_SET); @@ -470,14 +470,14 @@ static u32 LoopedTask_OpenMenu(s32 state) return LT_PAUSE; DecompressAndCopyTileDataToVram(2, sPokenavDeviceBgTiles, 0, 0, 0); DecompressAndCopyTileDataToVram(2, sPokenavDeviceBgTilemap, 0, 0, 1); - CopyPaletteIntoBufferUnfaded(sPokenavDeviceBgPal, 0x20, 0x20); + CopyPaletteIntoBufferUnfaded(sPokenavDeviceBgPal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); return LT_INC_AND_PAUSE; case 2: if (FreeTempTileDataBuffersIfPossible()) return LT_PAUSE; DecompressAndCopyTileDataToVram(3, sPokenavBgDotsTiles, 0, 0, 0); DecompressAndCopyTileDataToVram(3, sPokenavBgDotsTilemap, 0, 0, 1); - CopyPaletteIntoBufferUnfaded(sPokenavBgDotsPal, 0x30, 0x20); + CopyPaletteIntoBufferUnfaded(sPokenavBgDotsPal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); if (GetPokenavMenuType() == POKENAV_MENU_TYPE_CONDITION || GetPokenavMenuType() == POKENAV_MENU_TYPE_CONDITION_SEARCH) ChangeBgDotsColorToPurple(); return LT_INC_AND_PAUSE; @@ -1270,7 +1270,7 @@ static void CreateBgDotPurplePalTask(void) static void ChangeBgDotsColorToPurple(void) { - CopyPaletteIntoBufferUnfaded(sPokenavBgDotsPal + 7, 0x31, 4); + CopyPaletteIntoBufferUnfaded(sPokenavBgDotsPal + 7, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(2)); } static void CreateBgDotLightBluePalTask(void) @@ -1293,7 +1293,7 @@ static void Task_UpdateBgDotsPalette(u8 taskId) const u16 * pal2 = (const u16 *)GetWordTaskArg(taskId, 3); PokenavCopyPalette(pal1, pal2, 2, 12, ++data[0], sp8); - LoadPalette(sp8, 0x31, 4); + LoadPalette(sp8, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(2)); if (data[0] == 12) DestroyTask(taskId); } diff --git a/src/pokenav_region_map.c b/src/pokenav_region_map.c index 39c1659a9a..6b3479f10e 100755 --- a/src/pokenav_region_map.c +++ b/src/pokenav_region_map.c @@ -140,7 +140,7 @@ static const struct WindowTemplate sMapSecInfoWindowTemplate = .tilemapTop = 4, .width = 12, .height = 13, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 0x4C }; @@ -509,14 +509,14 @@ static void LoadPokenavRegionMapGfx(struct Pokenav_RegionMapGfx *state) CpuFill16(0x1040, state->tilemapBuffer, 0x800); SetBgTilemapBuffer(1, state->tilemapBuffer); state->infoWindowId = AddWindow(&sMapSecInfoWindowTemplate); - LoadUserWindowBorderGfx_(state->infoWindowId, 0x42, 0x40); - DrawTextBorderOuter(state->infoWindowId, 0x42, 4); + LoadUserWindowBorderGfx_(state->infoWindowId, 0x42, BG_PLTT_ID(0x4)); + DrawTextBorderOuter(state->infoWindowId, 0x42, 0x4); DecompressAndCopyTileDataToVram(1, sRegionMapCityZoomTiles_Gfx, 0, 0, 0); FillWindowPixelBuffer(state->infoWindowId, PIXEL_FILL(1)); PutWindowTilemap(state->infoWindowId); CopyWindowToVram(state->infoWindowId, COPYWIN_FULL); - CopyPaletteIntoBufferUnfaded(sMapSecInfoWindow_Pal, 0x10, 0x20); - CopyPaletteIntoBufferUnfaded(gRegionMapCityZoomTiles_Pal, 0x30, 0x20); + CopyPaletteIntoBufferUnfaded(sMapSecInfoWindow_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(gRegionMapCityZoomTiles_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); if (!IsRegionMapZoomed()) ChangeBgY(1, -0x6000, BG_COORD_SET); else diff --git a/src/pokenav_ribbons_list.c b/src/pokenav_ribbons_list.c index ca5559d966..5f5cf083ff 100644 --- a/src/pokenav_ribbons_list.c +++ b/src/pokenav_ribbons_list.c @@ -2,6 +2,7 @@ #include "pokenav.h" #include "bg.h" #include "menu.h" +#include "palette.h" #include "window.h" #include "sound.h" #include "string_util.h" @@ -431,7 +432,7 @@ static u32 LoopedTask_OpenRibbonsMonList(s32 state) DecompressAndCopyTileDataToVram(1, sMonRibbonListFrameTiles, 0, 0, 0); SetBgTilemapBuffer(1, menu->buff); CopyToBgTilemapBuffer(1, sMonRibbonListFrameTilemap, 0, 0); - CopyPaletteIntoBufferUnfaded(sMonRibbonListFramePal, 0x10, 0x20); + CopyPaletteIntoBufferUnfaded(sMonRibbonListFramePal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(1); return LT_INC_AND_PAUSE; case 1: @@ -446,7 +447,7 @@ static u32 LoopedTask_OpenRibbonsMonList(s32 state) case 2: if (FreeTempTileDataBuffersIfPossible()) return LT_PAUSE; - CopyPaletteIntoBufferUnfaded(sMonRibbonListUi_Pal, 0x20, 0x20); + CopyPaletteIntoBufferUnfaded(sMonRibbonListUi_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); CreateRibbonMonsList(); return LT_INC_AND_PAUSE; case 3: diff --git a/src/pokenav_ribbons_summary.c b/src/pokenav_ribbons_summary.c index 15f9db5e6a..d5e04a5025 100644 --- a/src/pokenav_ribbons_summary.c +++ b/src/pokenav_ribbons_summary.c @@ -3,6 +3,7 @@ #include "dynamic_placeholder_text_util.h" #include "graphics.h" #include "international_string_util.h" +#include "palette.h" #include "pokenav.h" #include "sound.h" #include "sprite.h" @@ -572,7 +573,7 @@ static u32 LoopedTask_OpenRibbonsSummaryMenu(s32 state) DecompressAndCopyTileDataToVram(2, gPokenavRibbonsSummaryBg_Gfx, 0, 0, 0); SetBgTilemapBuffer(2, menu->tilemapBuffers[0]); CopyToBgTilemapBuffer(2, gPokenavRibbonsSummaryBg_Tilemap, 0, 0); - CopyPaletteIntoBufferUnfaded(gPokenavRibbonsSummaryBg_Pal, 0x10, 0x20); + CopyPaletteIntoBufferUnfaded(gPokenavRibbonsSummaryBg_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(2); return LT_INC_AND_PAUSE; case 1: @@ -582,8 +583,8 @@ static u32 LoopedTask_OpenRibbonsSummaryMenu(s32 state) DecompressAndCopyTileDataToVram(1, sRibbonIconsSmall_Gfx, 0, 1, 0); SetBgTilemapBuffer(1, menu->tilemapBuffers[1]); FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20); - CopyPaletteIntoBufferUnfaded(sRibbonIcons1_Pal, 0x20, 0xA0); - CopyPaletteIntoBufferUnfaded(sMonInfo_Pal, 0xA0, 0x20); + CopyPaletteIntoBufferUnfaded(sRibbonIcons1_Pal, BG_PLTT_ID(0x2), 5 * PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sMonInfo_Pal, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(1); return LT_INC_AND_PAUSE; } @@ -789,7 +790,7 @@ static const struct WindowTemplate sRibbonCountWindowTemplate = .tilemapTop = 13, .width = 16, .height = 4, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 0x14, }; @@ -853,7 +854,7 @@ static const struct WindowTemplate sRibbonSummaryMonNameWindowTemplate = .tilemapTop = 1, .width = 13, .height = 2, - .paletteNum = 10, + .paletteNum = 0xA, .baseBlock = 0x54, }; @@ -908,7 +909,7 @@ static const struct WindowTemplate sRibbonMonListIndexWindowTemplate[] = .tilemapTop = 5, .width = 7, .height = 2, - .paletteNum = 1, + .paletteNum = 0x1, .baseBlock = 0x6E, }, {}, diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index 83298b03df..ca50ed8f2c 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -1301,7 +1301,7 @@ static void CB2_InitRayquazaScene(void) ResetPaletteFade(); ResetSpriteData(); ResetTasks(); - FillPalette(RGB_BLACK, 0xF0, 32); + FillPalette(RGB_BLACK, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); CreateTask(sTasksForAnimations[sRayScene->animId], 0); SetMainCallback2(CB2_RayquazaScene); } @@ -1592,7 +1592,7 @@ static void LoadDuoFightSceneGfx(void) LZDecompressWram(gRaySceneDuoFight_Clouds2_Tilemap, sRayScene->tilemapBuffers[0]); LZDecompressWram(gRaySceneDuoFight_Clouds1_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneDuoFight_Clouds3_Tilemap, sRayScene->tilemapBuffers[2]); - LoadCompressedPalette(gRaySceneDuoFight_Clouds_Pal, 0, 0x40); + LoadCompressedPalette(gRaySceneDuoFight_Clouds_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); LoadCompressedSpriteSheet(&sSpriteSheet_DuoFight_Groudon); LoadCompressedSpriteSheet(&sSpriteSheet_DuoFight_GroudonShoulder); LoadCompressedSpriteSheet(&sSpriteSheet_DuoFight_GroudonClaw); @@ -2032,7 +2032,7 @@ static void LoadTakesFlightSceneGfx(void) LZDecompressWram(gRaySceneDuoFight_Clouds2_Tilemap, sRayScene->tilemapBuffers[0]); LZDecompressWram(gRaySceneTakesFlight_Bg_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneTakesFlight_Rayquaza_Tilemap, sRayScene->tilemapBuffers[2]); - LoadCompressedPalette(gRaySceneTakesFlight_Rayquaza_Pal, 0, 64); + LoadCompressedPalette(gRaySceneTakesFlight_Rayquaza_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); LoadCompressedSpriteSheet(&sSpriteSheet_TakesFlight_Smoke); LoadCompressedSpritePalette(&sSpritePal_TakesFlight_Smoke); } @@ -2238,7 +2238,7 @@ static void LoadDescendsSceneGfx(void) CpuFastCopy(sRayScene->tilemapBuffers[3], sRayScene->tilemapBuffers[1], BG_SCREEN_SIZE); CpuFastFill16(0, &sRayScene->tilemapBuffers[1][0x100], 0x340); - LoadCompressedPalette(gRaySceneDescends_Bg_Pal, 0, 0x40); + LoadCompressedPalette(gRaySceneDescends_Bg_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); gPlttBufferUnfaded[0] = RGB_WHITE; gPlttBufferFaded[0] = RGB_WHITE; LoadCompressedSpriteSheet(&sSpriteSheet_Descends_Rayquaza); @@ -2487,7 +2487,7 @@ static void LoadChargesSceneGfx(void) LZDecompressWram(gRaySceneCharges_Rayquaza_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneCharges_Streaks_Tilemap, sRayScene->tilemapBuffers[2]); LZDecompressWram(gRaySceneCharges_Bg_Tilemap, sRayScene->tilemapBuffers[3]); - LoadCompressedPalette(gRaySceneCharges_Bg_Pal, 0, 0x80); + LoadCompressedPalette(gRaySceneCharges_Bg_Pal, BG_PLTT_ID(0x0), 4 * PLTT_SIZE_4BPP); } #define tState data[0] @@ -2671,7 +2671,7 @@ static void LoadChasesAwaySceneGfx(void) LZDecompressWram(gRaySceneChasesAway_Bg_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneChasesAway_Light_Tilemap, sRayScene->tilemapBuffers[0]); LZDecompressWram(gRaySceneChasesAway_Ring_Tilemap, sRayScene->tilemapBuffers[2]); - LoadCompressedPalette(gRaySceneChasesAway_Bg_Pal, 0, 0x60); + LoadCompressedPalette(gRaySceneChasesAway_Bg_Pal, BG_PLTT_ID(0x0), 3 * PLTT_SIZE_4BPP); LoadCompressedSpriteSheet(&sSpriteSheet_ChasesAway_Groudon); LoadCompressedSpriteSheet(&sSpriteSheet_ChasesAway_GroudonTail); LoadCompressedSpriteSheet(&sSpriteSheet_ChasesAway_Kyogre); diff --git a/src/region_map.c b/src/region_map.c index a4db1cb048..379cc247e4 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -392,7 +392,7 @@ static const struct WindowTemplate sFlyMapWindowTemplates[] = .tilemapTop = 17, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x01 }, { @@ -401,7 +401,7 @@ static const struct WindowTemplate sFlyMapWindowTemplates[] = .tilemapTop = 15, .width = 12, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x19 }, { @@ -410,7 +410,7 @@ static const struct WindowTemplate sFlyMapWindowTemplates[] = .tilemapTop = 18, .width = 14, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x49 }, DUMMY_WIN_TEMPLATE @@ -567,7 +567,7 @@ bool8 LoadRegionMapGfx(void) break; case 2: if (!FreeTempTileDataBuffersIfPossible()) - LoadPalette(sRegionMapBg_Pal, 0x70, 0x60); + LoadPalette(sRegionMapBg_Pal, BG_PLTT_ID(0x7), 3 * PLTT_SIZE_4BPP); break; case 3: LZ77UnCompWram(sRegionMapCursorSmallGfxLZ, sRegionMap->cursorSmallImage); @@ -1689,7 +1689,7 @@ void CB2_OpenFlyMap(void) gMain.state++; break; case 3: - LoadUserWindowBorderGfx(0, 0x65, 0xd0); + LoadUserWindowBorderGfx(0, 0x65, BG_PLTT_ID(0xD)); ClearScheduledBgCopiesToVram(); gMain.state++; break; @@ -1712,7 +1712,7 @@ void CB2_OpenFlyMap(void) gMain.state++; break; case 7: - LoadPalette(sRegionMapFramePal, 0x10, sizeof(sRegionMapFramePal)); + LoadPalette(sRegionMapFramePal, BG_PLTT_ID(0x1), sizeof(sRegionMapFramePal)); PutWindowTilemap(2); FillWindowPixelBuffer(2, PIXEL_FILL(0)); AddTextPrinterParameterized(2, FONT_NORMAL, gText_FlyToWhere, 0, 1, 0, NULL); diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 0a9ec49113..2c7566a66c 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -85,7 +85,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 1, .width = 19, .height = 9, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x155 }, { @@ -94,7 +94,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0xE9 }, DUMMY_WIN_TEMPLATE @@ -106,7 +106,7 @@ static const struct WindowTemplate sInputTimeWindow = { .tilemapTop = 9, .width = 21, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0xBF }; diff --git a/src/roulette.c b/src/roulette.c index e96ec30b07..3e37ba5d60 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -460,7 +460,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 24, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0xC5 }, #ifdef UBFIX @@ -1195,7 +1195,7 @@ static void CB2_LoadRoulette(void) ResetTempTileDataBuffers(); break; case 3: - LoadPalette(&sWheel_Pal, 0, 0x1C0); + LoadPalette(&sWheel_Pal, BG_PLTT_ID(0x0), 14 * PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(1, gRouletteMenu_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(2, gRouletteWheel_Gfx, 0, 0, 0); break; @@ -2167,16 +2167,16 @@ static void FlashSelectionOnWheel(u8 selectionId) // The specific color of the poke it references doesn't matter, because the icons of a poke share a palette // So it just uses the first sprite ID of each case COL_WYNAUT: - palOffset = gSprites[sRoulette->spriteIds[SPR_WHEEL_ICON_ORANGE_WYNAUT]].oam.paletteNum * 16; + palOffset = PLTT_ID(gSprites[sRoulette->spriteIds[SPR_WHEEL_ICON_ORANGE_WYNAUT]].oam.paletteNum); break; case COL_AZURILL: - palOffset = gSprites[sRoulette->spriteIds[SPR_WHEEL_ICON_GREEN_AZURILL]].oam.paletteNum * 16; + palOffset = PLTT_ID(gSprites[sRoulette->spriteIds[SPR_WHEEL_ICON_GREEN_AZURILL]].oam.paletteNum); break; case COL_SKITTY: - palOffset = gSprites[sRoulette->spriteIds[SPR_WHEEL_ICON_PURPLE_SKITTY]].oam.paletteNum * 16; + palOffset = PLTT_ID(gSprites[sRoulette->spriteIds[SPR_WHEEL_ICON_PURPLE_SKITTY]].oam.paletteNum); break; case COL_MAKUHITA: - palOffset = gSprites[sRoulette->spriteIds[SPR_WHEEL_ICON_ORANGE_MAKUHITA]].oam.paletteNum * 16; + palOffset = PLTT_ID(gSprites[sRoulette->spriteIds[SPR_WHEEL_ICON_ORANGE_MAKUHITA]].oam.paletteNum); break; } if (numSelected == 1) diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 877482728f..f039cf324d 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -103,7 +103,7 @@ static const struct WindowTemplate sWindowTemplate_Text[] = .tilemapTop = 13, .width = 28, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1, } }; @@ -116,7 +116,7 @@ static const struct WindowTemplate sWindowTemplate_Clock[] = .tilemapTop = 9, .width = 2, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 169, } }; @@ -214,10 +214,10 @@ static void CB2_SaveFailedScreen(void) ResetSpriteData(); ResetTasks(); ResetPaletteFade(); - LoadPalette(gBirchBagGrassPal, 0, 0x40); - LoadPalette(sSaveFailedClockPal, 0x100, 0x20); - LoadPalette(gTextWindowFrame1_Pal, 0xE0, 0x20); - LoadPalette(gStandardMenuPalette, 0xF0, 0x20); + LoadPalette(gBirchBagGrassPal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadPalette(sSaveFailedClockPal, OBJ_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(gTextWindowFrame1_Pal, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); DrawStdFrameWithCustomTileAndPalette(sWindowIds[TEXT_WIN_ID], FALSE, 0x214, 0xE); DrawStdFrameWithCustomTileAndPalette(sWindowIds[CLOCK_WIN_ID], FALSE, 0x214, 0xE); FillWindowPixelBuffer(sWindowIds[CLOCK_WIN_ID], PIXEL_FILL(1)); // backwards? diff --git a/src/scrcmd.c b/src/scrcmd.c index 6ca02019d8..91ab4ebfb6 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1526,7 +1526,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) winTemplate = CreateWindowTemplate(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); sBrailleWindowId = AddWindow(&winTemplate); - LoadUserWindowBorderGfx(sBrailleWindowId, 0x214, 0xE0); + LoadUserWindowBorderGfx(sBrailleWindowId, 0x214, BG_PLTT_ID(0xE)); DrawStdWindowFrame(sBrailleWindowId, FALSE); PutWindowTilemap(sBrailleWindowId); FillWindowPixelBuffer(sBrailleWindowId, PIXEL_FILL(1)); diff --git a/src/secret_base.c b/src/secret_base.c index 74129d3ff5..61d426ea64 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -181,7 +181,7 @@ static const struct WindowTemplate sRegistryWindowTemplates[] = .tilemapTop = 1, .width = 11, .height = 18, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x01, }, { @@ -190,7 +190,7 @@ static const struct WindowTemplate sRegistryWindowTemplates[] = .tilemapTop = 1, .width = 28, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0xc7, } }; diff --git a/src/shop.c b/src/shop.c index 451fa171cb..3fd29a3f37 100755 --- a/src/shop.c +++ b/src/shop.c @@ -120,7 +120,7 @@ static const struct WindowTemplate sShopMenuWindowTemplates[] = .tilemapTop = 1, .width = 9, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0008, }, { @@ -129,7 +129,7 @@ static const struct WindowTemplate sShopMenuWindowTemplates[] = .tilemapTop = 1, .width = 9, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0008, } }; @@ -204,7 +204,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 1, .width = 10, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x001E, }, { @@ -213,7 +213,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 2, .width = 15, .height = 16, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0032, }, { @@ -222,7 +222,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0122, }, { @@ -231,7 +231,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 11, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0176, }, { @@ -240,7 +240,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 11, .width = 10, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x018E, }, { @@ -249,7 +249,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x01A2, }, DUMMY_WIN_TEMPLATE @@ -262,7 +262,7 @@ static const struct WindowTemplate sShopBuyMenuYesNoWindowTemplates = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x020E, }; @@ -676,15 +676,15 @@ static void BuyMenuDecompressBgGraphics(void) { DecompressAndCopyTileDataToVram(1, gShopMenu_Gfx, 0x3A0, 0x3E3, 0); LZDecompressWram(gShopMenu_Tilemap, sShopData->tilemapBuffers[0]); - LoadCompressedPalette(gShopMenu_Pal, 0xC0, 0x20); + LoadCompressedPalette(gShopMenu_Pal, BG_PLTT_ID(0xC), PLTT_SIZE_4BPP); } static void BuyMenuInitWindows(void) { InitWindows(sShopBuyMenuWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, 0xD0); - LoadMessageBoxGfx(0, 0xA, 0xE0); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); + LoadMessageBoxGfx(0, 0xA, BG_PLTT_ID(0xE)); PutWindowTilemap(0); PutWindowTilemap(1); PutWindowTilemap(2); diff --git a/src/slot_machine.c b/src/slot_machine.c index dd2622e2be..94cc7dfaed 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -789,7 +789,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x194 }, DUMMY_WIN_TEMPLATE @@ -802,7 +802,7 @@ static const struct WindowTemplate sWindowTemplate_InfoBox = .tilemapTop = 3, .width = 20, .height = 13, - .paletteNum = 13, + .paletteNum = 0xD, .baseBlock = 1 }; @@ -1247,8 +1247,8 @@ static void SlotMachineSetup_LoadGfxAndTilemaps(void) LoadMenuGfx(); LoadMenuAndReelOverlayTilemaps(); LoadSlotMachineGfx(); - LoadMessageBoxGfx(0, 0x200, 0xF0); - LoadUserWindowBorderGfx(0, 0x214, 0xE0); + LoadMessageBoxGfx(0, 0x200, BG_PLTT_ID(0xF)); + LoadUserWindowBorderGfx(0, 0x214, BG_PLTT_ID(0xE)); PutWindowTilemap(0); } @@ -3211,12 +3211,12 @@ static void StopReelButton_Unpress(struct Task *task, u8 taskId) static void LightenMatchLine(u8 matchLineId) { - LoadPalette(sLitMatchLinePalTable[matchLineId], sMatchLinePalOffsets[matchLineId], 2); + LoadPalette(sLitMatchLinePalTable[matchLineId], sMatchLinePalOffsets[matchLineId], PLTT_SIZEOF(1)); } static void DarkenMatchLine(u8 matchLineId) { - LoadPalette(sDarkMatchLinePalTable[matchLineId], sMatchLinePalOffsets[matchLineId], 2); + LoadPalette(sDarkMatchLinePalTable[matchLineId], sMatchLinePalOffsets[matchLineId], PLTT_SIZEOF(1)); } // light up the match line for each bet by the player @@ -3360,7 +3360,7 @@ static bool8 TryStopSlotMachineLights(void) if (gTasks[taskId].sFlashState == 0) { DestroyTask(taskId); - LoadPalette(sSlotMachineMenu_Pal, 0x10, 0x20); + LoadPalette(sSlotMachineMenu_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); return TRUE; } return FALSE; @@ -3376,7 +3376,7 @@ static void Task_FlashSlotMachineLights(u8 taskId) if (task->sFlashState == 0 || task->sFlashState == 2) task->sFlashDir = -task->sFlashDir; } - LoadPalette(sFlashingLightsPalTable[task->sFlashState], 0x10, 0x20); + LoadPalette(sFlashingLightsPalTable[task->sFlashState], BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); } #undef sDelayTimer @@ -4857,7 +4857,7 @@ static void SpriteCB_DigitalDisplay_PokeballShining(struct Sprite *sprite) { if (sprite->sCounter < 3) { - LoadPalette(sPokeballShiningPalTable[sprite->sCounter], (IndexOfSpritePaletteTag(PALTAG_DIG_DISPLAY) << 4) + 0x100, 32); + LoadPalette(sPokeballShiningPalTable[sprite->sCounter], OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_DIG_DISPLAY)), PLTT_SIZE_4BPP); if (++sprite->data[2] >= 4) { sprite->data[1]++; @@ -4866,7 +4866,7 @@ static void SpriteCB_DigitalDisplay_PokeballShining(struct Sprite *sprite) } else { - LoadPalette(sPokeballShiningPalTable[sprite->sCounter], (IndexOfSpritePaletteTag(PALTAG_DIG_DISPLAY) << 4) + 0x100, 32); + LoadPalette(sPokeballShiningPalTable[sprite->sCounter], OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_DIG_DISPLAY)), PLTT_SIZE_4BPP); if (++sprite->data[2] >= 25) { sprite->sCounter = 0; @@ -4995,7 +4995,7 @@ static void EndDigitalDisplayScene_StopReel(void) static void EndDigitalDisplayScene_Win(void) { - LoadPalette(sDigitalDisplay_Pal, (IndexOfSpritePaletteTag(PALTAG_DIG_DISPLAY) << 4) + 0x100, 0x20); + LoadPalette(sDigitalDisplay_Pal, OBJ_PLTT_ID(IndexOfSpritePaletteTag(PALTAG_DIG_DISPLAY)), PLTT_SIZE_4BPP); } static void EndDigitalDisplayScene_InsertBet(void) @@ -5054,8 +5054,8 @@ static void LoadMenuGfx(void) sMenuGfx = Alloc(0x2200); LZDecompressWram(gSlotMachineMenu_Gfx, sMenuGfx); LoadBgTiles(2, sMenuGfx, 0x2200, 0); - LoadPalette(gSlotMachineMenu_Pal, 0, 160); - LoadPalette(sUnkPalette, 208, 32); + LoadPalette(gSlotMachineMenu_Pal, BG_PLTT_ID(0x0), 5 * PLTT_SIZE_4BPP); + LoadPalette(sUnkPalette, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); } static void LoadMenuAndReelOverlayTilemaps(void) @@ -7728,19 +7728,19 @@ static const u16 *const sLitMatchLinePalTable[NUM_MATCH_LINES] = static const u16 *const sDarkMatchLinePalTable[NUM_MATCH_LINES] = { - [MATCH_MIDDLE_ROW] = &gSlotMachineMenu_Pal[74], - [MATCH_TOP_ROW] = &gSlotMachineMenu_Pal[75], - [MATCH_BOTTOM_ROW] = &gSlotMachineMenu_Pal[76], - [MATCH_NWSE_DIAG] = &gSlotMachineMenu_Pal[77], - [MATCH_NESW_DIAG] = &gSlotMachineMenu_Pal[78], + [MATCH_MIDDLE_ROW] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 10], + [MATCH_TOP_ROW] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 11], + [MATCH_BOTTOM_ROW] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 12], + [MATCH_NWSE_DIAG] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 13], + [MATCH_NESW_DIAG] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 14], }; static const u8 sMatchLinePalOffsets[NUM_MATCH_LINES] = { - [MATCH_MIDDLE_ROW] = 74, - [MATCH_TOP_ROW] = 75, - [MATCH_BOTTOM_ROW] = 76, - [MATCH_NWSE_DIAG] = 78, // Diag colors flipped for some reason - [MATCH_NESW_DIAG] = 77 // Doesn't matter as both are identical + [MATCH_MIDDLE_ROW] = BG_PLTT_ID(0x4) + 10, + [MATCH_TOP_ROW] = BG_PLTT_ID(0x4) + 11, + [MATCH_BOTTOM_ROW] = BG_PLTT_ID(0x4) + 12, + [MATCH_NWSE_DIAG] = BG_PLTT_ID(0x4) + 14, // Diag colors flipped for some reason + [MATCH_NESW_DIAG] = BG_PLTT_ID(0x4) + 13 // Doesn't matter as both are identical }; static const u8 sBetToMatchLineIds[MAX_BET][2] = diff --git a/src/start_menu.c b/src/start_menu.c index 2a45f8d69c..34e7e5b2bd 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -192,7 +192,7 @@ static const struct WindowTemplate sWindowTemplates_LinkBattleSave[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x194 }, DUMMY_WIN_TEMPLATE @@ -204,7 +204,7 @@ static const struct WindowTemplate sSaveInfoWindowTemplate = { .tilemapTop = 1, .width = 14, .height = 10, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 8 }; @@ -1196,8 +1196,8 @@ static bool32 InitSaveWindowAfterLinkBattle(u8 *state) ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sBgTemplates_LinkBattleSave, ARRAY_COUNT(sBgTemplates_LinkBattleSave)); InitWindows(sWindowTemplates_LinkBattleSave); - LoadUserWindowBorderGfx_(0, 8, 224); - Menu_LoadStdPalAt(240); + LoadUserWindowBorderGfx_(0, 8, BG_PLTT_ID(0xE)); + Menu_LoadStdPalAt(BG_PLTT_ID(0xF)); break; case 3: ShowBg(0); @@ -1246,7 +1246,7 @@ static void Task_SaveAfterLinkBattle(u8 taskId) TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - DrawTextBorderOuter(0, 8, 14); + DrawTextBorderOuter(0, 8, 0xE); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); diff --git a/src/starter_choose.c b/src/starter_choose.c index cbe0c7ee61..fc626e13a1 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -73,7 +73,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 24, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x0200 }, DUMMY_WIN_TEMPLATE, @@ -86,7 +86,7 @@ static const struct WindowTemplate sWindowTemplate_ConfirmStarter = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x0260 }; @@ -97,7 +97,7 @@ static const struct WindowTemplate sWindowTemplate_StarterLabel = .tilemapTop = 0, .width = 13, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x0274 }; @@ -411,7 +411,7 @@ void CB2_ChooseStarter(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x2A8, 0xD0); + LoadUserWindowBorderGfx(0, 0x2A8, BG_PLTT_ID(0xD)); ClearScheduledBgCopiesToVram(); ScanlineEffect_Stop(); ResetTasks(); @@ -420,8 +420,8 @@ void CB2_ChooseStarter(void) FreeAllSpritePalettes(); ResetAllPicSprites(); - LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20); - LoadPalette(gBirchBagGrassPal, 0, 0x40); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); + LoadPalette(gBirchBagGrassPal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); LoadCompressedSpriteSheet(&sSpriteSheet_PokeballSelect[0]); LoadCompressedSpriteSheet(&sSpriteSheet_StarterCircle[0]); LoadSpritePalettes(sSpritePalettes_StarterChoose); diff --git a/src/text_window.c b/src/text_window.c index 798b791ced..df06837299 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -93,7 +93,7 @@ const struct TilesPal *GetWindowFrameTilesPal(u8 id) void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gMessageBox_Gfx, 0x1C0, destOffset); - LoadPalette(GetOverworldTextboxPalettePtr(), palOffset, 0x20); + LoadPalette(GetOverworldTextboxPalettePtr(), palOffset, PLTT_SIZE_4BPP); } void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset) @@ -104,7 +104,7 @@ void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset) void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), sWindowFrames[frameId].tiles, 0x120, destOffset); - LoadPalette(sWindowFrames[frameId].pal, palOffset, 0x20); + LoadPalette(sWindowFrames[frameId].pal, palOffset, PLTT_SIZE_4BPP); } void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset) @@ -164,7 +164,7 @@ const u16 *GetTextWindowPalette(u8 id) switch (id) { case 0: - id = 0; + id = 0x00; break; case 1: id = 0x10; @@ -193,5 +193,5 @@ const u16 *GetOverworldTextboxPalettePtr(void) void LoadUserWindowBorderGfxOnBg(u8 bg, u16 destOffset, u8 palOffset) { LoadBgTiles(bg, sWindowFrames[gSaveBlock2Ptr->optionsWindowFrameType].tiles, 0x120, destOffset); - LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, palOffset, 0x20); + LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, palOffset, PLTT_SIZE_4BPP); } diff --git a/src/tileset_anims.c b/src/tileset_anims.c index 6a7589e36f..018ac5d881 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -1168,7 +1168,7 @@ static void QueueAnimTiles_BattlePyramid_StatueShadow(u16 timer) static void BlendAnimPalette_BattleDome_FloorLights(u16 timer) { CpuCopy16(sTilesetAnims_BattleDomeFloorLightPals[timer % ARRAY_COUNT(sTilesetAnims_BattleDomeFloorLightPals)], &gPlttBufferUnfaded[0x80], 32); - BlendPalette(0x80, 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); + BlendPalette(BG_PLTT_ID(0x8), 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); if ((u8)FindTaskIdByFunc(Task_BattleTransition_Intro) != TASK_NONE) { sSecondaryTilesetAnimCallback = TilesetAnim_BattleDome2; @@ -1181,7 +1181,7 @@ static void BlendAnimPalette_BattleDome_FloorLightsNoBlend(u16 timer) CpuCopy16(sTilesetAnims_BattleDomeFloorLightPals[timer % ARRAY_COUNT(sTilesetAnims_BattleDomeFloorLightPals)], &gPlttBufferUnfaded[0x80], 32); if ((u8)FindTaskIdByFunc(Task_BattleTransition_Intro) == TASK_NONE) { - BlendPalette(0x80, 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); + BlendPalette(BG_PLTT_ID(0x8), 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); if (!--sSecondaryTilesetAnimCounterMax) sSecondaryTilesetAnimCallback = NULL; } diff --git a/src/title_screen.c b/src/title_screen.c index 25a1d60d05..7f7205d9d4 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -548,7 +548,7 @@ void CB2_InitTitleScreen(void) // bg2 LZ77UnCompVram(gTitleScreenPokemonLogoGfx, (void *)(BG_CHAR_ADDR(0))); LZ77UnCompVram(gTitleScreenPokemonLogoTilemap, (void *)(BG_SCREEN_ADDR(9))); - LoadPalette(gTitleScreenBgPalettes, 0, 0x1E0); + LoadPalette(gTitleScreenBgPalettes, BG_PLTT_ID(0x0), 15 * PLTT_SIZE_4BPP); // bg3 LZ77UnCompVram(sTitleScreenRayquazaGfx, (void *)(BG_CHAR_ADDR(2))); LZ77UnCompVram(sTitleScreenRayquazaTilemap, (void *)(BG_SCREEN_ADDR(26))); @@ -563,7 +563,7 @@ void CB2_InitTitleScreen(void) LoadCompressedSpriteSheet(&sSpriteSheet_EmeraldVersion[0]); LoadCompressedSpriteSheet(&sSpriteSheet_PressStart[0]); LoadCompressedSpriteSheet(&sPokemonLogoShineSpriteSheet[0]); - LoadPalette(gTitleScreenEmeraldVersionPal, 0x100, 0x20); + LoadPalette(gTitleScreenEmeraldVersionPal, OBJ_PLTT_ID(0x0), PLTT_SIZE_4BPP); LoadSpritePalette(&sSpritePalette_PressStart[0]); gMain.state = 2; break; @@ -812,6 +812,6 @@ static void UpdateLegendaryMarkingColor(u8 frameNum) s32 b = 12; u16 color = RGB(r, g, b); - LoadPalette(&color, 0xEF, sizeof(color)); + LoadPalette(&color, BG_PLTT_ID(0xE) + 15, sizeof(color)); } } diff --git a/src/trade.c b/src/trade.c index 7c712b5803..1c4d0d5e33 100644 --- a/src/trade.c +++ b/src/trade.c @@ -333,8 +333,8 @@ static void InitTradeMenu(void) gPaletteFade.bufferTransferDisabled = TRUE; SetVBlankCallback(VBlankCB_TradeMenu); - LoadPalette(gStandardMenuPalette, 0xF0, 20); - LoadPalette(gStandardMenuPalette, 0xD0, 20); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZEOF(10)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xD), PLTT_SIZEOF(10)); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sTradeMenuBgTemplates, ARRAY_COUNT(sTradeMenuBgTemplates)); SetBgTilemapBuffer(1, sTradeMenuData->tilemapBuffer); @@ -351,9 +351,9 @@ static void InitTradeMenu(void) FillWindowPixelBuffer(i, PIXEL_FILL(0)); } - FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 15); - LoadUserWindowBorderGfx_(0, 20, 0xC0); - LoadUserWindowBorderGfx(2, 1, 0xE0); + FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); + LoadUserWindowBorderGfx_(0, 20, BG_PLTT_ID(0xC)); + LoadUserWindowBorderGfx(2, 1, BG_PLTT_ID(0xE)); LoadMonIconPalettes(); sTradeMenuData->bufferPartyState = 0; sTradeMenuData->tradeMenuFunc = 0; @@ -910,7 +910,7 @@ static void LoadTradeBgGfx(u8 state) switch (state) { case 0: - LoadPalette(gTradeMenu_Pal, 0, 0x60); + LoadPalette(gTradeMenu_Pal, BG_PLTT_ID(0x0), 3 * PLTT_SIZE_4BPP); LoadBgTiles(1, gTradeMenu_Gfx, 0x1280, 0); CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMenu_Tilemap, 0, 0, 32, 20, 0); LoadBgTilemap(2, sTradeStripesBG2Tilemap, 0x800, 0); @@ -1391,7 +1391,7 @@ static void TradeMenuProcessInput(void) // Cursor is in player's party if (sTradeMenuData->cursorPosition < PARTY_SIZE) { - DrawTextBorderOuter(1, 1, 14); + DrawTextBorderOuter(1, 1, 0xE); FillWindowPixelBuffer(1, PIXEL_FILL(1)); PrintMenuTable(1, ARRAY_COUNT(sSelectTradeMonActions), sSelectTradeMonActions); InitMenuInUpperLeftCornerNormal(1, ARRAY_COUNT(sSelectTradeMonActions), 0); @@ -2153,7 +2153,7 @@ static void PrintTradeMessage(u8 messageId) { FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized(0, FONT_NORMAL, sTradeMessages[messageId], 0, 1, TEXT_SKIP_DRAW, NULL); - DrawTextBorderOuter(0, 20, 12); + DrawTextBorderOuter(0, 20, 0xC); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); } @@ -2605,7 +2605,7 @@ static void SpriteCB_LinkMonShadow(struct Sprite *sprite) if (++sprite->data[0] == 12) sprite->data[0] = 0; - LoadPalette(&sLinkMonShadow_Pal[sprite->data[0]], (sprite->oam.paletteNum + 16) * 16 + 4, 2); + LoadPalette(&sLinkMonShadow_Pal[sprite->data[0]], OBJ_PLTT_ID2(sprite->oam.paletteNum) + 4, PLTT_SIZEOF(1)); } } @@ -2915,12 +2915,12 @@ static void InitTradeBgInternal(void) DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); - LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); InitWindows(sTradeSequenceWindowTemplates); DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); - LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); } static void CB2_InGameTrade(void) @@ -3100,7 +3100,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state) BGCNT_16COLOR | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, 16, 0x60); + LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(0x1), 3 * PLTT_SIZE_4BPP); DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); DmaCopy16Defvars(3, gTradePlatform_Tilemap, (void *) BG_SCREEN_ADDR(18), 0x1000); break; @@ -3157,7 +3157,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state) } break; case 3: - LoadPalette(sWirelessSignalNone_Pal, 48, 0x20); + LoadPalette(sWirelessSignalNone_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); LZ77UnCompVram(sWirelessSignal_Gfx, (void *) BG_CHAR_ADDR(1)); LZ77UnCompVram(sWirelessSignal_Tilemap, (void *) BG_SCREEN_ADDR(18)); sTradeData->bg2vofs = 80; @@ -3236,7 +3236,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state) BGCNT_16COLOR | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, 16, 0x60); + LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(0x1), 3 * PLTT_SIZE_4BPP); DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); DmaCopy16Defvars(3, gTradePlatform_Tilemap, (void *) BG_SCREEN_ADDR(18), 0x1000); break; @@ -4849,16 +4849,16 @@ static void Task_AnimateWirelessSignal(u8 taskId) if (!signalComingBack) { if (paletteIdx == 256) - LoadPalette(sWirelessSignalNone_Pal, 0x30, 32); + LoadPalette(sWirelessSignalNone_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); else - LoadPalette(&sWirelessSignalSend_Pal[paletteIdx], 0x30, 32); + LoadPalette(&sWirelessSignalSend_Pal[paletteIdx], BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); } else { if (paletteIdx == 256) - LoadPalette(sWirelessSignalNone_Pal, 0x30, 32); + LoadPalette(sWirelessSignalNone_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); else - LoadPalette(&sWirelessSignalRecv_Pal[paletteIdx], 0x30, 32); + LoadPalette(&sWirelessSignalRecv_Pal[paletteIdx], BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); } if (sWirelessSignalTiming[idx][0] == 0 && counter == 0) diff --git a/src/trader.c b/src/trader.c index 254d809458..b16297c109 100644 --- a/src/trader.c +++ b/src/trader.c @@ -66,7 +66,7 @@ void CreateAvailableDecorationsMenu(u8 taskId) .tilemapTop = 1, .width = 10, .height = 10, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }; s32 windowWidth = GetStringWidth(FONT_NORMAL, gText_Exit, 0); diff --git a/src/trainer_card.c b/src/trainer_card.c index ab7b3c9131..94fcdaf6e5 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -231,7 +231,7 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x253, }, { @@ -240,7 +240,7 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[] = .tilemapTop = 1, .width = 28, .height = 18, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x1, }, { @@ -249,7 +249,7 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[] = .tilemapTop = 5, .width = 9, .height = 10, - .paletteNum = 8, + .paletteNum = 0x8, .baseBlock = 0x150, }, DUMMY_WIN_TEMPLATE @@ -1371,7 +1371,7 @@ static void LoadMonIconGfx(void) TintPalette_SepiaTone(sData->monIconPal, 96); break; } - LoadPalette(sData->monIconPal, 80, 192); + LoadPalette(sData->monIconPal, BG_PLTT_ID(0x5), 6 * PLTT_SIZE_4BPP); for (i = 0; i < PARTY_SIZE; i++) { @@ -1398,10 +1398,10 @@ static void PrintStickersOnCard(void) static void LoadStickerGfx(void) { - LoadPalette(sTrainerCardSticker1_Pal, 176, 32); - LoadPalette(sTrainerCardSticker2_Pal, 192, 32); - LoadPalette(sTrainerCardSticker3_Pal, 208, 32); - LoadPalette(sTrainerCardSticker4_Pal, 224, 32); + LoadPalette(sTrainerCardSticker1_Pal, BG_PLTT_ID(0xB), PLTT_SIZE_4BPP); + LoadPalette(sTrainerCardSticker2_Pal, BG_PLTT_ID(0xC), PLTT_SIZE_4BPP); + LoadPalette(sTrainerCardSticker3_Pal, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); + LoadPalette(sTrainerCardSticker4_Pal, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); LoadBgTiles(3, sData->stickerTiles, 1024, 128); } @@ -1424,19 +1424,19 @@ static u8 SetCardBgsAndPals(void) case 2: if (sData->cardType != CARD_TYPE_FRLG) { - LoadPalette(sHoennTrainerCardStarPals[sData->trainerCard.stars], 0, 96); - LoadPalette(sHoennTrainerCardBadges_Pal, 48, 32); + LoadPalette(sHoennTrainerCardStarPals[sData->trainerCard.stars], BG_PLTT_ID(0x0), 3 * PLTT_SIZE_4BPP); + LoadPalette(sHoennTrainerCardBadges_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); if (sData->trainerCard.gender != MALE) - LoadPalette(sHoennTrainerCardFemaleBg_Pal, 16, 32); + LoadPalette(sHoennTrainerCardFemaleBg_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); } else { - LoadPalette(sKantoTrainerCardStarPals[sData->trainerCard.stars], 0, 96); - LoadPalette(sKantoTrainerCardBadges_Pal, 48, 32); + LoadPalette(sKantoTrainerCardStarPals[sData->trainerCard.stars], BG_PLTT_ID(0x0), 3 * PLTT_SIZE_4BPP); + LoadPalette(sKantoTrainerCardBadges_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); if (sData->trainerCard.gender != MALE) - LoadPalette(sKantoTrainerCardFemaleBg_Pal, 16, 32); + LoadPalette(sKantoTrainerCardFemaleBg_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); } - LoadPalette(sTrainerCardGold_Pal, 64, 32); + LoadPalette(sTrainerCardGold_Pal, BG_PLTT_ID(0x4), PLTT_SIZE_4BPP); break; case 3: SetBgTilemapBuffer(0, sData->cardTilemapBuffer); @@ -1495,9 +1495,9 @@ static void DrawStarsAndBadgesOnCard(void) s16 i, x; u16 tileNum = 192; - u8 palNum = 3; + u8 palNum = 0x3; - FillBgTilemapBufferRect(3, 143, 15, yOffsets[sData->isHoenn], sData->trainerCard.stars, 1, 4); + FillBgTilemapBufferRect(3, 143, 15, yOffsets[sData->isHoenn], sData->trainerCard.stars, 1, 0x4); if (!sData->isLink) { x = 4; @@ -1521,38 +1521,38 @@ static void DrawCardBackStats(void) { if (sData->hasTrades) { - FillBgTilemapBufferRect(3, 141, 27, 9, 1, 1, 1); - FillBgTilemapBufferRect(3, 157, 27, 10, 1, 1, 1); + FillBgTilemapBufferRect(3, 141, 27, 9, 1, 1, 0x1); + FillBgTilemapBufferRect(3, 157, 27, 10, 1, 1, 0x1); } if (sData->trainerCard.linkPoints.berryCrush) { - FillBgTilemapBufferRect(3, 141, 21, 13, 1, 1, 1); - FillBgTilemapBufferRect(3, 157, 21, 14, 1, 1, 1); + FillBgTilemapBufferRect(3, 141, 21, 13, 1, 1, 0x1); + FillBgTilemapBufferRect(3, 157, 21, 14, 1, 1, 0x1); } if (sData->trainerCard.unionRoomNum) { - FillBgTilemapBufferRect(3, 141, 27, 11, 1, 1, 1); - FillBgTilemapBufferRect(3, 157, 27, 12, 1, 1, 1); + FillBgTilemapBufferRect(3, 141, 27, 11, 1, 1, 0x1); + FillBgTilemapBufferRect(3, 157, 27, 12, 1, 1, 0x1); } } else { if (sData->hasTrades) { - FillBgTilemapBufferRect(3, 141, 27, 9, 1, 1, 0); - FillBgTilemapBufferRect(3, 157, 27, 10, 1, 1, 0); + FillBgTilemapBufferRect(3, 141, 27, 9, 1, 1, 0x0); + FillBgTilemapBufferRect(3, 157, 27, 10, 1, 1, 0x0); } if (sData->trainerCard.contestsWithFriends) { - FillBgTilemapBufferRect(3, 141, 27, 13, 1, 1, 0); - FillBgTilemapBufferRect(3, 157, 27, 14, 1, 1, 0); + FillBgTilemapBufferRect(3, 141, 27, 13, 1, 1, 0x0); + FillBgTilemapBufferRect(3, 157, 27, 14, 1, 1, 0x0); } if (sData->hasBattleTowerWins) { - FillBgTilemapBufferRect(3, 141, 17, 15, 1, 1, 0); - FillBgTilemapBufferRect(3, 157, 17, 16, 1, 1, 0); - FillBgTilemapBufferRect(3, 140, 27, 15, 1, 1, 0); - FillBgTilemapBufferRect(3, 156, 27, 16, 1, 1, 0); + FillBgTilemapBufferRect(3, 141, 17, 15, 1, 1, 0x0); + FillBgTilemapBufferRect(3, 157, 17, 16, 1, 1, 0x0); + FillBgTilemapBufferRect(3, 140, 27, 15, 1, 1, 0x0); + FillBgTilemapBufferRect(3, 156, 27, 16, 1, 1, 0x0); } } CopyBgTilemapBufferToVram(3); diff --git a/src/trainer_hill.c b/src/trainer_hill.c index 4549166ac4..bb606f37bd 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -951,7 +951,7 @@ static void SetAllTrainerFlags(void) void TryLoadTrainerHillEReaderPalette(void) { if (OnTrainerHillEReaderChallengeFloor() == TRUE) - LoadPalette(sEReader_Pal, 0x70, 0x20); + LoadPalette(sEReader_Pal, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); } static void GetGameSaved(void) diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index a7289677e6..d81fac54c7 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -94,7 +94,7 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 if (paletteTag == TAG_NONE) { sCreatingSpriteTemplate.paletteTag = TAG_NONE; - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } else { @@ -107,7 +107,7 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 if (paletteTag == TAG_NONE) { sCreatingSpriteTemplate.paletteTag = TAG_NONE; - LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, 0x100 + paletteSlot * 0x10, 0x20); + LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } else { @@ -120,9 +120,9 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 static void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 paletteSlot, bool8 isTrainer) { if (!isTrainer) - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), paletteSlot * 0x10, 0x20); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); else - LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, paletteSlot * 0x10, 0x20); + LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } static void AssignSpriteAnimsTable(bool8 isTrainer) diff --git a/src/union_room.c b/src/union_room.c index 67d1059ee0..299171325e 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -1910,7 +1910,7 @@ static void Task_SendMysteryGift(u8 taskId) winTemplate = sWindowTemplate_PlayerList; winTemplate.baseBlock = GetMysteryGiftBaseBlock(); - winTemplate.paletteNum = 12; + winTemplate.paletteNum = 0xC; data->listWindowId = AddWindow(&winTemplate); MG_DrawTextBorder(data->listWindowId); gMultiuseListMenuTemplate = sListMenuTemplate_PossibleGroupMembers; @@ -2114,11 +2114,11 @@ static void Task_CardOrNewsWithFriend(u8 taskId) listWinTemplate = sWindowTemplate_GroupList; listWinTemplate.baseBlock = GetMysteryGiftBaseBlock(); - listWinTemplate.paletteNum = 12; + listWinTemplate.paletteNum = 0xC; data->listWindowId = AddWindow(&listWinTemplate); playerNameWinTemplate = sWindowTemplate_PlayerNameAndId; - playerNameWinTemplate.paletteNum = 12; + playerNameWinTemplate.paletteNum = 0xC; data->playerNameAndIdWindowId = AddWindow(&playerNameWinTemplate); MG_DrawTextBorder(data->listWindowId); @@ -2439,7 +2439,7 @@ void RunUnionRoom(void) uroom->unreadPlayerId = 0; gSpecialVar_Result = 0; - ListMenuLoadStdPalAt(0xD0, 1); + ListMenuLoadStdPalAt(BG_PLTT_ID(0xD), 1); } static u16 ReadAsU16(const u8 *ptr) @@ -3775,7 +3775,7 @@ static s32 TradeBoardMenuHandler(u8 *state, u8 *mainWindowId, u8 *listMenuId, u8 static void UR_ClearBg0(void) { - FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x0); CopyBgTilemapBufferToVram(0); } diff --git a/src/union_room_battle.c b/src/union_room_battle.c index 1ec8be77b5..f4ad73b32b 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -130,8 +130,8 @@ void CB2_UnionRoomBattle(void) FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(1)); FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); - LoadUserWindowBorderGfx(0, 1, 0xD0); - LoadUserWindowBorderGfx_(0, 1, 0xD0); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); + LoadUserWindowBorderGfx_(0, 1, BG_PLTT_ID(0xD)); Menu_LoadStdPal(); SetVBlankCallback(VBlankCB_UnionRoomBattle); gMain.state++; diff --git a/src/union_room_chat.c b/src/union_room_chat.c index f8513b9f46..98af18cde6 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -566,7 +566,7 @@ static const struct WindowTemplate sWinTemplates[] = { .tilemapTop = 1, .width = 21, .height = 19, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0001, }, { .bg = 1, @@ -574,7 +574,7 @@ static const struct WindowTemplate sWinTemplates[] = { .tilemapTop = 18, .width = 15, .height = 2, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 0x007a, }, { .bg = 1, @@ -582,7 +582,7 @@ static const struct WindowTemplate sWinTemplates[] = { .tilemapTop = 2, .width = 6, .height = 15, - .paletteNum = 7, + .paletteNum = 0x7, .baseBlock = 0x0020, }, { .bg = 0, @@ -590,7 +590,7 @@ static const struct WindowTemplate sWinTemplates[] = { .tilemapTop = 2, .width = 7, .height = 9, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 0x0013, }, DUMMY_WIN_TEMPLATE }; @@ -2732,7 +2732,7 @@ static void AddYesNoMenuAt(u8 left, u8 top, u8 initialCursorPos) template.tilemapTop = top; template.width = 6; template.height = 4; - template.paletteNum = 14; + template.paletteNum = 0xE; template.baseBlock = 0x52; sDisplay->yesNoMenuWindowId = AddWindow(&template); if (sDisplay->yesNoMenuWindowId != WINDOW_NONE) @@ -2741,7 +2741,7 @@ static void AddYesNoMenuAt(u8 left, u8 top, u8 initialCursorPos) PutWindowTilemap(sDisplay->yesNoMenuWindowId); AddTextPrinterParameterized(sDisplay->yesNoMenuWindowId, FONT_NORMAL, gText_Yes, 8, 1, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(sDisplay->yesNoMenuWindowId, FONT_NORMAL, gText_No, 8, 17, TEXT_SKIP_DRAW, NULL); - DrawTextBorderOuter(sDisplay->yesNoMenuWindowId, 1, 13); + DrawTextBorderOuter(sDisplay->yesNoMenuWindowId, 1, 0xD); InitMenuInUpperLeftCornerNormal(sDisplay->yesNoMenuWindowId, 2, initialCursorPos); } } @@ -2779,7 +2779,7 @@ static void AddStdMessageWindow(int msgId, u16 bg0vofs) template.tilemapTop = 16; template.width = 21; template.height = 4; - template.paletteNum = 14; + template.paletteNum = 0xE; template.baseBlock = 0x6A; if (sDisplayStdMessages[msgId].useWiderBox) { @@ -3050,8 +3050,8 @@ static void ClearBg0(void) static void LoadChatWindowBorderGfx(void) { - LoadPalette(gUnionRoomChat_Window_Pal2, 0x70, 0x20); - LoadPalette(gUnionRoomChat_Window_Pal1, 0xC0, 0x20); + LoadPalette(gUnionRoomChat_Window_Pal2, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); + LoadPalette(gUnionRoomChat_Window_Pal1, BG_PLTT_ID(0xC), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(1, gUnionRoomChat_Border_Gfx, 0, 0, 0); CopyToBgTilemapBuffer(1, gUnionRoomChat_Border_Tilemap, 0, 0); CopyBgTilemapBufferToVram(1); @@ -3061,7 +3061,7 @@ static void LoadChatWindowGfx(void) { u8 *ptr; - LoadPalette(gUnionRoomChat_Background_Pal, 0, 0x20); + LoadPalette(gUnionRoomChat_Background_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); ptr = DecompressAndCopyTileDataToVram(2, gUnionRoomChat_Background_Gfx, 0, 0, 0); if (ptr) { @@ -3075,13 +3075,13 @@ static void LoadChatWindowGfx(void) static void LoadChatUnkPalette(void) { - LoadPalette(sUnk_Palette1, 0x80, sizeof(sUnk_Palette1)); + LoadPalette(sUnk_Palette1, BG_PLTT_ID(0x8), sizeof(sUnk_Palette1)); RequestDma3Fill(0, (void *)BG_CHAR_ADDR(1) + 0x20, 0x20, 1); } static void LoadChatMessagesWindow(void) { - LoadPalette(sUnk_Palette2, 0xF0, sizeof(sUnk_Palette2)); + LoadPalette(sUnk_Palette2, BG_PLTT_ID(0xF), sizeof(sUnk_Palette2)); PutWindowTilemap(0); FillWindowPixelBuffer(0, PIXEL_FILL(1)); CopyWindowToVram(0, COPYWIN_FULL); @@ -3112,9 +3112,9 @@ static void LoadTextEntryWindow(void) static void LoadKeyboardSwapWindow(void) { FillWindowPixelBuffer(3, PIXEL_FILL(1)); - LoadUserWindowBorderGfx(3, 1, 0xD0); - LoadUserWindowBorderGfx_(3, 0xA, 0x20); - LoadPalette(gStandardMenuPalette, 0xE0, 0x20); + LoadUserWindowBorderGfx(3, 1, BG_PLTT_ID(0xD)); + LoadUserWindowBorderGfx_(3, 0xA, BG_PLTT_ID(0x2)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); } static void InitScanlineEffect(void) @@ -3197,7 +3197,7 @@ static void SetRegisteredTextPalette(bool32 registering) { const u16 *palette = &sUnionRoomChatInterfacePal[registering * 2 + 1]; u8 index = IndexOfSpritePaletteTag(PALTAG_INTERFACE); - LoadPalette(palette, index * 16 + 0x101, 4); + LoadPalette(palette, OBJ_PLTT_ID(index) + 1, PLTT_SIZEOF(2)); } static void StartKeyboardCursorAnim(void) diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 2f16f220aa..85d1a477f7 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -251,7 +251,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 1, .width = 13, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 1 }, [WIN_NATURE] = { @@ -260,7 +260,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 14, .width = 11, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x35 }, [WIN_TEXT] = { @@ -269,7 +269,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 17, .width = 28, .height = 2, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x4B }, DUMMY_WIN_TEMPLATE @@ -282,7 +282,7 @@ static const struct WindowTemplate sUsePokeblockYesNoWinTemplate = .tilemapTop = 11, .width = 5, .height = 4, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x83 }; @@ -505,7 +505,7 @@ static void LoadUsePokeblockMenu(void) InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x97, 0xE0); + LoadUserWindowBorderGfx(0, 0x97, BG_PLTT_ID(0xE)); sInfo->mainState++; break; case 4: @@ -1233,13 +1233,13 @@ static void UpdateMonPic(u8 loadId) gSprites[sMenu->curMonSpriteId].callback = SpriteCB_MonPic; gSprites[sMenu->curMonSpriteId].y2 -= 34; sMenu->curMonTileStart = (void *)(OBJ_VRAM0 + (sMenu->curMonSheet * 32)); - sMenu->curMonPalette = (sMenu->curMonPalette * 16) + 0x100; + sMenu->curMonPalette = OBJ_PLTT_ID(sMenu->curMonPalette); } } else { Dma3CopyLarge16_(sMenu->partySheets[loadId], sMenu->curMonTileStart, MON_PIC_SIZE); - LoadPalette(sMenu->partyPalettes[loadId], sMenu->curMonPalette, 32); + LoadPalette(sMenu->partyPalettes[loadId], sMenu->curMonPalette, PLTT_SIZE_4BPP); } } @@ -1340,7 +1340,7 @@ static bool8 LoadUsePokeblockMenuGfx(void) LoadBgTilemap(3, sMonFrame_TilemapPtr, 1280, 0); break; case 5: - LoadPalette(sMonFrame_Pal, 208, 32); + LoadPalette(sMonFrame_Pal, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); sMenu->curMonXOffset = -80; break; case 6: @@ -1348,7 +1348,7 @@ static bool8 LoadUsePokeblockMenuGfx(void) break; case 7: LZ77UnCompVram(gUsePokeblockGraph_Tilemap, sGraph_Tilemap); - LoadPalette(gUsePokeblockGraph_Pal, 32, 32); + LoadPalette(gUsePokeblockGraph_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); break; case 8: LoadBgTiles(1, sGraph_Gfx, 6656, 160 << 2); @@ -1363,8 +1363,8 @@ static bool8 LoadUsePokeblockMenuGfx(void) break; case 11: LoadBgTilemap(2, sMenu->tilemapBuffer, 1280, 0); - LoadPalette(gConditionGraphData_Pal, 48, 32); - LoadPalette(gConditionText_Pal, 240, 32); + LoadPalette(gConditionGraphData_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + LoadPalette(gConditionText_Pal, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); ConditionGraph_InitWindow(2); break; default: diff --git a/src/wallclock.c b/src/wallclock.c index 5e0fae3a13..52566eddc8 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -79,7 +79,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 24, .height = 2, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 512 }, { @@ -88,7 +88,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 16, .width = 6, .height = 2, - .paletteNum = 12, + .paletteNum = 0xC, .baseBlock = 560 }, DUMMY_WIN_TEMPLATE @@ -101,7 +101,7 @@ static const struct WindowTemplate sWindowTemplate_ConfirmYesNo = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 14, + .paletteNum = 0xE, .baseBlock = 572 }; @@ -644,17 +644,17 @@ static void LoadWallClockGraphics(void) LZ77UnCompVram(gWallClock_Gfx, (void *)VRAM); if (gSpecialVar_0x8004 == MALE) - LoadPalette(gWallClockMale_Pal, 0, 32); + LoadPalette(gWallClockMale_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); else - LoadPalette(gWallClockFemale_Pal, 0, 32); + LoadPalette(gWallClockFemale_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); - LoadPalette(GetOverworldTextboxPalettePtr(), 0xe0, 32); - LoadPalette(sTextPrompt_Pal, 0xc0, 8); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); + LoadPalette(sTextPrompt_Pal, BG_PLTT_ID(0xC), PLTT_SIZEOF(4)); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x250, 0xd0); + LoadUserWindowBorderGfx(0, 0x250, BG_PLTT_ID(0xD)); ClearScheduledBgCopiesToVram(); ScanlineEffect_Stop(); ResetTasks(); diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index 1fbd83fcda..bab3ec6345 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -76,7 +76,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 0, .width = 24, .height = 3, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0001 }, { .bg = 0, @@ -84,7 +84,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 4, .width = 21, .height = 15, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0049 }, { .bg = 0, @@ -92,7 +92,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 4, .width = 3, .height = 15, - .paletteNum = 15, + .paletteNum = 0xF, .baseBlock = 0x0184 }, DUMMY_WIN_TEMPLATE }; @@ -193,10 +193,10 @@ static void CB2_InitWirelessCommunicationScreen(void) ChangeBgY(0, 0, BG_COORD_SET); ChangeBgX(1, 0, BG_COORD_SET); ChangeBgY(1, 0, BG_COORD_SET); - LoadPalette(sBgTiles_Pal, 0x00, 0x20); + LoadPalette(sBgTiles_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); Menu_LoadStdPalAt(0xF0); DynamicPlaceholderTextUtil_Reset(); - FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x0F); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0xF); CopyBgTilemapBufferToVram(1); SetMainCallback2(CB2_RunWirelessCommunicationScreen); RunTasks(); @@ -227,7 +227,7 @@ static void WCSS_CyclePalette(s16 * counter, s16 * palIdx) *counter = 0; } - LoadPalette(sBgTiles_Pal + 16 * (*palIdx + 2), 0, 0x10); + LoadPalette(sBgTiles_Pal + 16 * (*palIdx + 2), BG_PLTT_ID(0x0), PLTT_SIZEOF(8)); } static void PrintHeaderTexts(void) From 5719a7f7bc9a543a9aa575ae4590487a8bfb965e Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Fri, 19 Aug 2022 15:47:50 +0100 Subject: [PATCH 04/62] Use static inline instead of extern inline for modern --- include/palette.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/palette.h b/include/palette.h index b94cf6aa84..ed6256947a 100644 --- a/include/palette.h +++ b/include/palette.h @@ -81,12 +81,12 @@ void TintPalette_GrayScale2(u16 *palette, u16 count); void TintPalette_SepiaTone(u16 *palette, u16 count); void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 bTone); -extern inline void SetBackdropFromColor(u16 color) +static inline void SetBackdropFromColor(u16 color) { FillPalette(color, 0x00, PLTT_SIZEOF(1)); } -extern inline void SetBackdropFromPalette(const u16 *palette) +static inline void SetBackdropFromPalette(const u16 *palette) { LoadPalette(palette, 0x00, PLTT_SIZEOF(1)); } From d57442a511d6bbaef426a14f112254a46f30d582 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Fri, 19 Aug 2022 16:32:00 +0100 Subject: [PATCH 05/62] Decimal paletteNums --- include/palette.h | 4 +- src/battle_anim.c | 6 +- src/battle_anim_dark.c | 4 +- src/battle_anim_utility_funcs.c | 4 +- src/battle_arena.c | 6 +- src/battle_bg.c | 172 ++++++++++----------- src/battle_dome.c | 48 +++--- src/battle_factory_screen.c | 52 +++---- src/battle_gfx_sfx_util.c | 4 +- src/battle_main.c | 2 +- src/battle_pyramid_bag.c | 26 ++-- src/battle_records.c | 8 +- src/battle_script_commands.c | 2 +- src/battle_transition.c | 72 ++++----- src/battle_transition_frontier.c | 2 +- src/berry_blender.c | 28 ++-- src/berry_crush.c | 28 ++-- src/berry_fix_program.c | 8 +- src/berry_powder.c | 16 +- src/berry_tag_screen.c | 12 +- src/cable_car.c | 2 +- src/cable_club.c | 2 +- src/clear_save_data_screen.c | 8 +- src/contest.c | 56 +++---- src/contest_painting.c | 6 +- src/contest_util.c | 30 ++-- src/credits.c | 8 +- src/data/party_menu.h | 86 +++++------ src/data/trade.h | 42 ++--- src/data/union_room.h | 24 +-- src/daycare.c | 2 +- src/decoration.c | 12 +- src/diploma.c | 6 +- src/dodrio_berry_picking.c | 34 ++-- src/easy_chat.c | 30 ++-- src/egg_hatch.c | 10 +- src/evolution_scene.c | 20 +-- src/field_effect.c | 6 +- src/field_region_map.c | 6 +- src/field_screen_effect.c | 2 +- src/field_specials.c | 12 +- src/field_weather.c | 8 +- src/fieldmap.c | 2 +- src/fldeff_flash.c | 16 +- src/frontier_pass.c | 22 +-- src/frontier_util.c | 6 +- src/hall_of_fame.c | 8 +- src/intro.c | 14 +- src/intro_credits_graphics.c | 42 ++--- src/item_menu.c | 44 +++--- src/link.c | 8 +- src/mail.c | 6 +- src/main_menu.c | 76 ++++----- src/map_name_popup.c | 20 +-- src/match_call.c | 6 +- src/menu.c | 18 +-- src/menu_specialized.c | 22 +-- src/mystery_event_menu.c | 8 +- src/mystery_gift_menu.c | 34 ++-- src/mystery_gift_view.c | 24 +-- src/naming_screen.c | 16 +- src/option_menu.c | 46 +++--- src/palette.c | 18 +-- src/party_menu.c | 14 +- src/player_pc.c | 18 +-- src/pokeblock.c | 32 ++-- src/pokeblock_feed.c | 8 +- src/pokedex.c | 34 ++-- src/pokemon_icon.c | 2 +- src/pokemon_jump.c | 36 ++--- src/pokemon_storage_system.c | 56 +++---- src/pokemon_summary_screen.c | 70 ++++----- src/pokenav_conditions_gfx.c | 14 +- src/pokenav_conditions_search_results.c | 6 +- src/pokenav_main_menu.c | 4 +- src/pokenav_match_call_gfx.c | 24 +-- src/pokenav_menu_handler_gfx.c | 12 +- src/pokenav_region_map.c | 10 +- src/pokenav_ribbons_list.c | 4 +- src/pokenav_ribbons_summary.c | 12 +- src/rayquaza_scene.c | 12 +- src/region_map.c | 12 +- src/reset_rtc_screen.c | 6 +- src/roulette.c | 4 +- src/save_failed_screen.c | 12 +- src/scrcmd.c | 2 +- src/secret_base.c | 4 +- src/shop.c | 24 +-- src/slot_machine.c | 36 ++--- src/start_menu.c | 10 +- src/starter_choose.c | 12 +- src/tileset_anims.c | 4 +- src/title_screen.c | 6 +- src/trade.c | 34 ++-- src/trader.c | 2 +- src/trainer_card.c | 62 ++++---- src/trainer_hill.c | 2 +- src/union_room.c | 10 +- src/union_room_battle.c | 6 +- src/union_room_chat.c | 30 ++-- src/use_pokeblock.c | 18 +-- src/wallclock.c | 16 +- src/wireless_communication_status_screen.c | 12 +- 103 files changed, 1032 insertions(+), 1032 deletions(-) diff --git a/include/palette.h b/include/palette.h index ed6256947a..40a200d8d1 100644 --- a/include/palette.h +++ b/include/palette.h @@ -83,12 +83,12 @@ void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 b static inline void SetBackdropFromColor(u16 color) { - FillPalette(color, 0x00, PLTT_SIZEOF(1)); + FillPalette(color, 0, PLTT_SIZEOF(1)); } static inline void SetBackdropFromPalette(const u16 *palette) { - LoadPalette(palette, 0x00, PLTT_SIZEOF(1)); + LoadPalette(palette, 0, PLTT_SIZEOF(1)); } #endif // GUARD_PALETTE_H diff --git a/src/battle_anim.c b/src/battle_anim.c index a5e487af26..cee119a4de 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -741,8 +741,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); - LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(0x9), PLTT_SIZE_4BPP); - CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(0x9)), PLTT_SIZE_4BPP); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(9), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(9)), PLTT_SIZE_4BPP); DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); } @@ -1214,7 +1214,7 @@ static void LoadMoveBg(u16 bgId) { LZDecompressVram(gBattleAnimBackgroundTable[bgId].tilemap, (void *)BG_SCREEN_ADDR(26)); LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)BG_CHAR_ADDR(2)); - LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, BG_PLTT_ID(2), PLTT_SIZE_4BPP); } } diff --git a/src/battle_anim_dark.c b/src/battle_anim_dark.c index 4106a7485e..cf3aaf5561 100644 --- a/src/battle_anim_dark.c +++ b/src/battle_anim_dark.c @@ -436,7 +436,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId) { task->data[10] = gBattle_BG2_Y; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); - FillPalette(RGB_BLACK, BG_PLTT_ID(0x9), PLTT_SIZE_4BPP); + FillPalette(RGB_BLACK, BG_PLTT_ID(9), PLTT_SIZE_4BPP); scanlineParams.dmaDest = ®_BG2VOFS; var0 = WINOUT_WIN01_BG2; if (!IsContest()) @@ -571,7 +571,7 @@ void AnimTask_MoveTargetMementoShadow(u8 taskId) else { task->data[10] = gBattle_BG2_Y; - FillPalette(RGB_BLACK, BG_PLTT_ID(0x9), PLTT_SIZE_4BPP); + FillPalette(RGB_BLACK, BG_PLTT_ID(9), PLTT_SIZE_4BPP); } SetAllBattlersSpritePriority(3); diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index 197443aa85..54dcc7614d 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -166,7 +166,7 @@ void StartBlendAnimSpriteColor(u8 taskId, u32 selectedPalettes) static void AnimTask_BlendSpriteColor_Step2(u8 taskId) { u32 selectedPalettes; - u16 singlePaletteOffset = 0x00; + u16 singlePaletteOffset = 0; if (gTasks[taskId].data[9] == gTasks[taskId].data[2]) { @@ -176,7 +176,7 @@ static void AnimTask_BlendSpriteColor_Step2(u8 taskId) { if (selectedPalettes & 1) BlendPalette(singlePaletteOffset, 16, gTasks[taskId].data[10], gTasks[taskId].data[5]); - singlePaletteOffset += 0x10; + singlePaletteOffset += 16; selectedPalettes >>= 1; } diff --git a/src/battle_arena.c b/src/battle_arena.c index 8139325191..b19ba95e35 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -514,7 +514,7 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) BeginNormalPaletteFade(0x7FFFFF1C, 4, 0, 8, RGB_BLACK); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); LoadCompressedSpriteSheet(sBattleArenaJudgementSymbolsSpriteSheet); - LoadCompressedPalette(gBattleArenaJudgementSymbolsPalette, OBJ_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleArenaJudgementSymbolsPalette, OBJ_PLTT_ID(15), PLTT_SIZE_4BPP); gBattle_WIN0H = 0xFF; gBattle_WIN0V = 0x70; (*state)++; @@ -894,7 +894,7 @@ static void BufferArenaOpponentName(void) void DrawArenaRefereeTextBox(void) { u8 width = 27; - u8 palNum = 0x7; + u8 palNum = 7; FillBgTilemapBufferRect(0, 0, 254, 14, 1, 6, palNum); FillBgTilemapBufferRect(0, 0, 32, 14, 1, 6, palNum); @@ -918,7 +918,7 @@ void EraseArenaRefereeTextBox(void) { u8 width; u8 height; - u8 palNum = 0x0; + u8 palNum = 0; FillBgTilemapBufferRect(0, 3, 0, 14, 1, 1, palNum); height = 4; diff --git a/src/battle_bg.c b/src/battle_bg.c index 163b77a517..3a03fabcca 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -167,7 +167,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 0x0090, }, [B_WIN_ACTION_PROMPT] = { @@ -176,7 +176,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 35, .width = 14, .height = 4, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 0x01c0, }, [B_WIN_ACTION_MENU] = { @@ -185,7 +185,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 35, .width = 12, .height = 4, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0190, }, [B_WIN_MOVE_NAME_1] = { @@ -194,7 +194,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0300, }, [B_WIN_MOVE_NAME_2] = { @@ -203,7 +203,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0310, }, [B_WIN_MOVE_NAME_3] = { @@ -212,7 +212,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0320, }, [B_WIN_MOVE_NAME_4] = { @@ -221,7 +221,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0330, }, [B_WIN_PP] = { @@ -230,7 +230,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 4, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0290, }, [B_WIN_DUMMY] = { @@ -239,7 +239,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 57, .width = 0, .height = 0, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0298, }, [B_WIN_PP_REMAINING] = { @@ -248,7 +248,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 4, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0298, }, [B_WIN_MOVE_TYPE] = { @@ -257,7 +257,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x02a0, }, [B_WIN_SWITCH_PROMPT] = { @@ -266,7 +266,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 4, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x02b0, }, [B_WIN_YESNO] = { @@ -275,7 +275,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 9, .width = 3, .height = 4, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0100, }, [B_WIN_LEVEL_UP_BOX] = { @@ -284,7 +284,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 8, .width = 10, .height = 11, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0100, }, [B_WIN_LEVEL_UP_BANNER] = { @@ -293,7 +293,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 0, .width = 12, .height = 3, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 0x016e, }, [B_WIN_VS_PLAYER] = { @@ -302,7 +302,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 3, .width = 6, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0020, }, [B_WIN_VS_OPPONENT] = { @@ -311,7 +311,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 3, .width = 6, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0040, }, [B_WIN_VS_MULTI_PLAYER_1] = { @@ -320,7 +320,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 6, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0020, }, [B_WIN_VS_MULTI_PLAYER_2] = { @@ -329,7 +329,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 6, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0040, }, [B_WIN_VS_MULTI_PLAYER_3] = { @@ -338,7 +338,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 6, .width = 6, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0060, }, [B_WIN_VS_MULTI_PLAYER_4] = { @@ -347,7 +347,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 6, .width = 6, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0080, }, [B_WIN_VS_OUTCOME_DRAW] = { @@ -356,7 +356,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 6, .height = 2, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 0x00a0, }, [B_WIN_VS_OUTCOME_LEFT] = { @@ -365,7 +365,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 7, .height = 2, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 0x00a0, }, [B_WIN_VS_OUTCOME_RIGHT] = { @@ -374,7 +374,7 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .tilemapTop = 2, .width = 7, .height = 2, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 0x00b0, }, DUMMY_WIN_TEMPLATE @@ -388,7 +388,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 0x0090, }, [B_WIN_ACTION_PROMPT] = { @@ -397,7 +397,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 35, .width = 14, .height = 4, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 0x01c0, }, [B_WIN_ACTION_MENU] = { @@ -406,7 +406,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 35, .width = 12, .height = 4, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0190, }, [B_WIN_MOVE_NAME_1] = { @@ -415,7 +415,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0300, }, [B_WIN_MOVE_NAME_2] = { @@ -424,7 +424,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0310, }, [B_WIN_MOVE_NAME_3] = { @@ -433,7 +433,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0320, }, [B_WIN_MOVE_NAME_4] = { @@ -442,7 +442,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0330, }, [B_WIN_PP] = { @@ -451,7 +451,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 4, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0290, }, [B_WIN_DUMMY] = { @@ -460,7 +460,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 57, .width = 0, .height = 0, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0298, }, [B_WIN_PP_REMAINING] = { @@ -469,7 +469,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 4, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0298, }, [B_WIN_MOVE_TYPE] = { @@ -478,7 +478,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 57, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x02a0, }, [B_WIN_SWITCH_PROMPT] = { @@ -487,7 +487,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 55, .width = 8, .height = 4, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x02b0, }, [B_WIN_YESNO] = { @@ -496,7 +496,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 9, .width = 3, .height = 4, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0100, }, [B_WIN_LEVEL_UP_BOX] = { @@ -505,7 +505,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 8, .width = 10, .height = 11, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0100, }, [B_WIN_LEVEL_UP_BANNER] = { @@ -514,7 +514,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 0, .width = 12, .height = 3, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 0x016e, }, [ARENA_WIN_PLAYER_NAME] = { @@ -523,7 +523,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 1, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0100, }, [ARENA_WIN_VS] = { @@ -532,7 +532,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 1, .width = 2, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0110, }, [ARENA_WIN_OPPONENT_NAME] = { @@ -541,7 +541,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 1, .width = 8, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0114, }, [ARENA_WIN_MIND] = { @@ -550,7 +550,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 4, .width = 6, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0124, }, [ARENA_WIN_SKILL] = { @@ -559,7 +559,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 6, .width = 6, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0130, }, [ARENA_WIN_BODY] = { @@ -568,7 +568,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 8, .width = 6, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x013c, }, [ARENA_WIN_JUDGEMENT_TITLE] = { @@ -577,7 +577,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 11, .width = 14, .height = 2, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0x0148, }, [ARENA_WIN_JUDGEMENT_TEXT] = { @@ -586,7 +586,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 0x0090, }, DUMMY_WIN_TEMPLATE @@ -742,17 +742,17 @@ void InitBattleBgsVideo(void) void LoadBattleMenuWindowGfx(void) { - LoadUserWindowBorderGfx(2, 0x12, BG_PLTT_ID(0x1)); - LoadUserWindowBorderGfx(2, 0x22, BG_PLTT_ID(0x1)); - LoadCompressedPalette(gBattleWindowTextPalette, BG_PLTT_ID(0x5), PLTT_SIZE_4BPP); + LoadUserWindowBorderGfx(2, 0x12, BG_PLTT_ID(1)); + LoadUserWindowBorderGfx(2, 0x22, BG_PLTT_ID(1)); + LoadCompressedPalette(gBattleWindowTextPalette, BG_PLTT_ID(5), PLTT_SIZE_4BPP); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { // Load graphics for the Battle Arena referee's mid-battle messages. - Menu_LoadStdPalAt(BG_PLTT_ID(0x7)); - LoadMessageBoxGfx(0, 0x30, BG_PLTT_ID(0x7)); - gPlttBufferUnfaded[BG_PLTT_ID(0x7) + 6] = 0; - CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(0x7) + 6], &gPlttBufferFaded[BG_PLTT_ID(0x7) + 6], PLTT_SIZEOF(1)); + Menu_LoadStdPalAt(BG_PLTT_ID(7)); + LoadMessageBoxGfx(0, 0x30, BG_PLTT_ID(7)); + gPlttBufferUnfaded[BG_PLTT_ID(7) + 6] = 0; + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(7) + 6], &gPlttBufferFaded[BG_PLTT_ID(7) + 6], PLTT_SIZEOF(1)); } } @@ -762,25 +762,25 @@ void DrawMainBattleBackground(void) { LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) { LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE) { LZDecompressVram(gBattleTerrainTiles_Water, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA) { LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else { @@ -791,14 +791,14 @@ void DrawMainBattleBackground(void) { LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); return; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); return; } } @@ -809,47 +809,47 @@ void DrawMainBattleBackground(void) case MAP_BATTLE_SCENE_NORMAL: LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GYM: LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_MAGMA: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_AQUA: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_SIDNEY: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_PHOEBE: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GLACIA: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_DRAKE: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_FRONTIER: LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; } } @@ -860,7 +860,7 @@ void LoadBattleTextboxAndBackground(void) LZDecompressVram(gBattleTextboxTiles, (void *)(BG_CHAR_ADDR(0))); CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); CopyBgTilemapBufferToVram(0); - LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); LoadBattleMenuWindowGfx(); DrawMainBattleBackground(); } @@ -1126,7 +1126,7 @@ void DrawBattleEntryBackground(void) { LZDecompressVram(gBattleVSFrame_Gfx, (void *)(BG_CHAR_ADDR(1))); LZDecompressVram(gVsLettersGfx, (void *)OBJ_VRAM0); - LoadCompressedPalette(gBattleVSFrame_Pal, BG_PLTT_ID(0x6), PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleVSFrame_Pal, BG_PLTT_ID(6), PLTT_SIZE_4BPP); SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1); SetGpuReg(REG_OFFSET_BG1CNT, 0x5C04); CopyToBgTilemapBuffer(1, gBattleVSFrame_Tilemap, 0, 0); @@ -1219,7 +1219,7 @@ bool8 LoadChosenBattleElement(u8 caseId) CopyBgTilemapBufferToVram(0); break; case 2: - LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); break; case 3: if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER)) @@ -1345,14 +1345,14 @@ bool8 LoadChosenBattleElement(u8 caseId) case 5: if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER)) { - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { if (gGameVersion == VERSION_RUBY) - LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); else - LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else { @@ -1361,12 +1361,12 @@ bool8 LoadChosenBattleElement(u8 caseId) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; } } @@ -1375,31 +1375,31 @@ bool8 LoadChosenBattleElement(u8 caseId) { default: case MAP_BATTLE_SCENE_NORMAL: - LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GYM: - LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_MAGMA: - LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_AQUA: - LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_SIDNEY: - LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_PHOEBE: - LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GLACIA: - LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_DRAKE: - LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_FRONTIER: - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; } } diff --git a/src/battle_dome.c b/src/battle_dome.c index 4293e5e19b..9f781adb20 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -676,7 +676,7 @@ static const struct WindowTemplate sTourneyTreeWindowTemplates[] = .tilemapTop = 3, .width = 8, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 16, }, { @@ -685,7 +685,7 @@ static const struct WindowTemplate sTourneyTreeWindowTemplates[] = .tilemapTop = 3, .width = 8, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 144, }, { @@ -694,7 +694,7 @@ static const struct WindowTemplate sTourneyTreeWindowTemplates[] = .tilemapTop = 1, .width = 14, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 272, }, DUMMY_WIN_TEMPLATE, @@ -708,7 +708,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 2, .width = 26, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1, }, { @@ -717,7 +717,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 53, }, { @@ -726,7 +726,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 7, .width = 9, .height = 3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 69, }, { @@ -735,7 +735,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 96, }, { @@ -744,7 +744,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 12, .width = 26, .height = 7, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 112, }, { @@ -753,7 +753,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 2, .width = 23, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 294, }, { @@ -762,7 +762,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 340, }, { @@ -771,7 +771,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 356, }, { @@ -780,7 +780,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 16, .width = 26, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 372, }, { @@ -789,7 +789,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 2, .width = 26, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1, }, { @@ -798,7 +798,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 53, }, { @@ -807,7 +807,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 7, .width = 9, .height = 3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 69, }, { @@ -816,7 +816,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 96, }, { @@ -825,7 +825,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 12, .width = 26, .height = 7, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 112, }, { @@ -834,7 +834,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 2, .width = 23, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 294, }, { @@ -843,7 +843,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 340, }, { @@ -852,7 +852,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 356, }, { @@ -861,7 +861,7 @@ static const struct WindowTemplate sInfoCardWindowTemplates[] = .tilemapTop = 16, .width = 26, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 372, }, #ifdef UBFIX @@ -3050,9 +3050,9 @@ static void Task_ShowTourneyInfoCard(u8 taskId) LoadCompressedSpriteSheet(sTourneyTreeButtonsSpriteSheet); LoadCompressedPalette(gDomeTourneyTree_Pal, BG_PLTT_OFFSET, BG_PLTT_SIZE); LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, OBJ_PLTT_OFFSET, OBJ_PLTT_SIZE); - LoadCompressedPalette(gBattleWindowTextPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleWindowTextPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); if (mode == INFOCARD_MATCH) - LoadCompressedPalette(gDomeTourneyMatchCardBg_Pal, BG_PLTT_ID(0x5), PLTT_SIZE_4BPP); // Changes the moving info card bg to orange when in match card mode + LoadCompressedPalette(gDomeTourneyMatchCardBg_Pal, BG_PLTT_ID(5), PLTT_SIZE_4BPP); // Changes the moving info card bg to orange when in match card mode CpuFill32(0, gPlttBufferFaded, PLTT_SIZE); ShowBg(0); ShowBg(1); @@ -5329,7 +5329,7 @@ static void Task_ShowTourneyTree(u8 taskId) DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyLineUp_Tilemap, 0x2000, 0, 1); LoadCompressedPalette(gDomeTourneyTree_Pal, BG_PLTT_OFFSET, BG_PLTT_SIZE); LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, OBJ_PLTT_OFFSET, OBJ_PLTT_SIZE); - LoadCompressedPalette(gBattleWindowTextPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleWindowTextPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); CpuFill32(0, gPlttBufferFaded, PLTT_SIZE); ShowBg(0); ShowBg(1); diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index c6843e7533..16f702c72c 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -350,7 +350,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 2, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0001, }, [SELECT_WIN_SPECIES] = { @@ -359,7 +359,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 2, .width = 11, .height = 2, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x0019, }, [SELECT_WIN_INFO] = { @@ -368,7 +368,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 15, .width = 20, .height = 3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x002f, }, [SELECT_WIN_OPTIONS] = { @@ -377,7 +377,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 14, .width = 8, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x006b, }, [SELECT_WIN_YES_NO] = { @@ -386,7 +386,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 14, .width = 8, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x009b, }, [SELECT_WIN_MON_CATEGORY] = { @@ -395,7 +395,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 0, .width = 15, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x00bb, }, DUMMY_WIN_TEMPLATE, @@ -945,7 +945,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0001, }, [SWAP_WIN_SPECIES] = { @@ -954,7 +954,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 11, .height = 2, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x0019, }, [SWAP_WIN_INFO] = { @@ -963,7 +963,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 15, .width = 20, .height = 3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x002f, }, [SWAP_WIN_OPTIONS] = { @@ -972,7 +972,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 14, .width = 9, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x006b, }, [SWAP_WIN_YES_NO] = { @@ -981,7 +981,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 14, .width = 8, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x00a1, }, [SWAP_WIN_ACTION_FADE] = { @@ -990,7 +990,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 15, .width = 9, .height = 5, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x006b, }, [SWAP_WIN_UNUSED] = { @@ -999,7 +999,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 4, .height = 2, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x00c1, }, [SWAP_WIN_SPECIES_AT_FADE] = { @@ -1008,7 +1008,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 11, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x00c9, }, [SWAP_WIN_MON_CATEGORY] = { @@ -1017,7 +1017,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 0, .width = 15, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x00df, }, DUMMY_WIN_TEMPLATE, @@ -1176,15 +1176,15 @@ static void CB2_InitSelectScreen(void) CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSelectMenuTilemapBuffer, BG_SCREEN_SIZE); LoadBgTilemap(1, sSelectMenuTilemapBuffer, BG_SCREEN_SIZE, 0); LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 2 * PLTT_SIZE_4BPP); - LoadPalette(sSelectText_Pal, BG_PLTT_ID(0xF), PLTT_SIZEOF(4)); - LoadPalette(sSelectText_Pal, BG_PLTT_ID(0xE), PLTT_SIZEOF(5)); + LoadPalette(sSelectText_Pal, BG_PLTT_ID(15), PLTT_SIZEOF(4)); + LoadPalette(sSelectText_Pal, BG_PLTT_ID(14), PLTT_SIZEOF(5)); #ifdef UBFIX if (sFactorySelectScreen && sFactorySelectScreen->fromSummaryScreen) #else if (sFactorySelectScreen->fromSummaryScreen == TRUE) #endif gPlttBufferUnfaded[228] = sFactorySelectScreen->speciesNameColorBackup; - LoadPalette(sMonPicBg_Pal, BG_PLTT_ID(0x2), PLTT_SIZEOF(2)); + LoadPalette(sMonPicBg_Pal, BG_PLTT_ID(2), PLTT_SIZEOF(2)); gMain.state++; break; case 3: @@ -2748,7 +2748,7 @@ static void Swap_Task_FadeOutSpeciesName(u8 taskId) gTasks[taskId].tState++; break; case 1: - LoadPalette(&gPlttBufferUnfaded[BG_PLTT_ID(0xF)], BG_PLTT_ID(0xE), PLTT_SIZEOF(5)); + LoadPalette(&gPlttBufferUnfaded[BG_PLTT_ID(15)], BG_PLTT_ID(14), PLTT_SIZEOF(5)); gTasks[taskId].tState++; break; case 2: @@ -2994,7 +2994,7 @@ static void Swap_Task_ScreenInfoTransitionOut(u8 taskId) switch (gTasks[taskId].tState) { case 0: - LoadPalette(sSwapText_Pal, BG_PLTT_ID(0xE), sizeof(sSwapText_Pal)); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(14), sizeof(sSwapText_Pal)); Swap_PrintActionStrings(); PutWindowTilemap(SWAP_WIN_ACTION_FADE); gTasks[taskId].tState++; @@ -3310,9 +3310,9 @@ static void CB2_InitSwapScreen(void) CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSwapMenuTilemapBuffer, BG_SCREEN_SIZE); LoadBgTilemap(1, sSwapMenuTilemapBuffer, BG_SCREEN_SIZE, 0); LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 2 * PLTT_SIZE_4BPP); - LoadPalette(sSwapText_Pal, BG_PLTT_ID(0xF), sizeof(sSwapText_Pal)); - LoadPalette(sSwapText_Pal, BG_PLTT_ID(0xE), sizeof(sSwapText_Pal)); - LoadPalette(sMonPicBg_Pal, BG_PLTT_ID(0x2), PLTT_SIZEOF(2)); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(15), sizeof(sSwapText_Pal)); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(14), sizeof(sSwapText_Pal)); + LoadPalette(sMonPicBg_Pal, BG_PLTT_ID(2), PLTT_SIZEOF(2)); gMain.state++; break; case 3: @@ -3867,7 +3867,7 @@ static void Swap_PrintMonSpeciesAtFade(void) pal[4] = gPlttBufferFaded[228]; else pal[4] = sFactorySwapScreen->speciesNameColorBackup; - LoadPalette(pal, BG_PLTT_ID(0xF), sizeof(sSwapText_Pal)); + LoadPalette(pal, BG_PLTT_ID(15), sizeof(sSwapText_Pal)); PutWindowTilemap(SWAP_WIN_SPECIES_AT_FADE); FillWindowPixelBuffer(SWAP_WIN_SPECIES_AT_FADE, PIXEL_FILL(0)); @@ -3895,8 +3895,8 @@ static void Swap_PrintMonSpeciesForTransition(void) u16 species; u8 x; - LoadPalette(sSwapText_Pal, BG_PLTT_ID(0xE), sizeof(sSwapText_Pal)); - CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(0xF)], &gPlttBufferFaded[BG_PLTT_ID(0xE)], PLTT_SIZEOF(5)); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(14), sizeof(sSwapText_Pal)); + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(15)], &gPlttBufferFaded[BG_PLTT_ID(14)], PLTT_SIZEOF(5)); if (sFactorySwapScreen->cursorPos >= FRONTIER_PARTY_SIZE) { diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 42f3805aa0..fba0966c57 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -585,7 +585,7 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) LZDecompressWram(lzPaletteData, gDecompressionBuffer); LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - LoadPalette(gDecompressionBuffer, 0x80 + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); if (species == SPECIES_CASTFORM) { @@ -648,7 +648,7 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) LZDecompressWram(lzPaletteData, gDecompressionBuffer); LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - LoadPalette(gDecompressionBuffer, 0x80 + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); if (species == SPECIES_CASTFORM) { diff --git a/src/battle_main.c b/src/battle_main.c index 879d9113d3..483c083f06 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2215,7 +2215,7 @@ void CB2_InitEndLinkBattle(void) gBattle_BG3_Y = 0; InitBattleBgsVideo(); - LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); LoadBattleMenuWindowGfx(); ResetSpriteData(); ResetTasks(); diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 93c7df06ac..2ff5828b74 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -214,7 +214,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 2, .width = 15, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 30 }, [WIN_INFO] = { @@ -223,7 +223,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 270 }, [WIN_MSG] = { @@ -232,7 +232,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 354 }, [WIN_TOSS_NUM] = { @@ -241,7 +241,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 5, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 462 }, DUMMY_WIN_TEMPLATE, @@ -263,7 +263,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 17, .width = 7, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 472 }, [MENU_WIN_1x2] = { @@ -272,7 +272,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 15, .width = 7, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 472 }, [MENU_WIN_2x2] = { @@ -281,7 +281,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 15, .width = 14, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 472 }, [MENU_WIN_2x3] = { // Unused @@ -290,7 +290,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 472 }, [MENU_WIN_YESNO] = { @@ -299,7 +299,7 @@ static const struct WindowTemplate sWindowTemplates_MenuActions[] = .tilemapTop = 15, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 472 }, }; @@ -578,7 +578,7 @@ static bool8 LoadPyramidBagGfx(void) } break; case 2: - LoadCompressedPalette(gBattlePyramidBagInterface_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattlePyramidBagInterface_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); gPyramidBagMenu->state++; break; case 3: @@ -1439,9 +1439,9 @@ static void InitPyramidBagWindows(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x1, BG_PLTT_ID(0xE)); - LoadMessageBoxGfx(0, 0xA, BG_PLTT_ID(0xD)); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadUserWindowBorderGfx(0, 0x1, BG_PLTT_ID(14)); + LoadMessageBoxGfx(0, 0xA, BG_PLTT_ID(13)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); for (i = 0; i < ARRAY_COUNT(sWindowTemplates); i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); diff --git a/src/battle_records.c b/src/battle_records.c index c6becd6d7d..4463a9ebfc 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -67,7 +67,7 @@ static const struct WindowTemplate sTrainerHillRecordsWindowTemplates[] = .tilemapTop = 1, .width = 26, .height = 18, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 20 }, DUMMY_WIN_TEMPLATE @@ -80,7 +80,7 @@ static const struct WindowTemplate sLinkBattleRecordsWindow = .tilemapTop = 1, .width = 26, .height = 17, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }; @@ -444,7 +444,7 @@ static void LoadTrainerHillRecordsWindowGfx(u8 bgId) { LoadBgTiles(bgId, sTrainerHillWindowTileset, sizeof(sTrainerHillWindowTileset), 0); CopyToBgTilemapBufferRect(bgId, sTrainerHillWindowTilemap, 0, 0, 0x20, 0x20); - LoadPalette(sTrainerHillWindowPalette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sTrainerHillWindowPalette, BG_PLTT_ID(0), PLTT_SIZE_4BPP); } static void VblankCB_TrainerHillRecords(void) @@ -491,7 +491,7 @@ static void CB2_ShowTrainerHillRecords(void) break; case 3: LoadTrainerHillRecordsWindowGfx(3); - LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(15), PLTT_SIZE_4BPP); gMain.state++; break; case 4: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index e3bba69624..90d91fcc98 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6013,7 +6013,7 @@ static void InitLevelUpBanner(void) gBattle_BG2_Y = 0; gBattle_BG2_X = LEVEL_UP_BANNER_START; - LoadPalette(sLevelUpBanner_Pal, BG_PLTT_ID(0x6), PLTT_SIZE_4BPP); + LoadPalette(sLevelUpBanner_Pal, BG_PLTT_ID(6), PLTT_SIZE_4BPP); CopyToWindowPixelBuffer(B_WIN_LEVEL_UP_BANNER, sLevelUpBanner_Gfx, 0, 0); PutWindowTilemap(B_WIN_LEVEL_UP_BANNER); CopyWindowToVram(B_WIN_LEVEL_UP_BANNER, COPYWIN_FULL); diff --git a/src/battle_transition.c b/src/battle_transition.c index 31363f4a9c..65bc8a16ec 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -1406,7 +1406,7 @@ static bool8 Aqua_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); LZ77UnCompVram(sTeamAqua_Tileset, tileset); - LoadPalette(sEvilTeam_Palette, BG_PLTT_ID(0xF), sizeof(sEvilTeam_Palette)); + LoadPalette(sEvilTeam_Palette, BG_PLTT_ID(15), sizeof(sEvilTeam_Palette)); task->tState++; return FALSE; @@ -1421,7 +1421,7 @@ static bool8 Magma_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); LZ77UnCompVram(sTeamMagma_Tileset, tileset); - LoadPalette(sEvilTeam_Palette, BG_PLTT_ID(0xF), sizeof(sEvilTeam_Palette)); + LoadPalette(sEvilTeam_Palette, BG_PLTT_ID(15), sizeof(sEvilTeam_Palette)); task->tState++; return FALSE; @@ -1449,7 +1449,7 @@ static bool8 BigPokeball_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); CpuCopy16(sBigPokeball_Tileset, tileset, sizeof(sBigPokeball_Tileset)); - LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(0xF), sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball)); task->tState++; return FALSE; @@ -1504,7 +1504,7 @@ static bool8 Regice_SetGfx(struct Task *task) u16 *tilemap, *tileset; GetBg0TilesDst(&tilemap, &tileset); - LoadPalette(sRegice_Palette, BG_PLTT_ID(0xF), sizeof(sRegice_Palette)); + LoadPalette(sRegice_Palette, BG_PLTT_ID(15), sizeof(sRegice_Palette)); CpuCopy16(sRegice_Tilemap, tilemap, 0x500); SetSinWave(gScanlineEffectRegBuffers[0], 0, task->tSinIndex, 132, task->tAmplitude, DISPLAY_HEIGHT); @@ -1517,7 +1517,7 @@ static bool8 Registeel_SetGfx(struct Task *task) u16 *tilemap, *tileset; GetBg0TilesDst(&tilemap, &tileset); - LoadPalette(sRegisteel_Palette, BG_PLTT_ID(0xF), sizeof(sRegisteel_Palette)); + LoadPalette(sRegisteel_Palette, BG_PLTT_ID(15), sizeof(sRegisteel_Palette)); CpuCopy16(sRegisteel_Tilemap, tilemap, 0x500); SetSinWave(gScanlineEffectRegBuffers[0], 0, task->tSinIndex, 132, task->tAmplitude, DISPLAY_HEIGHT); @@ -1530,7 +1530,7 @@ static bool8 Regirock_SetGfx(struct Task *task) u16 *tilemap, *tileset; GetBg0TilesDst(&tilemap, &tileset); - LoadPalette(sRegirock_Palette, BG_PLTT_ID(0xF), sizeof(sRegirock_Palette)); + LoadPalette(sRegirock_Palette, BG_PLTT_ID(15), sizeof(sRegirock_Palette)); CpuCopy16(sRegirock_Tilemap, tilemap, 0x500); SetSinWave(gScanlineEffectRegBuffers[0], 0, task->tSinIndex, 132, task->tAmplitude, DISPLAY_HEIGHT); @@ -1559,7 +1559,7 @@ static bool8 Kyogre_PaletteFlash(struct Task *task) { u16 offset = task->tTimer % 30; offset /= 3; - LoadPalette(&sKyogre1_Palette[offset * 16], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(&sKyogre1_Palette[offset * 16], BG_PLTT_ID(15), PLTT_SIZE_4BPP); } if (++task->tTimer > 58) { @@ -1575,7 +1575,7 @@ static bool8 Kyogre_PaletteBrighten(struct Task *task) if (task->tTimer % 5 == 0) { s16 offset = task->tTimer / 5; - LoadPalette(&sKyogre2_Palette[offset * 16], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(&sKyogre2_Palette[offset * 16], BG_PLTT_ID(15), PLTT_SIZE_4BPP); } if (++task->tTimer > 68) { @@ -1776,7 +1776,7 @@ static bool8 PokeballsTrail_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuSet(sPokeballTrail_Tileset, tileset, 0x20); CpuFill32(0, tilemap, BG_SCREEN_SIZE); - LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(0xF), sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball)); task->tState++; return FALSE; @@ -2328,8 +2328,8 @@ static bool8 Mugshot_SetGfx(struct Task *task) mugshotsMap = sMugshotsTilemap; GetBg0TilesDst(&tilemap, &tileset); CpuSet(sEliteFour_Tileset, tileset, 0xF0); - LoadPalette(sOpponentMugshotsPals[task->tMugshotId], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); - LoadPalette(sPlayerMugshotsPals[gSaveBlock2Ptr->playerGender], BG_PLTT_ID(0xF) + 10, PLTT_SIZEOF(6)); + LoadPalette(sOpponentMugshotsPals[task->tMugshotId], BG_PLTT_ID(15), PLTT_SIZE_4BPP); + LoadPalette(sPlayerMugshotsPals[gSaveBlock2Ptr->playerGender], BG_PLTT_ID(15) + 10, PLTT_SIZEOF(6)); for (i = 0; i < 20; i++) { @@ -3193,7 +3193,7 @@ static bool8 RectangularSpiral_Init(struct Task *task) CpuCopy16(sShrinkingBoxTileset, tileset, 0x20); CpuCopy16(&sShrinkingBoxTileset[0x70], &tileset[0x20], 0x20); CpuFill16(0xF0 << 8, tilemap, BG_SCREEN_SIZE); - LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(0xF), sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball)); task->data[3] = 1; task->tState++; @@ -3389,7 +3389,7 @@ static bool8 Groudon_PaletteFlash(struct Task *task) if (task->tTimer % 3 == 0) { u16 offset = (task->tTimer % 30) / 3; - LoadPalette(&sGroudon1_Palette[offset * 16], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(&sGroudon1_Palette[offset * 16], BG_PLTT_ID(15), PLTT_SIZE_4BPP); } if (++task->tTimer > 58) { @@ -3405,7 +3405,7 @@ static bool8 Groudon_PaletteBrighten(struct Task *task) if (task->tTimer % 5 == 0) { s16 offset = task->tTimer / 5; - LoadPalette(&sGroudon2_Palette[offset * 16], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(&sGroudon2_Palette[offset * 16], BG_PLTT_ID(15), PLTT_SIZE_4BPP); } if (++task->tTimer > 68) { @@ -3448,7 +3448,7 @@ static bool8 Rayquaza_Init(struct Task *task) sTransitionData->counter = 0; task->tState++; - LoadPalette(&sRayquaza_Palette[0x50], BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(&sRayquaza_Palette[80], BG_PLTT_ID(15), PLTT_SIZE_4BPP); for (i = 0; i < DISPLAY_HEIGHT; i++) { @@ -3476,7 +3476,7 @@ static bool8 Rayquaza_PaletteFlash(struct Task *task) { u16 value = task->tTimer / 4; const u16 *palPtr = &sRayquaza_Palette[(value + 5) * 16]; - LoadPalette(palPtr, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(palPtr, BG_PLTT_ID(15), PLTT_SIZE_4BPP); } if (++task->tTimer > 40) { @@ -3524,7 +3524,7 @@ static bool8 Rayquaza_TriRing(struct Task *task) { u16 value = task->tTimer / 3; const u16 *palPtr = &sRayquaza_Palette[(value + 0) * 16]; - LoadPalette(palPtr, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(palPtr, BG_PLTT_ID(15), PLTT_SIZE_4BPP); } if (++task->tTimer >= 40) { @@ -3775,7 +3775,7 @@ static bool8 GridSquares_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuSet(sShrinkingBoxTileset, tileset, 16); CpuFill16(0xF0 << 8, tilemap, BG_SCREEN_SIZE); - LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(0xF), sizeof(sFieldEffectPal_Pokeball)); + LoadPalette(sFieldEffectPal_Pokeball, BG_PLTT_ID(15), sizeof(sFieldEffectPal_Pokeball)); task->tState++; return FALSE; @@ -4242,7 +4242,7 @@ static bool8 FrontierLogoWiggle_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); LZ77UnCompVram(sFrontierLogo_Tileset, tileset); - LoadPalette(sFrontierLogo_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierLogo_Palette)); + LoadPalette(sFrontierLogo_Palette, BG_PLTT_ID(15), sizeof(sFrontierLogo_Palette)); task->tState++; return FALSE; @@ -4304,7 +4304,7 @@ static bool8 FrontierLogoWave_Init(struct Task *task) GetBg0TilesDst(&tilemap, &tileset); CpuFill16(0, tilemap, BG_SCREEN_SIZE); LZ77UnCompVram(sFrontierLogo_Tileset, tileset); - LoadPalette(sFrontierLogo_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierLogo_Palette)); + LoadPalette(sFrontierLogo_Palette, BG_PLTT_ID(15), sizeof(sFrontierLogo_Palette)); sTransitionData->cameraY = 0; task->tState++; @@ -4451,10 +4451,10 @@ static bool8 FrontierSquares_Init(struct Task *task) LZ77UnCompVram(sFrontierSquares_FilledBg_Tileset, tileset); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); - FillBgTilemapBufferRect(0, 1, 0, 0, MARGIN_SIZE, 32, 0xF); - FillBgTilemapBufferRect(0, 1, 30 - MARGIN_SIZE, 0, MARGIN_SIZE, 32, 0xF); + FillBgTilemapBufferRect(0, 1, 0, 0, MARGIN_SIZE, 32, 15); + FillBgTilemapBufferRect(0, 1, 30 - MARGIN_SIZE, 0, MARGIN_SIZE, 32, 15); CopyBgTilemapBufferToVram(0); - LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierSquares_Palette)); + LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(15), sizeof(sFrontierSquares_Palette)); task->tPosX = MARGIN_SIZE; task->tPosY = 0; @@ -4471,7 +4471,7 @@ static bool8 FrontierSquares_Draw(struct Task *task) SQUARE_SIZE, SQUARE_SIZE, task->tPosX, task->tPosY, SQUARE_SIZE, SQUARE_SIZE, - 0xF, 0, 0); + 15, 0, 0); CopyBgTilemapBufferToVram(0); task->tPosX += SQUARE_SIZE; @@ -4546,12 +4546,12 @@ static bool8 FrontierSquaresSpiral_Init(struct Task *task) LZ77UnCompVram(sFrontierSquares_FilledBg_Tileset, tileset); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); - FillBgTilemapBufferRect(0, 1, 0, 0, MARGIN_SIZE, 32, 0xF); - FillBgTilemapBufferRect(0, 1, 30 - MARGIN_SIZE, 0, MARGIN_SIZE, 32, 0xF); + FillBgTilemapBufferRect(0, 1, 0, 0, MARGIN_SIZE, 32, 15); + FillBgTilemapBufferRect(0, 1, 30 - MARGIN_SIZE, 0, MARGIN_SIZE, 32, 15); CopyBgTilemapBufferToVram(0); - LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(0xE), sizeof(sFrontierSquares_Palette)); - LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierSquares_Palette)); - BlendPalette(BG_PLTT_ID(0xE), 16, 8, RGB_BLACK); + LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(14), sizeof(sFrontierSquares_Palette)); + LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(15), sizeof(sFrontierSquares_Palette)); + BlendPalette(BG_PLTT_ID(14), 16, 8, RGB_BLACK); task->tSquareNum = NUM_SQUARES - 1; task->tFadeFlag = 0; @@ -4569,7 +4569,7 @@ static bool8 FrontierSquaresSpiral_Outward(struct Task *task) SQUARE_SIZE, SQUARE_SIZE, SQUARE_SIZE * x + MARGIN_SIZE, SQUARE_SIZE * y, SQUARE_SIZE, SQUARE_SIZE, - 0xF, 0, 0); + 15, 0, 0); CopyBgTilemapBufferToVram(0); if (--task->tSquareNum < 0) @@ -4581,7 +4581,7 @@ static bool8 FrontierSquaresSpiral_Outward(struct Task *task) // set it to black so it's not revealed when the squares are removed. static bool8 FrontierSquaresSpiral_SetBlack(struct Task *task) { - BlendPalette(BG_PLTT_ID(0xE), 16, 3, RGB_BLACK); + BlendPalette(BG_PLTT_ID(14), 16, 3, RGB_BLACK); BlendPalettes(PALETTES_ALL & ~(1 << 15 | 1 << 14), 16, RGB_BLACK); task->tSquareNum = 0; @@ -4603,7 +4603,7 @@ static bool8 FrontierSquaresSpiral_Inward(struct Task *task) SQUARE_SIZE * (sFrontierSquaresSpiral_Positions[task->tSquareNum] % NUM_SQUARES_PER_ROW) + MARGIN_SIZE, SQUARE_SIZE * (sFrontierSquaresSpiral_Positions[task->tSquareNum] / NUM_SQUARES_PER_ROW), SQUARE_SIZE, SQUARE_SIZE, - 0xE, 0, 0); + 14, 0, 0); } else { @@ -4614,7 +4614,7 @@ static bool8 FrontierSquaresSpiral_Inward(struct Task *task) SQUARE_SIZE * (sFrontierSquaresSpiral_Positions[task->tSquareNum - 1] % NUM_SQUARES_PER_ROW) + MARGIN_SIZE, SQUARE_SIZE * (sFrontierSquaresSpiral_Positions[task->tSquareNum - 1] / NUM_SQUARES_PER_ROW), SQUARE_SIZE, SQUARE_SIZE, - 0xF); + 15); } task->tSquareNum++; } @@ -4664,7 +4664,7 @@ static bool8 FrontierSquaresScroll_Init(struct Task *task) LZ77UnCompVram(sFrontierSquares_FilledBg_Tileset, tileset); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); CopyBgTilemapBufferToVram(0); - LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(0xF), sizeof(sFrontierSquares_Palette)); + LoadPalette(sFrontierSquares_Palette, BG_PLTT_ID(15), sizeof(sFrontierSquares_Palette)); gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -4709,7 +4709,7 @@ static bool8 FrontierSquaresScroll_Draw(struct Task *task) SQUARE_SIZE, SQUARE_SIZE, SQUARE_SIZE * x + MARGIN_SIZE, SQUARE_SIZE * y, SQUARE_SIZE, SQUARE_SIZE, - 0xF, 0, 0); + 15, 0, 0); CopyBgTilemapBufferToVram(0); if (++task->tSquareNum >= (int)ARRAY_COUNT(sFrontierSquaresScroll_Positions)) @@ -4738,7 +4738,7 @@ static bool8 FrontierSquaresScroll_Erase(struct Task *task) FillBgTilemapBufferRect(0, 1, SQUARE_SIZE * x + MARGIN_SIZE, SQUARE_SIZE * y, SQUARE_SIZE, SQUARE_SIZE, - 0xF); + 15); CopyBgTilemapBufferToVram(0); if (++task->tSquareNum >= (int)ARRAY_COUNT(sFrontierSquaresScroll_Positions)) diff --git a/src/battle_transition_frontier.c b/src/battle_transition_frontier.c index 107e9067db..2527211296 100644 --- a/src/battle_transition_frontier.c +++ b/src/battle_transition_frontier.c @@ -226,7 +226,7 @@ static void LoadLogoGfx(void) GetBg0TilesDst(&tilemap, &tileset); LZ77UnCompVram(sLogoCenter_Gfx, tileset); LZ77UnCompVram(sLogoCenter_Tilemap, tilemap); - LoadPalette(sLogo_Pal, BG_PLTT_ID(0xF), sizeof(sLogo_Pal)); + LoadPalette(sLogo_Pal, BG_PLTT_ID(15), sizeof(sLogo_Pal)); LoadCompressedSpriteSheet(&sSpriteSheet_LogoCircles); LoadSpritePalette(&sSpritePalette_LogoCircles); } diff --git a/src/berry_blender.c b/src/berry_blender.c index defc5ac963..c7185dd8eb 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -338,7 +338,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 6, .width = 7, .height = 2, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x28, }, { @@ -347,7 +347,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 6, .width = 7, .height = 2, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x36, }, { @@ -356,7 +356,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 12, .width = 7, .height = 2, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x44, }, { @@ -365,7 +365,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 12, .width = 7, .height = 2, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x52, }, { @@ -374,7 +374,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x60, }, { @@ -383,7 +383,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 3, .width = 21, .height = 14, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x60, }, DUMMY_WIN_TEMPLATE @@ -396,7 +396,7 @@ static const struct WindowTemplate sYesNoWindowTemplate_ContinuePlaying = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0xCC }; @@ -926,7 +926,7 @@ static const struct WindowTemplate sBlenderRecordWindowTemplate = .tilemapTop = 4, .width = 18, .height = 11, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 8 }; @@ -959,7 +959,7 @@ static bool8 LoadBerryBlenderGfx(void) case 1: CopyToBgTilemapBuffer(2, sBlenderCenter_Tilemap, 0x400, 0); CopyBgTilemapBufferToVram(2); - LoadPalette(sBlenderCenter_Pal, BG_PLTT_ID(0x0), 8 * PLTT_SIZE_4BPP); + LoadPalette(sBlenderCenter_Pal, BG_PLTT_ID(0), 8 * PLTT_SIZE_4BPP); sBerryBlender->loadGfxState++; break; case 2: @@ -984,7 +984,7 @@ static bool8 LoadBerryBlenderGfx(void) sBerryBlender->loadGfxState++; break; case 7: - LoadPalette(sBlenderOuter_Pal, BG_PLTT_ID(0x8), PLTT_SIZE_4BPP); + LoadPalette(sBlenderOuter_Pal, BG_PLTT_ID(8), PLTT_SIZE_4BPP); sBerryBlender->loadGfxState++; break; case 8: @@ -1065,8 +1065,8 @@ static void CB2_LoadBerryBlender(void) InitBgsFromTemplates(1, sBgTemplates, ARRAY_COUNT(sBgTemplates)); SetBgTilemapBuffer(1, sBerryBlender->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlender->tilemapBuffers[1]); - LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); - LoadMessageBoxGfx(0, 0x14, BG_PLTT_ID(0xF)); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(13)); + LoadMessageBoxGfx(0, 0x14, BG_PLTT_ID(15)); InitBerryBlenderWindows(); sBerryBlender->mainState++; @@ -1502,8 +1502,8 @@ static void InitBlenderBgs(void) SetBgTilemapBuffer(1, sBerryBlender->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlender->tilemapBuffers[1]); - LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); - LoadMessageBoxGfx(0, 0x14, BG_PLTT_ID(0xF)); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(13)); + LoadMessageBoxGfx(0, 0x14, BG_PLTT_ID(15)); InitBerryBlenderWindows(); sBerryBlender->unk0 = 0; diff --git a/src/berry_crush.c b/src/berry_crush.c index a100b72358..e5390f591a 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -473,7 +473,7 @@ static const struct WindowTemplate sWindowTemplate_Rankings = .tilemapTop = 4, .width = 24, .height = 13, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }; @@ -485,7 +485,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 0, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 1005 }, { @@ -494,7 +494,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 3, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 987 }, { @@ -503,7 +503,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 6, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 969 }, { @@ -512,7 +512,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 3, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 951 }, { @@ -521,7 +521,7 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS .tilemapTop = 6, .width = 9, .height = 2, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 933 }, DUMMY_WIN_TEMPLATE, @@ -535,7 +535,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 2, .width = 20, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, [STATE_RESULTS_RANDOM - RESULTS_STATE_START] = { @@ -544,7 +544,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 2, .width = 20, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, [STATE_RESULTS_CRUSHING - RESULTS_STATE_START] = { @@ -553,7 +553,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 2, .width = 22, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, DUMMY_WIN_TEMPLATE, @@ -1235,7 +1235,7 @@ static s32 ShowGameDisplay(void) gPaletteFade.bufferTransferDisabled = TRUE; break; case 7: - LoadPalette(gBerryCrush_Crusher_Pal, BG_PLTT_ID(0x0), 12 * PLTT_SIZE_4BPP); + LoadPalette(gBerryCrush_Crusher_Pal, BG_PLTT_ID(0), 12 * PLTT_SIZE_4BPP); CopyToBgTilemapBuffer(1, sCrusherTop_Tilemap, 0, 0); CopyToBgTilemapBuffer(2, sContainerCap_Tilemap, 0, 0); CopyToBgTilemapBuffer(3, sBg_Tilemap, 0, 0); @@ -1751,8 +1751,8 @@ static bool32 OpenResultsWindow(struct BerryCrushGame *game, struct BerryCrushGa FillWindowPixelBuffer(gfx->resultsWindowId, PIXEL_FILL(0)); break; case 2: - LoadUserWindowBorderGfx_(gfx->resultsWindowId, 541, BG_PLTT_ID(0xD)); - DrawStdFrameWithCustomTileAndPalette(gfx->resultsWindowId, FALSE, 541, 0xD); + LoadUserWindowBorderGfx_(gfx->resultsWindowId, 541, BG_PLTT_ID(13)); + DrawStdFrameWithCustomTileAndPalette(gfx->resultsWindowId, FALSE, 541, 13); break; case 3: playerCountIdx = game->playerCount - 2; @@ -1809,8 +1809,8 @@ static void Task_ShowRankings(u8 taskId) tWindowId = AddWindow(&sWindowTemplate_Rankings); PutWindowTilemap(tWindowId); FillWindowPixelBuffer(tWindowId, PIXEL_FILL(0)); - LoadUserWindowBorderGfx_(tWindowId, 541, BG_PLTT_ID(0xD)); - DrawStdFrameWithCustomTileAndPalette(tWindowId, FALSE, 541, 0xD); + LoadUserWindowBorderGfx_(tWindowId, 541, BG_PLTT_ID(13)); + DrawStdFrameWithCustomTileAndPalette(tWindowId, FALSE, 541, 13); break; case 1: // Print header text diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index 149e5d5116..e8c4bc7e68 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -77,7 +77,7 @@ static const struct WindowTemplate sBerryFixWindowTemplates[] = { .tilemapTop = 4, .width = 26, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, { @@ -86,7 +86,7 @@ static const struct WindowTemplate sBerryFixWindowTemplates[] = { .tilemapTop = 11, .width = 28, .height = 8, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 53 }, { @@ -95,7 +95,7 @@ static const struct WindowTemplate sBerryFixWindowTemplates[] = { .tilemapTop = 8, .width = 30, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 277 }, { @@ -104,7 +104,7 @@ static const struct WindowTemplate sBerryFixWindowTemplates[] = { .tilemapTop = 0, .width = 14, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 337 }, DUMMY_WIN_TEMPLATE diff --git a/src/berry_powder.c b/src/berry_powder.c index 70a8960f76..7066f9d95c 100755 --- a/src/berry_powder.c +++ b/src/berry_powder.c @@ -68,7 +68,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 1, .width = 28, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 19 }, { @@ -77,7 +77,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 5, .width = 28, .height = 14, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 75 }, { @@ -86,7 +86,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 5, .width = 28, .height = 7, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 75 }, { @@ -95,7 +95,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 8, .width = 19, .height = 3, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 19 }, { @@ -104,7 +104,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 7, .width = 6, .height = 4, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 76 }, { @@ -113,7 +113,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 6, .width = 22, .height = 5, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 19 }, { @@ -122,7 +122,7 @@ static const struct WindowTemplate sBerryPowderWindowTemplates[] = .tilemapTop = 8, .width = 19, .height = 3, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 19 }, }; @@ -229,7 +229,7 @@ void DisplayBerryPowderVendorMenu(void) sBerryPowderVendorWindowId = AddWindow(&template); FillWindowPixelBuffer(sBerryPowderVendorWindowId, PIXEL_FILL(0)); PutWindowTilemap(sBerryPowderVendorWindowId); - LoadUserWindowBorderGfx_(sBerryPowderVendorWindowId, 0x21D, BG_PLTT_ID(0xD)); + LoadUserWindowBorderGfx_(sBerryPowderVendorWindowId, 0x21D, BG_PLTT_ID(13)); DrawPlayerPowderAmount(sBerryPowderVendorWindowId, 0x21D, 13, GetBerryPowder()); } diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 70d88b3133..6c6d207ba7 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -108,7 +108,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 4, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 69, }, { // WIN_SIZE_FIRM @@ -117,7 +117,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 7, .width = 18, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 85, }, { // WIN_DESC @@ -126,7 +126,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 14, .width = 25, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 157, }, { // WIN_BERRY_TAG @@ -135,7 +135,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 0, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 257, }, DUMMY_WIN_TEMPLATE @@ -346,7 +346,7 @@ static bool8 LoadBerryTagGfx(void) sBerryTag->gfxState++; break; case 4: - LoadCompressedPalette(gBerryCheck_Pal, BG_PLTT_ID(0x0), 6 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBerryCheck_Pal, BG_PLTT_ID(0), 6 * PLTT_SIZE_4BPP); sBerryTag->gfxState++; break; case 5: @@ -367,7 +367,7 @@ static void HandleInitWindows(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadPalette(sFontPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(sFontPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); for (i = 0; i < ARRAY_COUNT(sWindowTemplates) - 1; i++) PutWindowTilemap(i); ScheduleBgCopyTilemapToVram(0); diff --git a/src/cable_car.c b/src/cable_car.c index 8485c2352a..700d2175aa 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -306,7 +306,7 @@ static void CB2_LoadCableCar(void) case 3: if (!FreeTempTileDataBuffersIfPossible()) { - LoadPalette(gCableCarBg_Pal, BG_PLTT_ID(0x0), 4 * PLTT_SIZE_4BPP); + LoadPalette(gCableCarBg_Pal, BG_PLTT_ID(0), 4 * PLTT_SIZE_4BPP); gMain.state++; } break; diff --git a/src/cable_club.c b/src/cable_club.c index 762bd4ec35..913a1b7287 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -41,7 +41,7 @@ static const struct WindowTemplate sWindowTemplate_LinkPlayerCount = { .tilemapTop = 11, .width = 11, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0125, }; diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index 42930777ba..d9fa23537e 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -52,7 +52,7 @@ static const struct WindowTemplate sClearSaveTextWindow[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 11, }, DUMMY_WIN_TEMPLATE @@ -66,7 +66,7 @@ static const struct WindowTemplate sClearSaveYesNo[] = .tilemapTop = 2, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 115, } }; @@ -204,6 +204,6 @@ static void InitClearSaveDataScreenWindows(void) InitWindows(sClearSaveTextWindow); DeactivateAllTextPrinters(); FillWindowPixelBuffer(0, PIXEL_FILL(0)); - LoadWindowGfx(0, 0, 2, BG_PLTT_ID(0xE)); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadWindowGfx(0, 0, 2, BG_PLTT_ID(14)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); } diff --git a/src/contest.c b/src/contest.c index 7a7db4f5f3..5bd903e476 100644 --- a/src/contest.c +++ b/src/contest.c @@ -733,7 +733,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 0, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x200 }, [WIN_CONTESTANT1_NAME] = { @@ -742,7 +742,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 5, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x218 }, [WIN_CONTESTANT2_NAME] = { @@ -751,7 +751,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 10, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x230 }, [WIN_CONTESTANT3_NAME] = { @@ -760,7 +760,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 15, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x248 }, [WIN_GENERAL_TEXT] = { @@ -769,7 +769,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 15, .width = 17, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x260 }, [WIN_MOVE0] = { @@ -778,7 +778,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 31, .width = 9, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x2A4 }, [WIN_MOVE1] = { @@ -787,7 +787,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 33, .width = 9, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x2B6 }, [WIN_MOVE2] = { @@ -796,7 +796,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 35, .width = 9, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x2C8 }, [WIN_MOVE3] = { @@ -805,7 +805,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 37, .width = 9, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x2DA }, [WIN_SLASH] = { @@ -814,7 +814,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 31, .width = 1, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x2EC }, [WIN_MOVE_DESCRIPTION] = { @@ -823,7 +823,7 @@ static const struct WindowTemplate sContestWindowTemplates[] = .tilemapTop = 35, .width = 18, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x2EE }, DUMMY_WIN_TEMPLATE @@ -1038,7 +1038,7 @@ void LoadContestBgAfterMoveAnim(void) { u32 contestantWindowId = 5 + i; - LoadPalette(eContestTempSave.cachedWindowPalettes[contestantWindowId], BG_PLTT_ID(0x5 + gContestantTurnOrder[i]), sizeof((eContestTempSave.cachedWindowPalettes[contestantWindowId]))); + LoadPalette(eContestTempSave.cachedWindowPalettes[contestantWindowId], BG_PLTT_ID(5 + gContestantTurnOrder[i]), sizeof((eContestTempSave.cachedWindowPalettes[contestantWindowId]))); } } @@ -1073,11 +1073,11 @@ static void LoadContestPalettes(void) { s32 i; - LoadPalette(sText_Pal, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(sText_Pal, BG_PLTT_ID(15), PLTT_SIZE_4BPP); SetBackdropFromColor(RGB_BLACK); for (i = 10; i < 14; i++) - LoadPalette(gPlttBufferUnfaded + BG_PLTT_ID(0xF) + 1, BG_PLTT_ID(0xF) + i, PLTT_SIZEOF(1)); - FillPalette(RGB(31, 17, 31), BG_PLTT_ID(0xF) + 3, PLTT_SIZEOF(1)); + LoadPalette(gPlttBufferUnfaded + BG_PLTT_ID(15) + 1, BG_PLTT_ID(15) + i, PLTT_SIZEOF(1)); + FillPalette(RGB(31, 17, 31), BG_PLTT_ID(15) + 3, PLTT_SIZEOF(1)); } static void InitContestResources(void) @@ -1328,10 +1328,10 @@ static bool8 SetupContestGraphics(u8 *stateVar) break; case 5: LoadCompressedPalette(gContestInterfaceAudiencePalette, BG_PLTT_OFFSET, BG_PLTT_SIZE); - CpuCopy32(gPlttBufferUnfaded + BG_PLTT_ID(0x8), tempPalette1, PLTT_SIZE_4BPP); - CpuCopy32(gPlttBufferUnfaded + BG_PLTT_ID(0x5 + gContestPlayerMonIndex), tempPalette2, 16 * sizeof(u16)); - CpuCopy32(tempPalette2, gPlttBufferUnfaded + BG_PLTT_ID(0x8), PLTT_SIZE_4BPP); - CpuCopy32(tempPalette1, gPlttBufferUnfaded + BG_PLTT_ID(0x5 + gContestPlayerMonIndex), PLTT_SIZE_4BPP); + CpuCopy32(gPlttBufferUnfaded + BG_PLTT_ID(8), tempPalette1, PLTT_SIZE_4BPP); + CpuCopy32(gPlttBufferUnfaded + BG_PLTT_ID(5 + gContestPlayerMonIndex), tempPalette2, PLTT_SIZE_4BPP); + CpuCopy32(tempPalette2, gPlttBufferUnfaded + BG_PLTT_ID(8), PLTT_SIZE_4BPP); + CpuCopy32(tempPalette1, gPlttBufferUnfaded + BG_PLTT_ID(5 + gContestPlayerMonIndex), PLTT_SIZE_4BPP); DmaCopy32Defvars(3, gPlttBufferUnfaded, eContestTempSave.cachedWindowPalettes, sizeof(eContestTempSave.cachedWindowPalettes)); LoadContestPalettes(); break; @@ -3097,7 +3097,7 @@ static u8 CreateJudgeSprite(void) u8 spriteId; LoadCompressedSpriteSheet(&sSpriteSheet_Judge); - LoadCompressedPalette(gContest2Pal, OBJ_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadCompressedPalette(gContest2Pal, OBJ_PLTT_ID(1), PLTT_SIZE_4BPP); spriteId = CreateSprite(&sSpriteTemplate_Judge, 112, 36, 30); gSprites[spriteId].oam.paletteNum = 1; gSprites[spriteId].callback = SpriteCallbackDummy; @@ -3126,7 +3126,7 @@ static u8 CreateContestantSprite(u16 species, u32 otId, u32 personality, u32 ind else HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], gMonSpritesGfxPtr->sprites.ptr[B_POSITION_PLAYER_LEFT], species, personality); - LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(species, B_POSITION_PLAYER_LEFT); spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x70, GetBattlerSpriteFinal_Y(2, species, FALSE), 30); @@ -3997,7 +3997,7 @@ static void Task_StopFlashJudgeAttentionEye(u8 taskId) { gTasks[eContest.judgeAttentionTaskId].data[contestant * 4 + 0] = 0xFF; gTasks[eContest.judgeAttentionTaskId].data[contestant * 4 + 1] = 0; - BlendPalette(BG_PLTT_ID(0x5 + eContest.prevTurnOrder[contestant]) + 6, 2, 0, RGB(31, 31, 18)); + BlendPalette(BG_PLTT_ID(5 + eContest.prevTurnOrder[contestant]) + 6, 2, 0, RGB(31, 31, 18)); DestroyTask(taskId); } } @@ -4021,7 +4021,7 @@ static void Task_FlashJudgeAttentionEye(u8 taskId) || gTasks[taskId].data[offset + 0] == 0) gTasks[taskId].data[offset + 1] ^= 1; - BlendPalette(BG_PLTT_ID(0x5 + eContest.prevTurnOrder[i]) + 6, 2, gTasks[taskId].data[offset + 0], RGB(31, 31, 18)); + BlendPalette(BG_PLTT_ID(5 + eContest.prevTurnOrder[i]) + 6, 2, gTasks[taskId].data[offset + 0], RGB(31, 31, 18)); } } } @@ -4100,8 +4100,8 @@ static void Task_UnusedBlend(u8 taskId) || gTasks[taskId].data[idx] == 0) gTasks[taskId].data[idx + 1] ^= 1; - BlendPalette(BG_PLTT_ID(0x5 + i) + 10, 1, gTasks[taskId].data[idx + 0], RGB(31, 31, 18)); - BlendPalette(BG_PLTT_ID(0x5 + i) + 12 + i, 1, gTasks[taskId].data[idx + 0], RGB(31, 31, 18)); + BlendPalette(BG_PLTT_ID(5 + i) + 10, 1, gTasks[taskId].data[idx + 0], RGB(31, 31, 18)); + BlendPalette(BG_PLTT_ID(5 + i) + 12 + i, 1, gTasks[taskId].data[idx + 0], RGB(31, 31, 18)); } } } @@ -4414,7 +4414,7 @@ static void DrawContestantWindows(void) for (i = 0; i < CONTESTANT_COUNT; i++) { s32 windowId = i + 5; - LoadPalette(eContestTempSave.cachedWindowPalettes[windowId], BG_PLTT_ID(0x5 + gContestantTurnOrder[i]), sizeof(eContestTempSave.cachedWindowPalettes[0])); + LoadPalette(eContestTempSave.cachedWindowPalettes[windowId], BG_PLTT_ID(5 + gContestantTurnOrder[i]), sizeof(eContestTempSave.cachedWindowPalettes[0])); } DrawContestantWindowText(); } @@ -4992,8 +4992,8 @@ static void Task_BlendAudienceBackground(u8 taskId) else gTasks[taskId].tBlendCoeff--; - BlendPalette(BG_PLTT_ID(0x1) + 1, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor); - BlendPalette(BG_PLTT_ID(0x1) + 10, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor); + BlendPalette(BG_PLTT_ID(1) + 1, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor); + BlendPalette(BG_PLTT_ID(1) + 10, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor); if (gTasks[taskId].tBlendCoeff == gTasks[taskId].tTargetBlendCoeff) { diff --git a/src/contest_painting.c b/src/contest_painting.c index d995749bb2..a1a8a51975 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -121,7 +121,7 @@ static const struct WindowTemplate sWindowTemplate = .tilemapTop = 14, .width = 26, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1, }; @@ -420,7 +420,7 @@ static void LoadContestPaintingFrame(u8 contestWinnerId, bool8 isForArtist) { u8 x, y; - LoadPalette(sPictureFramePalettes, BG_PLTT_ID(0x0), 8 * PLTT_SIZE_4BPP); + LoadPalette(sPictureFramePalettes, BG_PLTT_ID(0), 8 * PLTT_SIZE_4BPP); if (isForArtist == TRUE) { // Load Artist's frame @@ -586,7 +586,7 @@ static void DoContestPaintingImageProcessing(u8 imageEffect) ApplyImageProcessingEffects(&gImageProcessingContext); ApplyImageProcessingQuantization(&gImageProcessingContext); ConvertImageProcessingToGBA(&gImageProcessingContext); - LoadPalette(gContestPaintingMonPalette, OBJ_PLTT_ID(0x0), 16 * PLTT_SIZE_4BPP); + LoadPalette(gContestPaintingMonPalette, OBJ_PLTT_ID(0), 16 * PLTT_SIZE_4BPP); } static void CreateContestPaintingPicture(u8 contestWinnerId, bool8 isForArtist) diff --git a/src/contest_util.c b/src/contest_util.c index bbb4ba5bdd..5a00253291 100644 --- a/src/contest_util.c +++ b/src/contest_util.c @@ -327,7 +327,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 4, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 770 }, { @@ -336,7 +336,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 7, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 794 }, { @@ -345,7 +345,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 10, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 818 }, { @@ -354,7 +354,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 842 }, DUMMY_WIN_TEMPLATE, @@ -455,8 +455,8 @@ static void LoadContestResultsBgGfx(void) CopyToBgTilemapBuffer(2, gContestResults_Interface_Tilemap, 0, 0); CopyToBgTilemapBuffer(0, gContestResults_WinnerBanner_Tilemap, 0, 0); LoadContestResultsTitleBarTilemaps(); - LoadCompressedPalette(gContestResults_Pal, BG_PLTT_ID(0x0), 16 * PLTT_SIZE_4BPP); - LoadPalette(sResultsTextWindow_Pal, BG_PLTT_ID(0xF), sizeof(sResultsTextWindow_Pal)); + LoadCompressedPalette(gContestResults_Pal, BG_PLTT_ID(0), 16 * PLTT_SIZE_4BPP); + LoadPalette(sResultsTextWindow_Pal, BG_PLTT_ID(15), sizeof(sResultsTextWindow_Pal)); for (i = 0; i < CONTESTANT_COUNT; i++) { @@ -1092,9 +1092,9 @@ static void Task_FlashStarsAndHearts(u8 taskId) else if (gTasks[taskId].tCoeff == 0) gTasks[taskId].tDecreasing = FALSE; - BlendPalette(BG_PLTT_ID(0x6) + 11, 1, gTasks[taskId].tCoeff, RGB(30, 22, 11)); - BlendPalette(BG_PLTT_ID(0x6) + 8, 1, gTasks[taskId].tCoeff, RGB_WHITE); - BlendPalette(BG_PLTT_ID(0x6) + 14, 1, gTasks[taskId].tCoeff, RGB(30, 29, 29)); + BlendPalette(BG_PLTT_ID(6) + 11, 1, gTasks[taskId].tCoeff, RGB(30, 22, 11)); + BlendPalette(BG_PLTT_ID(6) + 8, 1, gTasks[taskId].tCoeff, RGB_WHITE); + BlendPalette(BG_PLTT_ID(6) + 14, 1, gTasks[taskId].tCoeff, RGB(30, 29, 29)); } if (gTasks[taskId].tCoeff == 0) @@ -1143,7 +1143,7 @@ static void LoadAllContestMonIconPalettes(void) for (i = 0; i < CONTESTANT_COUNT; i++) { species = gContestMons[i].species; - LoadPalette(gMonIconPalettes[gMonIconPaletteIndices[GetIconSpecies(species, 0)]], BG_PLTT_ID(0xA + i), PLTT_SIZE_4BPP); + LoadPalette(gMonIconPalettes[gMonIconPaletteIndices[GetIconSpecies(species, 0)]], BG_PLTT_ID(10 + i), PLTT_SIZE_4BPP); } } @@ -1561,7 +1561,7 @@ static void Task_HighlightWinnersBox(u8 taskId) if (++gTasks[taskId].data[11] == 1) { gTasks[taskId].data[11] = 0; - BlendPalette(BG_PLTT_ID(0x9) + 1, 1, gTasks[taskId].data[12], RGB(13, 28, 27)); + BlendPalette(BG_PLTT_ID(9) + 1, 1, gTasks[taskId].data[12], RGB(13, 28, 27)); if (gTasks[taskId].data[13] == 0) { if (++gTasks[taskId].data[12] == 16) @@ -2525,16 +2525,16 @@ void LoadLinkContestPlayerPalettes(void) if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) { if (gLinkPlayers[i].gender == MALE) - LoadPalette(gObjectEventPal_RubySapphireBrendan, OBJ_PLTT_ID(0x6 + i), PLTT_SIZE_4BPP); + LoadPalette(gObjectEventPal_RubySapphireBrendan, OBJ_PLTT_ID(6 + i), PLTT_SIZE_4BPP); else - LoadPalette(gObjectEventPal_RubySapphireMay, OBJ_PLTT_ID(0x6 + i), PLTT_SIZE_4BPP); + LoadPalette(gObjectEventPal_RubySapphireMay, OBJ_PLTT_ID(6 + i), PLTT_SIZE_4BPP); } else { if (gLinkPlayers[i].gender == MALE) - LoadPalette(gObjectEventPal_Brendan, OBJ_PLTT_ID(0x6 + i), PLTT_SIZE_4BPP); + LoadPalette(gObjectEventPal_Brendan, OBJ_PLTT_ID(6 + i), PLTT_SIZE_4BPP); else - LoadPalette(gObjectEventPal_May, OBJ_PLTT_ID(0x6 + i), PLTT_SIZE_4BPP); + LoadPalette(gObjectEventPal_May, OBJ_PLTT_ID(6 + i), PLTT_SIZE_4BPP); } } } diff --git a/src/credits.c b/src/credits.c index 0764e185db..16c9152dab 100644 --- a/src/credits.c +++ b/src/credits.c @@ -185,7 +185,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 9, .width = 30, .height = 12, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 1 }, DUMMY_WIN_TEMPLATE, @@ -365,7 +365,7 @@ static void InitCreditsBgsAndWindows(void) ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sBackgroundTemplates, ARRAY_COUNT(sBackgroundTemplates)); SetBgTilemapBuffer(0, AllocZeroed(BG_SCREEN_SIZE)); - LoadPalette(sCredits_Pal, BG_PLTT_ID(0x8), 2 * PLTT_SIZE_4BPP); + LoadPalette(sCredits_Pal, BG_PLTT_ID(8), 2 * PLTT_SIZE_4BPP); InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); PutWindowTilemap(0); @@ -549,7 +549,7 @@ static void Task_LoadShowMons(u8 taskId) gReservedSpritePaletteCount = 8; LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM); LZ77UnCompVram(gBirchGrassTilemap, (void *)(BG_SCREEN_ADDR(7))); - LoadPalette(gBirchBagGrassPal[0] + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(2 * 16 - 1)); + LoadPalette(gBirchBagGrassPal[0] + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(2 * 16 - 1)); for (i = 0; i < MON_PIC_SIZE; i++) gDecompressionBuffer[i] = 0x11; @@ -624,7 +624,7 @@ static void Task_CreditsTheEnd3(u8 taskId) { ResetGpuAndVram(); ResetPaletteFade(); - LoadTheEndScreen(0, 0x3800, BG_PLTT_ID(0x0)); + LoadTheEndScreen(0, 0x3800, BG_PLTT_ID(0)); ResetSpriteData(); FreeAllSpritePalettes(); BeginNormalPaletteFade(PALETTES_ALL, 8, 16, 0, RGB_BLACK); diff --git a/src/data/party_menu.h b/src/data/party_menu.h index a3cf30fc13..fdceb9b7d9 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -140,7 +140,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 3, .width = 10, .height = 7, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0x63, }, { @@ -149,7 +149,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 1, .width = 18, .height = 3, - .paletteNum = 0x4, + .paletteNum = 4, .baseBlock = 0xA9, }, { @@ -158,7 +158,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 4, .width = 18, .height = 3, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0xDF, }, { @@ -167,7 +167,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 7, .width = 18, .height = 3, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 0x115, }, { @@ -176,7 +176,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 10, .width = 18, .height = 3, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 0x14B, }, { @@ -185,7 +185,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 13, .width = 18, .height = 3, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x181, }, { @@ -194,7 +194,7 @@ static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x1DF, }, DUMMY_WIN_TEMPLATE @@ -208,7 +208,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 1, .width = 10, .height = 7, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0x63, }, { @@ -217,7 +217,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 8, .width = 10, .height = 7, - .paletteNum = 0x4, + .paletteNum = 4, .baseBlock = 0xA9, }, { @@ -226,7 +226,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 1, .width = 18, .height = 3, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0xEF, }, { @@ -235,7 +235,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 5, .width = 18, .height = 3, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 0x125, }, { @@ -244,7 +244,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 9, .width = 18, .height = 3, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 0x15B, }, { @@ -253,7 +253,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 13, .width = 18, .height = 3, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x191, }, { @@ -262,7 +262,7 @@ static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x1DF, }, DUMMY_WIN_TEMPLATE @@ -276,7 +276,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 1, .width = 10, .height = 7, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0x63, }, { @@ -285,7 +285,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 8, .width = 10, .height = 7, - .paletteNum = 0x4, + .paletteNum = 4, .baseBlock = 0xA9, }, { @@ -294,7 +294,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 2, .width = 18, .height = 3, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0xEF, }, { @@ -303,7 +303,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 5, .width = 18, .height = 3, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 0x125, }, { @@ -312,7 +312,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 9, .width = 18, .height = 3, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 0x15B, }, { @@ -321,7 +321,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 12, .width = 18, .height = 3, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x191, }, { @@ -330,7 +330,7 @@ static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x1DF, }, DUMMY_WIN_TEMPLATE @@ -344,7 +344,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 2, .width = 10, .height = 7, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0x63, }, { @@ -353,7 +353,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 3, .width = 18, .height = 3, - .paletteNum = 0x5, + .paletteNum = 5, .baseBlock = 0xA9, }, { @@ -362,7 +362,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 6, .width = 18, .height = 3, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 0xDF, }, { @@ -371,7 +371,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 11, .width = 10, .height = 7, - .paletteNum = 0x4, + .paletteNum = 4, .baseBlock = 0x115, }, { @@ -380,7 +380,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 12, .width = 18, .height = 3, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 0x16B, }, { @@ -389,7 +389,7 @@ static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = .tilemapTop = 15, .width = 18, .height = 3, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x1A1, }, DUMMY_WIN_TEMPLATE @@ -402,7 +402,7 @@ static const struct WindowTemplate sCancelButtonWindowTemplate = .tilemapTop = 17, .width = 6, .height = 2, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0x1C7, }; @@ -413,7 +413,7 @@ static const struct WindowTemplate sMultiCancelButtonWindowTemplate = .tilemapTop = 18, .width = 6, .height = 2, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0x1C7, }; @@ -424,7 +424,7 @@ static const struct WindowTemplate sConfirmButtonWindowTemplate = .tilemapTop = 16, .width = 6, .height = 2, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0x1D3, }; @@ -435,7 +435,7 @@ static const struct WindowTemplate sDefaultPartyMsgWindowTemplate = .tilemapTop = 17, .width = 21, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x24F, }; @@ -446,7 +446,7 @@ static const struct WindowTemplate sDoWhatWithMonMsgWindowTemplate = .tilemapTop = 17, .width = 16, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x279, }; @@ -457,7 +457,7 @@ static const struct WindowTemplate sDoWhatWithItemMsgWindowTemplate = .tilemapTop = 17, .width = 20, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x299, }; @@ -468,7 +468,7 @@ static const struct WindowTemplate sDoWhatWithMailMsgWindowTemplate = .tilemapTop = 17, .width = 18, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x299, }; @@ -479,7 +479,7 @@ static const struct WindowTemplate sWhichMoveMsgWindowTemplate = .tilemapTop = 17, .width = 16, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x299, }; @@ -490,7 +490,7 @@ static const struct WindowTemplate sAlreadyHoldingOneMsgWindowTemplate = .tilemapTop = 15, .width = 20, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x299, }; @@ -501,7 +501,7 @@ static const struct WindowTemplate sItemGiveTakeWindowTemplate = .tilemapTop = 13, .width = 6, .height = 6, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x39D, }; @@ -512,7 +512,7 @@ static const struct WindowTemplate sMailReadTakeWindowTemplate = .tilemapTop = 13, .width = 8, .height = 6, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x39D, }; @@ -523,7 +523,7 @@ static const struct WindowTemplate sMoveSelectWindowTemplate = .tilemapTop = 11, .width = 10, .height = 8, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x2E9, }; @@ -534,7 +534,7 @@ static const struct WindowTemplate sPartyMenuYesNoWindowTemplate = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x2E9, }; @@ -545,7 +545,7 @@ static const struct WindowTemplate sLevelUpStatsWindowTemplate = .tilemapTop = 1, .width = 10, .height = 11, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x2E9, }; @@ -556,7 +556,7 @@ static const struct WindowTemplate sUnusedWindowTemplate1 = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x1DF, }; @@ -567,7 +567,7 @@ static const struct WindowTemplate sUnusedWindowTemplate2 = .tilemapTop = 13, .width = 18, .height = 3, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x39D, }; diff --git a/src/data/trade.h b/src/data/trade.h index 9cf4955bcc..80d17a49ba 100644 --- a/src/data/trade.h +++ b/src/data/trade.h @@ -463,7 +463,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 7, .width = 22, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 30 }, { @@ -472,7 +472,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 10, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 118 }, { @@ -481,7 +481,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 158 }, { @@ -490,7 +490,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 174 }, { @@ -499,7 +499,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 190 }, { @@ -508,7 +508,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 206 }, { @@ -517,7 +517,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 222 }, { @@ -526,7 +526,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 238 }, { @@ -535,7 +535,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 254 }, { @@ -544,7 +544,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 270 }, { @@ -553,7 +553,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 286 }, { @@ -562,7 +562,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 10, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 302 }, { @@ -571,7 +571,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 318 }, { @@ -580,7 +580,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 15, .width = 8, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 334 }, { @@ -589,7 +589,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 14, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 350 }, { @@ -598,7 +598,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 8, .width = 11, .height = 8, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 378 }, { @@ -607,7 +607,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 5, .width = 14, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 466 }, { @@ -616,7 +616,7 @@ static const struct WindowTemplate sTradeMenuWindowTemplates[] = .tilemapTop = 8, .width = 11, .height = 8, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 494 }, DUMMY_WIN_TEMPLATE, @@ -629,7 +629,7 @@ static const struct WindowTemplate sTradeYesNoWindowTemplate = .tilemapTop = 13, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 582 }; @@ -1112,7 +1112,7 @@ static const struct WindowTemplate sTradeSequenceWindowTemplates[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 64 }, DUMMY_WIN_TEMPLATE @@ -1125,7 +1125,7 @@ const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 188 }; diff --git a/src/data/union_room.h b/src/data/union_room.h index 804a8435ff..cf4b12b5d5 100644 --- a/src/data/union_room.h +++ b/src/data/union_room.h @@ -627,7 +627,7 @@ static const struct WindowTemplate sWindowTemplate_BButtonCancel = { .tilemapTop = 0, .width = 30, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0008 }; @@ -669,7 +669,7 @@ static const struct WindowTemplate sWindowTemplate_PlayerList = { .tilemapTop = 3, .width = 13, .height = 8, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0044 }; @@ -679,7 +679,7 @@ static const struct WindowTemplate sWindowTemplate_5PlayerList = { .tilemapTop = 3, .width = 13, .height = 10, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0044 }; @@ -689,7 +689,7 @@ static const struct WindowTemplate sWindowTemplate_NumPlayerMode = { .tilemapTop = 3, .width = 7, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x00c6 }; @@ -728,7 +728,7 @@ static const struct WindowTemplate sWindowTemplate_GroupList = { .tilemapTop = 3, .width = 17, .height = 10, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0044 }; @@ -738,7 +738,7 @@ static const struct WindowTemplate sWindowTemplate_PlayerNameAndId = { .tilemapTop = 3, .width = 7, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x00ee }; @@ -788,7 +788,7 @@ static const struct WindowTemplate sWindowTemplate_InviteToActivity = { .tilemapTop = 5, .width = 16, .height = 8, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0001 }; @@ -826,7 +826,7 @@ static const struct WindowTemplate sWindowTemplate_RegisterForTrade = { .tilemapTop = 7, .width = 16, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0001 }; @@ -863,7 +863,7 @@ static const struct WindowTemplate sWindowTemplate_TradingBoardRequestType = { .tilemapTop = 1, .width = 16, .height = 12, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0001 }; @@ -915,7 +915,7 @@ static const struct WindowTemplate sWindowTemplate_TradingBoardHeader = { .tilemapTop = 1, .width = 28, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x0001 }; @@ -925,7 +925,7 @@ static const struct WindowTemplate sWindowTemplate_TradingBoardMain = { .tilemapTop = 5, .width = 28, .height = 12, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x0039 }; @@ -970,7 +970,7 @@ static const struct WindowTemplate sWindowTemplate_Unused = { .tilemapTop = 5, .width = 28, .height = 12, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x0039 }; diff --git a/src/daycare.c b/src/daycare.c index 57119c3ca7..19d5edbb2c 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -46,7 +46,7 @@ static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = .tilemapTop = 1, .width = 14, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 8 }; diff --git a/src/decoration.c b/src/decoration.c index 684e67bc87..165c7aa990 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -263,7 +263,7 @@ static const struct WindowTemplate sDecorationWindowTemplates[WINDOW_COUNT] = .tilemapTop = 1, .width = 18, .height = 2 * ARRAY_COUNT(sDecorationMainMenuActions), - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0001 }, { @@ -272,7 +272,7 @@ static const struct WindowTemplate sDecorationWindowTemplates[WINDOW_COUNT] = .tilemapTop = 1, .width = 13, .height = 18, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x0091 }, { @@ -281,7 +281,7 @@ static const struct WindowTemplate sDecorationWindowTemplates[WINDOW_COUNT] = .tilemapTop = 1, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x017b }, { @@ -290,7 +290,7 @@ static const struct WindowTemplate sDecorationWindowTemplates[WINDOW_COUNT] = .tilemapTop = 13, .width = 13, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0193 } }; @@ -687,7 +687,7 @@ static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId) static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId) { - LoadPalette(sDecorationMenuPalette, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); + LoadPalette(sDecorationMenuPalette, BG_PLTT_ID(13), PLTT_SIZE_4BPP); ClearDialogWindowAndFrame(0, FALSE); RemoveDecorationWindow(WINDOW_MAIN_MENU); InitDecorationCategoriesWindow(taskId); @@ -833,7 +833,7 @@ static void ReturnToActionsMenuFromCategories(u8 taskId) void ShowDecorationCategoriesWindow(u8 taskId) { - LoadPalette(sDecorationMenuPalette, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); + LoadPalette(sDecorationMenuPalette, BG_PLTT_ID(13), PLTT_SIZE_4BPP); ClearDialogWindowAndFrame(0, FALSE); gTasks[taskId].tDecorationMenuCommand = DECOR_MENU_TRADE; sCurDecorationCategory = DECORCAT_DESK; diff --git a/src/diploma.c b/src/diploma.c index 5fe8aef83d..e964a9cb3e 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -72,7 +72,7 @@ void CB2_ShowDiploma(void) ResetSpriteData(); ResetPaletteFade(); FreeAllSpritePalettes(); - LoadPalette(sDiplomaPalettes, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadPalette(sDiplomaPalettes, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); sDiplomaTilemapPtr = malloc(0x1000); InitDiplomaBg(); InitDiplomaWindow(); @@ -186,7 +186,7 @@ static const struct WindowTemplate sDiplomaWinTemplates[2] = .tilemapTop = 2, .width = 20, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1, }, DUMMY_WIN_TEMPLATE, @@ -196,7 +196,7 @@ static void InitDiplomaWindow(void) { InitWindows(sDiplomaWinTemplates); DeactivateAllTextPrinters(); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); FillWindowPixelBuffer(0, PIXEL_FILL(0)); PutWindowTilemap(0); } diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index e1fe5248f1..54a3a531bc 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -2931,7 +2931,7 @@ static const struct WindowTemplate sWindowTemplates_Records = .tilemapTop = 1, .width = 20, .height = 11, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x1, }; @@ -3005,8 +3005,8 @@ static void PrintRecordsText(u8 windowId, s32 width) recordNums[1] = gSaveBlock2Ptr->berryPick.bestScore; recordNums[2] = gSaveBlock2Ptr->berryPick.berriesPickedInRow; - LoadUserWindowBorderGfx_(windowId, 0x21D, BG_PLTT_ID(0xD)); - DrawTextBorderOuter(windowId, 0x21D, 0xD); + LoadUserWindowBorderGfx_(windowId, 0x21D, BG_PLTT_ID(13)); + DrawTextBorderOuter(windowId, 0x21D, 13); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_BerryPickingRecords, GetStringCenterAlignXOffset(FONT_NORMAL, gText_BerryPickingRecords, width * 8), 1, TEXT_SKIP_DRAW, NULL); for (i = 0; i < NUM_RECORD_TYPES; i++) @@ -3401,7 +3401,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 1, .width = 28, .height = 2, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x13, }, { @@ -3410,7 +3410,7 @@ static const struct WindowTemplate sWindowTemplates_Results[] = .tilemapTop = 5, .width = 28, .height = 14, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x4B, } }; @@ -3422,7 +3422,7 @@ static const struct WindowTemplate sWindowTemplate_Prize = .tilemapTop = 5, .width = 28, .height = 7, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x4B, }; @@ -3439,7 +3439,7 @@ static const struct WindowTemplate sWindowTemplates_PlayAgain[] = .tilemapTop = 8, .width = 19, .height = 3, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x13, }, [WIN_YES_NO] = { @@ -3448,7 +3448,7 @@ static const struct WindowTemplate sWindowTemplates_PlayAgain[] = .tilemapTop = 7, .width = 6, .height = 4, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x4C, } }; @@ -3460,7 +3460,7 @@ static const struct WindowTemplate sWindowTemplate_DroppedOut = .tilemapTop = 6, .width = 22, .height = 5, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x13, }; @@ -3471,7 +3471,7 @@ static const struct WindowTemplate sWindowTemplate_CommStandby = .tilemapTop = 8, .width = 19, .height = 3, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x13, }; @@ -4429,12 +4429,12 @@ static void ResetBerryAndStatusBarSprites(void) static void LoadWindowFrameGfx(u8 frameId) { LoadBgTiles(BG_INTERFACE, GetWindowFrameTilesPal(frameId)->tiles, 0x120, 1); - LoadPalette(GetWindowFrameTilesPal(frameId)->pal, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); + LoadPalette(GetWindowFrameTilesPal(frameId)->pal, BG_PLTT_ID(10), PLTT_SIZE_4BPP); } static void LoadUserWindowFrameGfx(void) { - LoadUserWindowBorderGfx_(0, 0xA, BG_PLTT_ID(0xB)); + LoadUserWindowBorderGfx_(0, 0xA, BG_PLTT_ID(11)); } static void ResetGfxState(void) @@ -4448,7 +4448,7 @@ static void ResetGfxState(void) static void DrawYesNoMessageWindow(const struct WindowTemplate *template) { - u8 pal = 0xA; + u8 pal = 10; FillBgTilemapBufferRect(BG_INTERFACE, 1, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, pal); FillBgTilemapBufferRect(BG_INTERFACE, 2, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, pal); @@ -4462,7 +4462,7 @@ static void DrawYesNoMessageWindow(const struct WindowTemplate *template) static void DrawMessageWindow(const struct WindowTemplate *template) { - u8 pal = 0xB; + u8 pal = 11; FillBgTilemapBufferRect(BG_INTERFACE, 10, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, pal); FillBgTilemapBufferRect(BG_INTERFACE, 11, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, pal); @@ -4634,7 +4634,7 @@ static void ShowNames(void) window.bg = BG_INTERFACE; window.width = 7; window.height = 2; - window.paletteNum = 0xD; + window.paletteNum = 13; window.baseBlock = 0x13; for (i = 0; i < numPlayers; coords++, i++) { @@ -5193,7 +5193,7 @@ static bool32 LoadBgGfx(void) switch (sGfx->loadState) { case 0: - LoadPalette(sBg_Pal, BG_PLTT_ID(0x0), sizeof(sBg_Pal)); + LoadPalette(sBg_Pal, BG_PLTT_ID(0), sizeof(sBg_Pal)); break; case 1: ResetTempTileDataBuffers(); @@ -5209,7 +5209,7 @@ static bool32 LoadBgGfx(void) return FALSE; break; case 5: - LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(13), PLTT_SIZE_4BPP); break; default: sGfx->loadState = 0; diff --git a/src/easy_chat.c b/src/easy_chat.c index 574ed22ee5..b74edcf842 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -820,7 +820,7 @@ static const struct WindowTemplate sEasyChatWindowTemplates[] = { .tilemapTop = 0, .width = 18, .height = 2, - .paletteNum = 0xA, + .paletteNum = 10, .baseBlock = 0x10, }, { @@ -829,7 +829,7 @@ static const struct WindowTemplate sEasyChatWindowTemplates[] = { .tilemapTop = 15, .width = 24, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xA, }, { @@ -838,7 +838,7 @@ static const struct WindowTemplate sEasyChatWindowTemplates[] = { .tilemapTop = 0, .width = 28, .height = 32, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0, }, DUMMY_WIN_TEMPLATE, @@ -850,7 +850,7 @@ static const struct WindowTemplate sEasyChatYesNoWindowTemplate = { .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x6A, }; @@ -3911,13 +3911,13 @@ static void InitEasyChatBgs(void) static void LoadEasyChatPalettes(void) { ResetPaletteFade(); - LoadPalette(gEasyChatMode_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); - LoadPalette(sTextInputFrameOrange_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); - LoadPalette(sTextInputFrameGreen_Pal, BG_PLTT_ID(0x4), PLTT_SIZE_4BPP); - LoadPalette(sTitleText_Pal, BG_PLTT_ID(0xA), PLTT_SIZEOF(4)); - LoadPalette(sText_Pal, BG_PLTT_ID(0xB), PLTT_SIZEOF(6)); - LoadPalette(sText_Pal, BG_PLTT_ID(0xF), PLTT_SIZEOF(6)); - LoadPalette(sText_Pal, BG_PLTT_ID(0x3), PLTT_SIZEOF(6)); + LoadPalette(gEasyChatMode_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(sTextInputFrameOrange_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); + LoadPalette(sTextInputFrameGreen_Pal, BG_PLTT_ID(4), PLTT_SIZE_4BPP); + LoadPalette(sTitleText_Pal, BG_PLTT_ID(10), PLTT_SIZEOF(4)); + LoadPalette(sText_Pal, BG_PLTT_ID(11), PLTT_SIZEOF(6)); + LoadPalette(sText_Pal, BG_PLTT_ID(15), PLTT_SIZEOF(6)); + LoadPalette(sText_Pal, BG_PLTT_ID(3), PLTT_SIZEOF(6)); } static void PrintTitle(void) @@ -3951,8 +3951,8 @@ static void PrintEasyChatTextWithColors(u8 windowId, u8 fontId, const u8 *str, u static void PrintInitialInstructions(void) { FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17); - LoadUserWindowBorderGfx(1, 1, BG_PLTT_ID(0xE)); - DrawTextBorderOuter(1, 1, 0xE); + LoadUserWindowBorderGfx(1, 1, BG_PLTT_ID(14)); + DrawTextBorderOuter(1, 1, 14); PrintEasyChatStdMessage(MSG_INSTRUCTIONS); PutWindowTilemap(1); CopyBgTilemapBufferToVram(0); @@ -4024,7 +4024,7 @@ static void AddPhraseWindow(void) template.tilemapTop = sPhraseFrameDimensions[frameId].top; template.width = sPhraseFrameDimensions[frameId].width; template.height = sPhraseFrameDimensions[frameId].height; - template.paletteNum = 0xB; + template.paletteNum = 11; template.baseBlock = 0x6C; sScreenControl->windowId = AddWindow(&template); PutWindowTilemap(sScreenControl->windowId); @@ -5069,7 +5069,7 @@ static void AddMainScreenButtonWindow(void) template.tilemapTop = 11; template.width = 28; template.height = 2; - template.paletteNum = 0xB; + template.paletteNum = 11; template.baseBlock = 0x34; windowId = AddWindow(&template); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 1832ec2156..08c4d1feed 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -264,7 +264,7 @@ static const struct WindowTemplate sWinTemplates_EggHatch[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 64 }, DUMMY_WIN_TEMPLATE @@ -277,7 +277,7 @@ static const struct WindowTemplate sYesNoWinTemplate = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 424 }; @@ -532,7 +532,7 @@ static void CB2_LoadEggHatch(void) case 2: DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); - LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0), PLTT_SIZE_4BPP); gMain.state++; break; case 3: @@ -556,7 +556,7 @@ static void CB2_LoadEggHatch(void) break; case 7: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(0x1), 5 * PLTT_SIZE_4BPP); + LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(1), 5 * PLTT_SIZE_4BPP); LoadBgTiles(1, gTradeGba_Gfx, 0x1420, 0); CopyToBgTilemapBuffer(1, gTradePlatform_Tilemap, 0x1000, 0); CopyBgTilemapBufferToVram(1); @@ -678,7 +678,7 @@ static void CB2_EggHatch(void) // Print the nickname prompt if (!IsTextPrinterActive(sEggHatchData->windowId)) { - LoadUserWindowBorderGfx(sEggHatchData->windowId, 0x140, BG_PLTT_ID(0xE)); + LoadUserWindowBorderGfx(sEggHatchData->windowId, 0x140, BG_PLTT_ID(14)); CreateYesNoMenu(&sYesNoWinTemplate, 0x140, 0xE, 0); sEggHatchData->state++; } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 9ca441bc4f..eeb22edd24 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -263,7 +263,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_LEFT], currSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(currSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(1), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(currSpecies, B_POSITION_OPPONENT_LEFT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -278,7 +278,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_RIGHT], postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -356,7 +356,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -427,7 +427,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_RIGHT], postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); gMain.state++; } break; @@ -492,7 +492,7 @@ void TradeEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, u8 preEvoSprit postEvoSpecies); pokePal = GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, trainerId, personality); - LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadCompressedPalette(pokePal->data, OBJ_PLTT_ID(2), PLTT_SIZE_4BPP); SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_LEFT); gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; @@ -1301,7 +1301,7 @@ static void Task_TradeEvolutionScene(u8 taskId) case T_MVSTATE_PRINT_YES_NO: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - LoadUserWindowBorderGfx(0, 0xA8, BG_PLTT_ID(0xE)); + LoadUserWindowBorderGfx(0, 0xA8, BG_PLTT_ID(14)); CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, 0xA8, 0xE, 0); sEvoCursorPos = 0; gTasks[taskId].tLearnMoveState++; @@ -1507,7 +1507,7 @@ static void Task_UpdateBgPalette(u8 taskId) else { // Haven't reached final palette in current stage, load the current palette - LoadPalette(&sBgAnimPal[tPalStage * 16], BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); + LoadPalette(&sBgAnimPal[tPalStage * 16], BG_PLTT_ID(10), PLTT_SIZE_4BPP); tCycleTimer = 0; tPalStage++; } @@ -1605,7 +1605,7 @@ static void StartBgAnimation(bool8 isLink) else innerBgId = 1, outerBgId = 3; - LoadPalette(sBgAnim_Intro_Pal, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); + LoadPalette(sBgAnim_Intro_Pal, BG_PLTT_ID(10), PLTT_SIZE_4BPP); DecompressAndLoadBgGfxUsingHeap(1, sBgAnim_Gfx, FALSE, 0, 0); CopyToBgTilemapBuffer(innerBgId, sBgAnim_Inner_Tilemap, 0, 0); @@ -1644,7 +1644,7 @@ static void PauseBgPaletteAnim(void) if (taskId != TASK_NONE) gTasks[taskId].tPaused = TRUE; - FillPalette(RGB_BLACK, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); + FillPalette(RGB_BLACK, BG_PLTT_ID(10), PLTT_SIZE_4BPP); } #undef tPaused @@ -1658,7 +1658,7 @@ static void StopBgAnimation(void) if ((taskId = FindTaskIdByFunc(Task_AnimateBg)) != TASK_NONE) DestroyTask(taskId); - FillPalette(RGB_BLACK, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); + FillPalette(RGB_BLACK, BG_PLTT_ID(10), PLTT_SIZE_4BPP); RestoreBgAfterAnim(); } diff --git a/src/field_effect.c b/src/field_effect.c index 242d55770f..0b155d935c 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2620,7 +2620,7 @@ static void FieldMoveShowMonOutdoorsEffect_LoadGfx(struct Task *task) u16 delta = ((REG_BG0CNT >> 8) << 11); CpuCopy16(sFieldMoveStreaksOutdoors_Gfx, (void *)(VRAM + offset), 0x200); CpuFill32(0, (void *)(VRAM + delta), 0x800); - LoadPalette(sFieldMoveStreaksOutdoors_Pal, BG_PLTT_ID(0xF), sizeof(sFieldMoveStreaksOutdoors_Pal)); + LoadPalette(sFieldMoveStreaksOutdoors_Pal, BG_PLTT_ID(15), sizeof(sFieldMoveStreaksOutdoors_Pal)); LoadFieldMoveOutdoorStreaksTilemap(delta); task->tState++; } @@ -2783,7 +2783,7 @@ static void FieldMoveShowMonIndoorsEffect_LoadGfx(struct Task *task) task->data[12] = delta; CpuCopy16(sFieldMoveStreaksIndoors_Gfx, (void *)(VRAM + offset), 0x80); CpuFill32(0, (void *)(VRAM + delta), 0x800); - LoadPalette(sFieldMoveStreaksIndoors_Pal, BG_PLTT_ID(0xF), sizeof(sFieldMoveStreaksIndoors_Pal)); + LoadPalette(sFieldMoveStreaksIndoors_Pal, BG_PLTT_ID(15), sizeof(sFieldMoveStreaksIndoors_Pal)); task->tState++; } @@ -3082,7 +3082,7 @@ u8 FldEff_RayquazaSpotlight(void) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(14, 14)); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); - LoadPalette(sSpotlight_Pal, BG_PLTT_ID(0xC), sizeof(sSpotlight_Pal)); + LoadPalette(sSpotlight_Pal, BG_PLTT_ID(12), sizeof(sSpotlight_Pal)); SetGpuReg(REG_OFFSET_BG0VOFS, 120); for (i = 3; i < 15; i++) { diff --git a/src/field_region_map.c b/src/field_region_map.c index cd728aef79..4a3c2bfd16 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -72,7 +72,7 @@ static const struct WindowTemplate sFieldRegionMapWindowTemplates[] = .tilemapTop = 17, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, { @@ -81,7 +81,7 @@ static const struct WindowTemplate sFieldRegionMapWindowTemplates[] = .tilemapTop = 1, .width = 7, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 25 }, DUMMY_WIN_TEMPLATE @@ -115,7 +115,7 @@ static void MCB2_InitRegionMapRegisters(void) InitBgsFromTemplates(1, sFieldRegionMapBgTemplates, ARRAY_COUNT(sFieldRegionMapBgTemplates)); InitWindows(sFieldRegionMapWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x27, BG_PLTT_ID(0xD)); + LoadUserWindowBorderGfx(0, 0x27, BG_PLTT_ID(13)); ClearScheduledBgCopiesToVram(); SetMainCallback2(MCB2_FieldUpdateRegionMap); SetVBlankCallback(VBCB_FieldUpdateRegionMap); diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 2192aa574b..b09eeaa6be 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -1079,7 +1079,7 @@ static void LoadOrbEffectPalette(bool8 blueOrb) color[0] = RGB_BLUE; for (i = 0; i < 16; i++) - LoadPalette(color, BG_PLTT_ID(0xF) + i, PLTT_SIZEOF(1)); + LoadPalette(color, BG_PLTT_ID(15) + i, PLTT_SIZEOF(1)); } static bool8 UpdateOrbEffectBlend(u16 shakeDir) diff --git a/src/field_specials.c b/src/field_specials.c index 74c4a5e7ac..ed5592614d 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1638,7 +1638,7 @@ const struct WindowTemplate gElevatorFloor_WindowTemplate = .tilemapTop = 1, .width = 8, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 8, }; @@ -2845,7 +2845,7 @@ void ShowBattlePointsWindow(void) .tilemapTop = 1, .width = 6, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 8, }; @@ -2891,7 +2891,7 @@ void ShowFrontierExchangeCornerItemIconWindow(void) .tilemapTop = 9, .width = 4, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 20, }; @@ -3031,7 +3031,7 @@ static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection) .tilemapTop = 7, .width = 12, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 28, }; @@ -3266,7 +3266,7 @@ static void Task_DeoxysRockInteraction(u8 taskId) static void ChangeDeoxysRockLevel(u8 rockLevel) { u8 objectEventId; - LoadPalette(&sDeoxysRockPalettes[rockLevel], OBJ_PLTT_ID(0xA), PLTT_SIZEOF(4)); + LoadPalette(&sDeoxysRockPalettes[rockLevel], OBJ_PLTT_ID(10), PLTT_SIZEOF(4)); TryGetObjectEventIdByLocalIdAndMap(LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId); if (rockLevel == 0) @@ -3314,7 +3314,7 @@ void IncrementBirthIslandRockStepCount(void) void SetDeoxysRockPalette(void) { - LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], OBJ_PLTT_ID(0xA), PLTT_SIZEOF(4)); + LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], OBJ_PLTT_ID(10), PLTT_SIZEOF(4)); BlendPalettes(0x04000000, 16, 0); } diff --git a/src/field_weather.c b/src/field_weather.c index 164da8343d..13271f435f 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -556,7 +556,7 @@ static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaI { // No gamma shift. Simply blend the colors. BlendPalette(palOffset, 16, blendCoeff, blendColor); - palOffset += 0x10; + palOffset += 16; } else { @@ -601,14 +601,14 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl rBlend = color.r; gBlend = color.g; bBlend = color.b; - palOffset = 0x00; + palOffset = 0; for (curPalIndex = 0; curPalIndex < 32; curPalIndex++) { if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) { // No gamma shift. Simply blend the colors. BlendPalette(palOffset, 16, blendCoeff, blendColor); - palOffset += 0x10; + palOffset += 16; } else { @@ -649,7 +649,7 @@ static void ApplyFogBlend(u8 blendCoeff, u16 blendColor) u8 bBlend; u16 curPalIndex; - BlendPalette(BG_PLTT_ID(0x0), 16 * 16, blendCoeff, blendColor); + BlendPalette(BG_PLTT_ID(0), 16 * 16, blendCoeff, blendColor); color = *(struct RGBColor *)&blendColor; rBlend = color.r; gBlend = color.g; diff --git a/src/fieldmap.c b/src/fieldmap.c index 479150d489..ef890273f1 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -912,7 +912,7 @@ void CopySecondaryTilesetToVramUsingHeap(struct MapLayout const *mapLayout) static void LoadPrimaryTilesetPalette(struct MapLayout const *mapLayout) { - LoadTilesetPalette(mapLayout->primaryTileset, BG_PLTT_ID(0x0), NUM_PALS_IN_PRIMARY * PLTT_SIZE_4BPP); + LoadTilesetPalette(mapLayout->primaryTileset, BG_PLTT_ID(0), NUM_PALS_IN_PRIMARY * PLTT_SIZE_4BPP); } void LoadSecondaryTilesetPalette(struct MapLayout const *mapLayout) diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 3790636ea2..87d0117410 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -218,8 +218,8 @@ static void Task_ExitCaveTransition2(u8 taskId) SetGpuReg(REG_OFFSET_DISPCNT, 0); LZ77UnCompVram(sCaveTransitionTiles, (void *)(VRAM + 0xC000)); LZ77UnCompVram(sCaveTransitionTilemap, (void *)(VRAM + 0xF800)); - LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); - LoadPalette(sCaveTransitionPalette_Exit, BG_PLTT_ID(0xE), 0x10); + LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(14), PLTT_SIZE_4BPP); + LoadPalette(sCaveTransitionPalette_Exit, BG_PLTT_ID(14), PLTT_SIZEOF(8)); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 @@ -270,11 +270,11 @@ static void Task_ExitCaveTransition4(u8 taskId) if (count < 8) { gTasks[taskId].data[2]++; - LoadPalette(&sCaveTransitionPalette_Exit[count], BG_PLTT_ID(0xE), PLTT_SIZEOF(8) - PLTT_SIZEOF(count)); + LoadPalette(&sCaveTransitionPalette_Exit[count], BG_PLTT_ID(14), PLTT_SIZEOF(8) - PLTT_SIZEOF(count)); } else { - LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(0), PLTT_SIZE_4BPP); gTasks[taskId].func = Task_ExitCaveTransition5; gTasks[taskId].data[2] = 8; } @@ -315,8 +315,8 @@ static void Task_EnterCaveTransition2(u8 taskId) | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON); - LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); - LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(14), PLTT_SIZE_4BPP); + LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0), PLTT_SIZE_4BPP); gTasks[taskId].func = Task_EnterCaveTransition3; gTasks[taskId].data[0] = 16; gTasks[taskId].data[1] = 0; @@ -331,7 +331,7 @@ static void Task_EnterCaveTransition3(u8 taskId) { gTasks[taskId].data[2]++; gTasks[taskId].data[2]++; - LoadPalette(&sCaveTransitionPalette_Enter[15 - count], BG_PLTT_ID(0xE), PLTT_SIZEOF(count + 1)); + LoadPalette(&sCaveTransitionPalette_Enter[15 - count], BG_PLTT_ID(14), PLTT_SIZEOF(count + 1)); } else { @@ -359,7 +359,7 @@ static void Task_EnterCaveTransition4(u8 taskId) } else { - LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sCaveTransitionPalette_Black, BG_PLTT_ID(0), PLTT_SIZE_4BPP); SetMainCallback2(gMain.savedCallback); } } diff --git a/src/frontier_pass.c b/src/frontier_pass.c index 48d4a5fce2..337fb7a653 100644 --- a/src/frontier_pass.c +++ b/src/frontier_pass.c @@ -253,7 +253,7 @@ static const struct WindowTemplate sPassWindowTemplates[WINDOW_COUNT] = .tilemapTop = 3, .width = 12, .height = 3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x1, }, [WINDOW_BATTLE_RECORD] = { @@ -262,7 +262,7 @@ static const struct WindowTemplate sPassWindowTemplates[WINDOW_COUNT] = .tilemapTop = 10, .width = 12, .height = 3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x26, }, [WINDOW_BATTLE_POINTS] = { @@ -271,7 +271,7 @@ static const struct WindowTemplate sPassWindowTemplates[WINDOW_COUNT] = .tilemapTop = 13, .width = 12, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x4B, }, [WINDOW_DESCRIPTION] = { @@ -280,7 +280,7 @@ static const struct WindowTemplate sPassWindowTemplates[WINDOW_COUNT] = .tilemapTop = 18, .width = 30, .height = 3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x7C, }, DUMMY_WIN_TEMPLATE @@ -294,7 +294,7 @@ static const struct WindowTemplate sMapWindowTemplates[] = .tilemapTop = 1, .width = 15, .height = 5, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x1, }, [MAP_WINDOW_NAME] = { @@ -303,7 +303,7 @@ static const struct WindowTemplate sMapWindowTemplates[] = .tilemapTop = 1, .width = 10, .height = 14, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x4D, }, [MAP_WINDOW_DESCRIPTION] = { @@ -312,7 +312,7 @@ static const struct WindowTemplate sMapWindowTemplates[] = .tilemapTop = 16, .width = 26, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xDA, }, DUMMY_WIN_TEMPLATE @@ -769,8 +769,8 @@ static bool32 InitFrontierPass(void) break; case 8: LoadPalette(gFrontierPassBg_Pal[0], 0, 13 * PLTT_SIZE_4BPP); - LoadPalette(gFrontierPassBg_Pal[1 + sPassData->trainerStars], BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); - LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(gFrontierPassBg_Pal[1 + sPassData->trainerStars], BG_PLTT_ID(1), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(15), PLTT_SIZE_4BPP); DrawFrontierPassBg(); UpdateAreaHighlight(sPassData->cursorArea, sPassData->previousCursorArea); if (sPassData->areaToShow == CURSOR_AREA_MAP || sPassData->areaToShow == CURSOR_AREA_CARD) @@ -1412,8 +1412,8 @@ static bool32 InitFrontierMap(void) case 5: if (FreeTempTileDataBuffersIfPossible()) return FALSE; - LoadPalette(gFrontierPassBg_Pal[0], BG_PLTT_ID(0x0), 13 * PLTT_SIZE_4BPP); - LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(gFrontierPassBg_Pal[0], BG_PLTT_ID(0), 13 * PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(0), BG_PLTT_ID(15), PLTT_SIZE_4BPP); CopyToBgTilemapBuffer(2, sMapScreen_Tilemap, 0, 0); CopyBgTilemapBufferToVram(2); break; diff --git a/src/frontier_util.c b/src/frontier_util.c index 9f8c030231..f5dde452fc 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -638,7 +638,7 @@ static const struct WindowTemplate sFrontierResultsWindowTemplate = .tilemapTop = 1, .width = 28, .height = 18, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }; @@ -649,7 +649,7 @@ static const struct WindowTemplate sLinkContestResultsWindowTemplate = .tilemapTop = 2, .width = 26, .height = 15, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }; @@ -660,7 +660,7 @@ static const struct WindowTemplate sRankingHallRecordsWindowTemplate = .tilemapTop = 1, .width = 26, .height = 17, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }; diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 07bbf9bb88..18aa19cce2 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -140,7 +140,7 @@ static const struct WindowTemplate sHof_WindowTemplate = { .tilemapTop = 2, .width = 14, .height = 6, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 1 }; @@ -702,8 +702,8 @@ static void Task_Hof_DisplayPlayer(u8 taskId) ShowBg(3); gTasks[taskId].tPlayerSpriteID = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(gSaveBlock2Ptr->playerGender, TRUE), TRUE, 120, 72, 6, TAG_NONE); AddWindow(&sHof_WindowTemplate); - LoadWindowGfx(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, BG_PLTT_ID(0xD)); - LoadPalette(GetTextWindowPalette(1), BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); + LoadWindowGfx(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, BG_PLTT_ID(13)); + LoadPalette(GetTextWindowPalette(1), BG_PLTT_ID(14), PLTT_SIZE_4BPP); gTasks[taskId].tFrameCount = 120; gTasks[taskId].func = Task_Hof_WaitAndPrintPlayerInfo; } @@ -1269,7 +1269,7 @@ static void ClearVramOamPltt_LoadHofPal(void) DmaFill16(3, 0, plttOffset, plttSize); ResetPaletteFade(); - LoadPalette(sHallOfFame_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sHallOfFame_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); } static void LoadHofGfx(void) diff --git a/src/intro.c b/src/intro.c index 06c5adba5d..5ae2fce8f4 100644 --- a/src/intro.c +++ b/src/intro.c @@ -1080,7 +1080,7 @@ static u8 SetUpCopyrightScreen(void) CpuFill32(0, (void *)OAM, OAM_SIZE); CpuFill16(0, (void *)(PLTT + 2), PLTT_SIZE - 2); ResetPaletteFade(); - LoadCopyrightGraphics(0, 0x3800, BG_PLTT_ID(0x0)); + LoadCopyrightGraphics(0, 0x3800, BG_PLTT_ID(0)); ScanlineEffect_Stop(); ResetTasks(); ResetSpriteData(); @@ -1178,7 +1178,7 @@ static void Task_Scene1_Load(u8 taskId) DmaClear16(3, BG_SCREEN_ADDR(21), BG_SCREEN_SIZE); LZ77UnCompVram(sIntro1Bg3_Tilemap, (void *)(BG_SCREEN_ADDR(22))); DmaClear16(3, BG_SCREEN_ADDR(23), BG_SCREEN_SIZE); - LoadPalette(sIntro1Bg_Pal, BG_PLTT_ID(0x0), sizeof(sIntro1Bg_Pal)); + LoadPalette(sIntro1Bg_Pal, BG_PLTT_ID(0), sizeof(sIntro1Bg_Pal)); SetGpuReg(REG_OFFSET_BG3CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(22) | BGCNT_16COLOR | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(20) | BGCNT_16COLOR | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(18) | BGCNT_16COLOR | BGCNT_TXT256x512); @@ -1717,7 +1717,7 @@ static void Task_Scene3_Load(u8 taskId) IntroResetGpuRegs(); LZ77UnCompVram(sIntroPokeball_Gfx, (void *)VRAM); LZ77UnCompVram(sIntroPokeball_Tilemap, (void *)(BG_CHAR_ADDR(1))); - LoadPalette(sIntroPokeball_Pal, BG_PLTT_ID(0x0), sizeof(sIntroPokeball_Pal)); + LoadPalette(sIntroPokeball_Pal, BG_PLTT_ID(0), sizeof(sIntroPokeball_Pal)); gTasks[taskId].tAlpha = 0; gTasks[taskId].tZoomDiv = 0; gTasks[taskId].tZoomDivSpeed = 0; @@ -2663,10 +2663,10 @@ static void Task_RayquazaAttack(u8 taskId) { if (--data[3] != 0) { - BlendPalette(BG_PLTT_ID(0x5), 16, data[3], RGB(9, 10, 10)); - CpuCopy16(&gIntro3Bg_Pal[0x1AC], &gPlttBufferFaded[BG_PLTT_ID(0x5) + 14], PLTT_SIZEOF(1)); - CpuCopy16(&gIntro3Bg_Pal[0x1AC], &gPlttBufferFaded[BG_PLTT_ID(0x5) + 8], PLTT_SIZEOF(1)); - CpuCopy16(&gIntro3Bg_Pal[0x18C], &gPlttBufferFaded[BG_PLTT_ID(0x5) + 12], PLTT_SIZEOF(1)); + BlendPalette(BG_PLTT_ID(5), 16, data[3], RGB(9, 10, 10)); + CpuCopy16(&gIntro3Bg_Pal[428], &gPlttBufferFaded[BG_PLTT_ID(5) + 14], PLTT_SIZEOF(1)); + CpuCopy16(&gIntro3Bg_Pal[428], &gPlttBufferFaded[BG_PLTT_ID(5) + 8], PLTT_SIZEOF(1)); + CpuCopy16(&gIntro3Bg_Pal[396], &gPlttBufferFaded[BG_PLTT_ID(5) + 12], PLTT_SIZEOF(1)); } else { diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c index 2851f8638d..7593a296e8 100644 --- a/src/intro_credits_graphics.c +++ b/src/intro_credits_graphics.c @@ -730,7 +730,7 @@ void LoadIntroPart2Graphics(u8 scenery) { LZ77UnCompVram(sGrass_Gfx, (void *)(BG_CHAR_ADDR(1))); LZ77UnCompVram(sGrass_Tilemap, (void *)(BG_SCREEN_ADDR(15))); - LoadPalette(&sGrass_Pal, BG_PLTT_ID(0xF), sizeof(sGrass_Pal)); + LoadPalette(&sGrass_Pal, BG_PLTT_ID(15), sizeof(sGrass_Pal)); switch (scenery) { case 0: @@ -739,17 +739,17 @@ void LoadIntroPart2Graphics(u8 scenery) // Clouds are never used in this part of the intro LZ77UnCompVram(sCloudsBg_Gfx, (void *)(VRAM)); LZ77UnCompVram(sCloudsBg_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sCloudsBg_Pal, BG_PLTT_ID(0x0), sizeof(sCloudsBg_Pal)); + LoadPalette(&sCloudsBg_Pal, BG_PLTT_ID(0), sizeof(sCloudsBg_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_Clouds); - LoadPalette(&sClouds_Pal, OBJ_PLTT_ID(0x0), sizeof(sClouds_Pal)); + LoadPalette(&sClouds_Pal, OBJ_PLTT_ID(0), sizeof(sClouds_Pal)); CreateCloudSprites(); break; case 1: LZ77UnCompVram(sTrees_Gfx, (void *)(VRAM)); LZ77UnCompVram(sTrees_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sTrees_Pal, BG_PLTT_ID(0x0), sizeof(sTrees_Pal)); + LoadPalette(&sTrees_Pal, BG_PLTT_ID(0), sizeof(sTrees_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_TreesSmall); - LoadPalette(&sTreesSmall_Pal, OBJ_PLTT_ID(0x0), sizeof(sTreesSmall_Pal)); + LoadPalette(&sTreesSmall_Pal, OBJ_PLTT_ID(0), sizeof(sTreesSmall_Pal)); CreateTreeSprites(); break; } @@ -843,42 +843,42 @@ void LoadCreditsSceneGraphics(u8 scene) { case SCENE_OCEAN_MORNING: default: - LoadPalette(&sGrass_Pal, BG_PLTT_ID(0xF), sizeof(sGrass_Pal)); + LoadPalette(&sGrass_Pal, BG_PLTT_ID(15), sizeof(sGrass_Pal)); LZ77UnCompVram(sCloudsBg_Gfx, (void *)(VRAM)); LZ77UnCompVram(sCloudsBg_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sCloudsBg_Pal, BG_PLTT_ID(0x0), sizeof(sCloudsBg_Pal)); + LoadPalette(&sCloudsBg_Pal, BG_PLTT_ID(0), sizeof(sCloudsBg_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_Clouds); LZ77UnCompVram(sClouds_Gfx, (void *)(OBJ_VRAM0)); - LoadPalette(&sClouds_Pal, OBJ_PLTT_ID(0x0), sizeof(sClouds_Pal)); + LoadPalette(&sClouds_Pal, OBJ_PLTT_ID(0), sizeof(sClouds_Pal)); CreateCloudSprites(); break; case SCENE_OCEAN_SUNSET: - LoadPalette(&sGrassSunset_Pal, BG_PLTT_ID(0xF), sizeof(sGrassSunset_Pal)); + LoadPalette(&sGrassSunset_Pal, BG_PLTT_ID(15), sizeof(sGrassSunset_Pal)); LZ77UnCompVram(sCloudsBg_Gfx, (void *)(VRAM)); LZ77UnCompVram(sCloudsBg_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sCloudsBgSunset_Pal, BG_PLTT_ID(0x0), sizeof(sCloudsBgSunset_Pal)); + LoadPalette(&sCloudsBgSunset_Pal, BG_PLTT_ID(0), sizeof(sCloudsBgSunset_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_Clouds); LZ77UnCompVram(sClouds_Gfx, (void *)(OBJ_VRAM0)); - LoadPalette(&sCloudsSunset_Pal, OBJ_PLTT_ID(0x0), sizeof(sCloudsSunset_Pal)); + LoadPalette(&sCloudsSunset_Pal, OBJ_PLTT_ID(0), sizeof(sCloudsSunset_Pal)); CreateCloudSprites(); break; case SCENE_FOREST_RIVAL_ARRIVE: case SCENE_FOREST_CATCH_RIVAL: - LoadPalette(&sGrassSunset_Pal, BG_PLTT_ID(0xF), sizeof(sGrassSunset_Pal)); + LoadPalette(&sGrassSunset_Pal, BG_PLTT_ID(15), sizeof(sGrassSunset_Pal)); LZ77UnCompVram(sTrees_Gfx, (void *)(VRAM)); LZ77UnCompVram(sTrees_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sTreesSunset_Pal, BG_PLTT_ID(0x0), sizeof(sTreesSunset_Pal)); + LoadPalette(&sTreesSunset_Pal, BG_PLTT_ID(0), sizeof(sTreesSunset_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_TreesSmall); - LoadPalette(&sTreesSunset_Pal, OBJ_PLTT_ID(0x0), sizeof(sTreesSunset_Pal)); + LoadPalette(&sTreesSunset_Pal, OBJ_PLTT_ID(0), sizeof(sTreesSunset_Pal)); CreateTreeSprites(); break; case SCENE_CITY_NIGHT: - LoadPalette(&sGrassNight_Pal, BG_PLTT_ID(0xF), sizeof(sGrassNight_Pal)); + LoadPalette(&sGrassNight_Pal, BG_PLTT_ID(15), sizeof(sGrassNight_Pal)); LZ77UnCompVram(sHouses_Gfx, (void *)(VRAM)); LZ77UnCompVram(sHouses_Tilemap, (void *)(BG_SCREEN_ADDR(6))); - LoadPalette(&sHouses_Pal, BG_PLTT_ID(0x0), sizeof(sHouses_Pal)); + LoadPalette(&sHouses_Pal, BG_PLTT_ID(0), sizeof(sHouses_Pal)); LoadCompressedSpriteSheet(sSpriteSheet_HouseSilhouette); - LoadPalette(&sHouseSilhouette_Pal, OBJ_PLTT_ID(0x0), sizeof(sHouseSilhouette_Pal)); + LoadPalette(&sHouseSilhouette_Pal, OBJ_PLTT_ID(0), sizeof(sHouseSilhouette_Pal)); CreateHouseSprites(); break; } @@ -1006,8 +1006,8 @@ void CycleSceneryPalette(u8 mode) x = gPlttBufferUnfaded[10]; y = gPlttBufferUnfaded[9]; } - LoadPalette(&x, BG_PLTT_ID(0x0) + 9, sizeof(x)); - LoadPalette(&y, BG_PLTT_ID(0x0) + 10, sizeof(y)); + LoadPalette(&x, BG_PLTT_ID(0) + 9, sizeof(x)); + LoadPalette(&y, BG_PLTT_ID(0) + 10, sizeof(y)); break; case 2: if (gMain.vblankCounter1 & 3 || gPaletteFade.active) @@ -1022,8 +1022,8 @@ void CycleSceneryPalette(u8 mode) x = RGB(28, 24, 0); y = RGB(7, 9, 15); } - LoadPalette(&x, BG_PLTT_ID(0x0) + 12, sizeof(x)); - LoadPalette(&y, BG_PLTT_ID(0x0) + 13, sizeof(y)); + LoadPalette(&x, BG_PLTT_ID(0) + 12, sizeof(x)); + LoadPalette(&y, BG_PLTT_ID(0) + 13, sizeof(y)); break; case 1: break; diff --git a/src/item_menu.c b/src/item_menu.c index 33b204291f..51d4f4a8ec 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -399,7 +399,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 2, .width = 15, .height = 16, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 0x27, }, [WIN_DESCRIPTION] = { @@ -408,7 +408,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 0x117, }, [WIN_POCKET_NAME] = { @@ -417,7 +417,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 1, .width = 8, .height = 2, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 0x1A1, }, [WIN_TMHM_INFO_ICONS] = { @@ -426,7 +426,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 13, .width = 5, .height = 6, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x16B, }, [WIN_TMHM_INFO] = { @@ -435,7 +435,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 13, .width = 4, .height = 6, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x189, }, [WIN_MESSAGE] = { @@ -444,7 +444,7 @@ static const struct WindowTemplate sDefaultBagWindows[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x1B1, }, DUMMY_WIN_TEMPLATE, @@ -458,7 +458,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 17, .width = 7, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x21D, }, [ITEMWIN_1x2] = { @@ -467,7 +467,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 15, .width = 7, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x21D, }, [ITEMWIN_2x2] = { @@ -476,7 +476,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 15, .width = 14, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x21D, }, [ITEMWIN_2x3] = { @@ -485,7 +485,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x21D, }, [ITEMWIN_MESSAGE] = { @@ -494,7 +494,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x1B1, }, [ITEMWIN_YESNO_LOW] = { // Yes/No tucked in corner, for toss confirm @@ -503,7 +503,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 15, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x21D, }, [ITEMWIN_YESNO_HIGH] = { // Yes/No higher up, positioned above a lower message box @@ -512,7 +512,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x21D, }, [ITEMWIN_QUANTITY] = { // Used for quantity of items to Toss/Deposit @@ -521,7 +521,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 17, .width = 5, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x21D, }, [ITEMWIN_QUANTITY_WIDE] = { // Used for quantity and price of items to Sell @@ -530,7 +530,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 11, .width = 10, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x245, }, [ITEMWIN_MONEY] = { @@ -539,7 +539,7 @@ static const struct WindowTemplate sContextMenuWindowTemplates[] = .tilemapTop = 1, .width = 10, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x231, }, }; @@ -818,9 +818,9 @@ static bool8 LoadBagMenu_Graphics(void) break; case 2: if (!IsWallysBag() && gSaveBlock2Ptr->playerGender != MALE) - LoadCompressedPalette(gBagScreenFemale_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBagScreenFemale_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); else - LoadCompressedPalette(gBagScreenMale_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBagScreenMale_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); gBagMenu->graphicsLoadState++; break; case 3: @@ -2448,10 +2448,10 @@ static void LoadBagMenuTextWindows(void) InitWindows(sDefaultBagWindows); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xE)); - LoadMessageBoxGfx(0, 10, BG_PLTT_ID(0xD)); - ListMenuLoadStdPalAt(BG_PLTT_ID(0xC), 1); - LoadPalette(&gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(14)); + LoadMessageBoxGfx(0, 10, BG_PLTT_ID(13)); + ListMenuLoadStdPalAt(BG_PLTT_ID(12), 1); + LoadPalette(&gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); for (i = 0; i <= WIN_POCKET_NAME; i++) { FillWindowPixelBuffer(i, PIXEL_FILL(0)); diff --git a/src/link.c b/src/link.c index a78849ddbe..c1344cb7b4 100644 --- a/src/link.c +++ b/src/link.c @@ -200,7 +200,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .tilemapTop = 0, .width = 30, .height = 5, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x002 }, { .bg = 0, @@ -208,7 +208,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .tilemapTop = 6, .width = 30, .height = 7, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x098 }, { .bg = 0, @@ -216,7 +216,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .tilemapTop = 13, .width = 30, .height = 7, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x16A }, DUMMY_WIN_TEMPLATE }; @@ -1621,7 +1621,7 @@ void CB2_LinkError(void) SetGpuReg(REG_OFFSET_BG1HOFS, 0); SetGpuReg(REG_OFFSET_BG1VOFS, 0); ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); gSoftResetDisabled = FALSE; CreateTask(Task_DestroySelf, 0); StopMapMusic(); diff --git a/src/mail.c b/src/mail.c index 52ce8df5ea..a652131f61 100644 --- a/src/mail.c +++ b/src/mail.c @@ -113,7 +113,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 3, .width = 26, .height = 15, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, DUMMY_WIN_TEMPLATE @@ -566,13 +566,13 @@ static bool8 MailReadBuildGraphics(void) CopyBgTilemapBufferToVram(2); break; case 12: - LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(15), PLTT_SIZE_4BPP); gPlttBufferUnfaded[250] = sMailGraphics[sMailRead->mailType].textColor; gPlttBufferFaded[250] = sMailGraphics[sMailRead->mailType].textColor; gPlttBufferUnfaded[251] = sMailGraphics[sMailRead->mailType].textShadow; gPlttBufferFaded[251] = sMailGraphics[sMailRead->mailType].textShadow; - LoadPalette(sMailGraphics[sMailRead->mailType].palette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sMailGraphics[sMailRead->mailType].palette, BG_PLTT_ID(0), PLTT_SIZE_4BPP); gPlttBufferUnfaded[10] = sBgColors[gSaveBlock2Ptr->playerGender][0]; gPlttBufferFaded[10] = sBgColors[gSaveBlock2Ptr->playerGender][0]; diff --git a/src/main_menu.c b/src/main_menu.c index 381676c0da..9937a6426b 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -294,7 +294,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN0, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN0, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, // OPTIONS @@ -304,7 +304,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN1, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN1, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x35 }, // Has saved game @@ -315,7 +315,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN2, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, // NEW GAME @@ -325,7 +325,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN3, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x9D }, // OPTION / MYSTERY GIFT @@ -335,7 +335,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN4, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xD1 }, // OPTION / MYSTERY EVENTS @@ -345,7 +345,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN5, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN5, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x105 }, // OPTION @@ -355,7 +355,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_WIN6, .width = MENU_WIDTH, .height = MENU_HEIGHT_WIN6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x139 }, // Error message window @@ -365,7 +365,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] = .tilemapTop = MENU_TOP_ERROR, .width = MENU_WIDTH_ERROR, .height = MENU_HEIGHT_ERROR, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x16D }, DUMMY_WIN_TEMPLATE @@ -379,7 +379,7 @@ static const struct WindowTemplate sNewGameBirchSpeechTextWindows[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, { @@ -388,7 +388,7 @@ static const struct WindowTemplate sNewGameBirchSpeechTextWindows[] = .tilemapTop = 5, .width = 6, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x6D }, { @@ -397,7 +397,7 @@ static const struct WindowTemplate sNewGameBirchSpeechTextWindows[] = .tilemapTop = 2, .width = 9, .height = 10, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x85 }, DUMMY_WIN_TEMPLATE @@ -571,8 +571,8 @@ static u32 InitMainMenu(bool8 returningFromOptionsMenu) DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); ResetPaletteFade(); - LoadPalette(sMainMenuBgPal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); - LoadPalette(sMainMenuTextPal, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(sMainMenuBgPal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(sMainMenuTextPal, BG_PLTT_ID(15), PLTT_SIZE_4BPP); ScanlineEffect_Stop(); ResetTasks(); ResetSpriteData(); @@ -750,28 +750,28 @@ static void Task_DisplayMainMenu(u8 taskId) SetGpuReg(REG_OFFSET_BLDY, 7); palette = RGB_BLACK; - LoadPalette(&palette, BG_PLTT_ID(0xF) + 14, PLTT_SIZEOF(1)); + LoadPalette(&palette, BG_PLTT_ID(15) + 14, PLTT_SIZEOF(1)); palette = RGB_WHITE; - LoadPalette(&palette, BG_PLTT_ID(0xF) + 10, PLTT_SIZEOF(1)); + LoadPalette(&palette, BG_PLTT_ID(15) + 10, PLTT_SIZEOF(1)); palette = RGB(12, 12, 12); - LoadPalette(&palette, BG_PLTT_ID(0xF) + 11, PLTT_SIZEOF(1)); + LoadPalette(&palette, BG_PLTT_ID(15) + 11, PLTT_SIZEOF(1)); palette = RGB(26, 26, 25); - LoadPalette(&palette, BG_PLTT_ID(0xF) + 12, PLTT_SIZEOF(1)); + LoadPalette(&palette, BG_PLTT_ID(15) + 12, PLTT_SIZEOF(1)); // Note: If there is no save file, the save block is zeroed out, // so the default gender is MALE. if (gSaveBlock2Ptr->playerGender == MALE) { palette = RGB(4, 16, 31); - LoadPalette(&palette, BG_PLTT_ID(0xF) + 1, PLTT_SIZEOF(1)); + LoadPalette(&palette, BG_PLTT_ID(15) + 1, PLTT_SIZEOF(1)); } else { palette = RGB(31, 3, 21); - LoadPalette(&palette, BG_PLTT_ID(0xF) + 1, PLTT_SIZEOF(1)); + LoadPalette(&palette, BG_PLTT_ID(15) + 1, PLTT_SIZEOF(1)); } switch (gTasks[taskId].tMenuType) @@ -1274,8 +1274,8 @@ static void Task_NewGameBirchSpeech_Init(u8 taskId) LZ77UnCompVram(sBirchSpeechShadowGfx, (void *)VRAM); LZ77UnCompVram(sBirchSpeechBgMap, (void *)(BG_SCREEN_ADDR(7))); - LoadPalette(sBirchSpeechBgPals, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); - LoadPalette(sBirchSpeechPlatformBlackPal, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(8)); + LoadPalette(sBirchSpeechBgPals, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); + LoadPalette(sBirchSpeechPlatformBlackPal, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(8)); ScanlineEffect_Stop(); ResetSpriteData(); FreeAllSpritePalettes(); @@ -1327,7 +1327,7 @@ static void Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome(u8 taskId) { InitWindows(sNewGameBirchSpeechTextWindows); LoadMainMenuWindowFrameTiles(0, 0xF3); - LoadMessageBoxGfx(0, 0xFC, BG_PLTT_ID(0xF)); + LoadMessageBoxGfx(0, 0xFC, BG_PLTT_ID(15)); NewGameBirchSpeech_ShowDialogueWindow(0, 1); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_GFX); @@ -1809,8 +1809,8 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void) ResetPaletteFade(); LZ77UnCompVram(sBirchSpeechShadowGfx, (u8 *)VRAM); LZ77UnCompVram(sBirchSpeechBgMap, (u8 *)(BG_SCREEN_ADDR(7))); - LoadPalette(sBirchSpeechBgPals, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); - LoadPalette(&sBirchSpeechBgGradientPal[1], BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(8)); + LoadPalette(sBirchSpeechBgPals, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); + LoadPalette(&sBirchSpeechBgGradientPal[1], BG_PLTT_ID(0) + 1, PLTT_SIZEOF(8)); ResetTasks(); taskId = CreateTask(Task_NewGameBirchSpeech_ReturnFromNamingScreenShowTextbox, 0); gTasks[taskId].tTimer = 5; @@ -1853,7 +1853,7 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void) SetMainCallback2(CB2_MainMenu); InitWindows(sNewGameBirchSpeechTextWindows); LoadMainMenuWindowFrameTiles(0, 0xF3); - LoadMessageBoxGfx(0, 0xFC, BG_PLTT_ID(0xF)); + LoadMessageBoxGfx(0, 0xFC, BG_PLTT_ID(15)); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); } @@ -2029,7 +2029,7 @@ static void Task_NewGameBirchSpeech_FadePlatformIn(u8 taskId) { gTasks[taskId].tDelayTimer = gTasks[taskId].tDelay; gTasks[taskId].tPalIndex++; - LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(8)); + LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], BG_PLTT_ID(0) + 1, PLTT_SIZEOF(8)); } } @@ -2063,7 +2063,7 @@ static void Task_NewGameBirchSpeech_FadePlatformOut(u8 taskId) { gTasks[taskId].tDelayTimer = gTasks[taskId].tDelay; gTasks[taskId].tPalIndex--; - LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(8)); + LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], BG_PLTT_ID(0) + 1, PLTT_SIZEOF(8)); } } @@ -2191,7 +2191,7 @@ static void MainMenu_FormatSavegameBadges(void) static void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset) { LoadBgTiles(bgId, GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->tiles, 0x120, tileOffset); - LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, BG_PLTT_ID(2), PLTT_SIZE_4BPP); } static void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16 baseTileNum) @@ -2204,26 +2204,26 @@ static void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16 u16 sp14 = 7 + baseTileNum; u16 r6 = 8 + baseTileNum; - FillBgTilemapBufferRect(template->bg, baseTileNum, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, 0x2); - FillBgTilemapBufferRect(template->bg, r9, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, 0x2); - FillBgTilemapBufferRect(template->bg, r10, template->tilemapLeft + template->width, template->tilemapTop - 1, 1, 1, 0x2); - FillBgTilemapBufferRect(template->bg, sp18, template->tilemapLeft - 1, template->tilemapTop, 1, template->height, 0x2); - FillBgTilemapBufferRect(template->bg, spC, template->tilemapLeft + template->width, template->tilemapTop, 1, template->height, 0x2); - FillBgTilemapBufferRect(template->bg, sp10, template->tilemapLeft - 1, template->tilemapTop + template->height, 1, 1, 0x2); - FillBgTilemapBufferRect(template->bg, sp14, template->tilemapLeft, template->tilemapTop + template->height, template->width, 1, 0x2); - FillBgTilemapBufferRect(template->bg, r6, template->tilemapLeft + template->width, template->tilemapTop + template->height, 1, 1, 0x2); + FillBgTilemapBufferRect(template->bg, baseTileNum, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, 2); + FillBgTilemapBufferRect(template->bg, r9, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, 2); + FillBgTilemapBufferRect(template->bg, r10, template->tilemapLeft + template->width, template->tilemapTop - 1, 1, 1, 2); + FillBgTilemapBufferRect(template->bg, sp18, template->tilemapLeft - 1, template->tilemapTop, 1, template->height, 2); + FillBgTilemapBufferRect(template->bg, spC, template->tilemapLeft + template->width, template->tilemapTop, 1, template->height, 2); + FillBgTilemapBufferRect(template->bg, sp10, template->tilemapLeft - 1, template->tilemapTop + template->height, 1, 1, 2); + FillBgTilemapBufferRect(template->bg, sp14, template->tilemapLeft, template->tilemapTop + template->height, template->width, 1, 2); + FillBgTilemapBufferRect(template->bg, r6, template->tilemapLeft + template->width, template->tilemapTop + template->height, 1, 1, 2); CopyBgTilemapBufferToVram(template->bg); } static void ClearMainMenuWindowTilemap(const struct WindowTemplate *template) { - FillBgTilemapBufferRect(template->bg, 0, template->tilemapLeft - 1, template->tilemapTop - 1, template->tilemapLeft + template->width + 1, template->tilemapTop + template->height + 1, 0x2); + FillBgTilemapBufferRect(template->bg, 0, template->tilemapLeft - 1, template->tilemapTop - 1, template->tilemapLeft + template->width + 1, template->tilemapTop + template->height + 1, 2); CopyBgTilemapBufferToVram(template->bg); } static void NewGameBirchSpeech_ClearGenderWindowTilemap(u8 bg, u8 x, u8 y, u8 width, u8 height, u8 unused) { - FillBgTilemapBufferRect(bg, 0, x + 255, y + 255, width + 2, height + 2, 0x2); + FillBgTilemapBufferRect(bg, 0, x + 255, y + 255, width + 2, height + 2, 2); } static void NewGameBirchSpeech_ClearGenderWindow(u8 windowId, bool8 copyToVram) diff --git a/src/map_name_popup.c b/src/map_name_popup.c index f7d5320d34..93a2825833 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -351,19 +351,19 @@ static void DrawMapNamePopUpFrame(u8 bg, u8 x, u8 y, u8 deltaX, u8 deltaY, u8 un // Draw top edge for (i = 0; i < 1 + TILE_TOP_EDGE_END - TILE_TOP_EDGE_START; i++) - FillBgTilemapBufferRect(bg, TILE_TOP_EDGE_START + i, i - 1 + x, y - 1, 1, 1, 0xE); + FillBgTilemapBufferRect(bg, TILE_TOP_EDGE_START + i, i - 1 + x, y - 1, 1, 1, 14); // Draw sides - FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_TOP, x - 1, y, 1, 1, 0xE); - FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_TOP, deltaX + x, y, 1, 1, 0xE); - FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_MID, x - 1, y + 1, 1, 1, 0xE); - FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_MID, deltaX + x, y + 1, 1, 1, 0xE); - FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_BOT, x - 1, y + 2, 1, 1, 0xE); - FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_BOT, deltaX + x, y + 2, 1, 1, 0xE); + FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_TOP, x - 1, y, 1, 1, 14); + FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_TOP, deltaX + x, y, 1, 1, 14); + FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_MID, x - 1, y + 1, 1, 1, 14); + FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_MID, deltaX + x, y + 1, 1, 1, 14); + FillBgTilemapBufferRect(bg, TILE_LEFT_EDGE_BOT, x - 1, y + 2, 1, 1, 14); + FillBgTilemapBufferRect(bg, TILE_RIGHT_EDGE_BOT, deltaX + x, y + 2, 1, 1, 14); // Draw bottom edge for (i = 0; i < 1 + TILE_BOT_EDGE_END - TILE_BOT_EDGE_START; i++) - FillBgTilemapBufferRect(bg, TILE_BOT_EDGE_START + i, i - 1 + x, y + deltaY, 1, 1, 0xE); + FillBgTilemapBufferRect(bg, TILE_BOT_EDGE_START + i, i - 1 + x, y + deltaY, 1, 1, 14); } static void LoadMapNamePopUpWindowBg(void) @@ -385,8 +385,8 @@ static void LoadMapNamePopUpWindowBg(void) CallWindowFunction(popupWindowId, DrawMapNamePopUpFrame); PutWindowTilemap(popupWindowId); if (gMapHeader.weather == WEATHER_UNDERWATER_BUBBLES) - LoadPalette(&sMapPopUp_Palette_Underwater, BG_PLTT_ID(0xE), sizeof(sMapPopUp_Palette_Underwater)); + LoadPalette(&sMapPopUp_Palette_Underwater, BG_PLTT_ID(14), sizeof(sMapPopUp_Palette_Underwater)); else - LoadPalette(sMapPopUp_PaletteTable[popUpThemeId], BG_PLTT_ID(0xE), sizeof(sMapPopUp_PaletteTable[0])); + LoadPalette(sMapPopUp_PaletteTable[popUpThemeId], BG_PLTT_ID(14), sizeof(sMapPopUp_PaletteTable[0])); BlitBitmapToWindow(popupWindowId, sMapPopUp_Table[popUpThemeId], 0, 0, 80, 24); } diff --git a/src/match_call.c b/src/match_call.c index 5d92e55b9f..a9d18b3477 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1235,7 +1235,7 @@ static const struct WindowTemplate sMatchCallTextWindow = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x200 }; @@ -1267,8 +1267,8 @@ static bool32 MatchCall_LoadGfx(u8 taskId) } FillWindowPixelBuffer(tWindowId, PIXEL_FILL(8)); - LoadPalette(sMatchCallWindow_Pal, BG_PLTT_ID(0xE), sizeof(sMatchCallWindow_Pal)); - LoadPalette(sPokenavIcon_Pal, BG_PLTT_ID(0xF), sizeof(sPokenavIcon_Pal)); + LoadPalette(sMatchCallWindow_Pal, BG_PLTT_ID(14), sizeof(sMatchCallWindow_Pal)); + LoadPalette(sPokenavIcon_Pal, BG_PLTT_ID(15), sizeof(sPokenavIcon_Pal)); ChangeBgY(0, -0x2000, BG_COORD_SET); return TRUE; } diff --git a/src/menu.c b/src/menu.c index 2a8b2f565b..ad3381de9b 100644 --- a/src/menu.c +++ b/src/menu.c @@ -20,9 +20,9 @@ #include "window.h" #include "constants/songs.h" -#define DLG_WINDOW_PALETTE_NUM 0xF +#define DLG_WINDOW_PALETTE_NUM 15 #define DLG_WINDOW_BASE_TILE_NUM 0x200 -#define STD_WINDOW_PALETTE_NUM 0xE +#define STD_WINDOW_PALETTE_NUM 14 #define STD_WINDOW_PALETTE_SIZE PLTT_SIZEOF(10) #define STD_WINDOW_BASE_TILE_NUM 0x214 @@ -89,7 +89,7 @@ static const struct WindowTemplate sStandardTextBox_WindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x194 }, DUMMY_WIN_TEMPLATE @@ -102,7 +102,7 @@ static const struct WindowTemplate sYesNo_WindowTemplates = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x125 }; @@ -429,7 +429,7 @@ void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram) void LoadMessageBoxAndFrameGfx(u8 windowId, bool8 copyToVram) { LoadMessageBoxGfx(windowId, DLG_WINDOW_BASE_TILE_NUM, BG_PLTT_ID(DLG_WINDOW_PALETTE_NUM)); - DrawDialogFrameWithCustomTileAndPalette(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, 0xF); + DrawDialogFrameWithCustomTileAndPalette(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM); } void Menu_LoadStdPal(void) @@ -686,7 +686,7 @@ void ClearDialogWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram) static void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) { - FillBgTilemapBufferRect(bg, 0, tilemapLeft - 3, tilemapTop - 1, width + 6, height + 2, 0x0); + FillBgTilemapBufferRect(bg, 0, tilemapLeft - 3, tilemapTop - 1, width + 6, height + 2, 0); } void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum) @@ -783,7 +783,7 @@ void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram) static void WindowFunc_ClearStdWindowAndFrameToTransparent(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) { - FillBgTilemapBufferRect(bg, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 0x0); + FillBgTilemapBufferRect(bg, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 0); } // Creates the window used to display the info bar at the top of the HOF PC that shows the controls and team number. @@ -806,8 +806,8 @@ u8 HofPCTopBar_AddWindow(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile) sHofPCTopBarWindowId = AddWindow(&window); - if (palette > 0xF) - palette = BG_PLTT_ID(0xF); + if (palette > 15) + palette = BG_PLTT_ID(15); else palette = BG_PLTT_ID(palette); diff --git a/src/menu_specialized.c b/src/menu_specialized.c index f4d3493d7c..10c57f6e27 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -48,7 +48,7 @@ static const struct WindowTemplate sWindowTemplates_MailboxMenu[MAILBOXWIN_COUNT .tilemapTop = 1, .width = 8, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x8 }, [MAILBOXWIN_LIST] = { @@ -57,7 +57,7 @@ static const struct WindowTemplate sWindowTemplates_MailboxMenu[MAILBOXWIN_COUNT .tilemapTop = 1, .width = 8, .height = 18, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x18 }, [MAILBOXWIN_OPTIONS] = { @@ -66,7 +66,7 @@ static const struct WindowTemplate sWindowTemplates_MailboxMenu[MAILBOXWIN_COUNT .tilemapTop = 1, .width = 11, .height = 8, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x18 } }; @@ -114,7 +114,7 @@ static const struct WindowTemplate sMoveRelearnerWindowTemplates[] = .tilemapTop = 1, .width = 16, .height = 12, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xA }, { @@ -123,7 +123,7 @@ static const struct WindowTemplate sMoveRelearnerWindowTemplates[] = .tilemapTop = 1, .width = 16, .height = 12, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xCA }, { @@ -132,7 +132,7 @@ static const struct WindowTemplate sMoveRelearnerWindowTemplates[] = .tilemapTop = 1, .width = 10, .height = 12, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x18A }, { @@ -141,7 +141,7 @@ static const struct WindowTemplate sMoveRelearnerWindowTemplates[] = .tilemapTop = 15, .width = 22, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x202 }, { @@ -150,7 +150,7 @@ static const struct WindowTemplate sMoveRelearnerWindowTemplates[] = .tilemapTop = 8, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x25A }, DUMMY_WIN_TEMPLATE @@ -163,7 +163,7 @@ static const struct WindowTemplate sMoveRelearnerYesNoMenuTemplate = .tilemapTop = 8, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x25A }; @@ -707,8 +707,8 @@ void InitMoveRelearnerWindows(bool8 useContextWindow) InitWindows(sMoveRelearnerWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xE)); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(14)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); for (i = 0; i < ARRAY_COUNT(sMoveRelearnerWindowTemplates) - 1; i++) FillWindowPixelBuffer(i, PIXEL_FILL(1)); diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 59e6d999e2..eecfe20dbd 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -46,7 +46,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 22, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 20 }, { @@ -55,7 +55,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 6, .width = 16, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x6C }, DUMMY_WIN_TEMPLATE @@ -91,8 +91,8 @@ void CB2_InitMysteryEventMenu(void) FillWindowPixelBuffer(i, PIXEL_FILL(0)); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); - LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); - Menu_LoadStdPalAt(BG_PLTT_ID(0xE)); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(13)); + Menu_LoadStdPalAt(BG_PLTT_ID(14)); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON); SetGpuReg(REG_OFFSET_BLDCNT, 0); CreateTask(Task_DestroySelf, 0); diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index f9e2c2af9a..b12d6735c6 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -33,7 +33,7 @@ #include "constants/cable_club.h" #define LIST_MENU_TILE_NUM 10 -#define LIST_MENU_PAL_NUM BG_PLTT_ID(0xE) +#define LIST_MENU_PAL_NUM BG_PLTT_ID(14) static void LoadMysteryGiftTextboxBorder(u8 bgId); static void CreateMysteryGiftTask(void); @@ -104,7 +104,7 @@ static const struct WindowTemplate sMainWindows[] = { .tilemapTop = 0, .width = 30, .height = 2, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x0013 }, { .bg = 0, @@ -112,7 +112,7 @@ static const struct WindowTemplate sMainWindows[] = { .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x004f }, { .bg = 0, @@ -120,7 +120,7 @@ static const struct WindowTemplate sMainWindows[] = { .tilemapTop = 15, .width = 30, .height = 5, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 0x004f }, DUMMY_WIN_TEMPLATE @@ -132,7 +132,7 @@ static const struct WindowTemplate sWindowTemplate_YesNoMsg_Wide = { .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x00e5 }; @@ -142,7 +142,7 @@ static const struct WindowTemplate sWindowTemplate_YesNoMsg = { .tilemapTop = 15, .width = 20, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x00e5 }; @@ -152,7 +152,7 @@ static const struct WindowTemplate sWindowTemplate_GiftSelect = { .tilemapTop = 15, .width = 19, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x00e5 }; @@ -162,7 +162,7 @@ static const struct WindowTemplate sWindowTemplate_ThreeOptions = { .tilemapTop = 6, .width = 14, .height = 6, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x0155 }; @@ -172,7 +172,7 @@ static const struct WindowTemplate sWindowTemplate_YesNoBox = { .tilemapTop = 15, .width = 6, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x0155 }; @@ -182,7 +182,7 @@ static const struct WindowTemplate sWindowTemplate_GiftSelect_3Options = { .tilemapTop = 11, .width = 7, .height = 8, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x0155 }; @@ -192,7 +192,7 @@ static const struct WindowTemplate sWindowTemplate_GiftSelect_2Options = { .tilemapTop = 13, .width = 7, .height = 6, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x0155 }; @@ -202,7 +202,7 @@ static const struct WindowTemplate sWindowTemplate_GiftSelect_1Option = { .tilemapTop = 15, .width = 7, .height = 4, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x0155 }; @@ -411,11 +411,11 @@ static bool32 HandleMysteryGiftOrEReaderSetup(s32 isEReader) gMain.state++; break; case 1: - LoadPalette(sTextboxBorder_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); - LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); - Menu_LoadStdPalAt(BG_PLTT_ID(0xC)); - LoadUserWindowBorderGfx(0, 0xA, BG_PLTT_ID(0xE)); - LoadUserWindowBorderGfx_(0, 0x1, BG_PLTT_ID(0xF)); + LoadPalette(sTextboxBorder_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(13), PLTT_SIZE_4BPP); + Menu_LoadStdPalAt(BG_PLTT_ID(12)); + LoadUserWindowBorderGfx(0, 0xA, BG_PLTT_ID(14)); + LoadUserWindowBorderGfx_(0, 0x1, BG_PLTT_ID(15)); FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 17); FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 17); FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 17); diff --git a/src/mystery_gift_view.c b/src/mystery_gift_view.c index d279bb2f54..4427373165 100644 --- a/src/mystery_gift_view.c +++ b/src/mystery_gift_view.c @@ -96,7 +96,7 @@ static const struct WindowTemplate sCard_WindowTemplates[] = { .tilemapTop = 1, .width = 25, .height = 4, - .paletteNum = 0x2, + .paletteNum = 2, .baseBlock = 0x029c }, [CARD_WIN_BODY] = { @@ -105,7 +105,7 @@ static const struct WindowTemplate sCard_WindowTemplates[] = { .tilemapTop = 6, .width = 28, .height = 8, - .paletteNum = 0x2, + .paletteNum = 2, .baseBlock = 0x01bc }, [CARD_WIN_FOOTER] = { @@ -114,7 +114,7 @@ static const struct WindowTemplate sCard_WindowTemplates[] = { .tilemapTop = 14, .width = 28, .height = 5, - .paletteNum = 0x2, + .paletteNum = 2, .baseBlock = 0x0130 } }; @@ -239,11 +239,11 @@ s32 WonderCard_Enter(void) case 3: if (FreeTempTileDataBuffersIfPossible()) return 0; - LoadPalette(GetTextWindowPalette(1), BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(1), BG_PLTT_ID(2), PLTT_SIZE_4BPP); gPaletteFade.bufferTransferDisabled = TRUE; - LoadPalette(sWonderCardData->gfx->pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(sWonderCardData->gfx->pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); LZ77UnCompWram(sWonderCardData->gfx->map, sWonderCardData->bgTilemapBuffer); - CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, 30, 20, 0, 0, 30, 20, 0x1, 0x008, 0); + CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0); CopyBgTilemapBufferToVram(2); break; case 4: @@ -586,7 +586,7 @@ static const struct WindowTemplate sNews_WindowTemplates[] = { .tilemapTop = 0, .width = 28, .height = 3, - .paletteNum = 0x2, + .paletteNum = 2, .baseBlock = 0x2AC }, [NEWS_WIN_BODY] = { @@ -595,7 +595,7 @@ static const struct WindowTemplate sNews_WindowTemplates[] = { .tilemapTop = 3, .width = 28, .height = 20, - .paletteNum = 0x2, + .paletteNum = 2, .baseBlock = 0x07C } }; @@ -702,12 +702,12 @@ s32 WonderNews_Enter(void) case 3: if (FreeTempTileDataBuffersIfPossible()) return 0; - LoadPalette(GetTextWindowPalette(1), BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(1), BG_PLTT_ID(2), PLTT_SIZE_4BPP); gPaletteFade.bufferTransferDisabled = TRUE; - LoadPalette(sWonderNewsData->gfx->pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(sWonderNewsData->gfx->pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); LZ77UnCompWram(sWonderNewsData->gfx->map, sWonderNewsData->bgTilemapBuffer); - CopyRectToBgTilemapBufferRect(1, sWonderNewsData->bgTilemapBuffer, 0, 0, 30, 3, 0, 0, 30, 3, 0x1, 8, 0); - CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, 30, 23, 0, 3, 30, 23, 0x1, 8, 0); + 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); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(3); break; diff --git a/src/naming_screen.c b/src/naming_screen.c index bbdcef5658..4cd03ffba8 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -233,7 +233,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 10, .width = 19, .height = 8, - .paletteNum = 0xA, + .paletteNum = 10, .baseBlock = 0x030 }, [WIN_KB_PAGE_2] = { @@ -242,7 +242,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 10, .width = 19, .height = 8, - .paletteNum = 0xA, + .paletteNum = 10, .baseBlock = 0x0C8 }, [WIN_TEXT_ENTRY] = { @@ -251,7 +251,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 6, .width = 17, .height = 2, - .paletteNum = 0xA, + .paletteNum = 10, .baseBlock = 0x030 }, [WIN_TEXT_ENTRY_BOX] = { @@ -260,7 +260,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 4, .width = 17, .height = 2, - .paletteNum = 0xA, + .paletteNum = 10, .baseBlock = 0x052 }, [WIN_BANNER] = { @@ -269,7 +269,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 0, .width = 30, .height = 2, - .paletteNum = 0xB, + .paletteNum = 11, .baseBlock = 0x074 }, DUMMY_WIN_TEMPLATE @@ -1880,9 +1880,9 @@ static void CreateHelperTasks(void) static void LoadPalettes(void) { - LoadPalette(gNamingScreenMenu_Pal, BG_PLTT_ID(0x0), sizeof(gNamingScreenMenu_Pal)); - LoadPalette(sKeyboard_Pal, BG_PLTT_ID(0xA), sizeof(sKeyboard_Pal)); - LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(0xB), PLTT_SIZE_4BPP); + LoadPalette(gNamingScreenMenu_Pal, BG_PLTT_ID(0), sizeof(gNamingScreenMenu_Pal)); + LoadPalette(sKeyboard_Pal, BG_PLTT_ID(10), sizeof(sKeyboard_Pal)); + LoadPalette(GetTextWindowPalette(2), BG_PLTT_ID(11), PLTT_SIZE_4BPP); } static void DrawBgTilemap(u8 bg, const void *src) diff --git a/src/option_menu.c b/src/option_menu.c index e3d767c5e1..d2f1bc4ce0 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -102,7 +102,7 @@ static const struct WindowTemplate sOptionMenuWinTemplates[] = .tilemapTop = 1, .width = 26, .height = 2, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 2 }, { @@ -111,7 +111,7 @@ static const struct WindowTemplate sOptionMenuWinTemplates[] = .tilemapTop = 5, .width = 26, .height = 14, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 0x36 }, DUMMY_WIN_TEMPLATE @@ -207,12 +207,12 @@ void CB2_InitOptionMenu(void) gMain.state++; break; case 4: - LoadPalette(sOptionMenuBg_Pal, BG_PLTT_ID(0x0), sizeof(sOptionMenuBg_Pal)); - LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); + LoadPalette(sOptionMenuBg_Pal, BG_PLTT_ID(0), sizeof(sOptionMenuBg_Pal)); + LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, BG_PLTT_ID(7), PLTT_SIZE_4BPP); gMain.state++; break; case 5: - LoadPalette(sOptionMenuText_Pal, BG_PLTT_ID(0x1), sizeof(sOptionMenuText_Pal)); + LoadPalette(sOptionMenuText_Pal, BG_PLTT_ID(1), sizeof(sOptionMenuText_Pal)); gMain.state++; break; case 6: @@ -529,7 +529,7 @@ static u8 FrameType_ProcessInput(u8 selection) selection = 0; LoadBgTiles(1, GetWindowFrameTilesPal(selection)->tiles, 0x120, 0x1A2); - LoadPalette(GetWindowFrameTilesPal(selection)->pal, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); + LoadPalette(GetWindowFrameTilesPal(selection)->pal, BG_PLTT_ID(7), PLTT_SIZE_4BPP); sArrowPressed = TRUE; } if (JOY_NEW(DPAD_LEFT)) @@ -540,7 +540,7 @@ static u8 FrameType_ProcessInput(u8 selection) selection = WINDOW_FRAMES_COUNT - 1; LoadBgTiles(1, GetWindowFrameTilesPal(selection)->tiles, 0x120, 0x1A2); - LoadPalette(GetWindowFrameTilesPal(selection)->pal, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); + LoadPalette(GetWindowFrameTilesPal(selection)->pal, BG_PLTT_ID(7), PLTT_SIZE_4BPP); sArrowPressed = TRUE; } return selection; @@ -653,24 +653,24 @@ static void DrawBgWindowFrames(void) { // bg, tile, x, y, width, height, palNum // Draw title window frame - FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 0, 1, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 0, 27, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 0, 1, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 1, 1, 2, 0x7); - FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 1, 1, 2, 0x7); - FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 3, 1, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 3, 27, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 3, 1, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 0, 1, 1, 7); + FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 0, 27, 1, 7); + FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 0, 1, 1, 7); + FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 1, 1, 2, 7); + FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 1, 1, 2, 7); + FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 3, 1, 1, 7); + FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 3, 27, 1, 7); + FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 3, 1, 1, 7); // Draw options list window frame - FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 4, 1, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 4, 26, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 4, 1, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 5, 1, 18, 0x7); - FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 5, 1, 18, 0x7); - FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 19, 1, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 19, 26, 1, 0x7); - FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 19, 1, 1, 0x7); + FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 4, 1, 1, 7); + FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 4, 26, 1, 7); + FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 4, 1, 1, 7); + FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 5, 1, 18, 7); + FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 5, 1, 18, 7); + FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 19, 1, 1, 7); + FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 19, 26, 1, 7); + FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 19, 1, 1, 7); CopyBgTilemapBufferToVram(1); } diff --git a/src/palette.c b/src/palette.c index e02e0de5bf..577257eff3 100644 --- a/src/palette.c +++ b/src/palette.c @@ -431,7 +431,7 @@ static u8 UpdateNormalPaletteFade(void) gPaletteFade.delayCounter = 0; } - paletteOffset = 0x00; + paletteOffset = 0; if (!gPaletteFade.objPaletteToggle) { @@ -452,7 +452,7 @@ static u8 UpdateNormalPaletteFade(void) gPaletteFade.y, gPaletteFade.blendColor); selectedPalettes >>= 1; - paletteOffset += 0x10; + paletteOffset += 16; } gPaletteFade.objPaletteToggle ^= 1; @@ -495,7 +495,7 @@ static u8 UpdateNormalPaletteFade(void) void InvertPlttBuffer(u32 selectedPalettes) { - u16 paletteOffset = 0x00; + u16 paletteOffset = 0; while (selectedPalettes) { @@ -506,13 +506,13 @@ void InvertPlttBuffer(u32 selectedPalettes) gPlttBufferFaded[paletteOffset + i] = ~gPlttBufferFaded[paletteOffset + i]; } selectedPalettes >>= 1; - paletteOffset += 0x10; + paletteOffset += 16; } } void TintPlttBuffer(u32 selectedPalettes, s8 r, s8 g, s8 b) { - u16 paletteOffset = 0x00; + u16 paletteOffset = 0; while (selectedPalettes) { @@ -528,13 +528,13 @@ void TintPlttBuffer(u32 selectedPalettes, s8 r, s8 g, s8 b) } } selectedPalettes >>= 1; - paletteOffset += 0x10; + paletteOffset += 16; } } void UnfadePlttBuffer(u32 selectedPalettes) { - u16 paletteOffset = 0x00; + u16 paletteOffset = 0; while (selectedPalettes) { @@ -545,7 +545,7 @@ void UnfadePlttBuffer(u32 selectedPalettes) gPlttBufferFaded[paletteOffset + i] = gPlttBufferUnfaded[paletteOffset + i]; } selectedPalettes >>= 1; - paletteOffset += 0x10; + paletteOffset += 16; } } @@ -835,7 +835,7 @@ void BlendPalettes(u32 selectedPalettes, u8 coeff, u16 color) { u16 paletteOffset; - for (paletteOffset = 0x00; selectedPalettes; paletteOffset += 0x10) + for (paletteOffset = 0; selectedPalettes; paletteOffset += 16) { if (selectedPalettes & 1) BlendPalette(paletteOffset, 16, coeff, color); diff --git a/src/party_menu.c b/src/party_menu.c index 2a4abef2a8..1526f36f20 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -668,7 +668,7 @@ static bool8 AllocPartyMenuBgGfx(void) } break; case 2: - LoadCompressedPalette(gPartyMenuBg_Pal, BG_PLTT_ID(0x0), 11 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gPartyMenuBg_Pal, BG_PLTT_ID(0), 11 * PLTT_SIZE_4BPP); CpuCopy16(gPlttBufferUnfaded, sPartyMenuInternal->palBuffer, 11 * PLTT_SIZE_4BPP); sPartyMenuInternal->data[0]++; break; @@ -1021,7 +1021,7 @@ static void CreateCancelConfirmPokeballSprites(void) if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE) { // The showcase has no Cancel/Confirm buttons - FillBgTilemapBufferRect(1, 14, 23, 17, 7, 2, 0x1); + FillBgTilemapBufferRect(1, 14, 23, 17, 7, 2, 1); } else { @@ -2015,9 +2015,9 @@ static void InitPartyMenuWindows(u8 layout) DeactivateAllTextPrinters(); for (i = 0; i < PARTY_SIZE; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - LoadUserWindowBorderGfx(0, 0x4F, BG_PLTT_ID(0xD)); - LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadUserWindowBorderGfx(0, 0x4F, BG_PLTT_ID(13)); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(14), PLTT_SIZE_4BPP); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); } static void CreateCancelConfirmWindows(bool8 chooseHalf) @@ -2417,7 +2417,7 @@ void DisplayPartyMenuStdMessage(u32 stringId) else if (!ShouldUseChooseMonText()) stringId = PARTY_MSG_CHOOSE_MON_OR_CANCEL; } - DrawStdFrameWithCustomTileAndPalette(*windowPtr, FALSE, 0x4F, 0xD); + DrawStdFrameWithCustomTileAndPalette(*windowPtr, FALSE, 0x4F, 13); StringExpandPlaceholders(gStringVar4, sActionStringTable[stringId]); AddTextPrinterParameterized(*windowPtr, FONT_NORMAL, gStringVar4, 0, 1, 0, 0); ScheduleBgCopyTilemapToVram(2); @@ -2822,7 +2822,7 @@ static void MoveAndBufferPartySlot(const void *rectSrc, s16 x, s16 y, s16 width, { FillBgTilemapBufferRect_Palette0(0, 0, newX, y, newWidth, height); if (TryMovePartySlot(x + dir, width, &srcX, &newX, &newWidth)) - CopyRectToBgTilemapBufferRect(0, rectSrc, srcX, 0, width, height, newX, y, newWidth, height, 17, 0, 0x0); + CopyRectToBgTilemapBufferRect(0, rectSrc, srcX, 0, width, height, newX, y, newWidth, height, 17, 0, 0); } } diff --git a/src/player_pc.c b/src/player_pc.c index 1998495beb..9ec36d61d2 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -244,7 +244,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenus[] = .tilemapTop = 1, .width = 9, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, [WIN_MAIN_MENU_BEDROOM] = { @@ -253,7 +253,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenus[] = .tilemapTop = 1, .width = 9, .height = 8, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, [WIN_ITEM_STORAGE_MENU] = { @@ -262,7 +262,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenus[] = .tilemapTop = 1, .width = 10, .height = 8, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 } }; @@ -302,7 +302,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 1, .width = 13, .height = 18, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0001 }, [ITEMPC_WIN_MESSAGE] = { @@ -311,7 +311,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 13, .width = 13, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x00EB }, [ITEMPC_WIN_ICON] = { @@ -320,7 +320,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 8, .width = 3, .height = 3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0153 }, [ITEMPC_WIN_TITLE] = { @@ -329,7 +329,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 1, .width = 13, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0139 }, [ITEMPC_WIN_QUANTITY] = { @@ -338,7 +338,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 9, .width = 6, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x015C }, [ITEMPC_WIN_YESNO] = { @@ -347,7 +347,7 @@ static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT .tilemapTop = 7, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0168 } }; diff --git a/src/pokeblock.c b/src/pokeblock.c index 769363b3eb..f698a25f32 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -314,7 +314,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 1, .width = 9, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x1E }, [WIN_LIST] = { @@ -323,7 +323,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 1, .width = 14, .height = 18, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x30 }, [WIN_SPICY] = { @@ -332,7 +332,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 5, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x12C }, [WIN_DRY] = { @@ -341,7 +341,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 5, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x136 }, [WIN_SWEET] = { @@ -350,7 +350,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 5, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x140 }, [WIN_BITTER] = { @@ -359,7 +359,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 5, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x14A }, [WIN_SOUR] = { @@ -368,7 +368,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 5, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x154 }, [WIN_FEEL] = { @@ -377,7 +377,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 2, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x15E }, [WIN_ACTIONS_TALL] = { @@ -386,7 +386,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 5, .width = 6, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x162 }, [WIN_ACTIONS] = { @@ -395,7 +395,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 7, .width = 6, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x186 }, [WIN_TOSS_MSG] = { @@ -404,7 +404,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x19E }, DUMMY_WIN_TEMPLATE @@ -417,7 +417,7 @@ static const struct WindowTemplate sTossPkblockWindowTemplate = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x20A }; @@ -653,7 +653,7 @@ static bool8 LoadPokeblockMenuGfx(void) } break; case 2: - LoadCompressedPalette(gMenuPokeblock_Pal, BG_PLTT_ID(0x0), 6 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gMenuPokeblock_Pal, BG_PLTT_ID(0), 6 * PLTT_SIZE_4BPP); sPokeblockMenu->gfxState++; break; case 3: @@ -679,9 +679,9 @@ static void HandleInitWindows(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xE)); - LoadMessageBoxGfx(0, 0xA, BG_PLTT_ID(0xD)); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(14)); + LoadMessageBoxGfx(0, 0xA, BG_PLTT_ID(13)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); for (i = 0; i < ARRAY_COUNT(sWindowTemplates) - 1; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 53de0ee9a5..7117be8856 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -459,7 +459,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 28, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xA }, DUMMY_WIN_TEMPLATE @@ -771,7 +771,7 @@ static bool8 LoadMonAndSceneGfx(struct Pokemon *mon) } break; case 8: - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(0x2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); sPokeblockFeed->loadGfxState = 0; return TRUE; } @@ -783,8 +783,8 @@ static void HandleInitWindows(void) { InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xE)); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(14)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); FillWindowPixelBuffer(0, PIXEL_FILL(0)); PutWindowTilemap(0); ScheduleBgCopyTilemapToVram(0); diff --git a/src/pokedex.c b/src/pokedex.c index 6a5de60179..bf1ff370c6 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -831,7 +831,7 @@ static const struct WindowTemplate sPokemonList_WindowTemplate[] = .tilemapTop = 0, .width = 32, .height = 32, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 1, }, DUMMY_WIN_TEMPLATE @@ -902,7 +902,7 @@ static const struct WindowTemplate sInfoScreen_WindowTemplates[] = .tilemapTop = 0, .width = 32, .height = 20, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 1, }, [WIN_FOOTPRINT] = @@ -912,7 +912,7 @@ static const struct WindowTemplate sInfoScreen_WindowTemplates[] = .tilemapTop = 8, .width = 2, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 641, }, [WIN_CRY_WAVE] = @@ -922,7 +922,7 @@ static const struct WindowTemplate sInfoScreen_WindowTemplates[] = .tilemapTop = 12, .width = 32, .height = 7, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 645, }, [WIN_VU_METER] = @@ -932,7 +932,7 @@ static const struct WindowTemplate sInfoScreen_WindowTemplates[] = .tilemapTop = 3, .width = 10, .height = 8, - .paletteNum = 0x9, + .paletteNum = 9, .baseBlock = 869, }, DUMMY_WIN_TEMPLATE @@ -969,7 +969,7 @@ static const struct WindowTemplate sNewEntryInfoScreen_WindowTemplates[] = .tilemapTop = 0, .width = 32, .height = 20, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 1, }, [WIN_FOOTPRINT] = @@ -979,7 +979,7 @@ static const struct WindowTemplate sNewEntryInfoScreen_WindowTemplates[] = .tilemapTop = 8, .width = 2, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 641, }, DUMMY_WIN_TEMPLATE @@ -1490,7 +1490,7 @@ static const struct WindowTemplate sSearchMenu_WindowTemplate[] = .tilemapTop = 0, .width = 32, .height = 20, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 0x0001, }, DUMMY_WIN_TEMPLATE @@ -2145,12 +2145,12 @@ static bool8 LoadPokedexListPage(u8 page) static void LoadPokedexBgPalette(bool8 isSearchResults) { if (isSearchResults == TRUE) - LoadPalette(gPokedexSearchResults_Pal + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(gPokedexSearchResults_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); else if (!IsNationalPokedexEnabled()) - LoadPalette(gPokedexBgHoenn_Pal + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(gPokedexBgHoenn_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); else - LoadPalette(gPokedexBgNational_Pal + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(6 * 16 - 1)); - LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(gPokedexBgNational_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(6 * 16 - 1)); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(15), PLTT_SIZE_4BPP); } static void FreeWindowAndBgBuffers(void) @@ -3264,7 +3264,7 @@ static void Task_LoadInfoScreen(u8 taskId) case 4: PrintMonInfo(sPokedexListItem->dexNum, sPokedexView->dexMode == DEX_MODE_HOENN ? FALSE : TRUE, sPokedexListItem->owned, 0); if (!sPokedexListItem->owned) - LoadPalette(gPlttBufferUnfaded + 1, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(16 - 1)); + LoadPalette(gPlttBufferUnfaded + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(16 - 1)); CopyWindowToVram(WIN_INFO, COPYWIN_FULL); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -3713,7 +3713,7 @@ static void LoadPlayArrowPalette(bool8 cryPlaying) color = RGB(18, 28, 0); else color = RGB(15, 21, 0); - LoadPalette(&color, BG_PLTT_ID(0x5) + 13, PLTT_SIZEOF(1)); + LoadPalette(&color, BG_PLTT_ID(5) + 13, PLTT_SIZEOF(1)); } static void Task_LoadSizeScreen(u8 taskId) @@ -4030,11 +4030,11 @@ static void Task_HandleCaughtMonPageInput(u8 taskId) // Flicker caught screen color else if (++gTasks[taskId].tPalTimer & 16) { - LoadPalette(gPokedexBgHoenn_Pal + 1, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(7)); + LoadPalette(gPokedexBgHoenn_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); } else { - LoadPalette(gPokedexCaughtScreen_Pal + 1, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(7)); + LoadPalette(gPokedexCaughtScreen_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); } } @@ -4836,7 +4836,7 @@ static void Task_LoadSearchMenu(u8 taskId) CopyToBgTilemapBuffer(3, gPokedexSearchMenuHoenn_Tilemap, 0, 0); else CopyToBgTilemapBuffer(3, gPokedexSearchMenuNational_Tilemap, 0, 0); - LoadPalette(gPokedexSearchMenu_Pal + 1, BG_PLTT_ID(0x0) + 1, PLTT_SIZEOF(4 * 16 - 1)); + LoadPalette(gPokedexSearchMenu_Pal + 1, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(4 * 16 - 1)); gMain.state = 1; } break; diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 92df35ecc7..237f728381 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1201,7 +1201,7 @@ void TryLoadAllMonIconPalettesAtOffset(u16 offset) s32 i; const struct SpritePalette* monIconPalettePtr; - if (offset <= BG_PLTT_ID(0xA)) + if (offset <= BG_PLTT_ID(10)) { monIconPalettePtr = gMonIconPaletteTable; for (i = ARRAY_COUNT(gMonIconPaletteTable) - 1; i >= 0; i--) diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index 4039a62c6a..963552d7df 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -3105,7 +3105,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 0, .width = 6, .height = 2, - .paletteNum = 0x2, + .paletteNum = 2, .baseBlock = 0x13, }, [WIN_TIMES] = { @@ -3114,7 +3114,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 0, .width = 6, .height = 2, - .paletteNum = 0x2, + .paletteNum = 2, .baseBlock = 0x1F, }, DUMMY_WIN_TEMPLATE, @@ -3183,21 +3183,21 @@ static void LoadPokeJumpGfx(void) ResetTempTileDataBuffers(); LoadSpriteSheetsAndPalettes(sPokemonJumpGfx); InitDigitPrinters(); - LoadPalette(sBg_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sBg_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(BG_SCENERY, sBg_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_SCENERY, sBg_Tilemap, 0, 0, 1); - LoadPalette(sVenusaur_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + LoadPalette(sVenusaur_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(BG_VENUSAUR, sVenusaur_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_VENUSAUR, sVenusaur_Tilemap, 0, 0, 1); - LoadPalette(sBonuses_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(sBonuses_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(BG_BONUSES, sBonuses_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(BG_BONUSES, sBonuses_Tilemap, 0, 0, 1); - LoadPalette(sInterface_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadPalette(sInterface_Pal, BG_PLTT_ID(2), PLTT_SIZE_4BPP); SetBgTilemapBuffer(BG_INTERFACE, sPokemonJumpGfx->tilemapBuffer); FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 0x20, 0x20); PrintScoreSuffixes(); PrintScore(0); - LoadUserWindowBorderGfxOnBg(0, 1, BG_PLTT_ID(0xE)); + LoadUserWindowBorderGfxOnBg(0, 1, BG_PLTT_ID(14)); CopyBgTilemapBufferToVram(BG_INTERFACE); CopyBgTilemapBufferToVram(BG_VENUSAUR); CopyBgTilemapBufferToVram(BG_BONUSES); @@ -3321,7 +3321,7 @@ static void Msg_WantToPlayAgain(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); CreatePokeJumpYesNoMenu(23, 7, 0); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->mainState++; @@ -3348,7 +3348,7 @@ static void Msg_SavingDontTurnOff(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->mainState++; } @@ -3391,7 +3391,7 @@ static void Msg_SomeoneDroppedOut(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->mainState++; } @@ -3417,7 +3417,7 @@ static void Msg_CommunicationStandby(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->mainState++; } @@ -3527,7 +3527,7 @@ static bool32 DoPrizeMessageAndFanfare(void) if (!IsDma3ManagerBusyWithBgCopy()) { PutWindowTilemap(sPokemonJumpGfx->msgWindowId); - DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 0xE); + DrawTextBorderOuter(sPokemonJumpGfx->msgWindowId, 1, 14); CopyBgTilemapBufferToVram(BG_INTERFACE); sPokemonJumpGfx->msgWindowState++; } @@ -3601,7 +3601,7 @@ static u32 AddMessageWindow(u32 left, u32 top, u32 width, u32 height) window.tilemapTop = top; window.width = width; window.height = height; - window.paletteNum = 0xF; + window.paletteNum = 15; window.baseBlock = 0x43; windowId = AddWindow(&window); @@ -3618,7 +3618,7 @@ static void CreatePokeJumpYesNoMenu(u16 left, u16 top, u8 cursorPos) window.tilemapTop = top; window.width = 6; window.height = 4; - window.paletteNum = 0x2; + window.paletteNum = 2; window.baseBlock = 0x2B; CreateYesNoMenu(&window, 1, 0xD, cursorPos); @@ -3832,7 +3832,7 @@ static void AddPlayerNameWindows(void) window.bg = BG_INTERFACE; window.width = 8; window.height = 2; - window.paletteNum = 0x2; + window.paletteNum = 2; window.baseBlock = 0x2B; for (i = 0; i < playersCount; i++) @@ -4142,7 +4142,7 @@ static const struct WindowTemplate sWindowTemplate_Records = .tilemapTop = 1, .width = 28, .height = 9, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x1, }; @@ -4213,8 +4213,8 @@ static void PrintRecordsText(u16 windowId, int width) recordNums[1] = records->bestJumpScore; recordNums[2] = records->excellentsInRow; - LoadUserWindowBorderGfx_(windowId, 0x21D, BG_PLTT_ID(0xD)); - DrawTextBorderOuter(windowId, 0x21D, 0xD); + LoadUserWindowBorderGfx_(windowId, 0x21D, BG_PLTT_ID(13)); + DrawTextBorderOuter(windowId, 0x21D, 13); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_PkmnJumpRecords, GetStringCenterAlignXOffset(FONT_NORMAL, gText_PkmnJumpRecords, width * 8), 1, TEXT_SKIP_DRAW, NULL); for (i = 0; i < ARRAY_COUNT(sRecordsTexts); i++) diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 010ec80f78..80b03590d7 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -895,7 +895,7 @@ static const struct WindowTemplate sWindowTemplate_MainMenu = .tilemapTop = 1, .width = 17, .height = 10, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x1, }; @@ -976,7 +976,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 11, .width = 9, .height = 7, - .paletteNum = 0x3, + .paletteNum = 3, .baseBlock = 0xC0, }, [WIN_MESSAGE] = { @@ -985,7 +985,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 18, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x14, }, [WIN_ITEM_DESC] = { @@ -994,7 +994,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 13, .width = 21, .height = 7, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x14, }, DUMMY_WIN_TEMPLATE @@ -1104,7 +1104,7 @@ static const struct WindowTemplate sYesNoWindowTemplate = .tilemapTop = 11, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x5C, }; @@ -2128,7 +2128,7 @@ static void Task_InitPokeStorage(u8 taskId) PutWindowTilemap(WIN_DISPLAY_INFO); ClearWindowTilemap(WIN_MESSAGE); CpuFill32(0, (void *)VRAM, 0x200); - LoadUserWindowBorderGfx(WIN_MESSAGE, 0xB, BG_PLTT_ID(0xE)); + LoadUserWindowBorderGfx(WIN_MESSAGE, 0xB, BG_PLTT_ID(14)); break; case 3: ResetAllBgCoords(); @@ -3849,13 +3849,13 @@ static void LoadWaveformSpritePalette(void) static void InitPalettesAndSprites(void) { - LoadPalette(sInterface_Pal, BG_PLTT_ID(0x0), sizeof(sInterface_Pal)); - LoadPalette(sPkmnDataGray_Pal, BG_PLTT_ID(0x2), sizeof(sPkmnDataGray_Pal)); - LoadPalette(sTextWindows_Pal, BG_PLTT_ID(0xF), sizeof(sTextWindows_Pal)); + LoadPalette(sInterface_Pal, BG_PLTT_ID(0), sizeof(sInterface_Pal)); + LoadPalette(sPkmnDataGray_Pal, BG_PLTT_ID(2), sizeof(sPkmnDataGray_Pal)); + LoadPalette(sTextWindows_Pal, BG_PLTT_ID(15), sizeof(sTextWindows_Pal)); if (sStorage->boxOption != OPTION_MOVE_ITEMS) - LoadPalette(sBg_Pal, BG_PLTT_ID(0x3), sizeof(sBg_Pal)); + LoadPalette(sBg_Pal, BG_PLTT_ID(3), sizeof(sBg_Pal)); else - LoadPalette(sBgMoveItems_Pal, BG_PLTT_ID(0x3), sizeof(sBgMoveItems_Pal)); + LoadPalette(sBgMoveItems_Pal, BG_PLTT_ID(3), sizeof(sBgMoveItems_Pal)); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(30)); CreateDisplayMonSprite(); @@ -4045,7 +4045,7 @@ static void UpdateWaveformAnimation(void) static void InitSupplementalTilemaps(void) { LZ77UnCompWram(gStorageSystemPartyMenu_Tilemap, sStorage->partyMenuTilemapBuffer); - LoadPalette(gStorageSystemPartyMenu_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(gStorageSystemPartyMenu_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); TilemapUtil_SetMap(TILEMAPID_PARTY_MENU, 1, sStorage->partyMenuTilemapBuffer, 12, 22); TilemapUtil_SetMap(TILEMAPID_CLOSE_BUTTON, 1, sCloseBoxButton_Tilemap, 9, 4); TilemapUtil_SetPos(TILEMAPID_PARTY_MENU, 10, 0); @@ -4267,7 +4267,7 @@ static void UpdateBoxToSendMons(void) static void InitPokeStorageBg0(void) { SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(29)); - LoadUserWindowBorderGfx(WIN_MESSAGE, 2, BG_PLTT_ID(0xD)); + LoadUserWindowBorderGfx(WIN_MESSAGE, 2, BG_PLTT_ID(13)); FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17); CopyBgTilemapBufferToVram(0); } @@ -4308,7 +4308,7 @@ static void PrintMessage(u8 id) DynamicPlaceholderTextUtil_ExpandPlaceholders(sStorage->messageText, sMessages[id].text); FillWindowPixelBuffer(WIN_MESSAGE, PIXEL_FILL(1)); AddTextPrinterParameterized(WIN_MESSAGE, FONT_NORMAL, sStorage->messageText, 0, 1, TEXT_SKIP_DRAW, NULL); - DrawTextBorderOuter(WIN_MESSAGE, 2, 0xE); + DrawTextBorderOuter(WIN_MESSAGE, 2, 14); PutWindowTilemap(WIN_MESSAGE); CopyWindowToVram(WIN_MESSAGE, COPYWIN_GFX); ScheduleBgCopyTilemapToVram(0); @@ -5380,9 +5380,9 @@ static void LoadWallpaperGfx(u8 boxId, s8 direction) DrawWallpaper(sStorage->wallpaperTilemap, sStorage->wallpaperLoadDir, sStorage->wallpaperOffset); if (sStorage->wallpaperLoadDir != 0) - LoadPalette(wallpaper->palettes, 0x40 + BG_PLTT_ID(sStorage->wallpaperOffset * 2), 2 * PLTT_SIZE_4BPP); + LoadPalette(wallpaper->palettes, BG_PLTT_ID(4) + BG_PLTT_ID(sStorage->wallpaperOffset * 2), 2 * PLTT_SIZE_4BPP); else - CpuCopy16(wallpaper->palettes, &gPlttBufferUnfaded[0x40 + BG_PLTT_ID(sStorage->wallpaperOffset * 2)], 2 * PLTT_SIZE_4BPP); + CpuCopy16(wallpaper->palettes, &gPlttBufferUnfaded[BG_PLTT_ID(4) + BG_PLTT_ID(sStorage->wallpaperOffset * 2)], 2 * PLTT_SIZE_4BPP); sStorage->wallpaperTiles = malloc_and_decompress(wallpaper->tiles, &tilesSize); LoadBgTiles(2, sStorage->wallpaperTiles, tilesSize, sStorage->wallpaperOffset << 8); @@ -5398,9 +5398,9 @@ static void LoadWallpaperGfx(u8 boxId, s8 direction) CpuCopy16(GetWaldaWallpaperColorsPtr(), &sStorage->wallpaperTilemap[17], 4); if (sStorage->wallpaperLoadDir != 0) - LoadPalette(sStorage->wallpaperTilemap, 0x40 + BG_PLTT_ID(sStorage->wallpaperOffset * 2), 2 * PLTT_SIZE_4BPP); + LoadPalette(sStorage->wallpaperTilemap, BG_PLTT_ID(4) + BG_PLTT_ID(sStorage->wallpaperOffset * 2), 2 * PLTT_SIZE_4BPP); else - CpuCopy16(sStorage->wallpaperTilemap, &gPlttBufferUnfaded[0x40 + BG_PLTT_ID(sStorage->wallpaperOffset * 2)], 2 * PLTT_SIZE_4BPP); + CpuCopy16(sStorage->wallpaperTilemap, &gPlttBufferUnfaded[BG_PLTT_ID(4) + BG_PLTT_ID(sStorage->wallpaperOffset * 2)], 2 * PLTT_SIZE_4BPP); sStorage->wallpaperTiles = malloc_and_decompress(wallpaper->tiles, &tilesSize); iconGfx = malloc_and_decompress(sWaldaWallpaperIcons[GetWaldaWallpaperIconId()], &iconSize); @@ -7929,7 +7929,7 @@ static void InitMenu(void) sStorage->menuItemsCount = 0; sStorage->menuWidth = 0; sStorage->menuWindow.bg = 0; - sStorage->menuWindow.paletteNum = 0xF; + sStorage->menuWindow.paletteNum = 15; sStorage->menuWindow.baseBlock = 92; } @@ -8085,7 +8085,7 @@ static const struct WindowTemplate sWindowTemplate_MultiMove = .tilemapTop = 3, .width = 20, .height = 18, - .paletteNum = 0x9, + .paletteNum = 9, .baseBlock = 0xA, }; @@ -8164,7 +8164,7 @@ static bool8 MultiMove_Start(void) { case 0: HideBg(0); - TryLoadAllMonIconPalettesAtOffset(BG_PLTT_ID(0x8)); + TryLoadAllMonIconPalettesAtOffset(BG_PLTT_ID(8)); sMultiMove->state++; break; case 1: @@ -8213,7 +8213,7 @@ static bool8 MultiMove_Cancel(void) if (!IsDma3ManagerBusyWithBgCopy()) { SetCursorPriorityTo1(); - LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(13), PLTT_SIZE_4BPP); ShowBg(0); return FALSE; } @@ -8319,7 +8319,7 @@ static bool8 MultiMove_PlaceMons(void) case 3: if (!IsDma3ManagerBusyWithBgCopy()) { - LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); + LoadPalette(GetTextWindowPalette(3), BG_PLTT_ID(13), PLTT_SIZE_4BPP); SetCursorPriorityTo1(); ShowBg(0); return FALSE; @@ -9245,12 +9245,12 @@ static void DrawItemInfoWindow(u32 x) { if (x != 0) { - FillBgTilemapBufferRect(0, 0x13A, 0, 0xC, x, 1, 0xF); - FillBgTilemapBufferRect(0, 0x93A, 0, 0x14, x, 1, 0xF); + FillBgTilemapBufferRect(0, 0x13A, 0, 0xC, x, 1, 15); + FillBgTilemapBufferRect(0, 0x93A, 0, 0x14, x, 1, 15); } - FillBgTilemapBufferRect(0, 0x13B, x, 0xD, 1, 7, 0xF); - FillBgTilemapBufferRect(0, 0x13C, x, 0xC, 1, 1, 0xF); - FillBgTilemapBufferRect(0, 0x13D, x, 0x14, 1, 1, 0xF); + FillBgTilemapBufferRect(0, 0x13B, x, 0xD, 1, 7, 15); + FillBgTilemapBufferRect(0, 0x13C, x, 0xC, 1, 1, 15); + FillBgTilemapBufferRect(0, 0x13D, x, 0x14, 1, 1, 15); ScheduleBgCopyTilemapToVram(0); } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index e406225062..c7dcff3370 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -391,7 +391,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 11, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 1, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_TITLE] = { @@ -400,7 +400,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 11, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 23, }, [PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE] = { @@ -409,7 +409,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 11, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 45, }, [PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE] = { @@ -418,7 +418,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 11, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 67, }, [PSS_LABEL_WINDOW_PROMPT_CANCEL] = { @@ -427,7 +427,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 8, .height = 2, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 89, }, [PSS_LABEL_WINDOW_PROMPT_INFO] = { @@ -436,7 +436,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 8, .height = 2, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 105, }, [PSS_LABEL_WINDOW_PROMPT_SWITCH] = { @@ -445,7 +445,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 0, .width = 8, .height = 2, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 121, }, [PSS_LABEL_WINDOW_UNUSED1] = { @@ -454,7 +454,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 4, .width = 0, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 137, }, [PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL] = { @@ -463,7 +463,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 4, .width = 18, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 137, }, [PSS_LABEL_WINDOW_POKEMON_INFO_TYPE] = { @@ -472,7 +472,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 6, .width = 18, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 173, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT] = { @@ -481,7 +481,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 7, .width = 6, .height = 6, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 209, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT] = { @@ -490,7 +490,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 7, .width = 5, .height = 6, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 245, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP] = { @@ -499,7 +499,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 14, .width = 11, .height = 4, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 275, }, [PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS] = { @@ -508,7 +508,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 18, .width = 6, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 319, }, [PSS_LABEL_WINDOW_MOVES_POWER_ACC] = { @@ -517,7 +517,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 15, .width = 9, .height = 4, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 331, }, [PSS_LABEL_WINDOW_MOVES_APPEAL_JAM] = { @@ -526,7 +526,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 15, .width = 5, .height = 4, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 367, }, [PSS_LABEL_WINDOW_UNUSED2] = { @@ -535,7 +535,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 4, .width = 0, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 387, }, [PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER] = { @@ -544,7 +544,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 2, .width = 4, .height = 2, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 387, }, [PSS_LABEL_WINDOW_PORTRAIT_NICKNAME] = { @@ -553,7 +553,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 12, .width = 9, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 395, }, [PSS_LABEL_WINDOW_PORTRAIT_SPECIES] = { @@ -562,7 +562,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .tilemapTop = 14, .width = 9, .height = 4, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 413, }, [PSS_LABEL_WINDOW_END] = DUMMY_WIN_TEMPLATE @@ -575,7 +575,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .tilemapTop = 4, .width = 11, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 449, }, [PSS_DATA_WINDOW_INFO_ID] = { @@ -584,7 +584,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .tilemapTop = 4, .width = 7, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 471, }, [PSS_DATA_WINDOW_INFO_ABILITY] = { @@ -593,7 +593,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .tilemapTop = 9, .width = 18, .height = 4, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 485, }, [PSS_DATA_WINDOW_INFO_MEMO] = { @@ -602,7 +602,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .tilemapTop = 14, .width = 18, .height = 6, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 557, }, }; @@ -614,7 +614,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 4, .width = 10, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 449, }, [PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT] = { @@ -623,7 +623,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 4, .width = 10, .height = 2, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 469, }, [PSS_DATA_WINDOW_SKILLS_STATS_LEFT] = { @@ -632,7 +632,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 7, .width = 6, .height = 6, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 489, }, [PSS_DATA_WINDOW_SKILLS_STATS_RIGHT] = { @@ -641,7 +641,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 7, .width = 3, .height = 6, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 525, }, [PSS_DATA_WINDOW_EXP] = { @@ -650,7 +650,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .tilemapTop = 14, .width = 6, .height = 4, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 543, }, }; @@ -662,7 +662,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .tilemapTop = 4, .width = 9, .height = 10, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 449, }, [PSS_DATA_WINDOW_MOVE_PP] = { @@ -671,7 +671,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .tilemapTop = 4, .width = 6, .height = 10, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 539, }, [PSS_DATA_WINDOW_MOVE_DESCRIPTION] = { @@ -680,7 +680,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .tilemapTop = 15, .width = 20, .height = 4, - .paletteNum = 0x6, + .paletteNum = 6, .baseBlock = 599, }, }; @@ -1328,8 +1328,8 @@ static bool8 DecompressGraphics(void) sMonSummaryScreen->switchCounter++; break; case 6: - LoadCompressedPalette(gSummaryScreen_Pal, BG_PLTT_ID(0x0), 8 * PLTT_SIZE_4BPP); - LoadPalette(&gPPTextPalette, BG_PLTT_ID(0x8) + 1, PLTT_SIZEOF(16 - 1)); + LoadCompressedPalette(gSummaryScreen_Pal, BG_PLTT_ID(0), 8 * PLTT_SIZE_4BPP); + LoadPalette(&gPPTextPalette, BG_PLTT_ID(8) + 1, PLTT_SIZEOF(16 - 1)); sMonSummaryScreen->switchCounter++; break; case 7: @@ -1353,7 +1353,7 @@ static bool8 DecompressGraphics(void) sMonSummaryScreen->switchCounter++; break; case 12: - LoadCompressedPalette(gMoveTypes_Pal, OBJ_PLTT_ID(0xD), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gMoveTypes_Pal, OBJ_PLTT_ID(13), 3 * PLTT_SIZE_4BPP); sMonSummaryScreen->switchCounter = 0; return TRUE; } diff --git a/src/pokenav_conditions_gfx.c b/src/pokenav_conditions_gfx.c index 9ad8854359..e382cbf699 100644 --- a/src/pokenav_conditions_gfx.c +++ b/src/pokenav_conditions_gfx.c @@ -68,7 +68,7 @@ static const struct WindowTemplate sMonNameGenderWindowTemplate = .tilemapTop = 1, .width = 13, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 2 }; @@ -79,7 +79,7 @@ static const struct WindowTemplate sListIndexWindowTemplate = .tilemapTop = 6, .width = 7, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x36 }; @@ -90,7 +90,7 @@ static const struct WindowTemplate sUnusedWindowTemplate1 = .tilemapTop = 0x1C, .width = 5, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x44 }; @@ -101,7 +101,7 @@ static const struct WindowTemplate sUnusedWindowTemplate2 = .tilemapTop = 0x1C, .width = 3, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x44 }; @@ -224,8 +224,8 @@ static u32 LoopedTask_OpenConditionGraphMenu(s32 state) CopyToBgTilemapBufferRect(3, gPokenavOptions_Tilemap, 0, 5, 9, 4); CopyBgTilemapBufferToVram(3); - CopyPaletteIntoBufferUnfaded(gPokenavCondition_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); - CopyPaletteIntoBufferUnfaded(gConditionText_Pal, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(gPokenavCondition_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(gConditionText_Pal, BG_PLTT_ID(15), PLTT_SIZE_4BPP); menu->monTransitionX = -80; return LT_INC_AND_PAUSE; case 4: @@ -235,7 +235,7 @@ static u32 LoopedTask_OpenConditionGraphMenu(s32 state) LZ77UnCompVram(sConditionGraphData_Tilemap, menu->tilemapBuffers[2]); SetBgTilemapBuffer(2, menu->tilemapBuffers[2]); CopyBgTilemapBufferToVram(2); - CopyPaletteIntoBufferUnfaded(gConditionGraphData_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(gConditionGraphData_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); ConditionGraph_InitWindow(2); return LT_INC_AND_PAUSE; case 5: diff --git a/src/pokenav_conditions_search_results.c b/src/pokenav_conditions_search_results.c index 49ce612cc1..d3764cb802 100644 --- a/src/pokenav_conditions_search_results.c +++ b/src/pokenav_conditions_search_results.c @@ -121,7 +121,7 @@ static const struct WindowTemplate sSearchResultListMenuWindowTemplate = .tilemapTop = 6, .width = 7, .height = 2, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 20 }; @@ -432,7 +432,7 @@ static u32 LoopedTask_OpenConditionSearchResults(s32 state) SetBgTilemapBuffer(1, gfx->buff); CopyToBgTilemapBuffer(1, sConditionSearchResultTilemap, 0, 0); CopyBgTilemapBufferToVram(1); - CopyPaletteIntoBufferUnfaded(sConditionSearchResultFramePal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sConditionSearchResultFramePal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(1); return LT_INC_AND_PAUSE; case 1: @@ -444,7 +444,7 @@ static u32 LoopedTask_OpenConditionSearchResults(s32 state) case 2: if (FreeTempTileDataBuffersIfPossible()) return LT_PAUSE; - CopyPaletteIntoBufferUnfaded(sListBg_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sListBg_Pal, BG_PLTT_ID(2), PLTT_SIZE_4BPP); CreateSearchResultsList(); return LT_INC_AND_PAUSE; case 3: diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c index 3dbc7952d2..bfc5ba0cb4 100644 --- a/src/pokenav_main_menu.c +++ b/src/pokenav_main_menu.c @@ -78,7 +78,7 @@ static const struct WindowTemplate sHelpBarWindowTemplate[] = .tilemapTop = 22, .width = 16, .height = 2, - .paletteNum = 0x0, + .paletteNum = 0, .baseBlock = 0x36, }, DUMMY_WIN_TEMPLATE @@ -349,7 +349,7 @@ static u32 LoopedTask_InitPokenavMenu(s32 state) DecompressAndCopyTileDataToVram(0, &gPokenavHeader_Gfx, 0, 0, 0); SetBgTilemapBuffer(0, menu->tilemapBuffer); CopyToBgTilemapBuffer(0, &gPokenavHeader_Tilemap, 0, 0); - CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(0); return LT_INC_AND_PAUSE; case 2: diff --git a/src/pokenav_match_call_gfx.c b/src/pokenav_match_call_gfx.c index 710aeef17b..626e584b70 100755 --- a/src/pokenav_match_call_gfx.c +++ b/src/pokenav_match_call_gfx.c @@ -182,7 +182,7 @@ static const struct WindowTemplate sMatchCallLocationWindowTemplate = .tilemapTop = 5, .width = 11, .height = 2, - .paletteNum = 0x2, + .paletteNum = 2, .baseBlock = 16 }; @@ -193,7 +193,7 @@ static const struct WindowTemplate sMatchCallInfoBoxWindowTemplate = .tilemapTop = 9, .width = 11, .height = 8, - .paletteNum = 0x2, + .paletteNum = 2, .baseBlock = 38 }; @@ -214,7 +214,7 @@ static const struct WindowTemplate sCallMsgBoxWindowTemplate = .tilemapTop = 12, .width = 28, .height = 4, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 10 }; @@ -333,7 +333,7 @@ static u32 LoopedTask_OpenMatchCall(s32 state) SetBgTilemapBuffer(2, gfx->bgTilemapBuffer2); CopyToBgTilemapBuffer(2, sMatchCallUI_Tilemap, 0, 0); CopyBgTilemapBufferToVram(2); - CopyPaletteIntoBufferUnfaded(sMatchCallUI_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sMatchCallUI_Pal, BG_PLTT_ID(2), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(2); return LT_INC_AND_PAUSE; case 1: @@ -343,7 +343,7 @@ static u32 LoopedTask_OpenMatchCall(s32 state) BgDmaFill(1, 0, 0, 1); SetBgTilemapBuffer(1, gfx->bgTilemapBuffer1); FillBgTilemapBufferRect_Palette0(1, 0x1000, 0, 0, 32, 20); - CopyPaletteIntoBufferUnfaded(sCallWindow_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sCallWindow_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(1); return LT_INC_AND_PAUSE; case 2: @@ -352,8 +352,8 @@ static u32 LoopedTask_OpenMatchCall(s32 state) LoadCallWindowAndFade(gfx); DecompressAndCopyTileDataToVram(3, sPokeball_Gfx, 0, 0, 0); - CopyPaletteIntoBufferUnfaded(sListWindow_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); - CopyPaletteIntoBufferUnfaded(sPokeball_Pal, BG_PLTT_ID(0x5), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sListWindow_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sPokeball_Pal, BG_PLTT_ID(5), PLTT_SIZE_4BPP); return LT_INC_AND_PAUSE; case 3: if (FreeTempTileDataBuffersIfPossible() || !IsMatchCallListInitFinished()) @@ -1082,15 +1082,15 @@ static void UpdateWindowsToShowCheckPage(struct Pokenav_MatchCallGfx *gfx) static void LoadCallWindowAndFade(struct Pokenav_MatchCallGfx *gfx) { gfx->msgBoxWindowId = AddWindow(&sCallMsgBoxWindowTemplate); - LoadMatchCallWindowGfx(gfx->msgBoxWindowId, 1, 0x4); + LoadMatchCallWindowGfx(gfx->msgBoxWindowId, 1, 4); FadeToBlackExceptPrimary(); } static void DrawMsgBoxForMatchCallMsg(struct Pokenav_MatchCallGfx *gfx) { struct Sprite *sprite; - LoadMatchCallWindowGfx(gfx->msgBoxWindowId, 1, 0x4); - DrawMatchCallTextBoxBorder(gfx->msgBoxWindowId, 1, 0x4); + LoadMatchCallWindowGfx(gfx->msgBoxWindowId, 1, 4); + DrawMatchCallTextBoxBorder(gfx->msgBoxWindowId, 1, 4); FillWindowPixelBuffer(gfx->msgBoxWindowId, PIXEL_FILL(1)); PutWindowTilemap(gfx->msgBoxWindowId); CopyWindowToVram(gfx->msgBoxWindowId, COPYWIN_FULL); @@ -1102,8 +1102,8 @@ static void DrawMsgBoxForMatchCallMsg(struct Pokenav_MatchCallGfx *gfx) static void DrawMsgBoxForCloseByMsg(struct Pokenav_MatchCallGfx *gfx) { - LoadUserWindowBorderGfx(gfx->msgBoxWindowId, 1, BG_PLTT_ID(0x4)); - DrawTextBorderOuter(gfx->msgBoxWindowId, 1, 0x4); + LoadUserWindowBorderGfx(gfx->msgBoxWindowId, 1, BG_PLTT_ID(4)); + DrawTextBorderOuter(gfx->msgBoxWindowId, 1, 4); FillWindowPixelBuffer(gfx->msgBoxWindowId, PIXEL_FILL(1)); PutWindowTilemap(gfx->msgBoxWindowId); CopyWindowToVram(gfx->msgBoxWindowId, COPYWIN_FULL); diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index 1acd2edf9e..a9275bcf7b 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -261,7 +261,7 @@ static const struct WindowTemplate sOptionDescWindowTemplate = .tilemapTop = 17, .width = 24, .height = 2, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 8 }; @@ -457,7 +457,7 @@ static u32 LoopedTask_OpenMenu(s32 state) SetBgTilemapBuffer(1, gfx->bg1TilemapBuffer); CopyToBgTilemapBuffer(1, gPokenavMessageBox_Tilemap, 0, 0); CopyBgTilemapBufferToVram(1); - CopyPaletteIntoBufferUnfaded(gPokenavMessageBox_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(gPokenavMessageBox_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); ChangeBgX(1, 0, BG_COORD_SET); ChangeBgY(1, 0, BG_COORD_SET); ChangeBgX(2, 0, BG_COORD_SET); @@ -470,14 +470,14 @@ static u32 LoopedTask_OpenMenu(s32 state) return LT_PAUSE; DecompressAndCopyTileDataToVram(2, sPokenavDeviceBgTiles, 0, 0, 0); DecompressAndCopyTileDataToVram(2, sPokenavDeviceBgTilemap, 0, 0, 1); - CopyPaletteIntoBufferUnfaded(sPokenavDeviceBgPal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sPokenavDeviceBgPal, BG_PLTT_ID(2), PLTT_SIZE_4BPP); return LT_INC_AND_PAUSE; case 2: if (FreeTempTileDataBuffersIfPossible()) return LT_PAUSE; DecompressAndCopyTileDataToVram(3, sPokenavBgDotsTiles, 0, 0, 0); DecompressAndCopyTileDataToVram(3, sPokenavBgDotsTilemap, 0, 0, 1); - CopyPaletteIntoBufferUnfaded(sPokenavBgDotsPal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sPokenavBgDotsPal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); if (GetPokenavMenuType() == POKENAV_MENU_TYPE_CONDITION || GetPokenavMenuType() == POKENAV_MENU_TYPE_CONDITION_SEARCH) ChangeBgDotsColorToPurple(); return LT_INC_AND_PAUSE; @@ -1270,7 +1270,7 @@ static void CreateBgDotPurplePalTask(void) static void ChangeBgDotsColorToPurple(void) { - CopyPaletteIntoBufferUnfaded(sPokenavBgDotsPal + 7, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(2)); + CopyPaletteIntoBufferUnfaded(sPokenavBgDotsPal + 7, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(2)); } static void CreateBgDotLightBluePalTask(void) @@ -1293,7 +1293,7 @@ static void Task_UpdateBgDotsPalette(u8 taskId) const u16 * pal2 = (const u16 *)GetWordTaskArg(taskId, 3); PokenavCopyPalette(pal1, pal2, 2, 12, ++data[0], sp8); - LoadPalette(sp8, BG_PLTT_ID(0x3) + 1, PLTT_SIZEOF(2)); + LoadPalette(sp8, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(2)); if (data[0] == 12) DestroyTask(taskId); } diff --git a/src/pokenav_region_map.c b/src/pokenav_region_map.c index 6b3479f10e..1bb52767db 100755 --- a/src/pokenav_region_map.c +++ b/src/pokenav_region_map.c @@ -140,7 +140,7 @@ static const struct WindowTemplate sMapSecInfoWindowTemplate = .tilemapTop = 4, .width = 12, .height = 13, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 0x4C }; @@ -509,14 +509,14 @@ static void LoadPokenavRegionMapGfx(struct Pokenav_RegionMapGfx *state) CpuFill16(0x1040, state->tilemapBuffer, 0x800); SetBgTilemapBuffer(1, state->tilemapBuffer); state->infoWindowId = AddWindow(&sMapSecInfoWindowTemplate); - LoadUserWindowBorderGfx_(state->infoWindowId, 0x42, BG_PLTT_ID(0x4)); - DrawTextBorderOuter(state->infoWindowId, 0x42, 0x4); + LoadUserWindowBorderGfx_(state->infoWindowId, 0x42, BG_PLTT_ID(4)); + DrawTextBorderOuter(state->infoWindowId, 0x42, 4); DecompressAndCopyTileDataToVram(1, sRegionMapCityZoomTiles_Gfx, 0, 0, 0); FillWindowPixelBuffer(state->infoWindowId, PIXEL_FILL(1)); PutWindowTilemap(state->infoWindowId); CopyWindowToVram(state->infoWindowId, COPYWIN_FULL); - CopyPaletteIntoBufferUnfaded(sMapSecInfoWindow_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); - CopyPaletteIntoBufferUnfaded(gRegionMapCityZoomTiles_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sMapSecInfoWindow_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(gRegionMapCityZoomTiles_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); if (!IsRegionMapZoomed()) ChangeBgY(1, -0x6000, BG_COORD_SET); else diff --git a/src/pokenav_ribbons_list.c b/src/pokenav_ribbons_list.c index 5f5cf083ff..c1ca7f9d92 100644 --- a/src/pokenav_ribbons_list.c +++ b/src/pokenav_ribbons_list.c @@ -432,7 +432,7 @@ static u32 LoopedTask_OpenRibbonsMonList(s32 state) DecompressAndCopyTileDataToVram(1, sMonRibbonListFrameTiles, 0, 0, 0); SetBgTilemapBuffer(1, menu->buff); CopyToBgTilemapBuffer(1, sMonRibbonListFrameTilemap, 0, 0); - CopyPaletteIntoBufferUnfaded(sMonRibbonListFramePal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sMonRibbonListFramePal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(1); return LT_INC_AND_PAUSE; case 1: @@ -447,7 +447,7 @@ static u32 LoopedTask_OpenRibbonsMonList(s32 state) case 2: if (FreeTempTileDataBuffersIfPossible()) return LT_PAUSE; - CopyPaletteIntoBufferUnfaded(sMonRibbonListUi_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sMonRibbonListUi_Pal, BG_PLTT_ID(2), PLTT_SIZE_4BPP); CreateRibbonMonsList(); return LT_INC_AND_PAUSE; case 3: diff --git a/src/pokenav_ribbons_summary.c b/src/pokenav_ribbons_summary.c index d5e04a5025..4861b8e0ea 100644 --- a/src/pokenav_ribbons_summary.c +++ b/src/pokenav_ribbons_summary.c @@ -573,7 +573,7 @@ static u32 LoopedTask_OpenRibbonsSummaryMenu(s32 state) DecompressAndCopyTileDataToVram(2, gPokenavRibbonsSummaryBg_Gfx, 0, 0, 0); SetBgTilemapBuffer(2, menu->tilemapBuffers[0]); CopyToBgTilemapBuffer(2, gPokenavRibbonsSummaryBg_Tilemap, 0, 0); - CopyPaletteIntoBufferUnfaded(gPokenavRibbonsSummaryBg_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(gPokenavRibbonsSummaryBg_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(2); return LT_INC_AND_PAUSE; case 1: @@ -583,8 +583,8 @@ static u32 LoopedTask_OpenRibbonsSummaryMenu(s32 state) DecompressAndCopyTileDataToVram(1, sRibbonIconsSmall_Gfx, 0, 1, 0); SetBgTilemapBuffer(1, menu->tilemapBuffers[1]); FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20); - CopyPaletteIntoBufferUnfaded(sRibbonIcons1_Pal, BG_PLTT_ID(0x2), 5 * PLTT_SIZE_4BPP); - CopyPaletteIntoBufferUnfaded(sMonInfo_Pal, BG_PLTT_ID(0xA), PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sRibbonIcons1_Pal, BG_PLTT_ID(2), 5 * PLTT_SIZE_4BPP); + CopyPaletteIntoBufferUnfaded(sMonInfo_Pal, BG_PLTT_ID(10), PLTT_SIZE_4BPP); CopyBgTilemapBufferToVram(1); return LT_INC_AND_PAUSE; } @@ -790,7 +790,7 @@ static const struct WindowTemplate sRibbonCountWindowTemplate = .tilemapTop = 13, .width = 16, .height = 4, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 0x14, }; @@ -854,7 +854,7 @@ static const struct WindowTemplate sRibbonSummaryMonNameWindowTemplate = .tilemapTop = 1, .width = 13, .height = 2, - .paletteNum = 0xA, + .paletteNum = 10, .baseBlock = 0x54, }; @@ -909,7 +909,7 @@ static const struct WindowTemplate sRibbonMonListIndexWindowTemplate[] = .tilemapTop = 5, .width = 7, .height = 2, - .paletteNum = 0x1, + .paletteNum = 1, .baseBlock = 0x6E, }, {}, diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index ca50ed8f2c..c984dfec8a 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -1301,7 +1301,7 @@ static void CB2_InitRayquazaScene(void) ResetPaletteFade(); ResetSpriteData(); ResetTasks(); - FillPalette(RGB_BLACK, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + FillPalette(RGB_BLACK, BG_PLTT_ID(15), PLTT_SIZE_4BPP); CreateTask(sTasksForAnimations[sRayScene->animId], 0); SetMainCallback2(CB2_RayquazaScene); } @@ -1592,7 +1592,7 @@ static void LoadDuoFightSceneGfx(void) LZDecompressWram(gRaySceneDuoFight_Clouds2_Tilemap, sRayScene->tilemapBuffers[0]); LZDecompressWram(gRaySceneDuoFight_Clouds1_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneDuoFight_Clouds3_Tilemap, sRayScene->tilemapBuffers[2]); - LoadCompressedPalette(gRaySceneDuoFight_Clouds_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gRaySceneDuoFight_Clouds_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); LoadCompressedSpriteSheet(&sSpriteSheet_DuoFight_Groudon); LoadCompressedSpriteSheet(&sSpriteSheet_DuoFight_GroudonShoulder); LoadCompressedSpriteSheet(&sSpriteSheet_DuoFight_GroudonClaw); @@ -2032,7 +2032,7 @@ static void LoadTakesFlightSceneGfx(void) LZDecompressWram(gRaySceneDuoFight_Clouds2_Tilemap, sRayScene->tilemapBuffers[0]); LZDecompressWram(gRaySceneTakesFlight_Bg_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneTakesFlight_Rayquaza_Tilemap, sRayScene->tilemapBuffers[2]); - LoadCompressedPalette(gRaySceneTakesFlight_Rayquaza_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gRaySceneTakesFlight_Rayquaza_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); LoadCompressedSpriteSheet(&sSpriteSheet_TakesFlight_Smoke); LoadCompressedSpritePalette(&sSpritePal_TakesFlight_Smoke); } @@ -2238,7 +2238,7 @@ static void LoadDescendsSceneGfx(void) CpuFastCopy(sRayScene->tilemapBuffers[3], sRayScene->tilemapBuffers[1], BG_SCREEN_SIZE); CpuFastFill16(0, &sRayScene->tilemapBuffers[1][0x100], 0x340); - LoadCompressedPalette(gRaySceneDescends_Bg_Pal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gRaySceneDescends_Bg_Pal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); gPlttBufferUnfaded[0] = RGB_WHITE; gPlttBufferFaded[0] = RGB_WHITE; LoadCompressedSpriteSheet(&sSpriteSheet_Descends_Rayquaza); @@ -2487,7 +2487,7 @@ static void LoadChargesSceneGfx(void) LZDecompressWram(gRaySceneCharges_Rayquaza_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneCharges_Streaks_Tilemap, sRayScene->tilemapBuffers[2]); LZDecompressWram(gRaySceneCharges_Bg_Tilemap, sRayScene->tilemapBuffers[3]); - LoadCompressedPalette(gRaySceneCharges_Bg_Pal, BG_PLTT_ID(0x0), 4 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gRaySceneCharges_Bg_Pal, BG_PLTT_ID(0), 4 * PLTT_SIZE_4BPP); } #define tState data[0] @@ -2671,7 +2671,7 @@ static void LoadChasesAwaySceneGfx(void) LZDecompressWram(gRaySceneChasesAway_Bg_Tilemap, sRayScene->tilemapBuffers[1]); LZDecompressWram(gRaySceneChasesAway_Light_Tilemap, sRayScene->tilemapBuffers[0]); LZDecompressWram(gRaySceneChasesAway_Ring_Tilemap, sRayScene->tilemapBuffers[2]); - LoadCompressedPalette(gRaySceneChasesAway_Bg_Pal, BG_PLTT_ID(0x0), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gRaySceneChasesAway_Bg_Pal, BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); LoadCompressedSpriteSheet(&sSpriteSheet_ChasesAway_Groudon); LoadCompressedSpriteSheet(&sSpriteSheet_ChasesAway_GroudonTail); LoadCompressedSpriteSheet(&sSpriteSheet_ChasesAway_Kyogre); diff --git a/src/region_map.c b/src/region_map.c index 379cc247e4..06408942aa 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -392,7 +392,7 @@ static const struct WindowTemplate sFlyMapWindowTemplates[] = .tilemapTop = 17, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x01 }, { @@ -401,7 +401,7 @@ static const struct WindowTemplate sFlyMapWindowTemplates[] = .tilemapTop = 15, .width = 12, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x19 }, { @@ -410,7 +410,7 @@ static const struct WindowTemplate sFlyMapWindowTemplates[] = .tilemapTop = 18, .width = 14, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x49 }, DUMMY_WIN_TEMPLATE @@ -567,7 +567,7 @@ bool8 LoadRegionMapGfx(void) break; case 2: if (!FreeTempTileDataBuffersIfPossible()) - LoadPalette(sRegionMapBg_Pal, BG_PLTT_ID(0x7), 3 * PLTT_SIZE_4BPP); + LoadPalette(sRegionMapBg_Pal, BG_PLTT_ID(7), 3 * PLTT_SIZE_4BPP); break; case 3: LZ77UnCompWram(sRegionMapCursorSmallGfxLZ, sRegionMap->cursorSmallImage); @@ -1689,7 +1689,7 @@ void CB2_OpenFlyMap(void) gMain.state++; break; case 3: - LoadUserWindowBorderGfx(0, 0x65, BG_PLTT_ID(0xD)); + LoadUserWindowBorderGfx(0, 0x65, BG_PLTT_ID(13)); ClearScheduledBgCopiesToVram(); gMain.state++; break; @@ -1712,7 +1712,7 @@ void CB2_OpenFlyMap(void) gMain.state++; break; case 7: - LoadPalette(sRegionMapFramePal, BG_PLTT_ID(0x1), sizeof(sRegionMapFramePal)); + LoadPalette(sRegionMapFramePal, BG_PLTT_ID(1), sizeof(sRegionMapFramePal)); PutWindowTilemap(2); FillWindowPixelBuffer(2, PIXEL_FILL(0)); AddTextPrinterParameterized(2, FONT_NORMAL, gText_FlyToWhere, 0, 1, 0, NULL); diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 2c7566a66c..0a9ec49113 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -85,7 +85,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 1, .width = 19, .height = 9, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x155 }, { @@ -94,7 +94,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xE9 }, DUMMY_WIN_TEMPLATE @@ -106,7 +106,7 @@ static const struct WindowTemplate sInputTimeWindow = { .tilemapTop = 9, .width = 21, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xBF }; diff --git a/src/roulette.c b/src/roulette.c index 3e37ba5d60..5182dabaed 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -460,7 +460,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 24, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xC5 }, #ifdef UBFIX @@ -1195,7 +1195,7 @@ static void CB2_LoadRoulette(void) ResetTempTileDataBuffers(); break; case 3: - LoadPalette(&sWheel_Pal, BG_PLTT_ID(0x0), 14 * PLTT_SIZE_4BPP); + LoadPalette(&sWheel_Pal, BG_PLTT_ID(0), 14 * PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(1, gRouletteMenu_Gfx, 0, 0, 0); DecompressAndCopyTileDataToVram(2, gRouletteWheel_Gfx, 0, 0, 0); break; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index f039cf324d..dc079ad830 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -103,7 +103,7 @@ static const struct WindowTemplate sWindowTemplate_Text[] = .tilemapTop = 13, .width = 28, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1, } }; @@ -116,7 +116,7 @@ static const struct WindowTemplate sWindowTemplate_Clock[] = .tilemapTop = 9, .width = 2, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 169, } }; @@ -214,10 +214,10 @@ static void CB2_SaveFailedScreen(void) ResetSpriteData(); ResetTasks(); ResetPaletteFade(); - LoadPalette(gBirchBagGrassPal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); - LoadPalette(sSaveFailedClockPal, OBJ_PLTT_ID(0x0), PLTT_SIZE_4BPP); - LoadPalette(gTextWindowFrame1_Pal, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(gBirchBagGrassPal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); + LoadPalette(sSaveFailedClockPal, OBJ_PLTT_ID(0), PLTT_SIZE_4BPP); + LoadPalette(gTextWindowFrame1_Pal, BG_PLTT_ID(14), PLTT_SIZE_4BPP); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZE_4BPP); DrawStdFrameWithCustomTileAndPalette(sWindowIds[TEXT_WIN_ID], FALSE, 0x214, 0xE); DrawStdFrameWithCustomTileAndPalette(sWindowIds[CLOCK_WIN_ID], FALSE, 0x214, 0xE); FillWindowPixelBuffer(sWindowIds[CLOCK_WIN_ID], PIXEL_FILL(1)); // backwards? diff --git a/src/scrcmd.c b/src/scrcmd.c index 91ab4ebfb6..3874b2e840 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1526,7 +1526,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) winTemplate = CreateWindowTemplate(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); sBrailleWindowId = AddWindow(&winTemplate); - LoadUserWindowBorderGfx(sBrailleWindowId, 0x214, BG_PLTT_ID(0xE)); + LoadUserWindowBorderGfx(sBrailleWindowId, 0x214, BG_PLTT_ID(14)); DrawStdWindowFrame(sBrailleWindowId, FALSE); PutWindowTilemap(sBrailleWindowId); FillWindowPixelBuffer(sBrailleWindowId, PIXEL_FILL(1)); diff --git a/src/secret_base.c b/src/secret_base.c index 61d426ea64..74129d3ff5 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -181,7 +181,7 @@ static const struct WindowTemplate sRegistryWindowTemplates[] = .tilemapTop = 1, .width = 11, .height = 18, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x01, }, { @@ -190,7 +190,7 @@ static const struct WindowTemplate sRegistryWindowTemplates[] = .tilemapTop = 1, .width = 28, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0xc7, } }; diff --git a/src/shop.c b/src/shop.c index 3fd29a3f37..b9fb2dbc50 100755 --- a/src/shop.c +++ b/src/shop.c @@ -120,7 +120,7 @@ static const struct WindowTemplate sShopMenuWindowTemplates[] = .tilemapTop = 1, .width = 9, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0008, }, { @@ -129,7 +129,7 @@ static const struct WindowTemplate sShopMenuWindowTemplates[] = .tilemapTop = 1, .width = 9, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0008, } }; @@ -204,7 +204,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 1, .width = 10, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x001E, }, { @@ -213,7 +213,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 2, .width = 15, .height = 16, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0032, }, { @@ -222,7 +222,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 13, .width = 14, .height = 6, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0122, }, { @@ -231,7 +231,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 11, .width = 12, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0176, }, { @@ -240,7 +240,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 11, .width = 10, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x018E, }, { @@ -249,7 +249,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x01A2, }, DUMMY_WIN_TEMPLATE @@ -262,7 +262,7 @@ static const struct WindowTemplate sShopBuyMenuYesNoWindowTemplates = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x020E, }; @@ -676,15 +676,15 @@ static void BuyMenuDecompressBgGraphics(void) { DecompressAndCopyTileDataToVram(1, gShopMenu_Gfx, 0x3A0, 0x3E3, 0); LZDecompressWram(gShopMenu_Tilemap, sShopData->tilemapBuffers[0]); - LoadCompressedPalette(gShopMenu_Pal, BG_PLTT_ID(0xC), PLTT_SIZE_4BPP); + LoadCompressedPalette(gShopMenu_Pal, BG_PLTT_ID(12), PLTT_SIZE_4BPP); } static void BuyMenuInitWindows(void) { InitWindows(sShopBuyMenuWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); - LoadMessageBoxGfx(0, 0xA, BG_PLTT_ID(0xE)); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(13)); + LoadMessageBoxGfx(0, 0xA, BG_PLTT_ID(14)); PutWindowTilemap(0); PutWindowTilemap(1); PutWindowTilemap(2); diff --git a/src/slot_machine.c b/src/slot_machine.c index 94cc7dfaed..0fe4bade2b 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -789,7 +789,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x194 }, DUMMY_WIN_TEMPLATE @@ -802,7 +802,7 @@ static const struct WindowTemplate sWindowTemplate_InfoBox = .tilemapTop = 3, .width = 20, .height = 13, - .paletteNum = 0xD, + .paletteNum = 13, .baseBlock = 1 }; @@ -1247,8 +1247,8 @@ static void SlotMachineSetup_LoadGfxAndTilemaps(void) LoadMenuGfx(); LoadMenuAndReelOverlayTilemaps(); LoadSlotMachineGfx(); - LoadMessageBoxGfx(0, 0x200, BG_PLTT_ID(0xF)); - LoadUserWindowBorderGfx(0, 0x214, BG_PLTT_ID(0xE)); + LoadMessageBoxGfx(0, 0x200, BG_PLTT_ID(15)); + LoadUserWindowBorderGfx(0, 0x214, BG_PLTT_ID(14)); PutWindowTilemap(0); } @@ -3360,7 +3360,7 @@ static bool8 TryStopSlotMachineLights(void) if (gTasks[taskId].sFlashState == 0) { DestroyTask(taskId); - LoadPalette(sSlotMachineMenu_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(sSlotMachineMenu_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); return TRUE; } return FALSE; @@ -3376,7 +3376,7 @@ static void Task_FlashSlotMachineLights(u8 taskId) if (task->sFlashState == 0 || task->sFlashState == 2) task->sFlashDir = -task->sFlashDir; } - LoadPalette(sFlashingLightsPalTable[task->sFlashState], BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(sFlashingLightsPalTable[task->sFlashState], BG_PLTT_ID(1), PLTT_SIZE_4BPP); } #undef sDelayTimer @@ -5054,8 +5054,8 @@ static void LoadMenuGfx(void) sMenuGfx = Alloc(0x2200); LZDecompressWram(gSlotMachineMenu_Gfx, sMenuGfx); LoadBgTiles(2, sMenuGfx, 0x2200, 0); - LoadPalette(gSlotMachineMenu_Pal, BG_PLTT_ID(0x0), 5 * PLTT_SIZE_4BPP); - LoadPalette(sUnkPalette, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); + LoadPalette(gSlotMachineMenu_Pal, BG_PLTT_ID(0), 5 * PLTT_SIZE_4BPP); + LoadPalette(sUnkPalette, BG_PLTT_ID(13), PLTT_SIZE_4BPP); } static void LoadMenuAndReelOverlayTilemaps(void) @@ -7728,19 +7728,19 @@ static const u16 *const sLitMatchLinePalTable[NUM_MATCH_LINES] = static const u16 *const sDarkMatchLinePalTable[NUM_MATCH_LINES] = { - [MATCH_MIDDLE_ROW] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 10], - [MATCH_TOP_ROW] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 11], - [MATCH_BOTTOM_ROW] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 12], - [MATCH_NWSE_DIAG] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 13], - [MATCH_NESW_DIAG] = &gSlotMachineMenu_Pal[BG_PLTT_ID(0x4) + 14], + [MATCH_MIDDLE_ROW] = &gSlotMachineMenu_Pal[BG_PLTT_ID(4) + 10], + [MATCH_TOP_ROW] = &gSlotMachineMenu_Pal[BG_PLTT_ID(4) + 11], + [MATCH_BOTTOM_ROW] = &gSlotMachineMenu_Pal[BG_PLTT_ID(4) + 12], + [MATCH_NWSE_DIAG] = &gSlotMachineMenu_Pal[BG_PLTT_ID(4) + 13], + [MATCH_NESW_DIAG] = &gSlotMachineMenu_Pal[BG_PLTT_ID(4) + 14], }; static const u8 sMatchLinePalOffsets[NUM_MATCH_LINES] = { - [MATCH_MIDDLE_ROW] = BG_PLTT_ID(0x4) + 10, - [MATCH_TOP_ROW] = BG_PLTT_ID(0x4) + 11, - [MATCH_BOTTOM_ROW] = BG_PLTT_ID(0x4) + 12, - [MATCH_NWSE_DIAG] = BG_PLTT_ID(0x4) + 14, // Diag colors flipped for some reason - [MATCH_NESW_DIAG] = BG_PLTT_ID(0x4) + 13 // Doesn't matter as both are identical + [MATCH_MIDDLE_ROW] = BG_PLTT_ID(4) + 10, + [MATCH_TOP_ROW] = BG_PLTT_ID(4) + 11, + [MATCH_BOTTOM_ROW] = BG_PLTT_ID(4) + 12, + [MATCH_NWSE_DIAG] = BG_PLTT_ID(4) + 14, // Diag colors flipped for some reason + [MATCH_NESW_DIAG] = BG_PLTT_ID(4) + 13 // Doesn't matter as both are identical }; static const u8 sBetToMatchLineIds[MAX_BET][2] = diff --git a/src/start_menu.c b/src/start_menu.c index 34e7e5b2bd..63cfd0acec 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -192,7 +192,7 @@ static const struct WindowTemplate sWindowTemplates_LinkBattleSave[] = .tilemapTop = 15, .width = 26, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x194 }, DUMMY_WIN_TEMPLATE @@ -204,7 +204,7 @@ static const struct WindowTemplate sSaveInfoWindowTemplate = { .tilemapTop = 1, .width = 14, .height = 10, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 8 }; @@ -1196,8 +1196,8 @@ static bool32 InitSaveWindowAfterLinkBattle(u8 *state) ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sBgTemplates_LinkBattleSave, ARRAY_COUNT(sBgTemplates_LinkBattleSave)); InitWindows(sWindowTemplates_LinkBattleSave); - LoadUserWindowBorderGfx_(0, 8, BG_PLTT_ID(0xE)); - Menu_LoadStdPalAt(BG_PLTT_ID(0xF)); + LoadUserWindowBorderGfx_(0, 8, BG_PLTT_ID(14)); + Menu_LoadStdPalAt(BG_PLTT_ID(15)); break; case 3: ShowBg(0); @@ -1246,7 +1246,7 @@ static void Task_SaveAfterLinkBattle(u8 taskId) TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - DrawTextBorderOuter(0, 8, 0xE); + DrawTextBorderOuter(0, 8, 14); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); diff --git a/src/starter_choose.c b/src/starter_choose.c index fc626e13a1..2e8533e173 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -73,7 +73,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 15, .width = 24, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x0200 }, DUMMY_WIN_TEMPLATE, @@ -86,7 +86,7 @@ static const struct WindowTemplate sWindowTemplate_ConfirmStarter = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x0260 }; @@ -97,7 +97,7 @@ static const struct WindowTemplate sWindowTemplate_StarterLabel = .tilemapTop = 0, .width = 13, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x0274 }; @@ -411,7 +411,7 @@ void CB2_ChooseStarter(void) InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x2A8, BG_PLTT_ID(0xD)); + LoadUserWindowBorderGfx(0, 0x2A8, BG_PLTT_ID(13)); ClearScheduledBgCopiesToVram(); ScanlineEffect_Stop(); ResetTasks(); @@ -420,8 +420,8 @@ void CB2_ChooseStarter(void) FreeAllSpritePalettes(); ResetAllPicSprites(); - LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); - LoadPalette(gBirchBagGrassPal, BG_PLTT_ID(0x0), 2 * PLTT_SIZE_4BPP); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(14), PLTT_SIZE_4BPP); + LoadPalette(gBirchBagGrassPal, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); LoadCompressedSpriteSheet(&sSpriteSheet_PokeballSelect[0]); LoadCompressedSpriteSheet(&sSpriteSheet_StarterCircle[0]); LoadSpritePalettes(sSpritePalettes_StarterChoose); diff --git a/src/tileset_anims.c b/src/tileset_anims.c index 018ac5d881..165648d0e5 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -1168,7 +1168,7 @@ static void QueueAnimTiles_BattlePyramid_StatueShadow(u16 timer) static void BlendAnimPalette_BattleDome_FloorLights(u16 timer) { CpuCopy16(sTilesetAnims_BattleDomeFloorLightPals[timer % ARRAY_COUNT(sTilesetAnims_BattleDomeFloorLightPals)], &gPlttBufferUnfaded[0x80], 32); - BlendPalette(BG_PLTT_ID(0x8), 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); + BlendPalette(BG_PLTT_ID(8), 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); if ((u8)FindTaskIdByFunc(Task_BattleTransition_Intro) != TASK_NONE) { sSecondaryTilesetAnimCallback = TilesetAnim_BattleDome2; @@ -1181,7 +1181,7 @@ static void BlendAnimPalette_BattleDome_FloorLightsNoBlend(u16 timer) CpuCopy16(sTilesetAnims_BattleDomeFloorLightPals[timer % ARRAY_COUNT(sTilesetAnims_BattleDomeFloorLightPals)], &gPlttBufferUnfaded[0x80], 32); if ((u8)FindTaskIdByFunc(Task_BattleTransition_Intro) == TASK_NONE) { - BlendPalette(BG_PLTT_ID(0x8), 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); + BlendPalette(BG_PLTT_ID(8), 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); if (!--sSecondaryTilesetAnimCounterMax) sSecondaryTilesetAnimCallback = NULL; } diff --git a/src/title_screen.c b/src/title_screen.c index 7f7205d9d4..68b080b24a 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -548,7 +548,7 @@ void CB2_InitTitleScreen(void) // bg2 LZ77UnCompVram(gTitleScreenPokemonLogoGfx, (void *)(BG_CHAR_ADDR(0))); LZ77UnCompVram(gTitleScreenPokemonLogoTilemap, (void *)(BG_SCREEN_ADDR(9))); - LoadPalette(gTitleScreenBgPalettes, BG_PLTT_ID(0x0), 15 * PLTT_SIZE_4BPP); + LoadPalette(gTitleScreenBgPalettes, BG_PLTT_ID(0), 15 * PLTT_SIZE_4BPP); // bg3 LZ77UnCompVram(sTitleScreenRayquazaGfx, (void *)(BG_CHAR_ADDR(2))); LZ77UnCompVram(sTitleScreenRayquazaTilemap, (void *)(BG_SCREEN_ADDR(26))); @@ -563,7 +563,7 @@ void CB2_InitTitleScreen(void) LoadCompressedSpriteSheet(&sSpriteSheet_EmeraldVersion[0]); LoadCompressedSpriteSheet(&sSpriteSheet_PressStart[0]); LoadCompressedSpriteSheet(&sPokemonLogoShineSpriteSheet[0]); - LoadPalette(gTitleScreenEmeraldVersionPal, OBJ_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(gTitleScreenEmeraldVersionPal, OBJ_PLTT_ID(0), PLTT_SIZE_4BPP); LoadSpritePalette(&sSpritePalette_PressStart[0]); gMain.state = 2; break; @@ -812,6 +812,6 @@ static void UpdateLegendaryMarkingColor(u8 frameNum) s32 b = 12; u16 color = RGB(r, g, b); - LoadPalette(&color, BG_PLTT_ID(0xE) + 15, sizeof(color)); + LoadPalette(&color, BG_PLTT_ID(14) + 15, sizeof(color)); } } diff --git a/src/trade.c b/src/trade.c index 1c4d0d5e33..7216ecb414 100644 --- a/src/trade.c +++ b/src/trade.c @@ -333,8 +333,8 @@ static void InitTradeMenu(void) gPaletteFade.bufferTransferDisabled = TRUE; SetVBlankCallback(VBlankCB_TradeMenu); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xF), PLTT_SIZEOF(10)); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xD), PLTT_SIZEOF(10)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(15), PLTT_SIZEOF(10)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(13), PLTT_SIZEOF(10)); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sTradeMenuBgTemplates, ARRAY_COUNT(sTradeMenuBgTemplates)); SetBgTilemapBuffer(1, sTradeMenuData->tilemapBuffer); @@ -351,9 +351,9 @@ static void InitTradeMenu(void) FillWindowPixelBuffer(i, PIXEL_FILL(0)); } - FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); - LoadUserWindowBorderGfx_(0, 20, BG_PLTT_ID(0xC)); - LoadUserWindowBorderGfx(2, 1, BG_PLTT_ID(0xE)); + FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 15); + LoadUserWindowBorderGfx_(0, 20, BG_PLTT_ID(12)); + LoadUserWindowBorderGfx(2, 1, BG_PLTT_ID(14)); LoadMonIconPalettes(); sTradeMenuData->bufferPartyState = 0; sTradeMenuData->tradeMenuFunc = 0; @@ -910,7 +910,7 @@ static void LoadTradeBgGfx(u8 state) switch (state) { case 0: - LoadPalette(gTradeMenu_Pal, BG_PLTT_ID(0x0), 3 * PLTT_SIZE_4BPP); + LoadPalette(gTradeMenu_Pal, BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); LoadBgTiles(1, gTradeMenu_Gfx, 0x1280, 0); CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMenu_Tilemap, 0, 0, 32, 20, 0); LoadBgTilemap(2, sTradeStripesBG2Tilemap, 0x800, 0); @@ -1391,7 +1391,7 @@ static void TradeMenuProcessInput(void) // Cursor is in player's party if (sTradeMenuData->cursorPosition < PARTY_SIZE) { - DrawTextBorderOuter(1, 1, 0xE); + DrawTextBorderOuter(1, 1, 14); FillWindowPixelBuffer(1, PIXEL_FILL(1)); PrintMenuTable(1, ARRAY_COUNT(sSelectTradeMonActions), sSelectTradeMonActions); InitMenuInUpperLeftCornerNormal(1, ARRAY_COUNT(sSelectTradeMonActions), 0); @@ -2153,7 +2153,7 @@ static void PrintTradeMessage(u8 messageId) { FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized(0, FONT_NORMAL, sTradeMessages[messageId], 0, 1, TEXT_SKIP_DRAW, NULL); - DrawTextBorderOuter(0, 20, 0xC); + DrawTextBorderOuter(0, 20, 12); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); } @@ -2915,12 +2915,12 @@ static void InitTradeBgInternal(void) DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); - LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0), PLTT_SIZE_4BPP); InitWindows(sTradeSequenceWindowTemplates); DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); - LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleTextboxPalette, BG_PLTT_ID(0), PLTT_SIZE_4BPP); } static void CB2_InGameTrade(void) @@ -3100,7 +3100,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state) BGCNT_16COLOR | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(0x1), 3 * PLTT_SIZE_4BPP); + LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(1), 3 * PLTT_SIZE_4BPP); DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); DmaCopy16Defvars(3, gTradePlatform_Tilemap, (void *) BG_SCREEN_ADDR(18), 0x1000); break; @@ -3157,7 +3157,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state) } break; case 3: - LoadPalette(sWirelessSignalNone_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + LoadPalette(sWirelessSignalNone_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); LZ77UnCompVram(sWirelessSignal_Gfx, (void *) BG_CHAR_ADDR(1)); LZ77UnCompVram(sWirelessSignal_Tilemap, (void *) BG_SCREEN_ADDR(18)); sTradeData->bg2vofs = 80; @@ -3236,7 +3236,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state) BGCNT_16COLOR | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(0x1), 3 * PLTT_SIZE_4BPP); + LoadPalette(gTradeGba2_Pal, BG_PLTT_ID(1), 3 * PLTT_SIZE_4BPP); DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); DmaCopy16Defvars(3, gTradePlatform_Tilemap, (void *) BG_SCREEN_ADDR(18), 0x1000); break; @@ -4849,16 +4849,16 @@ static void Task_AnimateWirelessSignal(u8 taskId) if (!signalComingBack) { if (paletteIdx == 256) - LoadPalette(sWirelessSignalNone_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + LoadPalette(sWirelessSignalNone_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); else - LoadPalette(&sWirelessSignalSend_Pal[paletteIdx], BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + LoadPalette(&sWirelessSignalSend_Pal[paletteIdx], BG_PLTT_ID(3), PLTT_SIZE_4BPP); } else { if (paletteIdx == 256) - LoadPalette(sWirelessSignalNone_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + LoadPalette(sWirelessSignalNone_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); else - LoadPalette(&sWirelessSignalRecv_Pal[paletteIdx], BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + LoadPalette(&sWirelessSignalRecv_Pal[paletteIdx], BG_PLTT_ID(3), PLTT_SIZE_4BPP); } if (sWirelessSignalTiming[idx][0] == 0 && counter == 0) diff --git a/src/trader.c b/src/trader.c index b16297c109..254d809458 100644 --- a/src/trader.c +++ b/src/trader.c @@ -66,7 +66,7 @@ void CreateAvailableDecorationsMenu(u8 taskId) .tilemapTop = 1, .width = 10, .height = 10, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }; s32 windowWidth = GetStringWidth(FONT_NORMAL, gText_Exit, 0); diff --git a/src/trainer_card.c b/src/trainer_card.c index 94fcdaf6e5..bbd3ef340f 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -231,7 +231,7 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[] = .tilemapTop = 15, .width = 27, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x253, }, { @@ -240,7 +240,7 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[] = .tilemapTop = 1, .width = 28, .height = 18, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x1, }, { @@ -249,7 +249,7 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[] = .tilemapTop = 5, .width = 9, .height = 10, - .paletteNum = 0x8, + .paletteNum = 8, .baseBlock = 0x150, }, DUMMY_WIN_TEMPLATE @@ -1371,7 +1371,7 @@ static void LoadMonIconGfx(void) TintPalette_SepiaTone(sData->monIconPal, 96); break; } - LoadPalette(sData->monIconPal, BG_PLTT_ID(0x5), 6 * PLTT_SIZE_4BPP); + LoadPalette(sData->monIconPal, BG_PLTT_ID(5), 6 * PLTT_SIZE_4BPP); for (i = 0; i < PARTY_SIZE; i++) { @@ -1398,10 +1398,10 @@ static void PrintStickersOnCard(void) static void LoadStickerGfx(void) { - LoadPalette(sTrainerCardSticker1_Pal, BG_PLTT_ID(0xB), PLTT_SIZE_4BPP); - LoadPalette(sTrainerCardSticker2_Pal, BG_PLTT_ID(0xC), PLTT_SIZE_4BPP); - LoadPalette(sTrainerCardSticker3_Pal, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); - LoadPalette(sTrainerCardSticker4_Pal, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); + LoadPalette(sTrainerCardSticker1_Pal, BG_PLTT_ID(11), PLTT_SIZE_4BPP); + LoadPalette(sTrainerCardSticker2_Pal, BG_PLTT_ID(12), PLTT_SIZE_4BPP); + LoadPalette(sTrainerCardSticker3_Pal, BG_PLTT_ID(13), PLTT_SIZE_4BPP); + LoadPalette(sTrainerCardSticker4_Pal, BG_PLTT_ID(14), PLTT_SIZE_4BPP); LoadBgTiles(3, sData->stickerTiles, 1024, 128); } @@ -1424,19 +1424,19 @@ static u8 SetCardBgsAndPals(void) case 2: if (sData->cardType != CARD_TYPE_FRLG) { - LoadPalette(sHoennTrainerCardStarPals[sData->trainerCard.stars], BG_PLTT_ID(0x0), 3 * PLTT_SIZE_4BPP); - LoadPalette(sHoennTrainerCardBadges_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + LoadPalette(sHoennTrainerCardStarPals[sData->trainerCard.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); + LoadPalette(sHoennTrainerCardBadges_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); if (sData->trainerCard.gender != MALE) - LoadPalette(sHoennTrainerCardFemaleBg_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(sHoennTrainerCardFemaleBg_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); } else { - LoadPalette(sKantoTrainerCardStarPals[sData->trainerCard.stars], BG_PLTT_ID(0x0), 3 * PLTT_SIZE_4BPP); - LoadPalette(sKantoTrainerCardBadges_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); + LoadPalette(sKantoTrainerCardStarPals[sData->trainerCard.stars], BG_PLTT_ID(0), 3 * PLTT_SIZE_4BPP); + LoadPalette(sKantoTrainerCardBadges_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); if (sData->trainerCard.gender != MALE) - LoadPalette(sKantoTrainerCardFemaleBg_Pal, BG_PLTT_ID(0x1), PLTT_SIZE_4BPP); + LoadPalette(sKantoTrainerCardFemaleBg_Pal, BG_PLTT_ID(1), PLTT_SIZE_4BPP); } - LoadPalette(sTrainerCardGold_Pal, BG_PLTT_ID(0x4), PLTT_SIZE_4BPP); + LoadPalette(sTrainerCardGold_Pal, BG_PLTT_ID(4), PLTT_SIZE_4BPP); break; case 3: SetBgTilemapBuffer(0, sData->cardTilemapBuffer); @@ -1495,9 +1495,9 @@ static void DrawStarsAndBadgesOnCard(void) s16 i, x; u16 tileNum = 192; - u8 palNum = 0x3; + u8 palNum = 3; - FillBgTilemapBufferRect(3, 143, 15, yOffsets[sData->isHoenn], sData->trainerCard.stars, 1, 0x4); + FillBgTilemapBufferRect(3, 143, 15, yOffsets[sData->isHoenn], sData->trainerCard.stars, 1, 4); if (!sData->isLink) { x = 4; @@ -1521,38 +1521,38 @@ static void DrawCardBackStats(void) { if (sData->hasTrades) { - FillBgTilemapBufferRect(3, 141, 27, 9, 1, 1, 0x1); - FillBgTilemapBufferRect(3, 157, 27, 10, 1, 1, 0x1); + FillBgTilemapBufferRect(3, 141, 27, 9, 1, 1, 1); + FillBgTilemapBufferRect(3, 157, 27, 10, 1, 1, 1); } if (sData->trainerCard.linkPoints.berryCrush) { - FillBgTilemapBufferRect(3, 141, 21, 13, 1, 1, 0x1); - FillBgTilemapBufferRect(3, 157, 21, 14, 1, 1, 0x1); + FillBgTilemapBufferRect(3, 141, 21, 13, 1, 1, 1); + FillBgTilemapBufferRect(3, 157, 21, 14, 1, 1, 1); } if (sData->trainerCard.unionRoomNum) { - FillBgTilemapBufferRect(3, 141, 27, 11, 1, 1, 0x1); - FillBgTilemapBufferRect(3, 157, 27, 12, 1, 1, 0x1); + FillBgTilemapBufferRect(3, 141, 27, 11, 1, 1, 1); + FillBgTilemapBufferRect(3, 157, 27, 12, 1, 1, 1); } } else { if (sData->hasTrades) { - FillBgTilemapBufferRect(3, 141, 27, 9, 1, 1, 0x0); - FillBgTilemapBufferRect(3, 157, 27, 10, 1, 1, 0x0); + FillBgTilemapBufferRect(3, 141, 27, 9, 1, 1, 0); + FillBgTilemapBufferRect(3, 157, 27, 10, 1, 1, 0); } if (sData->trainerCard.contestsWithFriends) { - FillBgTilemapBufferRect(3, 141, 27, 13, 1, 1, 0x0); - FillBgTilemapBufferRect(3, 157, 27, 14, 1, 1, 0x0); + FillBgTilemapBufferRect(3, 141, 27, 13, 1, 1, 0); + FillBgTilemapBufferRect(3, 157, 27, 14, 1, 1, 0); } if (sData->hasBattleTowerWins) { - FillBgTilemapBufferRect(3, 141, 17, 15, 1, 1, 0x0); - FillBgTilemapBufferRect(3, 157, 17, 16, 1, 1, 0x0); - FillBgTilemapBufferRect(3, 140, 27, 15, 1, 1, 0x0); - FillBgTilemapBufferRect(3, 156, 27, 16, 1, 1, 0x0); + FillBgTilemapBufferRect(3, 141, 17, 15, 1, 1, 0); + FillBgTilemapBufferRect(3, 157, 17, 16, 1, 1, 0); + FillBgTilemapBufferRect(3, 140, 27, 15, 1, 1, 0); + FillBgTilemapBufferRect(3, 156, 27, 16, 1, 1, 0); } } CopyBgTilemapBufferToVram(3); diff --git a/src/trainer_hill.c b/src/trainer_hill.c index bb606f37bd..db0e849f9f 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -951,7 +951,7 @@ static void SetAllTrainerFlags(void) void TryLoadTrainerHillEReaderPalette(void) { if (OnTrainerHillEReaderChallengeFloor() == TRUE) - LoadPalette(sEReader_Pal, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); + LoadPalette(sEReader_Pal, BG_PLTT_ID(7), PLTT_SIZE_4BPP); } static void GetGameSaved(void) diff --git a/src/union_room.c b/src/union_room.c index 299171325e..e0df278dff 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -1910,7 +1910,7 @@ static void Task_SendMysteryGift(u8 taskId) winTemplate = sWindowTemplate_PlayerList; winTemplate.baseBlock = GetMysteryGiftBaseBlock(); - winTemplate.paletteNum = 0xC; + winTemplate.paletteNum = 12; data->listWindowId = AddWindow(&winTemplate); MG_DrawTextBorder(data->listWindowId); gMultiuseListMenuTemplate = sListMenuTemplate_PossibleGroupMembers; @@ -2114,11 +2114,11 @@ static void Task_CardOrNewsWithFriend(u8 taskId) listWinTemplate = sWindowTemplate_GroupList; listWinTemplate.baseBlock = GetMysteryGiftBaseBlock(); - listWinTemplate.paletteNum = 0xC; + listWinTemplate.paletteNum = 12; data->listWindowId = AddWindow(&listWinTemplate); playerNameWinTemplate = sWindowTemplate_PlayerNameAndId; - playerNameWinTemplate.paletteNum = 0xC; + playerNameWinTemplate.paletteNum = 12; data->playerNameAndIdWindowId = AddWindow(&playerNameWinTemplate); MG_DrawTextBorder(data->listWindowId); @@ -2439,7 +2439,7 @@ void RunUnionRoom(void) uroom->unreadPlayerId = 0; gSpecialVar_Result = 0; - ListMenuLoadStdPalAt(BG_PLTT_ID(0xD), 1); + ListMenuLoadStdPalAt(BG_PLTT_ID(13), 1); } static u16 ReadAsU16(const u8 *ptr) @@ -3775,7 +3775,7 @@ static s32 TradeBoardMenuHandler(u8 *state, u8 *mainWindowId, u8 *listMenuId, u8 static void UR_ClearBg0(void) { - FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x0); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0); CopyBgTilemapBufferToVram(0); } diff --git a/src/union_room_battle.c b/src/union_room_battle.c index f4ad73b32b..f8381b2f70 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -43,7 +43,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 15, .width = 24, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x014 }, DUMMY_WIN_TEMPLATE @@ -130,8 +130,8 @@ void CB2_UnionRoomBattle(void) FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(1)); FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); - LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(0xD)); - LoadUserWindowBorderGfx_(0, 1, BG_PLTT_ID(0xD)); + LoadUserWindowBorderGfx(0, 1, BG_PLTT_ID(13)); + LoadUserWindowBorderGfx_(0, 1, BG_PLTT_ID(13)); Menu_LoadStdPal(); SetVBlankCallback(VBlankCB_UnionRoomBattle); gMain.state++; diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 98af18cde6..72d36ae6bb 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -566,7 +566,7 @@ static const struct WindowTemplate sWinTemplates[] = { .tilemapTop = 1, .width = 21, .height = 19, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0001, }, { .bg = 1, @@ -574,7 +574,7 @@ static const struct WindowTemplate sWinTemplates[] = { .tilemapTop = 18, .width = 15, .height = 2, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 0x007a, }, { .bg = 1, @@ -582,7 +582,7 @@ static const struct WindowTemplate sWinTemplates[] = { .tilemapTop = 2, .width = 6, .height = 15, - .paletteNum = 0x7, + .paletteNum = 7, .baseBlock = 0x0020, }, { .bg = 0, @@ -590,7 +590,7 @@ static const struct WindowTemplate sWinTemplates[] = { .tilemapTop = 2, .width = 7, .height = 9, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 0x0013, }, DUMMY_WIN_TEMPLATE }; @@ -2732,7 +2732,7 @@ static void AddYesNoMenuAt(u8 left, u8 top, u8 initialCursorPos) template.tilemapTop = top; template.width = 6; template.height = 4; - template.paletteNum = 0xE; + template.paletteNum = 14; template.baseBlock = 0x52; sDisplay->yesNoMenuWindowId = AddWindow(&template); if (sDisplay->yesNoMenuWindowId != WINDOW_NONE) @@ -2741,7 +2741,7 @@ static void AddYesNoMenuAt(u8 left, u8 top, u8 initialCursorPos) PutWindowTilemap(sDisplay->yesNoMenuWindowId); AddTextPrinterParameterized(sDisplay->yesNoMenuWindowId, FONT_NORMAL, gText_Yes, 8, 1, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(sDisplay->yesNoMenuWindowId, FONT_NORMAL, gText_No, 8, 17, TEXT_SKIP_DRAW, NULL); - DrawTextBorderOuter(sDisplay->yesNoMenuWindowId, 1, 0xD); + DrawTextBorderOuter(sDisplay->yesNoMenuWindowId, 1, 13); InitMenuInUpperLeftCornerNormal(sDisplay->yesNoMenuWindowId, 2, initialCursorPos); } } @@ -2779,7 +2779,7 @@ static void AddStdMessageWindow(int msgId, u16 bg0vofs) template.tilemapTop = 16; template.width = 21; template.height = 4; - template.paletteNum = 0xE; + template.paletteNum = 14; template.baseBlock = 0x6A; if (sDisplayStdMessages[msgId].useWiderBox) { @@ -3050,8 +3050,8 @@ static void ClearBg0(void) static void LoadChatWindowBorderGfx(void) { - LoadPalette(gUnionRoomChat_Window_Pal2, BG_PLTT_ID(0x7), PLTT_SIZE_4BPP); - LoadPalette(gUnionRoomChat_Window_Pal1, BG_PLTT_ID(0xC), PLTT_SIZE_4BPP); + LoadPalette(gUnionRoomChat_Window_Pal2, BG_PLTT_ID(7), PLTT_SIZE_4BPP); + LoadPalette(gUnionRoomChat_Window_Pal1, BG_PLTT_ID(12), PLTT_SIZE_4BPP); DecompressAndCopyTileDataToVram(1, gUnionRoomChat_Border_Gfx, 0, 0, 0); CopyToBgTilemapBuffer(1, gUnionRoomChat_Border_Tilemap, 0, 0); CopyBgTilemapBufferToVram(1); @@ -3061,7 +3061,7 @@ static void LoadChatWindowGfx(void) { u8 *ptr; - LoadPalette(gUnionRoomChat_Background_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(gUnionRoomChat_Background_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); ptr = DecompressAndCopyTileDataToVram(2, gUnionRoomChat_Background_Gfx, 0, 0, 0); if (ptr) { @@ -3075,13 +3075,13 @@ static void LoadChatWindowGfx(void) static void LoadChatUnkPalette(void) { - LoadPalette(sUnk_Palette1, BG_PLTT_ID(0x8), sizeof(sUnk_Palette1)); + LoadPalette(sUnk_Palette1, BG_PLTT_ID(8), sizeof(sUnk_Palette1)); RequestDma3Fill(0, (void *)BG_CHAR_ADDR(1) + 0x20, 0x20, 1); } static void LoadChatMessagesWindow(void) { - LoadPalette(sUnk_Palette2, BG_PLTT_ID(0xF), sizeof(sUnk_Palette2)); + LoadPalette(sUnk_Palette2, BG_PLTT_ID(15), sizeof(sUnk_Palette2)); PutWindowTilemap(0); FillWindowPixelBuffer(0, PIXEL_FILL(1)); CopyWindowToVram(0, COPYWIN_FULL); @@ -3112,9 +3112,9 @@ static void LoadTextEntryWindow(void) static void LoadKeyboardSwapWindow(void) { FillWindowPixelBuffer(3, PIXEL_FILL(1)); - LoadUserWindowBorderGfx(3, 1, BG_PLTT_ID(0xD)); - LoadUserWindowBorderGfx_(3, 0xA, BG_PLTT_ID(0x2)); - LoadPalette(gStandardMenuPalette, BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); + LoadUserWindowBorderGfx(3, 1, BG_PLTT_ID(13)); + LoadUserWindowBorderGfx_(3, 0xA, BG_PLTT_ID(2)); + LoadPalette(gStandardMenuPalette, BG_PLTT_ID(14), PLTT_SIZE_4BPP); } static void InitScanlineEffect(void) diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 85d1a477f7..be6fc89349 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -251,7 +251,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 1, .width = 13, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 1 }, [WIN_NATURE] = { @@ -260,7 +260,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 14, .width = 11, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x35 }, [WIN_TEXT] = { @@ -269,7 +269,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .tilemapTop = 17, .width = 28, .height = 2, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x4B }, DUMMY_WIN_TEMPLATE @@ -282,7 +282,7 @@ static const struct WindowTemplate sUsePokeblockYesNoWinTemplate = .tilemapTop = 11, .width = 5, .height = 4, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x83 }; @@ -505,7 +505,7 @@ static void LoadUsePokeblockMenu(void) InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x97, BG_PLTT_ID(0xE)); + LoadUserWindowBorderGfx(0, 0x97, BG_PLTT_ID(14)); sInfo->mainState++; break; case 4: @@ -1340,7 +1340,7 @@ static bool8 LoadUsePokeblockMenuGfx(void) LoadBgTilemap(3, sMonFrame_TilemapPtr, 1280, 0); break; case 5: - LoadPalette(sMonFrame_Pal, BG_PLTT_ID(0xD), PLTT_SIZE_4BPP); + LoadPalette(sMonFrame_Pal, BG_PLTT_ID(13), PLTT_SIZE_4BPP); sMenu->curMonXOffset = -80; break; case 6: @@ -1348,7 +1348,7 @@ static bool8 LoadUsePokeblockMenuGfx(void) break; case 7: LZ77UnCompVram(gUsePokeblockGraph_Tilemap, sGraph_Tilemap); - LoadPalette(gUsePokeblockGraph_Pal, BG_PLTT_ID(0x2), PLTT_SIZE_4BPP); + LoadPalette(gUsePokeblockGraph_Pal, BG_PLTT_ID(2), PLTT_SIZE_4BPP); break; case 8: LoadBgTiles(1, sGraph_Gfx, 6656, 160 << 2); @@ -1363,8 +1363,8 @@ static bool8 LoadUsePokeblockMenuGfx(void) break; case 11: LoadBgTilemap(2, sMenu->tilemapBuffer, 1280, 0); - LoadPalette(gConditionGraphData_Pal, BG_PLTT_ID(0x3), PLTT_SIZE_4BPP); - LoadPalette(gConditionText_Pal, BG_PLTT_ID(0xF), PLTT_SIZE_4BPP); + LoadPalette(gConditionGraphData_Pal, BG_PLTT_ID(3), PLTT_SIZE_4BPP); + LoadPalette(gConditionText_Pal, BG_PLTT_ID(15), PLTT_SIZE_4BPP); ConditionGraph_InitWindow(2); break; default: diff --git a/src/wallclock.c b/src/wallclock.c index 52566eddc8..571748d114 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -79,7 +79,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 17, .width = 24, .height = 2, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 512 }, { @@ -88,7 +88,7 @@ static const struct WindowTemplate sWindowTemplates[] = .tilemapTop = 16, .width = 6, .height = 2, - .paletteNum = 0xC, + .paletteNum = 12, .baseBlock = 560 }, DUMMY_WIN_TEMPLATE @@ -101,7 +101,7 @@ static const struct WindowTemplate sWindowTemplate_ConfirmYesNo = .tilemapTop = 9, .width = 5, .height = 4, - .paletteNum = 0xE, + .paletteNum = 14, .baseBlock = 572 }; @@ -644,17 +644,17 @@ static void LoadWallClockGraphics(void) LZ77UnCompVram(gWallClock_Gfx, (void *)VRAM); if (gSpecialVar_0x8004 == MALE) - LoadPalette(gWallClockMale_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(gWallClockMale_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); else - LoadPalette(gWallClockFemale_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(gWallClockFemale_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); - LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(0xE), PLTT_SIZE_4BPP); - LoadPalette(sTextPrompt_Pal, BG_PLTT_ID(0xC), PLTT_SIZEOF(4)); + LoadPalette(GetOverworldTextboxPalettePtr(), BG_PLTT_ID(14), PLTT_SIZE_4BPP); + LoadPalette(sTextPrompt_Pal, BG_PLTT_ID(12), PLTT_SIZEOF(4)); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 0x250, BG_PLTT_ID(0xD)); + LoadUserWindowBorderGfx(0, 0x250, BG_PLTT_ID(13)); ClearScheduledBgCopiesToVram(); ScanlineEffect_Stop(); ResetTasks(); diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index bab3ec6345..b5da0dac03 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -76,7 +76,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 0, .width = 24, .height = 3, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0001 }, { .bg = 0, @@ -84,7 +84,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 4, .width = 21, .height = 15, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0049 }, { .bg = 0, @@ -92,7 +92,7 @@ static const struct WindowTemplate sWindowTemplates[] = { .tilemapTop = 4, .width = 3, .height = 15, - .paletteNum = 0xF, + .paletteNum = 15, .baseBlock = 0x0184 }, DUMMY_WIN_TEMPLATE }; @@ -193,10 +193,10 @@ static void CB2_InitWirelessCommunicationScreen(void) ChangeBgY(0, 0, BG_COORD_SET); ChangeBgX(1, 0, BG_COORD_SET); ChangeBgY(1, 0, BG_COORD_SET); - LoadPalette(sBgTiles_Pal, BG_PLTT_ID(0x0), PLTT_SIZE_4BPP); + LoadPalette(sBgTiles_Pal, BG_PLTT_ID(0), PLTT_SIZE_4BPP); Menu_LoadStdPalAt(0xF0); DynamicPlaceholderTextUtil_Reset(); - FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0xF); + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 15); CopyBgTilemapBufferToVram(1); SetMainCallback2(CB2_RunWirelessCommunicationScreen); RunTasks(); @@ -227,7 +227,7 @@ static void WCSS_CyclePalette(s16 * counter, s16 * palIdx) *counter = 0; } - LoadPalette(sBgTiles_Pal + 16 * (*palIdx + 2), BG_PLTT_ID(0x0), PLTT_SIZEOF(8)); + LoadPalette(sBgTiles_Pal + 16 * (*palIdx + 2), BG_PLTT_ID(0), PLTT_SIZEOF(8)); } static void PrintHeaderTexts(void) From ba6d4866e41d32f1778dcf26d2bc3a0bc00461cf Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Sun, 21 Aug 2022 09:45:55 +0100 Subject: [PATCH 06/62] Options menu: standardize task data --- src/option_menu.c | 143 +++++++++++++++++++++++----------------------- 1 file changed, 70 insertions(+), 73 deletions(-) diff --git a/src/option_menu.c b/src/option_menu.c index d2f1bc4ce0..64e805ebad 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -17,16 +17,13 @@ #include "constants/rgb.h" // Task data -enum -{ - TD_MENUSELECTION, - TD_TEXTSPEED, - TD_BATTLESCENE, - TD_BATTLESTYLE, - TD_SOUND, - TD_BUTTONMODE, - TD_FRAMETYPE, -}; +#define tMenuSelection data[0] +#define tTextSpeed data[1] +#define tBattleSceneOff data[2] +#define tBattleStyle data[3] +#define tSound data[4] +#define tButtonMode data[5] +#define tWindowFrameType data[6] // Menu items enum @@ -44,7 +41,7 @@ enum // Window Ids enum { - WIN_TEXT_OPTION, + WIN_HEADER, WIN_OPTIONS }; @@ -73,7 +70,7 @@ static u8 FrameType_ProcessInput(u8 selection); static void FrameType_DrawChoices(u8 selection); static u8 ButtonMode_ProcessInput(u8 selection); static void ButtonMode_DrawChoices(u8 selection); -static void DrawTextOption(void); +static void DrawHeaderText(void); static void DrawOptionMenuTexts(void); static void DrawBgWindowFrames(void); @@ -96,7 +93,7 @@ static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] = static const struct WindowTemplate sOptionMenuWinTemplates[] = { - { + [WIN_HEADER] = { .bg = 1, .tilemapLeft = 2, .tilemapTop = 1, @@ -105,7 +102,7 @@ static const struct WindowTemplate sOptionMenuWinTemplates[] = .paletteNum = 1, .baseBlock = 2 }, - { + [WIN_OPTIONS] = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 5, @@ -217,7 +214,7 @@ void CB2_InitOptionMenu(void) break; case 6: PutWindowTilemap(0); - DrawTextOption(); + DrawHeaderText(); gMain.state++; break; case 7: @@ -235,21 +232,21 @@ void CB2_InitOptionMenu(void) { u8 taskId = CreateTask(Task_OptionMenuFadeIn, 0); - gTasks[taskId].data[TD_MENUSELECTION] = 0; - gTasks[taskId].data[TD_TEXTSPEED] = gSaveBlock2Ptr->optionsTextSpeed; - gTasks[taskId].data[TD_BATTLESCENE] = gSaveBlock2Ptr->optionsBattleSceneOff; - gTasks[taskId].data[TD_BATTLESTYLE] = gSaveBlock2Ptr->optionsBattleStyle; - gTasks[taskId].data[TD_SOUND] = gSaveBlock2Ptr->optionsSound; - gTasks[taskId].data[TD_BUTTONMODE] = gSaveBlock2Ptr->optionsButtonMode; - gTasks[taskId].data[TD_FRAMETYPE] = gSaveBlock2Ptr->optionsWindowFrameType; + gTasks[taskId].tMenuSelection = 0; + gTasks[taskId].tTextSpeed = gSaveBlock2Ptr->optionsTextSpeed; + gTasks[taskId].tBattleSceneOff = gSaveBlock2Ptr->optionsBattleSceneOff; + gTasks[taskId].tBattleStyle = gSaveBlock2Ptr->optionsBattleStyle; + gTasks[taskId].tSound = gSaveBlock2Ptr->optionsSound; + gTasks[taskId].tButtonMode = gSaveBlock2Ptr->optionsButtonMode; + gTasks[taskId].tWindowFrameType = gSaveBlock2Ptr->optionsWindowFrameType; - TextSpeed_DrawChoices(gTasks[taskId].data[TD_TEXTSPEED]); - BattleScene_DrawChoices(gTasks[taskId].data[TD_BATTLESCENE]); - BattleStyle_DrawChoices(gTasks[taskId].data[TD_BATTLESTYLE]); - Sound_DrawChoices(gTasks[taskId].data[TD_SOUND]); - ButtonMode_DrawChoices(gTasks[taskId].data[TD_BUTTONMODE]); - FrameType_DrawChoices(gTasks[taskId].data[TD_FRAMETYPE]); - HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]); + TextSpeed_DrawChoices(gTasks[taskId].tTextSpeed); + BattleScene_DrawChoices(gTasks[taskId].tBattleSceneOff); + BattleStyle_DrawChoices(gTasks[taskId].tBattleStyle); + Sound_DrawChoices(gTasks[taskId].tSound); + ButtonMode_DrawChoices(gTasks[taskId].tButtonMode); + FrameType_DrawChoices(gTasks[taskId].tWindowFrameType); + HighlightOptionMenuItem(gTasks[taskId].tMenuSelection); CopyWindowToVram(WIN_OPTIONS, COPYWIN_FULL); gMain.state++; @@ -273,7 +270,7 @@ static void Task_OptionMenuProcessInput(u8 taskId) { if (JOY_NEW(A_BUTTON)) { - if (gTasks[taskId].data[TD_MENUSELECTION] == MENUITEM_CANCEL) + if (gTasks[taskId].tMenuSelection == MENUITEM_CANCEL) gTasks[taskId].func = Task_OptionMenuSave; } else if (JOY_NEW(B_BUTTON)) @@ -282,67 +279,67 @@ static void Task_OptionMenuProcessInput(u8 taskId) } else if (JOY_NEW(DPAD_UP)) { - if (gTasks[taskId].data[TD_MENUSELECTION] > 0) - gTasks[taskId].data[TD_MENUSELECTION]--; + if (gTasks[taskId].tMenuSelection > 0) + gTasks[taskId].tMenuSelection--; else - gTasks[taskId].data[TD_MENUSELECTION] = MENUITEM_CANCEL; - HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]); + gTasks[taskId].tMenuSelection = MENUITEM_CANCEL; + HighlightOptionMenuItem(gTasks[taskId].tMenuSelection); } else if (JOY_NEW(DPAD_DOWN)) { - if (gTasks[taskId].data[TD_MENUSELECTION] < MENUITEM_CANCEL) - gTasks[taskId].data[TD_MENUSELECTION]++; + if (gTasks[taskId].tMenuSelection < MENUITEM_CANCEL) + gTasks[taskId].tMenuSelection++; else - gTasks[taskId].data[TD_MENUSELECTION] = 0; - HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]); + gTasks[taskId].tMenuSelection = 0; + HighlightOptionMenuItem(gTasks[taskId].tMenuSelection); } else { u8 previousOption; - switch (gTasks[taskId].data[TD_MENUSELECTION]) + switch (gTasks[taskId].tMenuSelection) { case MENUITEM_TEXTSPEED: - previousOption = gTasks[taskId].data[TD_TEXTSPEED]; - gTasks[taskId].data[TD_TEXTSPEED] = TextSpeed_ProcessInput(gTasks[taskId].data[TD_TEXTSPEED]); + previousOption = gTasks[taskId].tTextSpeed; + gTasks[taskId].tTextSpeed = TextSpeed_ProcessInput(gTasks[taskId].tTextSpeed); - if (previousOption != gTasks[taskId].data[TD_TEXTSPEED]) - TextSpeed_DrawChoices(gTasks[taskId].data[TD_TEXTSPEED]); + if (previousOption != gTasks[taskId].tTextSpeed) + TextSpeed_DrawChoices(gTasks[taskId].tTextSpeed); break; case MENUITEM_BATTLESCENE: - previousOption = gTasks[taskId].data[TD_BATTLESCENE]; - gTasks[taskId].data[TD_BATTLESCENE] = BattleScene_ProcessInput(gTasks[taskId].data[TD_BATTLESCENE]); + previousOption = gTasks[taskId].tBattleSceneOff; + gTasks[taskId].tBattleSceneOff = BattleScene_ProcessInput(gTasks[taskId].tBattleSceneOff); - if (previousOption != gTasks[taskId].data[TD_BATTLESCENE]) - BattleScene_DrawChoices(gTasks[taskId].data[TD_BATTLESCENE]); + if (previousOption != gTasks[taskId].tBattleSceneOff) + BattleScene_DrawChoices(gTasks[taskId].tBattleSceneOff); break; case MENUITEM_BATTLESTYLE: - previousOption = gTasks[taskId].data[TD_BATTLESTYLE]; - gTasks[taskId].data[TD_BATTLESTYLE] = BattleStyle_ProcessInput(gTasks[taskId].data[TD_BATTLESTYLE]); + previousOption = gTasks[taskId].tBattleStyle; + gTasks[taskId].tBattleStyle = BattleStyle_ProcessInput(gTasks[taskId].tBattleStyle); - if (previousOption != gTasks[taskId].data[TD_BATTLESTYLE]) - BattleStyle_DrawChoices(gTasks[taskId].data[TD_BATTLESTYLE]); + if (previousOption != gTasks[taskId].tBattleStyle) + BattleStyle_DrawChoices(gTasks[taskId].tBattleStyle); break; case MENUITEM_SOUND: - previousOption = gTasks[taskId].data[TD_SOUND]; - gTasks[taskId].data[TD_SOUND] = Sound_ProcessInput(gTasks[taskId].data[TD_SOUND]); + previousOption = gTasks[taskId].tSound; + gTasks[taskId].tSound = Sound_ProcessInput(gTasks[taskId].tSound); - if (previousOption != gTasks[taskId].data[TD_SOUND]) - Sound_DrawChoices(gTasks[taskId].data[TD_SOUND]); + if (previousOption != gTasks[taskId].tSound) + Sound_DrawChoices(gTasks[taskId].tSound); break; case MENUITEM_BUTTONMODE: - previousOption = gTasks[taskId].data[TD_BUTTONMODE]; - gTasks[taskId].data[TD_BUTTONMODE] = ButtonMode_ProcessInput(gTasks[taskId].data[TD_BUTTONMODE]); + previousOption = gTasks[taskId].tButtonMode; + gTasks[taskId].tButtonMode = ButtonMode_ProcessInput(gTasks[taskId].tButtonMode); - if (previousOption != gTasks[taskId].data[TD_BUTTONMODE]) - ButtonMode_DrawChoices(gTasks[taskId].data[TD_BUTTONMODE]); + if (previousOption != gTasks[taskId].tButtonMode) + ButtonMode_DrawChoices(gTasks[taskId].tButtonMode); break; case MENUITEM_FRAMETYPE: - previousOption = gTasks[taskId].data[TD_FRAMETYPE]; - gTasks[taskId].data[TD_FRAMETYPE] = FrameType_ProcessInput(gTasks[taskId].data[TD_FRAMETYPE]); + previousOption = gTasks[taskId].tWindowFrameType; + gTasks[taskId].tWindowFrameType = FrameType_ProcessInput(gTasks[taskId].tWindowFrameType); - if (previousOption != gTasks[taskId].data[TD_FRAMETYPE]) - FrameType_DrawChoices(gTasks[taskId].data[TD_FRAMETYPE]); + if (previousOption != gTasks[taskId].tWindowFrameType) + FrameType_DrawChoices(gTasks[taskId].tWindowFrameType); break; default: return; @@ -358,12 +355,12 @@ static void Task_OptionMenuProcessInput(u8 taskId) static void Task_OptionMenuSave(u8 taskId) { - gSaveBlock2Ptr->optionsTextSpeed = gTasks[taskId].data[TD_TEXTSPEED]; - gSaveBlock2Ptr->optionsBattleSceneOff = gTasks[taskId].data[TD_BATTLESCENE]; - gSaveBlock2Ptr->optionsBattleStyle = gTasks[taskId].data[TD_BATTLESTYLE]; - gSaveBlock2Ptr->optionsSound = gTasks[taskId].data[TD_SOUND]; - gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].data[TD_BUTTONMODE]; - gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].data[TD_FRAMETYPE]; + gSaveBlock2Ptr->optionsTextSpeed = gTasks[taskId].tTextSpeed; + gSaveBlock2Ptr->optionsBattleSceneOff = gTasks[taskId].tBattleSceneOff; + gSaveBlock2Ptr->optionsBattleStyle = gTasks[taskId].tBattleStyle; + gSaveBlock2Ptr->optionsSound = gTasks[taskId].tSound; + gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].tButtonMode; + gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].tWindowFrameType; BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_OptionMenuFadeOut; @@ -623,11 +620,11 @@ static void ButtonMode_DrawChoices(u8 selection) DrawOptionMenuChoice(gText_ButtonTypeLEqualsA, GetStringRightAlignXOffset(FONT_NORMAL, gText_ButtonTypeLEqualsA, 198), YPOS_BUTTONMODE, styles[2]); } -static void DrawTextOption(void) +static void DrawHeaderText(void) { - FillWindowPixelBuffer(WIN_TEXT_OPTION, PIXEL_FILL(1)); - AddTextPrinterParameterized(WIN_TEXT_OPTION, FONT_NORMAL, gText_Option, 8, 1, TEXT_SKIP_DRAW, NULL); - CopyWindowToVram(WIN_TEXT_OPTION, COPYWIN_FULL); + FillWindowPixelBuffer(WIN_HEADER, PIXEL_FILL(1)); + AddTextPrinterParameterized(WIN_HEADER, FONT_NORMAL, gText_Option, 8, 1, TEXT_SKIP_DRAW, NULL); + CopyWindowToVram(WIN_HEADER, COPYWIN_FULL); } static void DrawOptionMenuTexts(void) From 2aa821176bd40abe843874e31b7386e7053704e6 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Sun, 21 Aug 2022 09:49:40 +0100 Subject: [PATCH 07/62] Options menu: sort #includes --- src/option_menu.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/option_menu.c b/src/option_menu.c index 64e805ebad..c9c7bce048 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -1,18 +1,18 @@ #include "global.h" #include "option_menu.h" -#include "main.h" -#include "menu.h" -#include "scanline_effect.h" -#include "palette.h" -#include "sprite.h" -#include "task.h" #include "bg.h" #include "gpu_regs.h" -#include "window.h" +#include "international_string_util.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "scanline_effect.h" +#include "sprite.h" +#include "strings.h" +#include "task.h" #include "text.h" #include "text_window.h" -#include "international_string_util.h" -#include "strings.h" +#include "window.h" #include "gba/m4a_internal.h" #include "constants/rgb.h" From f4a2040843ad72ec3ab51b61ce2da90f3ccd43ff Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Sun, 21 Aug 2022 15:10:18 +0100 Subject: [PATCH 08/62] Options menu: cleanup --- src/option_menu.c | 69 ++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 37 deletions(-) diff --git a/src/option_menu.c b/src/option_menu.c index c9c7bce048..67169b1f9b 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -16,7 +16,6 @@ #include "gba/m4a_internal.h" #include "constants/rgb.h" -// Task data #define tMenuSelection data[0] #define tTextSpeed data[1] #define tBattleSceneOff data[2] @@ -25,7 +24,6 @@ #define tButtonMode data[5] #define tWindowFrameType data[6] -// Menu items enum { MENUITEM_TEXTSPEED, @@ -38,7 +36,6 @@ enum MENUITEM_COUNT, }; -// Window Ids enum { WIN_HEADER, @@ -52,23 +49,22 @@ enum #define YPOS_BUTTONMODE (MENUITEM_BUTTONMODE * 16) #define YPOS_FRAMETYPE (MENUITEM_FRAMETYPE * 16) -// this file's functions static void Task_OptionMenuFadeIn(u8 taskId); static void Task_OptionMenuProcessInput(u8 taskId); static void Task_OptionMenuSave(u8 taskId); static void Task_OptionMenuFadeOut(u8 taskId); static void HighlightOptionMenuItem(u8 selection); -static u8 TextSpeed_ProcessInput(u8 selection); +static u8 TextSpeed_ProcessInput(u8 selection); static void TextSpeed_DrawChoices(u8 selection); -static u8 BattleScene_ProcessInput(u8 selection); +static u8 BattleScene_ProcessInput(u8 selection); static void BattleScene_DrawChoices(u8 selection); -static u8 BattleStyle_ProcessInput(u8 selection); +static u8 BattleStyle_ProcessInput(u8 selection); static void BattleStyle_DrawChoices(u8 selection); -static u8 Sound_ProcessInput(u8 selection); +static u8 Sound_ProcessInput(u8 selection); static void Sound_DrawChoices(u8 selection); -static u8 FrameType_ProcessInput(u8 selection); +static u8 FrameType_ProcessInput(u8 selection); static void FrameType_DrawChoices(u8 selection); -static u8 ButtonMode_ProcessInput(u8 selection); +static u8 ButtonMode_ProcessInput(u8 selection); static void ButtonMode_DrawChoices(u8 selection); static void DrawHeaderText(void); static void DrawOptionMenuTexts(void); @@ -116,29 +112,28 @@ static const struct WindowTemplate sOptionMenuWinTemplates[] = static const struct BgTemplate sOptionMenuBgTemplates[] = { - { - .bg = 1, - .charBaseIndex = 1, - .mapBaseIndex = 30, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0 - }, - { - .bg = 0, - .charBaseIndex = 1, - .mapBaseIndex = 31, - .screenSize = 0, - .paletteMode = 0, - .priority = 1, - .baseTile = 0 - } + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 0, + .charBaseIndex = 1, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + } }; static const u16 sOptionMenuBg_Pal[] = {RGB(17, 18, 31)}; -// code static void MainCB2(void) { RunTasks(); @@ -213,7 +208,7 @@ void CB2_InitOptionMenu(void) gMain.state++; break; case 6: - PutWindowTilemap(0); + PutWindowTilemap(WIN_HEADER); DrawHeaderText(); gMain.state++; break; @@ -221,7 +216,7 @@ void CB2_InitOptionMenu(void) gMain.state++; break; case 8: - PutWindowTilemap(1); + PutWindowTilemap(WIN_OPTIONS); DrawOptionMenuTexts(); gMain.state++; case 9: @@ -253,7 +248,7 @@ void CB2_InitOptionMenu(void) break; } case 11: - BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK); + BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); return; @@ -362,7 +357,7 @@ static void Task_OptionMenuSave(u8 taskId) gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].tButtonMode; gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].tWindowFrameType; - BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_OptionMenuFadeOut; } @@ -387,13 +382,13 @@ static void DrawOptionMenuChoice(const u8 *text, u8 x, u8 y, u8 style) u8 dst[16]; u16 i; - for (i = 0; *text != EOS && i <= 14; i++) + for (i = 0; *text != EOS && i < ARRAY_COUNT(dst) - 1; i++) dst[i] = *(text++); if (style != 0) { - dst[2] = 4; - dst[5] = 5; + dst[2] = TEXT_COLOR_RED; + dst[5] = TEXT_COLOR_LIGHT_RED; } dst[i] = EOS; @@ -564,7 +559,7 @@ static void FrameType_DrawChoices(u8 selection) { text[i] = n % 10 + CHAR_0; i++; - text[i] = 0x77; + text[i] = CHAR_SPACER; i++; } From 33f3a7c11a1b4bfc6eb973c3345c1504b4675d7a Mon Sep 17 00:00:00 2001 From: tustin2121 Date: Mon, 7 Nov 2022 06:09:21 -0500 Subject: [PATCH 09/62] Adding FindObjectEventPaletteIndexByTag bugfix The code in event_object_movement.c indicates that OBJ_EVENT_PAL_TAG_NONE was meant to be a sentinel for the bottom of each of the tables involving palettes in there. sObjectEventSpritePalettes is the exception, but the functions that access it look for OBJ_EVENT_PAL_TAG_NONE even though it's not in the table. If the palette tag isn't in the table, the functions which scan it fall off the bottom of the table into an infinite loop of scanning 256 "entries" of the table (because it uses a u8 index), and the game locks up. In vanilla, the search simply never falls off the bottom of the table. It seems the developers intended for that last entry to be {NULL, OBJ_EVENT_PAL_TAG_NONE}. --- src/event_object_movement.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 3429b2049d..e277e2a48a 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -497,7 +497,12 @@ static const struct SpritePalette sObjectEventSpritePalettes[] = { {gObjectEventPal_Lugia, OBJ_EVENT_PAL_TAG_LUGIA}, {gObjectEventPal_RubySapphireBrendan, OBJ_EVENT_PAL_TAG_RS_BRENDAN}, {gObjectEventPal_RubySapphireMay, OBJ_EVENT_PAL_TAG_RS_MAY}, - {}, +#ifdef BUGFIX + {NULL, OBJ_EVENT_PAL_TAG_NONE}, +#else + {}, // BUG: FindObjectEventPaletteIndexByTag looks for OBJ_EVENT_PAL_TAG_NONE and not 0x0. + // If it's looking for a tag that isn't in this table, the game locks in an infinite loop. +#endif }; static const u16 sReflectionPaletteTags_Brendan[] = { From 483c3d5c138c6a23b25beec071df9419e6a5c8bc Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 22 Nov 2022 02:17:03 -0500 Subject: [PATCH 10/62] Document wonder news --- data/specials.inc | 2 +- include/constants/mystery_gift.h | 8 ++ include/constants/vars.h | 2 +- include/global.h | 6 +- include/link.h | 4 +- include/wonder_news.h | 5 +- src/ereader_screen.c | 5 +- src/mystery_gift.c | 4 +- src/mystery_gift_menu.c | 8 +- src/mystery_gift_scripts.c | 2 +- src/wonder_news.c | 156 +++++++++++++++---------------- 11 files changed, 103 insertions(+), 99 deletions(-) diff --git a/data/specials.inc b/data/specials.inc index a863b6e137..f14ff166f9 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -430,7 +430,7 @@ gSpecials:: def_special ShowWirelessCommunicationScreen def_special InitUnionRoom def_special BufferUnionRoomPlayerName - def_special RetrieveWonderNewsVal + def_special WonderNews_GetRewardInfo def_special ChooseMonForWirelessMinigame def_special Script_ResetUnionRoomTrade def_special IsBadEggInParty diff --git a/include/constants/mystery_gift.h b/include/constants/mystery_gift.h index 8ff71c3aa1..13eb7f1033 100644 --- a/include/constants/mystery_gift.h +++ b/include/constants/mystery_gift.h @@ -44,4 +44,12 @@ #define WONDER_CARD_FLAG_OFFSET 1000 +#define NEWS_REWARD_NONE 0 +#define NEWS_REWARD_RECV_SMALL 1 +#define NEWS_REWARD_RECV_BIG 2 +#define NEWS_REWARD_WAITING 3 +#define NEWS_REWARD_SENT_SMALL 4 +#define NEWS_REWARD_SENT_BIG 5 +#define NEWS_REWARD_AT_MAX 6 + #endif //GUARD_CONSTANTS_MYSTERY_GIFT_H diff --git a/include/constants/vars.h b/include/constants/vars.h index be32c74982..e0b08f4475 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -60,7 +60,7 @@ #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_WONDER_NEWS_STEP_COUNTER 0x402E #define VAR_FRONTIER_MANIAC_FACILITY 0x402F #define VAR_FRONTIER_GAMBLER_CHALLENGE 0x4030 diff --git a/include/global.h b/include/global.h index 6e2cfa9b80..58922a39b5 100644 --- a/include/global.h +++ b/include/global.h @@ -829,9 +829,9 @@ struct TrainerHillSave struct WonderNewsMetadata { u8 newsType:2; - u8 sentCounter:3; - u8 getCounter:3; - u8 rand; + u8 sentRewardCounter:3; + u8 rewardCounter:3; + u8 berry; }; struct WonderNews diff --git a/include/link.h b/include/link.h index 7fa5e3fae6..f27cddc620 100644 --- a/include/link.h +++ b/include/link.h @@ -100,8 +100,8 @@ #define LINKTYPE_BERRY_BLENDER_SETUP 0x4411 #define LINKTYPE_BERRY_BLENDER 0x4422 #define LINKTYPE_MYSTERY_EVENT 0x5501 -#define LINKTYPE_UNUSED_EREADER 0x5502 // Unused, inferred from gap -#define LINKTYPE_EREADER 0x5503 +#define LINKTYPE_EREADER_FRLG 0x5502 +#define LINKTYPE_EREADER_EM 0x5503 #define LINKTYPE_CONTEST_GMODE 0x6601 #define LINKTYPE_CONTEST_EMODE 0x6602 diff --git a/include/wonder_news.h b/include/wonder_news.h index 68fd59e4ce..f499709dfe 100755 --- a/include/wonder_news.h +++ b/include/wonder_news.h @@ -8,8 +8,7 @@ enum { WONDER_NEWS_SENT, }; - -void InitSavedWonderNews(void); -void GenerateRandomWonderNews(u32 newsType); +void WonderNews_Reset(void); +void WonderNews_SetReward(u32 newsType); #endif //GUARD_WONDER_NEWS_H diff --git a/src/ereader_screen.c b/src/ereader_screen.c index b6bf7133a0..ea5cface42 100755 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -5,6 +5,7 @@ #include "link.h" #include "main.h" #include "mystery_gift_menu.h" +#include "mystery_gift_client.h" #include "save.h" #include "sound.h" #include "sprite.h" @@ -98,7 +99,7 @@ static u8 EReader_Transfer(struct EReaderData *eReader) static void OpenEReaderLink(void) { memset(gDecompressionBuffer, 0, 0x2000); - gLinkType = LINKTYPE_EREADER; + gLinkType = LINKTYPE_EREADER_EM; OpenLink(); SetSuppressLinkErrorMessage(TRUE); } @@ -259,7 +260,7 @@ void CreateEReaderTask(void) data->unused2 = 0; data->unused3 = 0; data->status = 0; - data->unusedBuffer = AllocZeroed(0x40); + data->unusedBuffer = AllocZeroed(CLIENT_MAX_MSG_SIZE); } static void ResetTimer(u16 *timer) diff --git a/src/mystery_gift.c b/src/mystery_gift.c index c4e63bfbb8..ee601059f8 100755 --- a/src/mystery_gift.c +++ b/src/mystery_gift.c @@ -27,7 +27,7 @@ static void IncrementCardStatForNewTrainer(u32, u32, u32 *, int); void ClearMysteryGift(void) { CpuFill32(0, &gSaveBlock1Ptr->mysteryGift, sizeof(gSaveBlock1Ptr->mysteryGift)); - ClearSavedWonderNewsMetadata(); // Clear is redundant, InitSavedWonderNews would be sufficient + ClearSavedWonderNewsMetadata(); // Clear is redundant, WonderNews_Reset would be sufficient InitQuestionnaireWords(); } @@ -109,7 +109,7 @@ static void ClearSavedWonderNews(void) static void ClearSavedWonderNewsMetadata(void) { CpuFill32(0, GetSavedWonderNewsMetadata(), sizeof(gSaveBlock1Ptr->mysteryGift.newsMetadata)); - InitSavedWonderNews(); + WonderNews_Reset(); } bool32 IsWonderNewsSameAsSaved(const u8 *news) diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 4b81c81a3b..6a09ca206b 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -1258,7 +1258,7 @@ static void Task_MysteryGift(u8 taskId) data->state = MG_STATE_CLIENT_LINK_END; break; case CLI_RET_COPY_MSG: - memcpy(data->clientMsg, MysteryGiftClient_GetMsg(), 0x40); + memcpy(data->clientMsg, MysteryGiftClient_GetMsg(), CLIENT_MAX_MSG_SIZE); MysteryGiftClient_AdvanceState(); break; case CLI_RET_PRINT_MSG: @@ -1371,9 +1371,9 @@ static void Task_MysteryGift(u8 taskId) if (data->msgId == CLI_MSG_NEWS_RECEIVED) { if (data->sourceIsFriend == TRUE) - GenerateRandomWonderNews(WONDER_NEWS_RECV_FRIEND); + WonderNews_SetReward(WONDER_NEWS_RECV_FRIEND); else - GenerateRandomWonderNews(WONDER_NEWS_RECV_WIRELESS); + WonderNews_SetReward(WONDER_NEWS_RECV_WIRELESS); } if (!successMsg) { @@ -1580,7 +1580,7 @@ static void Task_MysteryGift(u8 taskId) { if (data->sourceIsFriend == TRUE && data->msgId == SVR_MSG_NEWS_SENT) { - GenerateRandomWonderNews(WONDER_NEWS_SENT); + WonderNews_SetReward(WONDER_NEWS_SENT); data->state = MG_STATE_SAVE_LOAD_GIFT; } else diff --git a/src/mystery_gift_scripts.c b/src/mystery_gift_scripts.c index fcd7f568d0..0bad35eb0f 100644 --- a/src/mystery_gift_scripts.c +++ b/src/mystery_gift_scripts.c @@ -172,7 +172,7 @@ static const struct MysteryGiftServerCmd sServerScript_TossPrompt[] = { {SVR_SEND}, {SVR_RECV, MG_LINKID_RESPONSE}, {SVR_READ_RESPONSE}, - {SVR_GOTO_IF_EQ, FALSE, sServerScript_SendCard}, // Tossed old card, send new one + {SVR_GOTO_IF_EQ, FALSE, sServerScript_SendCard}, // Tossed old card, send new one {SVR_GOTO, .ptr = sServerScript_ClientCanceledCard} // Kept old card, cancel new one }; diff --git a/src/wonder_news.c b/src/wonder_news.c index e083575d95..4b5f32d1dc 100644 --- a/src/wonder_news.c +++ b/src/wonder_news.c @@ -3,30 +3,22 @@ #include "random.h" #include "event_data.h" #include "wonder_news.h" +#include "constants/items.h" -/* - Wonder News related functions. - Because this feature is largely unused, the names in here are - mostly nebulous and without a real indication of purpose. -*/ +// Every 4th reward for sending Wonder News to a link partner is a "big" reward. +#define MAX_SENT_REWARD 4 -enum { - NEWS_VAL_INVALID, - NEWS_VAL_RECV_FRIEND, - NEWS_VAL_RECV_WIRELESS, - NEWS_VAL_NONE, - NEWS_VAL_SENT, - NEWS_VAL_SENT_MAX, - NEWS_VAL_GET_MAX, -}; +// Only up to 5 rewards can be received in a short period. After this the player +// must take 500 steps before any more rewards can be received. +#define MAX_REWARD 5 -static u32 GetNewsId(struct WonderNewsMetadata *); -static void IncrementGetNewsCounter(struct WonderNewsMetadata *); -static u32 GetNewsValByNewsType(struct WonderNewsMetadata *); -static void IncrementSentNewsCounter(struct WonderNewsMetadata *); -static void ResetSentNewsCounter(struct WonderNewsMetadata *); +static u32 GetRewardItem(struct WonderNewsMetadata *); +static u32 GetRewardType(struct WonderNewsMetadata *); +static void IncrementRewardCounter(struct WonderNewsMetadata *); +static void IncrementSentRewardCounter(struct WonderNewsMetadata *); +static void ResetSentRewardCounter(struct WonderNewsMetadata *); -void GenerateRandomWonderNews(u32 newsType) +void WonderNews_SetReward(u32 newsType) { struct WonderNewsMetadata *data = GetSavedWonderNewsMetadata(); @@ -37,124 +29,128 @@ void GenerateRandomWonderNews(u32 newsType) break; case WONDER_NEWS_RECV_FRIEND: case WONDER_NEWS_RECV_WIRELESS: - data->rand = (Random() % 15) + 16; + // Random berry between ITEM_RAZZ_BERRY and ITEM_NOMEL_BERRY + data->berry = (Random() % 15) + ITEM_TO_BERRY(ITEM_RAZZ_BERRY); break; case WONDER_NEWS_SENT: - data->rand = (Random() % 15) + 1; + // Random berry between ITEM_CHERI_BERRY and ITEM_IAPAPA_BERRY + data->berry = (Random() % 15) + ITEM_TO_BERRY(ITEM_CHERI_BERRY); break; } } -void InitSavedWonderNews(void) +void WonderNews_Reset(void) { struct WonderNewsMetadata *data = GetSavedWonderNewsMetadata(); data->newsType = WONDER_NEWS_NONE; - data->sentCounter = 0; - data->getCounter = 0; - data->rand = 0; - VarSet(VAR_WONDER_NEWS_COUNTER, 0); + data->sentRewardCounter = 0; + data->rewardCounter = 0; + data->berry = 0; + VarSet(VAR_WONDER_NEWS_STEP_COUNTER, 0); } -// Unused -static void TryIncrementWonderNewsVar(void) +// Only used in FRLG +void WonderNews_IncrementStepCounter(void) { - u16 *var = GetVarPointer(VAR_WONDER_NEWS_COUNTER); + u16 *stepCounter = GetVarPointer(VAR_WONDER_NEWS_STEP_COUNTER); struct WonderNewsMetadata *data = GetSavedWonderNewsMetadata(); - if (data->getCounter > 4 && ++(*var) >= 500) + // If the player has reached the reward limit, start counting steps. + // When they reach 500 steps reset the reward counter to allow them to + // receive rewards again. + if (data->rewardCounter >= MAX_REWARD && ++(*stepCounter) >= 500) { - data->getCounter = 0; - *var = 0; + data->rewardCounter = 0; + *stepCounter = 0; } } -// Unused -u16 RetrieveWonderNewsVal(void) +// Only used in FRLG +u16 WonderNews_GetRewardInfo(void) { u16 *result = &gSpecialVar_Result; struct WonderNewsMetadata *data = GetSavedWonderNewsMetadata(); - u16 newsVal; + u16 rewardType; // Checks if Mystery Event is enabled, not Mystery Gift? if (!IsMysteryEventEnabled() || !ValidateSavedWonderNews()) - return 0; + return NEWS_REWARD_NONE; - newsVal = GetNewsValByNewsType(data); + rewardType = GetRewardType(data); - switch (newsVal) + switch (rewardType) { - case NEWS_VAL_RECV_FRIEND: - *result = GetNewsId(data); + case NEWS_REWARD_RECV_SMALL: + case NEWS_REWARD_RECV_BIG: + *result = GetRewardItem(data); break; - case NEWS_VAL_RECV_WIRELESS: - *result = GetNewsId(data); + case NEWS_REWARD_SENT_SMALL: + *result = GetRewardItem(data); + IncrementSentRewardCounter(data); break; - case NEWS_VAL_SENT: - *result = GetNewsId(data); - IncrementSentNewsCounter(data); + case NEWS_REWARD_SENT_BIG: + *result = GetRewardItem(data); + ResetSentRewardCounter(data); break; - case NEWS_VAL_SENT_MAX: - *result = GetNewsId(data); - ResetSentNewsCounter(data); - break; - case NEWS_VAL_INVALID: - case NEWS_VAL_NONE: - case NEWS_VAL_GET_MAX: + case NEWS_REWARD_NONE: + case NEWS_REWARD_WAITING: + case NEWS_REWARD_AT_MAX: break; } - return newsVal; + return rewardType; } -static u32 GetNewsId(struct WonderNewsMetadata *data) +static u32 GetRewardItem(struct WonderNewsMetadata *data) { - u32 id; + u32 itemId; data->newsType = WONDER_NEWS_NONE; - id = data->rand + 132; - data->rand = 0; - IncrementGetNewsCounter(data); - return id; + itemId = data->berry + FIRST_BERRY_INDEX - 1; + data->berry = 0; + IncrementRewardCounter(data); + return itemId; } -static void ResetSentNewsCounter(struct WonderNewsMetadata *data) +static void ResetSentRewardCounter(struct WonderNewsMetadata *data) { - data->sentCounter = 0; + data->sentRewardCounter = 0; } -static void IncrementSentNewsCounter(struct WonderNewsMetadata *data) +// Track number of times a reward was received (or attmepted to receive) for sending Wonder News to a link partner. +static void IncrementSentRewardCounter(struct WonderNewsMetadata *data) { - data->sentCounter++; - if (data->sentCounter > 4) - data->sentCounter = 4; + data->sentRewardCounter++; + if (data->sentRewardCounter > MAX_SENT_REWARD) + data->sentRewardCounter = MAX_SENT_REWARD; } -static void IncrementGetNewsCounter(struct WonderNewsMetadata *data) +static void IncrementRewardCounter(struct WonderNewsMetadata *data) { - data->getCounter++; - if (data->getCounter > 5) - data->getCounter = 5; + data->rewardCounter++; + if (data->rewardCounter > MAX_REWARD) + data->rewardCounter = MAX_REWARD; } -static u32 GetNewsValByNewsType(struct WonderNewsMetadata *data) +static u32 GetRewardType(struct WonderNewsMetadata *data) { - if (data->getCounter == 5) - return NEWS_VAL_GET_MAX; + if (data->rewardCounter == MAX_REWARD) + return NEWS_REWARD_AT_MAX; switch (data->newsType) { case WONDER_NEWS_NONE: - return NEWS_VAL_NONE; + return NEWS_REWARD_WAITING; case WONDER_NEWS_RECV_FRIEND: - return NEWS_VAL_RECV_FRIEND; + return NEWS_REWARD_RECV_SMALL; case WONDER_NEWS_RECV_WIRELESS: - return NEWS_VAL_RECV_WIRELESS; + return NEWS_REWARD_RECV_BIG; case WONDER_NEWS_SENT: - if (data->sentCounter < 3) - return NEWS_VAL_SENT; - return NEWS_VAL_SENT_MAX; + if (data->sentRewardCounter < MAX_SENT_REWARD - 1) + return NEWS_REWARD_SENT_SMALL; + return NEWS_REWARD_SENT_BIG; default: AGB_ASSERT(0); - return NEWS_VAL_INVALID; + return NEWS_REWARD_NONE; } } From 7327be6f9e6ac4ef6db47980afe6afa50359a8b9 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 22 Nov 2022 17:05:25 -0300 Subject: [PATCH 11/62] Made Types and Egg Groups into arrays --- include/constants/pokemon.h | 4 + include/pokemon.h | 8 +- src/battle_ai_switch_items.c | 4 +- src/battle_dome.c | 16 +- src/battle_factory.c | 6 +- src/battle_main.c | 8 +- src/battle_pike.c | 12 +- src/battle_script_commands.c | 6 +- src/contest.c | 2 +- src/data/pokemon/species_info.h | 2374 +++++++++++-------------------- src/daycare.c | 4 +- src/field_specials.c | 2 +- src/pokedex.c | 8 +- src/pokemon.c | 4 +- src/pokemon_summary_screen.c | 6 +- src/trade.c | 4 +- src/union_room.c | 2 +- src/wild_encounter.c | 2 +- 18 files changed, 850 insertions(+), 1622 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index d0e6094483..0e2113abe5 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -266,4 +266,8 @@ #define SKIP_FRONT_ANIM (1 << 7) +#define NUM_TYPE_SLOTS 2 +#define NUM_EGG_GROUP_SLOTS 2 +#define NUM_ABILITY_SLOTS 2 + #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/pokemon.h b/include/pokemon.h index 1b61516697..5ee8b8ade3 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -295,8 +295,7 @@ struct SpeciesInfo /* 0x03 */ u8 baseSpeed; /* 0x04 */ u8 baseSpAttack; /* 0x05 */ u8 baseSpDefense; - /* 0x06 */ u8 type1; - /* 0x07 */ u8 type2; + /* 0x06 */ u8 types[NUM_TYPE_SLOTS]; /* 0x08 */ u8 catchRate; /* 0x09 */ u8 expYield; /* 0x0A */ u16 evYield_HP:2; @@ -311,9 +310,8 @@ struct SpeciesInfo /* 0x11 */ u8 eggCycles; /* 0x12 */ u8 friendship; /* 0x13 */ u8 growthRate; - /* 0x14 */ u8 eggGroup1; - /* 0x15 */ u8 eggGroup2; - /* 0x16 */ u8 abilities[2]; + /* 0x14 */ u8 eggGroups[NUM_EGG_GROUP_SLOTS]; + /* 0x16 */ u8 abilities[NUM_ABILITY_SLOTS]; /* 0x18 */ u8 safariZoneFleeRate; /* 0x19 */ u8 bodyColor : 7; u8 noFlip : 1; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 0aec2316ec..53b791a673 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -703,8 +703,8 @@ u8 GetMostSuitableMonToSwitchInto(void) && i != *(gBattleStruct->monToSwitchIntoId + battlerIn1) && i != *(gBattleStruct->monToSwitchIntoId + battlerIn2)) { - u8 type1 = gSpeciesInfo[species].type1; - u8 type2 = gSpeciesInfo[species].type2; + u8 type1 = gSpeciesInfo[species].types[0]; + u8 type2 = gSpeciesInfo[species].types[1]; u8 typeDmg = TYPE_MUL_NORMAL; ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type1, type1, type2, &typeDmg); ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type2, type1, type2, &typeDmg); diff --git a/src/battle_dome.c b/src/battle_dome.c index e0911d4851..0470aa5de4 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2348,8 +2348,8 @@ static void InitDomeTrainers(void) rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPDEF, NULL); rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPEED, NULL); rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_MAX_HP, NULL); - monTypesBits |= gBitTable[gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type1]; - monTypesBits |= gBitTable[gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type2]; + monTypesBits |= gBitTable[gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].types[0]]; + monTypesBits |= gBitTable[gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].types[1]]; } // Count the number of types in the players party, to factor into the ranking @@ -2383,8 +2383,8 @@ static void InitDomeTrainers(void) rankingScores[i] += statValues[STAT_SPDEF]; rankingScores[i] += statValues[STAT_SPEED]; rankingScores[i] += statValues[STAT_HP]; - monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1]; - monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2]; + monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[0]]; + monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[1]]; } for (monTypesCount = 0, j = 0; j < 32; j++) @@ -2750,8 +2750,8 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int mode) if (move == MOVE_NONE || move == MOVE_UNAVAILABLE || gBattleMoves[move].power == 0) return 0; - defType1 = gSpeciesInfo[targetSpecies].type1; - defType2 = gSpeciesInfo[targetSpecies].type2; + defType1 = gSpeciesInfo[targetSpecies].types[0]; + defType2 = gSpeciesInfo[targetSpecies].types[1]; defAbility = gSpeciesInfo[targetSpecies].abilities[0]; moveType = gBattleMoves[move].type; @@ -5883,8 +5883,8 @@ static void InitRandomTourneyTreeResults(void) statSums[i] += statValues[STAT_SPDEF]; statSums[i] += statValues[STAT_SPEED]; statSums[i] += statValues[STAT_HP]; - monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1]; - monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2]; + monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[0]]; + monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].types[1]]; } // Because GF hates temporary vars, trainerId acts like monTypesCount here. diff --git a/src/battle_factory.c b/src/battle_factory.c index 5aeef2e296..eac9f0403e 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -618,9 +618,9 @@ static void GetOpponentMostCommonMonType(void) for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { u32 species = gFacilityTrainerMons[gFrontierTempParty[i]].species; - typeCounts[gSpeciesInfo[species].type1]++; - if (gSpeciesInfo[species].type1 != gSpeciesInfo[species].type2) - typeCounts[gSpeciesInfo[species].type2]++; + typeCounts[gSpeciesInfo[species].types[0]]++; + if (gSpeciesInfo[species].types[0] != gSpeciesInfo[species].types[1]) + typeCounts[gSpeciesInfo[species].types[1]]++; } // Determine which are the two most-common types. diff --git a/src/battle_main.c b/src/battle_main.c index fa85608d48..0b19b8306a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3332,8 +3332,8 @@ void FaintClearSetData(void) gBattleResources->flags->flags[gActiveBattler] = 0; - gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type1; - gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; + gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; ClearBattlerMoveHistory(gActiveBattler); ClearBattlerAbilityHistory(gActiveBattler); @@ -3400,8 +3400,8 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) for (i = 0; i < sizeof(struct BattlePokemon); i++) ptr[i] = gBattleBufferB[gActiveBattler][4 + i]; - gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type1; - gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; + gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(gActiveBattler)]; *hpOnSwitchout = gBattleMons[gActiveBattler].hp; diff --git a/src/battle_pike.c b/src/battle_pike.c index 174006161d..462ae4f383 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -845,21 +845,21 @@ static bool8 DoesTypePreventStatus(u16 species, u32 status) switch (status) { case STATUS1_TOXIC_POISON: - if (gSpeciesInfo[species].type1 == TYPE_STEEL || gSpeciesInfo[species].type1 == TYPE_POISON - || gSpeciesInfo[species].type2 == TYPE_STEEL || gSpeciesInfo[species].type2 == TYPE_POISON) + if (gSpeciesInfo[species].types[0] == TYPE_STEEL || gSpeciesInfo[species].types[0] == TYPE_POISON + || gSpeciesInfo[species].types[1] == TYPE_STEEL || gSpeciesInfo[species].types[1] == TYPE_POISON) ret = TRUE; break; case STATUS1_FREEZE: - if (gSpeciesInfo[species].type1 == TYPE_ICE || gSpeciesInfo[species].type2 == TYPE_ICE) + if (gSpeciesInfo[species].types[0] == TYPE_ICE || gSpeciesInfo[species].types[1] == TYPE_ICE) ret = TRUE; break; case STATUS1_PARALYSIS: - if (gSpeciesInfo[species].type1 == TYPE_GROUND || gSpeciesInfo[species].type1 == TYPE_ELECTRIC - || gSpeciesInfo[species].type2 == TYPE_GROUND || gSpeciesInfo[species].type2 == TYPE_ELECTRIC) + if (gSpeciesInfo[species].types[0] == TYPE_GROUND || gSpeciesInfo[species].types[0] == TYPE_ELECTRIC + || gSpeciesInfo[species].types[1] == TYPE_GROUND || gSpeciesInfo[species].types[1] == TYPE_ELECTRIC) ret = TRUE; break; case STATUS1_BURN: - if (gSpeciesInfo[species].type1 == TYPE_FIRE || gSpeciesInfo[species].type2 == TYPE_FIRE) + if (gSpeciesInfo[species].types[0] == TYPE_FIRE || gSpeciesInfo[species].types[1] == TYPE_FIRE) ret = TRUE; break; case STATUS1_SLEEP: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 111713b1f1..2cbbd0e375 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1595,7 +1595,7 @@ u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility) { s32 i = 0; u8 flags = 0; - u8 type1 = gSpeciesInfo[targetSpecies].type1, type2 = gSpeciesInfo[targetSpecies].type2; + u8 type1 = gSpeciesInfo[targetSpecies].types[0], type2 = gSpeciesInfo[targetSpecies].types[1]; u8 moveType; if (move == MOVE_STRUGGLE) @@ -4604,8 +4604,8 @@ static void Cmd_switchindataupdate(void) for (i = 0; i < sizeof(struct BattlePokemon); i++) monData[i] = gBattleBufferB[gActiveBattler][4 + i]; - gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type1; - gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; + gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); // check knocked off item diff --git a/src/contest.c b/src/contest.c index e5cda17ae8..787567436d 100644 --- a/src/contest.c +++ b/src/contest.c @@ -5320,7 +5320,7 @@ static void SetMoveSpecificAnimData(u8 contestant) switch (move) { case MOVE_CURSE: - if (gSpeciesInfo[species].type1 == TYPE_GHOST || gSpeciesInfo[species].type2 == TYPE_GHOST) + if (gSpeciesInfo[species].types[0] == TYPE_GHOST || gSpeciesInfo[species].types[1] == TYPE_GHOST) gAnimMoveTurn = 0; else gAnimMoveTurn = 1; diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 5af84df1fd..a40a73e936 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -2,36 +2,34 @@ // 255 (MON_GENDERLESS) is reserved for genderless Pokémon. #define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100)) -#define OLD_UNOWN_SPECIES_INFO \ - { \ - .baseHP = 50, \ - .baseAttack = 150, \ - .baseDefense = 50, \ - .baseSpeed = 150, \ - .baseSpAttack = 150, \ - .baseSpDefense = 50, \ - .type1 = TYPE_NORMAL, \ - .type2 = TYPE_NORMAL, \ - .catchRate = 3, \ - .expYield = 1, \ - .evYield_HP = 2, \ - .evYield_Attack = 2, \ - .evYield_Defense = 2, \ - .evYield_Speed = 2, \ - .evYield_SpAttack = 2, \ - .evYield_SpDefense = 2, \ - .itemCommon = ITEM_NONE, \ - .itemRare = ITEM_NONE, \ - .genderRatio = MON_GENDERLESS, \ - .eggCycles = 120, \ - .friendship = 0, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroup1 = EGG_GROUP_UNDISCOVERED, \ - .eggGroup2 = EGG_GROUP_UNDISCOVERED, \ - .abilities = {ABILITY_NONE, ABILITY_NONE}, \ - .safariZoneFleeRate = 0, \ - .bodyColor = BODY_COLOR_BLACK, \ - .noFlip = FALSE, \ +#define OLD_UNOWN_SPECIES_INFO \ + { \ + .baseHP = 50, \ + .baseAttack = 150, \ + .baseDefense = 50, \ + .baseSpeed = 150, \ + .baseSpAttack = 150, \ + .baseSpDefense = 50, \ + .types { TYPE_NORMAL, TYPE_NORMAL}, \ + .catchRate = 3, \ + .expYield = 1, \ + .evYield_HP = 2, \ + .evYield_Attack = 2, \ + .evYield_Defense = 2, \ + .evYield_Speed = 2, \ + .evYield_SpAttack = 2, \ + .evYield_SpDefense = 2, \ + .itemCommon = ITEM_NONE, \ + .itemRare = ITEM_NONE, \ + .genderRatio = MON_GENDERLESS, \ + .eggCycles = 120, \ + .friendship = 0, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED, }, \ + .abilities = {ABILITY_NONE, ABILITY_NONE}, \ + .safariZoneFleeRate = 0, \ + .bodyColor = BODY_COLOR_BLACK, \ + .noFlip = FALSE, \ } const struct SpeciesInfo gSpeciesInfo[] = @@ -46,8 +44,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 65, .baseSpDefense = 65, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 45, .expYield = 64, .evYield_HP = 0, @@ -62,8 +59,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -78,8 +74,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 80, .baseSpDefense = 80, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 45, .expYield = 141, .evYield_HP = 0, @@ -94,8 +89,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -110,8 +104,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 100, .baseSpDefense = 100, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 45, .expYield = 208, .evYield_HP = 0, @@ -126,8 +119,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -142,8 +134,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 60, .baseSpDefense = 50, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 45, .expYield = 65, .evYield_HP = 0, @@ -158,8 +149,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -174,8 +164,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 80, .baseSpDefense = 65, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 45, .expYield = 142, .evYield_HP = 0, @@ -190,8 +179,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -206,8 +194,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 109, .baseSpDefense = 85, - .type1 = TYPE_FIRE, - .type2 = TYPE_FLYING, + .types = { TYPE_FIRE, TYPE_FLYING }, .catchRate = 45, .expYield = 209, .evYield_HP = 0, @@ -222,8 +209,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -238,8 +224,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 43, .baseSpAttack = 50, .baseSpDefense = 64, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 45, .expYield = 66, .evYield_HP = 0, @@ -254,8 +239,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -270,8 +254,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 58, .baseSpAttack = 65, .baseSpDefense = 80, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 45, .expYield = 143, .evYield_HP = 0, @@ -286,8 +269,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -302,8 +284,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 78, .baseSpAttack = 85, .baseSpDefense = 105, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 45, .expYield = 210, .evYield_HP = 0, @@ -318,8 +299,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -334,8 +314,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 20, .baseSpDefense = 20, - .type1 = TYPE_BUG, - .type2 = TYPE_BUG, + .types = { TYPE_BUG, TYPE_BUG }, .catchRate = 255, .expYield = 53, .evYield_HP = 1, @@ -350,8 +329,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -366,8 +344,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 25, .baseSpDefense = 25, - .type1 = TYPE_BUG, - .type2 = TYPE_BUG, + .types = { TYPE_BUG, TYPE_BUG }, .catchRate = 120, .expYield = 72, .evYield_HP = 0, @@ -382,8 +359,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -398,8 +374,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 80, .baseSpDefense = 80, - .type1 = TYPE_BUG, - .type2 = TYPE_FLYING, + .types = { TYPE_BUG, TYPE_FLYING }, .catchRate = 45, .expYield = 160, .evYield_HP = 0, @@ -414,8 +389,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_COMPOUND_EYES, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -430,8 +404,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 20, .baseSpDefense = 20, - .type1 = TYPE_BUG, - .type2 = TYPE_POISON, + .types = { TYPE_BUG, TYPE_POISON }, .catchRate = 255, .expYield = 52, .evYield_HP = 0, @@ -446,8 +419,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -462,8 +434,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 25, .baseSpDefense = 25, - .type1 = TYPE_BUG, - .type2 = TYPE_POISON, + .types = { TYPE_BUG, TYPE_POISON }, .catchRate = 120, .expYield = 71, .evYield_HP = 0, @@ -478,8 +449,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -494,8 +464,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 75, .baseSpAttack = 45, .baseSpDefense = 80, - .type1 = TYPE_BUG, - .type2 = TYPE_POISON, + .types = { TYPE_BUG, TYPE_POISON }, .catchRate = 45, .expYield = 159, .evYield_HP = 0, @@ -510,8 +479,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SWARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -526,8 +494,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 56, .baseSpAttack = 35, .baseSpDefense = 35, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 255, .expYield = 55, .evYield_HP = 0, @@ -542,8 +509,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -558,8 +524,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 71, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 120, .expYield = 113, .evYield_HP = 0, @@ -574,8 +539,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -590,8 +554,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 91, .baseSpAttack = 70, .baseSpDefense = 70, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 45, .expYield = 172, .evYield_HP = 0, @@ -606,8 +569,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -622,8 +584,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 72, .baseSpAttack = 25, .baseSpDefense = 35, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 255, .expYield = 57, .evYield_HP = 0, @@ -638,8 +599,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_RUN_AWAY, ABILITY_GUTS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -654,8 +614,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 97, .baseSpAttack = 50, .baseSpDefense = 70, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 127, .expYield = 116, .evYield_HP = 0, @@ -670,8 +629,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_RUN_AWAY, ABILITY_GUTS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -686,8 +644,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 31, .baseSpDefense = 31, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 255, .expYield = 58, .evYield_HP = 0, @@ -702,8 +659,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -718,8 +674,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 61, .baseSpDefense = 61, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 90, .expYield = 162, .evYield_HP = 0, @@ -734,8 +689,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -750,8 +704,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 40, .baseSpDefense = 54, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 255, .expYield = 62, .evYield_HP = 0, @@ -766,8 +719,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, .abilities = {ABILITY_INTIMIDATE, ABILITY_SHED_SKIN}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -782,8 +734,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 65, .baseSpDefense = 79, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 90, .expYield = 147, .evYield_HP = 0, @@ -798,8 +749,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, .abilities = {ABILITY_INTIMIDATE, ABILITY_SHED_SKIN}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -814,8 +764,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 50, .baseSpDefense = 40, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 190, .expYield = 82, .evYield_HP = 0, @@ -830,8 +779,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_YELLOW, @@ -846,8 +794,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 90, .baseSpDefense = 80, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 75, .expYield = 122, .evYield_HP = 0, @@ -862,8 +809,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -878,8 +824,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 20, .baseSpDefense = 30, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 255, .expYield = 93, .evYield_HP = 0, @@ -894,8 +839,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -910,8 +854,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 45, .baseSpDefense = 55, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 90, .expYield = 163, .evYield_HP = 0, @@ -926,8 +869,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -942,8 +884,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 41, .baseSpAttack = 40, .baseSpDefense = 40, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 235, .expYield = 59, .evYield_HP = 1, @@ -958,8 +899,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -974,8 +914,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 56, .baseSpAttack = 55, .baseSpDefense = 55, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 120, .expYield = 117, .evYield_HP = 2, @@ -990,8 +929,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -1006,8 +944,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 76, .baseSpAttack = 75, .baseSpDefense = 85, - .type1 = TYPE_POISON, - .type2 = TYPE_GROUND, + .types = { TYPE_POISON, TYPE_GROUND }, .catchRate = 45, .expYield = 194, .evYield_HP = 3, @@ -1022,8 +959,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -1038,8 +974,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 40, .baseSpDefense = 40, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 235, .expYield = 60, .evYield_HP = 0, @@ -1054,8 +989,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -1070,8 +1004,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 55, .baseSpDefense = 55, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 120, .expYield = 118, .evYield_HP = 0, @@ -1086,8 +1019,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -1102,8 +1034,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 85, .baseSpDefense = 75, - .type1 = TYPE_POISON, - .type2 = TYPE_GROUND, + .types = { TYPE_POISON, TYPE_GROUND }, .catchRate = 45, .expYield = 195, .evYield_HP = 0, @@ -1118,8 +1049,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -1134,8 +1064,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 60, .baseSpDefense = 65, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 150, .expYield = 68, .evYield_HP = 2, @@ -1150,8 +1079,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -1166,8 +1094,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 85, .baseSpDefense = 90, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 25, .expYield = 129, .evYield_HP = 3, @@ -1182,8 +1109,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -1198,8 +1124,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 50, .baseSpDefense = 65, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 190, .expYield = 63, .evYield_HP = 0, @@ -1214,8 +1139,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_FLASH_FIRE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -1230,8 +1154,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 81, .baseSpDefense = 100, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 75, .expYield = 178, .evYield_HP = 0, @@ -1246,8 +1169,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_FLASH_FIRE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -1262,8 +1184,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 20, .baseSpAttack = 45, .baseSpDefense = 25, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 170, .expYield = 76, .evYield_HP = 2, @@ -1278,8 +1199,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -1294,8 +1214,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 75, .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 50, .expYield = 109, .evYield_HP = 3, @@ -1310,8 +1229,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -1326,8 +1244,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 30, .baseSpDefense = 40, - .type1 = TYPE_POISON, - .type2 = TYPE_FLYING, + .types = { TYPE_POISON, TYPE_FLYING }, .catchRate = 255, .expYield = 54, .evYield_HP = 0, @@ -1342,8 +1259,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -1358,8 +1274,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 65, .baseSpDefense = 75, - .type1 = TYPE_POISON, - .type2 = TYPE_FLYING, + .types = { TYPE_POISON, TYPE_FLYING }, .catchRate = 90, .expYield = 171, .evYield_HP = 0, @@ -1374,8 +1289,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -1390,8 +1304,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 75, .baseSpDefense = 65, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 255, .expYield = 78, .evYield_HP = 0, @@ -1406,8 +1319,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_BLUE, @@ -1422,8 +1334,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 85, .baseSpDefense = 75, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 120, .expYield = 132, .evYield_HP = 0, @@ -1438,8 +1349,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_BLUE, @@ -1454,8 +1364,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 100, .baseSpDefense = 90, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 45, .expYield = 184, .evYield_HP = 0, @@ -1470,8 +1379,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -1486,8 +1394,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 25, .baseSpAttack = 45, .baseSpDefense = 55, - .type1 = TYPE_BUG, - .type2 = TYPE_GRASS, + .types = { TYPE_BUG, TYPE_GRASS }, .catchRate = 190, .expYield = 70, .evYield_HP = 0, @@ -1502,8 +1409,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_GRASS }, .abilities = {ABILITY_EFFECT_SPORE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -1518,8 +1424,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 60, .baseSpDefense = 80, - .type1 = TYPE_BUG, - .type2 = TYPE_GRASS, + .types = { TYPE_BUG, TYPE_GRASS }, .catchRate = 75, .expYield = 128, .evYield_HP = 0, @@ -1534,8 +1439,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_GRASS }, .abilities = {ABILITY_EFFECT_SPORE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -1550,8 +1454,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 40, .baseSpDefense = 55, - .type1 = TYPE_BUG, - .type2 = TYPE_POISON, + .types = { TYPE_BUG, TYPE_POISON }, .catchRate = 190, .expYield = 75, .evYield_HP = 0, @@ -1566,8 +1469,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_COMPOUND_EYES, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -1582,8 +1484,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 90, .baseSpDefense = 75, - .type1 = TYPE_BUG, - .type2 = TYPE_POISON, + .types = { TYPE_BUG, TYPE_POISON }, .catchRate = 75, .expYield = 138, .evYield_HP = 0, @@ -1598,8 +1499,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -1614,8 +1514,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 35, .baseSpDefense = 45, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 255, .expYield = 81, .evYield_HP = 0, @@ -1630,8 +1529,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_SAND_VEIL, ABILITY_ARENA_TRAP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -1646,8 +1544,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 120, .baseSpAttack = 50, .baseSpDefense = 70, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 50, .expYield = 153, .evYield_HP = 0, @@ -1662,8 +1559,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_SAND_VEIL, ABILITY_ARENA_TRAP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -1678,8 +1574,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 40, .baseSpDefense = 40, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 255, .expYield = 69, .evYield_HP = 0, @@ -1694,8 +1589,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -1710,8 +1604,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 115, .baseSpAttack = 65, .baseSpDefense = 65, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 90, .expYield = 148, .evYield_HP = 0, @@ -1726,8 +1619,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_LIMBER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -1742,8 +1634,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 65, .baseSpDefense = 50, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 190, .expYield = 80, .evYield_HP = 0, @@ -1758,8 +1649,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_DAMP, ABILITY_CLOUD_NINE}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_YELLOW, @@ -1774,8 +1664,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 95, .baseSpDefense = 80, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 75, .expYield = 174, .evYield_HP = 0, @@ -1790,8 +1679,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_DAMP, ABILITY_CLOUD_NINE}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_BLUE, @@ -1806,8 +1694,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 35, .baseSpDefense = 45, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 190, .expYield = 74, .evYield_HP = 0, @@ -1822,8 +1709,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -1838,8 +1724,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 60, .baseSpDefense = 70, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 75, .expYield = 149, .evYield_HP = 0, @@ -1854,8 +1739,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -1870,8 +1754,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 70, .baseSpDefense = 50, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 190, .expYield = 91, .evYield_HP = 0, @@ -1886,8 +1769,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -1902,8 +1784,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 100, .baseSpDefense = 80, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 75, .expYield = 213, .evYield_HP = 0, @@ -1918,8 +1799,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -1934,8 +1814,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 40, .baseSpDefense = 40, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 255, .expYield = 77, .evYield_HP = 0, @@ -1950,8 +1829,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -1966,8 +1844,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 120, .expYield = 131, .evYield_HP = 0, @@ -1982,8 +1859,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -1998,8 +1874,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 90, - .type1 = TYPE_WATER, - .type2 = TYPE_FIGHTING, + .types = { TYPE_WATER, TYPE_FIGHTING }, .catchRate = 45, .expYield = 185, .evYield_HP = 0, @@ -2014,8 +1889,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -2030,8 +1904,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 105, .baseSpDefense = 55, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 200, .expYield = 73, .evYield_HP = 0, @@ -2046,8 +1919,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -2062,8 +1934,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 105, .baseSpAttack = 120, .baseSpDefense = 70, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 100, .expYield = 145, .evYield_HP = 0, @@ -2078,8 +1949,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -2094,8 +1964,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 120, .baseSpAttack = 135, .baseSpDefense = 85, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 50, .expYield = 186, .evYield_HP = 0, @@ -2110,8 +1979,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -2126,8 +1994,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 35, .baseSpDefense = 35, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 180, .expYield = 88, .evYield_HP = 0, @@ -2142,8 +2009,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -2158,8 +2024,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 50, .baseSpDefense = 60, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 90, .expYield = 146, .evYield_HP = 0, @@ -2174,8 +2039,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -2190,8 +2054,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 65, .baseSpDefense = 85, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 45, .expYield = 193, .evYield_HP = 0, @@ -2206,8 +2069,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -2222,8 +2084,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 70, .baseSpDefense = 30, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 255, .expYield = 84, .evYield_HP = 0, @@ -2238,8 +2099,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -2254,8 +2114,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 85, .baseSpDefense = 45, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 120, .expYield = 151, .evYield_HP = 0, @@ -2270,8 +2129,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -2286,8 +2144,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 100, .baseSpDefense = 60, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 45, .expYield = 191, .evYield_HP = 0, @@ -2302,8 +2159,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -2318,8 +2174,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 50, .baseSpDefense = 100, - .type1 = TYPE_WATER, - .type2 = TYPE_POISON, + .types = { TYPE_WATER, TYPE_POISON }, .catchRate = 190, .expYield = 105, .evYield_HP = 0, @@ -2334,8 +2189,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_CLEAR_BODY, ABILITY_LIQUID_OOZE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -2350,8 +2204,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 80, .baseSpDefense = 120, - .type1 = TYPE_WATER, - .type2 = TYPE_POISON, + .types = { TYPE_WATER, TYPE_POISON }, .catchRate = 60, .expYield = 205, .evYield_HP = 0, @@ -2366,8 +2219,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_CLEAR_BODY, ABILITY_LIQUID_OOZE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -2382,8 +2234,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 20, .baseSpAttack = 30, .baseSpDefense = 30, - .type1 = TYPE_ROCK, - .type2 = TYPE_GROUND, + .types = { TYPE_ROCK, TYPE_GROUND }, .catchRate = 255, .expYield = 86, .evYield_HP = 0, @@ -2398,8 +2249,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_BROWN, @@ -2414,8 +2264,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 45, .baseSpDefense = 45, - .type1 = TYPE_ROCK, - .type2 = TYPE_GROUND, + .types = { TYPE_ROCK, TYPE_GROUND }, .catchRate = 120, .expYield = 134, .evYield_HP = 0, @@ -2430,8 +2279,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -2446,8 +2294,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 55, .baseSpDefense = 65, - .type1 = TYPE_ROCK, - .type2 = TYPE_GROUND, + .types = { TYPE_ROCK, TYPE_GROUND }, .catchRate = 45, .expYield = 177, .evYield_HP = 0, @@ -2462,8 +2309,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -2478,8 +2324,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 65, .baseSpDefense = 65, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 190, .expYield = 152, .evYield_HP = 0, @@ -2494,8 +2339,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_RUN_AWAY, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -2510,8 +2354,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 105, .baseSpAttack = 80, .baseSpDefense = 80, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 60, .expYield = 192, .evYield_HP = 0, @@ -2526,8 +2369,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_RUN_AWAY, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -2542,8 +2384,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 15, .baseSpAttack = 40, .baseSpDefense = 40, - .type1 = TYPE_WATER, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_WATER, TYPE_PSYCHIC }, .catchRate = 190, .expYield = 99, .evYield_HP = 1, @@ -2558,8 +2399,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -2574,8 +2414,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 100, .baseSpDefense = 80, - .type1 = TYPE_WATER, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_WATER, TYPE_PSYCHIC }, .catchRate = 75, .expYield = 164, .evYield_HP = 0, @@ -2590,8 +2429,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -2606,8 +2444,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 95, .baseSpDefense = 55, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_STEEL, + .types = { TYPE_ELECTRIC, TYPE_STEEL }, .catchRate = 190, .expYield = 89, .evYield_HP = 0, @@ -2622,8 +2459,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -2638,8 +2474,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 120, .baseSpDefense = 70, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_STEEL, + .types = { TYPE_ELECTRIC, TYPE_STEEL }, .catchRate = 60, .expYield = 161, .evYield_HP = 0, @@ -2654,8 +2489,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -2670,8 +2504,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 58, .baseSpDefense = 62, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 45, .expYield = 94, .evYield_HP = 0, @@ -2686,8 +2519,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FIELD }, .abilities = {ABILITY_KEEN_EYE, ABILITY_INNER_FOCUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -2702,8 +2534,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 75, .baseSpAttack = 35, .baseSpDefense = 35, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 190, .expYield = 96, .evYield_HP = 0, @@ -2718,8 +2549,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_BROWN, @@ -2734,8 +2564,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 45, .expYield = 158, .evYield_HP = 0, @@ -2750,8 +2579,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 10, .bodyColor = BODY_COLOR_BROWN, @@ -2766,8 +2594,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 45, .baseSpDefense = 70, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 190, .expYield = 100, .evYield_HP = 0, @@ -2782,8 +2609,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -2798,8 +2624,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 95, - .type1 = TYPE_WATER, - .type2 = TYPE_ICE, + .types = { TYPE_WATER, TYPE_ICE }, .catchRate = 75, .expYield = 176, .evYield_HP = 0, @@ -2814,8 +2639,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -2830,8 +2654,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 25, .baseSpAttack = 40, .baseSpDefense = 50, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 190, .expYield = 90, .evYield_HP = 1, @@ -2846,8 +2669,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_STENCH, ABILITY_STICKY_HOLD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -2862,8 +2684,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 65, .baseSpDefense = 100, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 75, .expYield = 157, .evYield_HP = 1, @@ -2878,8 +2699,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_STENCH, ABILITY_STICKY_HOLD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -2894,8 +2714,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 45, .baseSpDefense = 25, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 190, .expYield = 97, .evYield_HP = 0, @@ -2910,8 +2729,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_SHELL_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -2926,8 +2744,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 85, .baseSpDefense = 45, - .type1 = TYPE_WATER, - .type2 = TYPE_ICE, + .types = { TYPE_WATER, TYPE_ICE }, .catchRate = 60, .expYield = 203, .evYield_HP = 0, @@ -2942,8 +2759,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_SHELL_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -2958,8 +2774,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 100, .baseSpDefense = 35, - .type1 = TYPE_GHOST, - .type2 = TYPE_POISON, + .types = { TYPE_GHOST, TYPE_POISON }, .catchRate = 190, .expYield = 95, .evYield_HP = 0, @@ -2974,8 +2789,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -2990,8 +2804,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 115, .baseSpDefense = 55, - .type1 = TYPE_GHOST, - .type2 = TYPE_POISON, + .types = { TYPE_GHOST, TYPE_POISON }, .catchRate = 90, .expYield = 126, .evYield_HP = 0, @@ -3006,8 +2819,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -3022,8 +2834,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 110, .baseSpAttack = 130, .baseSpDefense = 75, - .type1 = TYPE_GHOST, - .type2 = TYPE_POISON, + .types = { TYPE_GHOST, TYPE_POISON }, .catchRate = 45, .expYield = 190, .evYield_HP = 0, @@ -3038,8 +2849,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -3054,8 +2864,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 30, .baseSpDefense = 45, - .type1 = TYPE_ROCK, - .type2 = TYPE_GROUND, + .types = { TYPE_ROCK, TYPE_GROUND }, .catchRate = 45, .expYield = 108, .evYield_HP = 0, @@ -3070,8 +2879,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -3086,8 +2894,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 42, .baseSpAttack = 43, .baseSpDefense = 90, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 190, .expYield = 102, .evYield_HP = 0, @@ -3102,8 +2909,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -3118,8 +2924,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 67, .baseSpAttack = 73, .baseSpDefense = 115, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 75, .expYield = 165, .evYield_HP = 0, @@ -3134,8 +2939,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -3150,8 +2954,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 25, .baseSpDefense = 25, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 225, .expYield = 115, .evYield_HP = 0, @@ -3166,8 +2969,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -3182,8 +2984,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 75, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 60, .expYield = 206, .evYield_HP = 0, @@ -3198,8 +2999,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -3214,8 +3014,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 55, .baseSpDefense = 55, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 190, .expYield = 103, .evYield_HP = 0, @@ -3230,8 +3029,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_SOUNDPROOF, ABILITY_STATIC}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -3246,8 +3044,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 140, .baseSpAttack = 80, .baseSpDefense = 80, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 60, .expYield = 150, .evYield_HP = 0, @@ -3262,8 +3059,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_SOUNDPROOF, ABILITY_STATIC}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -3278,8 +3074,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = 45, - .type1 = TYPE_GRASS, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_GRASS, TYPE_PSYCHIC }, .catchRate = 90, .expYield = 98, .evYield_HP = 0, @@ -3294,8 +3089,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -3310,8 +3104,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 125, .baseSpDefense = 65, - .type1 = TYPE_GRASS, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_GRASS, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 212, .evYield_HP = 0, @@ -3326,8 +3119,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -3342,8 +3134,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 40, .baseSpDefense = 50, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 190, .expYield = 87, .evYield_HP = 0, @@ -3358,8 +3149,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_LIGHTNING_ROD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -3374,8 +3164,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 50, .baseSpDefense = 80, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 75, .expYield = 124, .evYield_HP = 0, @@ -3390,8 +3179,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_LIGHTNING_ROD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -3406,8 +3194,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 87, .baseSpAttack = 35, .baseSpDefense = 110, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 45, .expYield = 139, .evYield_HP = 0, @@ -3422,8 +3209,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_LIMBER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -3438,8 +3224,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 76, .baseSpAttack = 35, .baseSpDefense = 110, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 45, .expYield = 140, .evYield_HP = 0, @@ -3454,8 +3239,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -3470,8 +3254,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 60, .baseSpDefense = 75, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 127, .evYield_HP = 2, @@ -3486,8 +3269,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_OWN_TEMPO, ABILITY_OBLIVIOUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -3502,8 +3284,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 60, .baseSpDefense = 45, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 190, .expYield = 114, .evYield_HP = 0, @@ -3518,8 +3299,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -3534,8 +3314,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 85, .baseSpDefense = 70, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 60, .expYield = 173, .evYield_HP = 0, @@ -3550,8 +3329,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -3566,8 +3344,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 25, .baseSpAttack = 30, .baseSpDefense = 30, - .type1 = TYPE_GROUND, - .type2 = TYPE_ROCK, + .types = { TYPE_GROUND, TYPE_ROCK }, .catchRate = 120, .expYield = 135, .evYield_HP = 0, @@ -3582,8 +3359,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_GRAY, @@ -3598,8 +3374,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 45, .baseSpDefense = 45, - .type1 = TYPE_GROUND, - .type2 = TYPE_ROCK, + .types = { TYPE_GROUND, TYPE_ROCK }, .catchRate = 60, .expYield = 204, .evYield_HP = 0, @@ -3614,8 +3389,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -3630,8 +3404,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 35, .baseSpDefense = 105, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 30, .expYield = 255, .evYield_HP = 2, @@ -3646,8 +3419,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, .abilities = {ABILITY_NATURAL_CURE, ABILITY_SERENE_GRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -3662,8 +3434,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 100, .baseSpDefense = 40, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 45, .expYield = 166, .evYield_HP = 0, @@ -3678,8 +3449,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -3694,8 +3464,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 40, .baseSpDefense = 80, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 175, .evYield_HP = 2, @@ -3710,8 +3479,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_EARLY_BIRD, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -3726,8 +3494,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 70, .baseSpDefense = 25, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 225, .expYield = 83, .evYield_HP = 0, @@ -3742,8 +3509,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -3758,8 +3524,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 95, .baseSpDefense = 45, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 75, .expYield = 155, .evYield_HP = 0, @@ -3774,8 +3539,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -3790,8 +3554,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 63, .baseSpAttack = 35, .baseSpDefense = 50, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 225, .expYield = 111, .evYield_HP = 0, @@ -3806,8 +3569,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_RED, @@ -3822,8 +3584,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 68, .baseSpAttack = 65, .baseSpDefense = 80, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 60, .expYield = 170, .evYield_HP = 0, @@ -3838,8 +3599,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_RED, @@ -3854,8 +3614,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 70, .baseSpDefense = 55, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 225, .expYield = 106, .evYield_HP = 0, @@ -3870,8 +3629,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_ILLUMINATE, ABILITY_NATURAL_CURE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -3886,8 +3644,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 115, .baseSpAttack = 100, .baseSpDefense = 85, - .type1 = TYPE_WATER, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_WATER, TYPE_PSYCHIC }, .catchRate = 60, .expYield = 207, .evYield_HP = 0, @@ -3902,8 +3659,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_ILLUMINATE, ABILITY_NATURAL_CURE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -3918,8 +3674,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 100, .baseSpDefense = 120, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 136, .evYield_HP = 0, @@ -3934,8 +3689,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_SOUNDPROOF, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -3950,8 +3704,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 105, .baseSpAttack = 55, .baseSpDefense = 80, - .type1 = TYPE_BUG, - .type2 = TYPE_FLYING, + .types = { TYPE_BUG, TYPE_FLYING }, .catchRate = 45, .expYield = 187, .evYield_HP = 0, @@ -3966,8 +3719,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SWARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -3982,8 +3734,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 115, .baseSpDefense = 95, - .type1 = TYPE_ICE, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_ICE, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 137, .evYield_HP = 0, @@ -3998,8 +3749,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -4014,8 +3764,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 105, .baseSpAttack = 95, .baseSpDefense = 85, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 45, .expYield = 156, .evYield_HP = 0, @@ -4030,8 +3779,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -4046,8 +3794,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 93, .baseSpAttack = 100, .baseSpDefense = 85, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 45, .expYield = 167, .evYield_HP = 0, @@ -4062,8 +3809,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_FLAME_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -4078,8 +3824,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 55, .baseSpDefense = 70, - .type1 = TYPE_BUG, - .type2 = TYPE_BUG, + .types = { TYPE_BUG, TYPE_BUG }, .catchRate = 45, .expYield = 200, .evYield_HP = 0, @@ -4094,8 +3839,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_HYPER_CUTTER, ABILITY_NONE}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_BROWN, @@ -4110,8 +3854,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 110, .baseSpAttack = 40, .baseSpDefense = 70, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 211, .evYield_HP = 0, @@ -4126,8 +3869,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -4142,8 +3884,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 15, .baseSpDefense = 20, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 255, .expYield = 20, .evYield_HP = 0, @@ -4158,8 +3899,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 5, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_DRAGON }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_RED, @@ -4174,8 +3914,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 81, .baseSpAttack = 60, .baseSpDefense = 100, - .type1 = TYPE_WATER, - .type2 = TYPE_FLYING, + .types = { TYPE_WATER, TYPE_FLYING }, .catchRate = 45, .expYield = 214, .evYield_HP = 0, @@ -4190,8 +3929,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 5, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_DRAGON }, .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -4206,8 +3944,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 85, .baseSpDefense = 95, - .type1 = TYPE_WATER, - .type2 = TYPE_ICE, + .types = { TYPE_WATER, TYPE_ICE }, .catchRate = 45, .expYield = 219, .evYield_HP = 2, @@ -4222,8 +3959,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_WATER_ABSORB, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -4238,8 +3974,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 48, .baseSpAttack = 48, .baseSpDefense = 48, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 35, .expYield = 61, .evYield_HP = 1, @@ -4254,8 +3989,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_DITTO, - .eggGroup2 = EGG_GROUP_DITTO, + .eggGroups = { EGG_GROUP_DITTO, EGG_GROUP_DITTO }, .abilities = {ABILITY_LIMBER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -4270,8 +4004,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 45, .baseSpDefense = 65, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 92, .evYield_HP = 0, @@ -4286,8 +4019,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_RUN_AWAY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -4302,8 +4034,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 110, .baseSpDefense = 95, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 45, .expYield = 196, .evYield_HP = 2, @@ -4318,8 +4049,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_WATER_ABSORB, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -4334,8 +4064,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 130, .baseSpAttack = 110, .baseSpDefense = 95, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 45, .expYield = 197, .evYield_HP = 0, @@ -4350,8 +4079,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_VOLT_ABSORB, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -4366,8 +4094,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 95, .baseSpDefense = 110, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 45, .expYield = 198, .evYield_HP = 0, @@ -4382,8 +4109,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_FLASH_FIRE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -4398,8 +4124,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 85, .baseSpDefense = 75, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 130, .evYield_HP = 0, @@ -4414,8 +4139,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_TRACE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -4430,8 +4154,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 90, .baseSpDefense = 55, - .type1 = TYPE_ROCK, - .type2 = TYPE_WATER, + .types = { TYPE_ROCK, TYPE_WATER }, .catchRate = 45, .expYield = 120, .evYield_HP = 0, @@ -4446,8 +4169,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 30, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -4462,8 +4184,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 115, .baseSpDefense = 70, - .type1 = TYPE_ROCK, - .type2 = TYPE_WATER, + .types = { TYPE_ROCK, TYPE_WATER }, .catchRate = 45, .expYield = 199, .evYield_HP = 0, @@ -4478,8 +4199,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 30, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -4494,8 +4214,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 55, .baseSpDefense = 45, - .type1 = TYPE_ROCK, - .type2 = TYPE_WATER, + .types = { TYPE_ROCK, TYPE_WATER }, .catchRate = 45, .expYield = 119, .evYield_HP = 0, @@ -4510,8 +4229,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 30, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_BATTLE_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -4526,8 +4244,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 65, .baseSpDefense = 70, - .type1 = TYPE_ROCK, - .type2 = TYPE_WATER, + .types = { TYPE_ROCK, TYPE_WATER }, .catchRate = 45, .expYield = 201, .evYield_HP = 0, @@ -4542,8 +4259,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 30, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_BATTLE_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -4558,8 +4274,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 130, .baseSpAttack = 60, .baseSpDefense = 75, - .type1 = TYPE_ROCK, - .type2 = TYPE_FLYING, + .types = { TYPE_ROCK, TYPE_FLYING }, .catchRate = 45, .expYield = 202, .evYield_HP = 0, @@ -4574,8 +4289,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_PRESSURE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -4590,8 +4304,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 65, .baseSpDefense = 110, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 25, .expYield = 154, .evYield_HP = 2, @@ -4606,8 +4319,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_IMMUNITY, ABILITY_THICK_FAT}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -4622,8 +4334,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 95, .baseSpDefense = 125, - .type1 = TYPE_ICE, - .type2 = TYPE_FLYING, + .types = { TYPE_ICE, TYPE_FLYING }, .catchRate = 3, .expYield = 215, .evYield_HP = 0, @@ -4638,8 +4349,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -4654,8 +4364,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 125, .baseSpDefense = 90, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_FLYING, + .types = { TYPE_ELECTRIC, TYPE_FLYING }, .catchRate = 3, .expYield = 216, .evYield_HP = 0, @@ -4670,8 +4379,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -4686,8 +4394,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 125, .baseSpDefense = 85, - .type1 = TYPE_FIRE, - .type2 = TYPE_FLYING, + .types = { TYPE_FIRE, TYPE_FLYING }, .catchRate = 3, .expYield = 217, .evYield_HP = 0, @@ -4702,8 +4409,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -4718,8 +4424,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_DRAGON, - .type2 = TYPE_DRAGON, + .types = { TYPE_DRAGON, TYPE_DRAGON }, .catchRate = 45, .expYield = 67, .evYield_HP = 0, @@ -4734,8 +4439,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -4750,8 +4454,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 70, - .type1 = TYPE_DRAGON, - .type2 = TYPE_DRAGON, + .types = { TYPE_DRAGON, TYPE_DRAGON }, .catchRate = 45, .expYield = 144, .evYield_HP = 0, @@ -4766,8 +4469,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -4782,8 +4484,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 100, .baseSpDefense = 100, - .type1 = TYPE_DRAGON, - .type2 = TYPE_FLYING, + .types = { TYPE_DRAGON, TYPE_FLYING }, .catchRate = 45, .expYield = 218, .evYield_HP = 0, @@ -4798,8 +4499,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -4814,8 +4514,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 130, .baseSpAttack = 154, .baseSpDefense = 90, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 3, .expYield = 220, .evYield_HP = 0, @@ -4830,8 +4529,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -4846,8 +4544,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 100, .baseSpDefense = 100, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 64, .evYield_HP = 3, @@ -4862,8 +4559,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -4878,8 +4574,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 49, .baseSpDefense = 65, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 45, .expYield = 64, .evYield_HP = 0, @@ -4894,8 +4589,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -4910,8 +4604,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 63, .baseSpDefense = 80, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 45, .expYield = 141, .evYield_HP = 0, @@ -4926,8 +4619,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -4942,8 +4634,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 83, .baseSpDefense = 100, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 45, .expYield = 208, .evYield_HP = 0, @@ -4958,8 +4649,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -4974,8 +4664,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 60, .baseSpDefense = 50, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 45, .expYield = 65, .evYield_HP = 0, @@ -4990,8 +4679,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -5006,8 +4694,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 80, .baseSpDefense = 65, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 45, .expYield = 142, .evYield_HP = 0, @@ -5022,8 +4709,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -5038,8 +4724,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 109, .baseSpDefense = 85, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 45, .expYield = 209, .evYield_HP = 0, @@ -5054,8 +4739,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -5070,8 +4754,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 43, .baseSpAttack = 44, .baseSpDefense = 48, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 45, .expYield = 66, .evYield_HP = 0, @@ -5086,8 +4769,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -5102,8 +4784,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 58, .baseSpAttack = 59, .baseSpDefense = 63, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 45, .expYield = 143, .evYield_HP = 0, @@ -5118,8 +4799,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -5134,8 +4814,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 78, .baseSpAttack = 79, .baseSpDefense = 83, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 45, .expYield = 210, .evYield_HP = 0, @@ -5150,8 +4829,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -5166,8 +4844,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 20, .baseSpAttack = 35, .baseSpDefense = 45, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 255, .expYield = 57, .evYield_HP = 0, @@ -5182,8 +4859,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_RUN_AWAY, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -5198,8 +4874,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 45, .baseSpDefense = 55, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 90, .expYield = 116, .evYield_HP = 0, @@ -5214,8 +4889,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_RUN_AWAY, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -5230,8 +4904,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 36, .baseSpDefense = 56, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 255, .expYield = 58, .evYield_HP = 1, @@ -5246,8 +4919,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_INSOMNIA, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -5262,8 +4934,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 76, .baseSpDefense = 96, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 90, .expYield = 162, .evYield_HP = 2, @@ -5278,8 +4949,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_INSOMNIA, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -5294,8 +4964,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 40, .baseSpDefense = 80, - .type1 = TYPE_BUG, - .type2 = TYPE_FLYING, + .types = { TYPE_BUG, TYPE_FLYING }, .catchRate = 255, .expYield = 54, .evYield_HP = 0, @@ -5310,8 +4979,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SWARM, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -5326,8 +4994,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 55, .baseSpDefense = 110, - .type1 = TYPE_BUG, - .type2 = TYPE_FLYING, + .types = { TYPE_BUG, TYPE_FLYING }, .catchRate = 90, .expYield = 134, .evYield_HP = 0, @@ -5342,8 +5009,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SWARM, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -5358,8 +5024,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 40, .baseSpDefense = 40, - .type1 = TYPE_BUG, - .type2 = TYPE_POISON, + .types = { TYPE_BUG, TYPE_POISON }, .catchRate = 255, .expYield = 54, .evYield_HP = 0, @@ -5374,8 +5039,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SWARM, ABILITY_INSOMNIA}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -5390,8 +5054,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_BUG, - .type2 = TYPE_POISON, + .types = { TYPE_BUG, TYPE_POISON }, .catchRate = 90, .expYield = 134, .evYield_HP = 0, @@ -5406,8 +5069,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SWARM, ABILITY_INSOMNIA}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -5422,8 +5084,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 130, .baseSpAttack = 70, .baseSpDefense = 80, - .type1 = TYPE_POISON, - .type2 = TYPE_FLYING, + .types = { TYPE_POISON, TYPE_FLYING }, .catchRate = 90, .expYield = 204, .evYield_HP = 0, @@ -5438,8 +5099,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -5454,8 +5114,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 67, .baseSpAttack = 56, .baseSpDefense = 56, - .type1 = TYPE_WATER, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_WATER, TYPE_ELECTRIC }, .catchRate = 190, .expYield = 90, .evYield_HP = 1, @@ -5470,8 +5129,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_VOLT_ABSORB, ABILITY_ILLUMINATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -5486,8 +5144,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 67, .baseSpAttack = 76, .baseSpDefense = 76, - .type1 = TYPE_WATER, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_WATER, TYPE_ELECTRIC }, .catchRate = 75, .expYield = 156, .evYield_HP = 2, @@ -5502,8 +5159,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_VOLT_ABSORB, ABILITY_ILLUMINATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -5518,8 +5174,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 35, .baseSpDefense = 35, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 190, .expYield = 42, .evYield_HP = 0, @@ -5534,8 +5189,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -5550,8 +5204,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 15, .baseSpAttack = 45, .baseSpDefense = 55, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 150, .expYield = 37, .evYield_HP = 0, @@ -5566,8 +5219,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -5582,8 +5234,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 15, .baseSpAttack = 40, .baseSpDefense = 20, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 170, .expYield = 39, .evYield_HP = 1, @@ -5598,8 +5249,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -5614,8 +5264,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 20, .baseSpAttack = 40, .baseSpDefense = 65, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 190, .expYield = 74, .evYield_HP = 0, @@ -5630,8 +5279,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_HUSTLE, ABILITY_SERENE_GRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -5646,8 +5294,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 80, .baseSpDefense = 105, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 75, .expYield = 114, .evYield_HP = 0, @@ -5662,8 +5309,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FAIRY }, .abilities = {ABILITY_HUSTLE, ABILITY_SERENE_GRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -5678,8 +5324,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 45, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_FLYING, + .types = { TYPE_PSYCHIC, TYPE_FLYING }, .catchRate = 190, .expYield = 73, .evYield_HP = 0, @@ -5694,8 +5339,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_GREEN, @@ -5710,8 +5354,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 95, .baseSpDefense = 70, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_FLYING, + .types = { TYPE_PSYCHIC, TYPE_FLYING }, .catchRate = 75, .expYield = 171, .evYield_HP = 0, @@ -5726,8 +5369,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_GREEN, @@ -5742,8 +5384,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = 45, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 235, .expYield = 59, .evYield_HP = 0, @@ -5758,8 +5399,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -5774,8 +5414,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 80, .baseSpDefense = 60, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 120, .expYield = 117, .evYield_HP = 0, @@ -5790,8 +5429,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -5806,8 +5444,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 115, .baseSpDefense = 90, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 45, .expYield = 194, .evYield_HP = 0, @@ -5822,8 +5459,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -5838,8 +5474,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 90, .baseSpDefense = 100, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 45, .expYield = 184, .evYield_HP = 0, @@ -5854,8 +5489,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -5870,8 +5504,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 20, .baseSpDefense = 50, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 190, .expYield = 58, .evYield_HP = 2, @@ -5886,8 +5519,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FAIRY }, .abilities = {ABILITY_THICK_FAT, ABILITY_HUGE_POWER}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -5902,8 +5534,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 80, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 75, .expYield = 153, .evYield_HP = 3, @@ -5918,8 +5549,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FAIRY }, .abilities = {ABILITY_THICK_FAT, ABILITY_HUGE_POWER}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -5934,8 +5564,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 30, .baseSpDefense = 65, - .type1 = TYPE_ROCK, - .type2 = TYPE_ROCK, + .types = { TYPE_ROCK, TYPE_ROCK }, .catchRate = 65, .expYield = 135, .evYield_HP = 0, @@ -5950,8 +5579,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_STURDY, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -5966,8 +5594,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 90, .baseSpDefense = 100, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 45, .expYield = 185, .evYield_HP = 0, @@ -5982,8 +5609,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -5998,8 +5624,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 35, .baseSpDefense = 55, - .type1 = TYPE_GRASS, - .type2 = TYPE_FLYING, + .types = { TYPE_GRASS, TYPE_FLYING }, .catchRate = 255, .expYield = 74, .evYield_HP = 0, @@ -6014,8 +5639,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -6030,8 +5654,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 45, .baseSpDefense = 65, - .type1 = TYPE_GRASS, - .type2 = TYPE_FLYING, + .types = { TYPE_GRASS, TYPE_FLYING }, .catchRate = 120, .expYield = 136, .evYield_HP = 0, @@ -6046,8 +5669,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -6062,8 +5684,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 110, .baseSpAttack = 55, .baseSpDefense = 85, - .type1 = TYPE_GRASS, - .type2 = TYPE_FLYING, + .types = { TYPE_GRASS, TYPE_FLYING }, .catchRate = 45, .expYield = 176, .evYield_HP = 0, @@ -6078,8 +5699,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -6094,8 +5714,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 40, .baseSpDefense = 55, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 94, .evYield_HP = 0, @@ -6110,8 +5729,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_RUN_AWAY, ABILITY_PICKUP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -6126,8 +5744,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 30, .baseSpDefense = 30, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 235, .expYield = 52, .evYield_HP = 0, @@ -6142,8 +5759,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -6158,8 +5774,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 105, .baseSpDefense = 85, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 120, .expYield = 146, .evYield_HP = 0, @@ -6174,8 +5789,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -6190,8 +5804,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 75, .baseSpDefense = 45, - .type1 = TYPE_BUG, - .type2 = TYPE_FLYING, + .types = { TYPE_BUG, TYPE_FLYING }, .catchRate = 75, .expYield = 147, .evYield_HP = 0, @@ -6206,8 +5819,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SPEED_BOOST, ABILITY_COMPOUND_EYES}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -6222,8 +5834,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 15, .baseSpAttack = 25, .baseSpDefense = 25, - .type1 = TYPE_WATER, - .type2 = TYPE_GROUND, + .types = { TYPE_WATER, TYPE_GROUND }, .catchRate = 255, .expYield = 52, .evYield_HP = 1, @@ -6238,8 +5849,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_DAMP, ABILITY_WATER_ABSORB}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -6254,8 +5864,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = 65, - .type1 = TYPE_WATER, - .type2 = TYPE_GROUND, + .types = { TYPE_WATER, TYPE_GROUND }, .catchRate = 90, .expYield = 137, .evYield_HP = 2, @@ -6270,8 +5879,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_DAMP, ABILITY_WATER_ABSORB}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -6286,8 +5894,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 110, .baseSpAttack = 130, .baseSpDefense = 95, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 197, .evYield_HP = 0, @@ -6302,8 +5909,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -6318,8 +5924,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 60, .baseSpDefense = 130, - .type1 = TYPE_DARK, - .type2 = TYPE_DARK, + .types = { TYPE_DARK, TYPE_DARK }, .catchRate = 45, .expYield = 197, .evYield_HP = 0, @@ -6334,8 +5939,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 35, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -6350,8 +5954,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 91, .baseSpAttack = 85, .baseSpDefense = 42, - .type1 = TYPE_DARK, - .type2 = TYPE_FLYING, + .types = { TYPE_DARK, TYPE_FLYING }, .catchRate = 30, .expYield = 107, .evYield_HP = 0, @@ -6366,8 +5969,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -6382,8 +5984,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 100, .baseSpDefense = 110, - .type1 = TYPE_WATER, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_WATER, TYPE_PSYCHIC }, .catchRate = 70, .expYield = 164, .evYield_HP = 0, @@ -6398,8 +5999,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -6414,8 +6014,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 85, .baseSpDefense = 85, - .type1 = TYPE_GHOST, - .type2 = TYPE_GHOST, + .types = { TYPE_GHOST, TYPE_GHOST }, .catchRate = 45, .expYield = 147, .evYield_HP = 0, @@ -6430,8 +6029,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -6446,8 +6044,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 48, .baseSpAttack = 72, .baseSpDefense = 48, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 225, .expYield = 61, .evYield_HP = 0, @@ -6462,8 +6059,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -6478,8 +6074,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 33, .baseSpAttack = 33, .baseSpDefense = 58, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 177, .evYield_HP = 2, @@ -6494,8 +6089,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_SHADOW_TAG, ABILITY_NONE}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_BLUE, @@ -6510,8 +6104,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 90, .baseSpDefense = 65, - .type1 = TYPE_NORMAL, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_NORMAL, TYPE_PSYCHIC }, .catchRate = 60, .expYield = 149, .evYield_HP = 0, @@ -6526,8 +6119,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_INNER_FOCUS, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_YELLOW, @@ -6542,8 +6134,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 15, .baseSpAttack = 35, .baseSpDefense = 35, - .type1 = TYPE_BUG, - .type2 = TYPE_BUG, + .types = { TYPE_BUG, TYPE_BUG }, .catchRate = 190, .expYield = 60, .evYield_HP = 0, @@ -6558,8 +6149,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_STURDY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -6574,8 +6164,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_BUG, - .type2 = TYPE_STEEL, + .types = { TYPE_BUG, TYPE_STEEL }, .catchRate = 75, .expYield = 118, .evYield_HP = 0, @@ -6590,8 +6179,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_STURDY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -6606,8 +6194,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 65, .baseSpDefense = 65, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 190, .expYield = 75, .evYield_HP = 1, @@ -6622,8 +6209,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -6638,8 +6224,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 35, .baseSpDefense = 65, - .type1 = TYPE_GROUND, - .type2 = TYPE_FLYING, + .types = { TYPE_GROUND, TYPE_FLYING }, .catchRate = 60, .expYield = 108, .evYield_HP = 0, @@ -6654,8 +6239,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SAND_VEIL}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -6670,8 +6254,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 55, .baseSpDefense = 65, - .type1 = TYPE_STEEL, - .type2 = TYPE_GROUND, + .types = { TYPE_STEEL, TYPE_GROUND }, .catchRate = 25, .expYield = 196, .evYield_HP = 0, @@ -6686,8 +6269,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -6702,8 +6284,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 40, .baseSpDefense = 40, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 190, .expYield = 63, .evYield_HP = 0, @@ -6718,8 +6299,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, .abilities = {ABILITY_INTIMIDATE, ABILITY_RUN_AWAY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -6734,8 +6314,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 75, .expYield = 178, .evYield_HP = 0, @@ -6750,8 +6329,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, .abilities = {ABILITY_INTIMIDATE, ABILITY_INTIMIDATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -6766,8 +6344,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 55, .baseSpDefense = 55, - .type1 = TYPE_WATER, - .type2 = TYPE_POISON, + .types = { TYPE_WATER, TYPE_POISON }, .catchRate = 45, .expYield = 100, .evYield_HP = 0, @@ -6782,8 +6359,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_POISON_POINT, ABILITY_SWIFT_SWIM}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -6798,8 +6374,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 55, .baseSpDefense = 80, - .type1 = TYPE_BUG, - .type2 = TYPE_STEEL, + .types = { TYPE_BUG, TYPE_STEEL }, .catchRate = 25, .expYield = 200, .evYield_HP = 0, @@ -6814,8 +6389,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SWARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -6830,8 +6404,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 5, .baseSpAttack = 10, .baseSpDefense = 230, - .type1 = TYPE_BUG, - .type2 = TYPE_ROCK, + .types = { TYPE_BUG, TYPE_ROCK }, .catchRate = 190, .expYield = 80, .evYield_HP = 0, @@ -6846,8 +6419,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_STURDY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -6862,8 +6434,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 40, .baseSpDefense = 95, - .type1 = TYPE_BUG, - .type2 = TYPE_FIGHTING, + .types = { TYPE_BUG, TYPE_FIGHTING }, .catchRate = 45, .expYield = 200, .evYield_HP = 0, @@ -6878,8 +6449,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SWARM, ABILITY_GUTS}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_BLUE, @@ -6894,8 +6464,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 115, .baseSpAttack = 35, .baseSpDefense = 75, - .type1 = TYPE_DARK, - .type2 = TYPE_ICE, + .types = { TYPE_DARK, TYPE_ICE }, .catchRate = 60, .expYield = 132, .evYield_HP = 0, @@ -6910,8 +6479,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -6926,8 +6494,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 120, .expYield = 124, .evYield_HP = 0, @@ -6942,8 +6509,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -6958,8 +6524,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 75, .baseSpDefense = 75, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 60, .expYield = 189, .evYield_HP = 0, @@ -6974,8 +6539,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -6990,8 +6554,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 20, .baseSpAttack = 70, .baseSpDefense = 40, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 190, .expYield = 78, .evYield_HP = 0, @@ -7006,8 +6569,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_MAGMA_ARMOR, ABILITY_FLAME_BODY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -7022,8 +6584,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 80, .baseSpDefense = 80, - .type1 = TYPE_FIRE, - .type2 = TYPE_ROCK, + .types = { TYPE_FIRE, TYPE_ROCK }, .catchRate = 75, .expYield = 154, .evYield_HP = 0, @@ -7038,8 +6599,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_MAGMA_ARMOR, ABILITY_FLAME_BODY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -7054,8 +6614,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 30, .baseSpDefense = 30, - .type1 = TYPE_ICE, - .type2 = TYPE_GROUND, + .types = { TYPE_ICE, TYPE_GROUND }, .catchRate = 225, .expYield = 78, .evYield_HP = 0, @@ -7070,8 +6629,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -7086,8 +6644,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_ICE, - .type2 = TYPE_GROUND, + .types = { TYPE_ICE, TYPE_GROUND }, .catchRate = 75, .expYield = 160, .evYield_HP = 1, @@ -7102,8 +6659,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -7118,8 +6674,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = 85, - .type1 = TYPE_WATER, - .type2 = TYPE_ROCK, + .types = { TYPE_WATER, TYPE_ROCK }, .catchRate = 60, .expYield = 113, .evYield_HP = 0, @@ -7134,8 +6689,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_HUSTLE, ABILITY_NATURAL_CURE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -7150,8 +6704,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 65, .baseSpDefense = 35, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 190, .expYield = 78, .evYield_HP = 0, @@ -7166,8 +6719,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_HUSTLE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -7182,8 +6734,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 105, .baseSpDefense = 75, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 75, .expYield = 164, .evYield_HP = 0, @@ -7198,8 +6749,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_SUCTION_CUPS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -7214,8 +6764,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 75, .baseSpAttack = 65, .baseSpDefense = 45, - .type1 = TYPE_ICE, - .type2 = TYPE_FLYING, + .types = { TYPE_ICE, TYPE_FLYING }, .catchRate = 45, .expYield = 183, .evYield_HP = 0, @@ -7230,8 +6779,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_HUSTLE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -7246,8 +6794,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 80, .baseSpDefense = 140, - .type1 = TYPE_WATER, - .type2 = TYPE_FLYING, + .types = { TYPE_WATER, TYPE_FLYING }, .catchRate = 25, .expYield = 168, .evYield_HP = 0, @@ -7262,8 +6809,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_ABSORB}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -7278,8 +6824,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 40, .baseSpDefense = 70, - .type1 = TYPE_STEEL, - .type2 = TYPE_FLYING, + .types = { TYPE_STEEL, TYPE_FLYING }, .catchRate = 25, .expYield = 168, .evYield_HP = 0, @@ -7294,8 +6839,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_KEEN_EYE, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -7310,8 +6854,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 80, .baseSpDefense = 50, - .type1 = TYPE_DARK, - .type2 = TYPE_FIRE, + .types = { TYPE_DARK, TYPE_FIRE }, .catchRate = 120, .expYield = 114, .evYield_HP = 0, @@ -7326,8 +6869,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_EARLY_BIRD, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -7342,8 +6884,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 110, .baseSpDefense = 80, - .type1 = TYPE_DARK, - .type2 = TYPE_FIRE, + .types = { TYPE_DARK, TYPE_FIRE }, .catchRate = 45, .expYield = 204, .evYield_HP = 0, @@ -7358,8 +6899,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_EARLY_BIRD, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -7374,8 +6914,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 95, .baseSpDefense = 95, - .type1 = TYPE_WATER, - .type2 = TYPE_DRAGON, + .types = { TYPE_WATER, TYPE_DRAGON }, .catchRate = 45, .expYield = 207, .evYield_HP = 0, @@ -7390,8 +6929,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -7406,8 +6944,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 40, .baseSpDefense = 40, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 120, .expYield = 124, .evYield_HP = 1, @@ -7422,8 +6959,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 10, .bodyColor = BODY_COLOR_BLUE, @@ -7438,8 +6974,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 60, .expYield = 189, .evYield_HP = 0, @@ -7454,8 +6989,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_STURDY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -7470,8 +7004,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 105, .baseSpDefense = 95, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 180, .evYield_HP = 0, @@ -7486,8 +7019,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_TRACE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -7502,8 +7034,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 85, .baseSpDefense = 65, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 165, .evYield_HP = 0, @@ -7518,8 +7049,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -7534,8 +7064,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 75, .baseSpAttack = 20, .baseSpDefense = 45, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 106, .evYield_HP = 0, @@ -7550,8 +7079,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_OWN_TEMPO, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -7566,8 +7094,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 35, .baseSpDefense = 35, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 75, .expYield = 91, .evYield_HP = 0, @@ -7582,8 +7109,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -7598,8 +7124,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 35, .baseSpDefense = 110, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 45, .expYield = 138, .evYield_HP = 0, @@ -7614,8 +7139,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -7630,8 +7154,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 85, .baseSpDefense = 65, - .type1 = TYPE_ICE, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_ICE, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 87, .evYield_HP = 0, @@ -7646,8 +7169,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -7662,8 +7184,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 65, .baseSpDefense = 55, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 45, .expYield = 106, .evYield_HP = 0, @@ -7678,8 +7199,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -7694,8 +7214,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 83, .baseSpAttack = 70, .baseSpDefense = 55, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 45, .expYield = 117, .evYield_HP = 0, @@ -7710,8 +7229,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_FLAME_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -7726,8 +7244,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 40, .baseSpDefense = 70, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 200, .evYield_HP = 0, @@ -7742,8 +7259,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -7758,8 +7274,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 75, .baseSpDefense = 135, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 30, .expYield = 255, .evYield_HP = 2, @@ -7774,8 +7289,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, .abilities = {ABILITY_NATURAL_CURE, ABILITY_SERENE_GRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -7790,8 +7304,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 115, .baseSpAttack = 115, .baseSpDefense = 100, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 3, .expYield = 216, .evYield_HP = 0, @@ -7806,8 +7319,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -7822,8 +7334,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 90, .baseSpDefense = 75, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 3, .expYield = 217, .evYield_HP = 1, @@ -7838,8 +7349,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -7854,8 +7364,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 90, .baseSpDefense = 115, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 3, .expYield = 215, .evYield_HP = 0, @@ -7870,8 +7379,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -7886,8 +7394,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 41, .baseSpAttack = 45, .baseSpDefense = 50, - .type1 = TYPE_ROCK, - .type2 = TYPE_GROUND, + .types = { TYPE_ROCK, TYPE_GROUND }, .catchRate = 45, .expYield = 67, .evYield_HP = 0, @@ -7902,8 +7409,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -7918,8 +7424,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 51, .baseSpAttack = 65, .baseSpDefense = 70, - .type1 = TYPE_ROCK, - .type2 = TYPE_GROUND, + .types = { TYPE_ROCK, TYPE_GROUND }, .catchRate = 45, .expYield = 144, .evYield_HP = 0, @@ -7934,8 +7439,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -7950,8 +7454,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 61, .baseSpAttack = 95, .baseSpDefense = 100, - .type1 = TYPE_ROCK, - .type2 = TYPE_DARK, + .types = { TYPE_ROCK, TYPE_DARK }, .catchRate = 45, .expYield = 218, .evYield_HP = 0, @@ -7966,8 +7469,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_SAND_STREAM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -7982,8 +7484,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 110, .baseSpAttack = 90, .baseSpDefense = 154, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_FLYING, + .types = { TYPE_PSYCHIC, TYPE_FLYING }, .catchRate = 3, .expYield = 220, .evYield_HP = 0, @@ -7998,8 +7499,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -8014,8 +7514,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 110, .baseSpDefense = 154, - .type1 = TYPE_FIRE, - .type2 = TYPE_FLYING, + .types = { TYPE_FIRE, TYPE_FLYING }, .catchRate = 3, .expYield = 220, .evYield_HP = 0, @@ -8030,8 +7529,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -8046,8 +7544,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 100, .baseSpDefense = 100, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_GRASS, + .types = { TYPE_PSYCHIC, TYPE_GRASS }, .catchRate = 45, .expYield = 64, .evYield_HP = 3, @@ -8062,8 +7559,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -8128,8 +7624,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 65, .baseSpDefense = 55, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 45, .expYield = 65, .evYield_HP = 0, @@ -8144,8 +7639,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -8160,8 +7654,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 85, .baseSpDefense = 65, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 45, .expYield = 141, .evYield_HP = 0, @@ -8176,8 +7669,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -8192,8 +7684,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 120, .baseSpAttack = 105, .baseSpDefense = 85, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 45, .expYield = 208, .evYield_HP = 0, @@ -8208,8 +7699,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -8224,8 +7714,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 70, .baseSpDefense = 50, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 45, .expYield = 65, .evYield_HP = 0, @@ -8240,8 +7729,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -8256,8 +7744,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 85, .baseSpDefense = 60, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIRE, TYPE_FIGHTING }, .catchRate = 45, .expYield = 142, .evYield_HP = 0, @@ -8272,8 +7759,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -8288,8 +7774,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 110, .baseSpDefense = 70, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIRE, TYPE_FIGHTING }, .catchRate = 45, .expYield = 209, .evYield_HP = 0, @@ -8304,8 +7789,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -8320,8 +7804,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 45, .expYield = 65, .evYield_HP = 0, @@ -8336,8 +7819,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -8352,8 +7834,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 70, - .type1 = TYPE_WATER, - .type2 = TYPE_GROUND, + .types = { TYPE_WATER, TYPE_GROUND }, .catchRate = 45, .expYield = 143, .evYield_HP = 0, @@ -8368,8 +7849,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -8384,8 +7864,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 85, .baseSpDefense = 90, - .type1 = TYPE_WATER, - .type2 = TYPE_GROUND, + .types = { TYPE_WATER, TYPE_GROUND }, .catchRate = 45, .expYield = 210, .evYield_HP = 0, @@ -8400,8 +7879,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -8416,8 +7894,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 30, .baseSpDefense = 30, - .type1 = TYPE_DARK, - .type2 = TYPE_DARK, + .types = { TYPE_DARK, TYPE_DARK }, .catchRate = 255, .expYield = 55, .evYield_HP = 0, @@ -8432,8 +7909,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_RUN_AWAY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -8448,8 +7924,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_DARK, - .type2 = TYPE_DARK, + .types = { TYPE_DARK, TYPE_DARK }, .catchRate = 127, .expYield = 128, .evYield_HP = 0, @@ -8464,8 +7939,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -8480,8 +7954,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 30, .baseSpDefense = 41, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 255, .expYield = 60, .evYield_HP = 0, @@ -8496,8 +7969,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -8512,8 +7984,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 50, .baseSpDefense = 61, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 90, .expYield = 128, .evYield_HP = 0, @@ -8528,8 +7999,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -8544,8 +8014,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 20, .baseSpAttack = 20, .baseSpDefense = 30, - .type1 = TYPE_BUG, - .type2 = TYPE_BUG, + .types = { TYPE_BUG, TYPE_BUG }, .catchRate = 255, .expYield = 54, .evYield_HP = 1, @@ -8560,8 +8029,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -8576,8 +8044,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 15, .baseSpAttack = 25, .baseSpDefense = 25, - .type1 = TYPE_BUG, - .type2 = TYPE_BUG, + .types = { TYPE_BUG, TYPE_BUG }, .catchRate = 120, .expYield = 71, .evYield_HP = 0, @@ -8592,8 +8059,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -8608,8 +8074,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 90, .baseSpDefense = 50, - .type1 = TYPE_BUG, - .type2 = TYPE_FLYING, + .types = { TYPE_BUG, TYPE_FLYING }, .catchRate = 45, .expYield = 161, .evYield_HP = 0, @@ -8624,8 +8089,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SWARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -8640,8 +8104,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 15, .baseSpAttack = 25, .baseSpDefense = 25, - .type1 = TYPE_BUG, - .type2 = TYPE_BUG, + .types = { TYPE_BUG, TYPE_BUG }, .catchRate = 120, .expYield = 72, .evYield_HP = 0, @@ -8656,8 +8119,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -8672,8 +8134,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 50, .baseSpDefense = 90, - .type1 = TYPE_BUG, - .type2 = TYPE_POISON, + .types = { TYPE_BUG, TYPE_POISON }, .catchRate = 45, .expYield = 160, .evYield_HP = 0, @@ -8688,8 +8149,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -8704,8 +8164,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 40, .baseSpDefense = 50, - .type1 = TYPE_WATER, - .type2 = TYPE_GRASS, + .types = { TYPE_WATER, TYPE_GRASS }, .catchRate = 255, .expYield = 74, .evYield_HP = 0, @@ -8720,8 +8179,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_GRASS }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -8736,8 +8194,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 70, - .type1 = TYPE_WATER, - .type2 = TYPE_GRASS, + .types = { TYPE_WATER, TYPE_GRASS }, .catchRate = 120, .expYield = 141, .evYield_HP = 0, @@ -8752,8 +8209,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_GRASS }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -8768,8 +8224,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 90, .baseSpDefense = 100, - .type1 = TYPE_WATER, - .type2 = TYPE_GRASS, + .types = { TYPE_WATER, TYPE_GRASS }, .catchRate = 45, .expYield = 181, .evYield_HP = 0, @@ -8784,8 +8239,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_GRASS }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -8800,8 +8254,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 30, .baseSpDefense = 30, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 255, .expYield = 74, .evYield_HP = 0, @@ -8816,8 +8269,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -8832,8 +8284,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 60, .baseSpDefense = 40, - .type1 = TYPE_GRASS, - .type2 = TYPE_DARK, + .types = { TYPE_GRASS, TYPE_DARK }, .catchRate = 120, .expYield = 141, .evYield_HP = 0, @@ -8848,8 +8299,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -8864,8 +8314,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 90, .baseSpDefense = 60, - .type1 = TYPE_GRASS, - .type2 = TYPE_DARK, + .types = { TYPE_GRASS, TYPE_DARK }, .catchRate = 45, .expYield = 181, .evYield_HP = 0, @@ -8880,8 +8329,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -8896,8 +8344,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 30, .baseSpDefense = 30, - .type1 = TYPE_BUG, - .type2 = TYPE_GROUND, + .types = { TYPE_BUG, TYPE_GROUND }, .catchRate = 255, .expYield = 65, .evYield_HP = 0, @@ -8912,8 +8359,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_COMPOUND_EYES, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -8928,8 +8374,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 160, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_BUG, - .type2 = TYPE_FLYING, + .types = { TYPE_BUG, TYPE_FLYING }, .catchRate = 120, .expYield = 155, .evYield_HP = 0, @@ -8944,8 +8389,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_SPEED_BOOST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -8960,8 +8404,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 30, .baseSpDefense = 30, - .type1 = TYPE_BUG, - .type2 = TYPE_GHOST, + .types = { TYPE_BUG, TYPE_GHOST }, .catchRate = 45, .expYield = 95, .evYield_HP = 2, @@ -8976,8 +8419,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_WONDER_GUARD, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -8992,8 +8434,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 30, .baseSpDefense = 30, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 200, .expYield = 59, .evYield_HP = 0, @@ -9008,8 +8449,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -9024,8 +8464,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 125, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 45, .expYield = 162, .evYield_HP = 0, @@ -9040,8 +8479,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -9056,8 +8494,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 40, .baseSpDefense = 60, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 255, .expYield = 65, .evYield_HP = 1, @@ -9072,8 +8509,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, .abilities = {ABILITY_EFFECT_SPORE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -9088,8 +8524,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_GRASS, - .type2 = TYPE_FIGHTING, + .types = { TYPE_GRASS, TYPE_FIGHTING }, .catchRate = 90, .expYield = 165, .evYield_HP = 0, @@ -9104,8 +8539,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, .abilities = {ABILITY_EFFECT_SPORE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -9120,8 +8554,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 255, .expYield = 85, .evYield_HP = 0, @@ -9136,8 +8569,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_OWN_TEMPO, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -9152,8 +8584,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 55, .baseSpDefense = 30, - .type1 = TYPE_WATER, - .type2 = TYPE_FLYING, + .types = { TYPE_WATER, TYPE_FLYING }, .catchRate = 190, .expYield = 64, .evYield_HP = 0, @@ -9168,8 +8599,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FLYING }, .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -9184,8 +8614,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 85, .baseSpDefense = 70, - .type1 = TYPE_WATER, - .type2 = TYPE_FLYING, + .types = { TYPE_WATER, TYPE_FLYING }, .catchRate = 45, .expYield = 164, .evYield_HP = 0, @@ -9200,8 +8629,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FLYING, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FLYING }, .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -9216,8 +8644,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 50, .baseSpDefense = 52, - .type1 = TYPE_BUG, - .type2 = TYPE_WATER, + .types = { TYPE_BUG, TYPE_WATER }, .catchRate = 200, .expYield = 63, .evYield_HP = 0, @@ -9232,8 +8659,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_BUG }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -9248,8 +8674,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 80, .baseSpDefense = 82, - .type1 = TYPE_BUG, - .type2 = TYPE_FLYING, + .types = { TYPE_BUG, TYPE_FLYING }, .catchRate = 75, .expYield = 128, .evYield_HP = 0, @@ -9264,8 +8689,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_BUG }, .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -9280,8 +8704,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 70, .baseSpDefense = 35, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 125, .expYield = 137, .evYield_HP = 1, @@ -9296,8 +8719,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_WATER_VEIL, ABILITY_OBLIVIOUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -9312,8 +8734,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 90, .baseSpDefense = 45, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 60, .expYield = 206, .evYield_HP = 2, @@ -9328,8 +8749,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_WATER_VEIL, ABILITY_OBLIVIOUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -9344,8 +8764,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 35, .baseSpDefense = 35, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 255, .expYield = 65, .evYield_HP = 0, @@ -9360,8 +8779,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -9376,8 +8794,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 55, .baseSpDefense = 55, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 60, .expYield = 138, .evYield_HP = 1, @@ -9392,8 +8809,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -9408,8 +8824,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = 120, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 200, .expYield = 132, .evYield_HP = 0, @@ -9424,8 +8839,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_COLOR_CHANGE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -9440,8 +8854,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 40, .baseSpDefense = 70, - .type1 = TYPE_GROUND, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_GROUND, TYPE_PSYCHIC }, .catchRate = 255, .expYield = 58, .evYield_HP = 0, @@ -9456,8 +8869,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -9472,8 +8884,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 75, .baseSpAttack = 70, .baseSpDefense = 120, - .type1 = TYPE_GROUND, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_GROUND, TYPE_PSYCHIC }, .catchRate = 90, .expYield = 189, .evYield_HP = 0, @@ -9488,8 +8899,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -9504,8 +8914,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 45, .baseSpDefense = 90, - .type1 = TYPE_ROCK, - .type2 = TYPE_ROCK, + .types = { TYPE_ROCK, TYPE_ROCK }, .catchRate = 255, .expYield = 108, .evYield_HP = 0, @@ -9520,8 +8929,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_STURDY, ABILITY_MAGNET_PULL}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -9536,8 +8944,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 20, .baseSpAttack = 85, .baseSpDefense = 70, - .type1 = TYPE_FIRE, - .type2 = TYPE_FIRE, + .types = { TYPE_FIRE, TYPE_FIRE }, .catchRate = 90, .expYield = 161, .evYield_HP = 0, @@ -9552,8 +8959,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_WHITE_SMOKE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -9568,8 +8974,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 65, .baseSpDefense = 65, - .type1 = TYPE_DARK, - .type2 = TYPE_GHOST, + .types = { TYPE_DARK, TYPE_GHOST }, .catchRate = 45, .expYield = 98, .evYield_HP = 0, @@ -9584,8 +8989,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -9600,8 +9004,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 46, .baseSpDefense = 41, - .type1 = TYPE_WATER, - .type2 = TYPE_GROUND, + .types = { TYPE_WATER, TYPE_GROUND }, .catchRate = 190, .expYield = 92, .evYield_HP = 1, @@ -9616,8 +9019,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -9632,8 +9034,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 76, .baseSpDefense = 71, - .type1 = TYPE_WATER, - .type2 = TYPE_GROUND, + .types = { TYPE_WATER, TYPE_GROUND }, .catchRate = 75, .expYield = 158, .evYield_HP = 2, @@ -9648,8 +9049,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -9664,8 +9064,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 97, .baseSpAttack = 40, .baseSpDefense = 65, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 225, .expYield = 110, .evYield_HP = 0, @@ -9680,8 +9079,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -9696,8 +9094,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 50, .baseSpDefense = 35, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 205, .expYield = 111, .evYield_HP = 0, @@ -9712,8 +9109,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -9728,8 +9124,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 90, .baseSpDefense = 55, - .type1 = TYPE_WATER, - .type2 = TYPE_DARK, + .types = { TYPE_WATER, TYPE_DARK }, .catchRate = 155, .expYield = 161, .evYield_HP = 0, @@ -9744,8 +9139,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -9760,8 +9154,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 10, .baseSpDefense = 55, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 255, .expYield = 61, .evYield_HP = 0, @@ -9776,8 +9169,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -9792,8 +9184,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 81, .baseSpAttack = 100, .baseSpDefense = 125, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 60, .expYield = 213, .evYield_HP = 0, @@ -9808,8 +9199,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, .abilities = {ABILITY_MARVEL_SCALE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -9824,8 +9214,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 65, .baseSpDefense = 20, - .type1 = TYPE_WATER, - .type2 = TYPE_DARK, + .types = { TYPE_WATER, TYPE_DARK }, .catchRate = 225, .expYield = 88, .evYield_HP = 0, @@ -9840,8 +9229,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_ROUGH_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -9856,8 +9244,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 95, .baseSpDefense = 40, - .type1 = TYPE_WATER, - .type2 = TYPE_DARK, + .types = { TYPE_WATER, TYPE_DARK }, .catchRate = 60, .expYield = 175, .evYield_HP = 0, @@ -9872,8 +9259,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_2, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_ROUGH_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -9888,8 +9274,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 10, .baseSpAttack = 45, .baseSpDefense = 45, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 255, .expYield = 73, .evYield_HP = 0, @@ -9904,8 +9289,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_HYPER_CUTTER, ABILITY_ARENA_TRAP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -9920,8 +9304,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_GROUND, - .type2 = TYPE_DRAGON, + .types = { TYPE_GROUND, TYPE_DRAGON }, .catchRate = 120, .expYield = 126, .evYield_HP = 0, @@ -9936,8 +9319,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -9952,8 +9334,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 80, .baseSpDefense = 80, - .type1 = TYPE_GROUND, - .type2 = TYPE_DRAGON, + .types = { TYPE_GROUND, TYPE_DRAGON }, .catchRate = 45, .expYield = 197, .evYield_HP = 0, @@ -9968,8 +9349,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_BUG, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -9984,8 +9364,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 25, .baseSpAttack = 20, .baseSpDefense = 30, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 180, .expYield = 87, .evYield_HP = 1, @@ -10000,8 +9379,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_THICK_FAT, ABILITY_GUTS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -10016,8 +9394,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 40, .baseSpDefense = 60, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_FIGHTING, + .types = { TYPE_FIGHTING, TYPE_FIGHTING }, .catchRate = 200, .expYield = 184, .evYield_HP = 2, @@ -10032,8 +9409,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_THICK_FAT, ABILITY_GUTS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -10048,8 +9424,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 65, .baseSpDefense = 40, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 120, .expYield = 104, .evYield_HP = 0, @@ -10064,8 +9439,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_STATIC, ABILITY_LIGHTNING_ROD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -10080,8 +9454,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 105, .baseSpAttack = 105, .baseSpDefense = 60, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 45, .expYield = 168, .evYield_HP = 0, @@ -10096,8 +9469,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_STATIC, ABILITY_LIGHTNING_ROD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -10112,8 +9484,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = 45, - .type1 = TYPE_FIRE, - .type2 = TYPE_GROUND, + .types = { TYPE_FIRE, TYPE_GROUND }, .catchRate = 255, .expYield = 88, .evYield_HP = 0, @@ -10128,8 +9499,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -10144,8 +9514,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 105, .baseSpDefense = 75, - .type1 = TYPE_FIRE, - .type2 = TYPE_GROUND, + .types = { TYPE_FIRE, TYPE_GROUND }, .catchRate = 150, .expYield = 175, .evYield_HP = 0, @@ -10160,8 +9529,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_MAGMA_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -10176,8 +9544,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 25, .baseSpAttack = 55, .baseSpDefense = 50, - .type1 = TYPE_ICE, - .type2 = TYPE_WATER, + .types = { TYPE_ICE, TYPE_WATER }, .catchRate = 255, .expYield = 75, .evYield_HP = 1, @@ -10192,8 +9559,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -10208,8 +9574,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 75, .baseSpDefense = 70, - .type1 = TYPE_ICE, - .type2 = TYPE_WATER, + .types = { TYPE_ICE, TYPE_WATER }, .catchRate = 120, .expYield = 128, .evYield_HP = 2, @@ -10224,8 +9589,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -10240,8 +9604,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 95, .baseSpDefense = 90, - .type1 = TYPE_ICE, - .type2 = TYPE_WATER, + .types = { TYPE_ICE, TYPE_WATER }, .catchRate = 45, .expYield = 192, .evYield_HP = 3, @@ -10256,8 +9619,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -10272,8 +9634,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 35, .baseSpAttack = 85, .baseSpDefense = 40, - .type1 = TYPE_GRASS, - .type2 = TYPE_GRASS, + .types = { TYPE_GRASS, TYPE_GRASS }, .catchRate = 190, .expYield = 97, .evYield_HP = 0, @@ -10288,8 +9649,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -10304,8 +9664,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 115, .baseSpDefense = 60, - .type1 = TYPE_GRASS, - .type2 = TYPE_DARK, + .types = { TYPE_GRASS, TYPE_DARK }, .catchRate = 60, .expYield = 177, .evYield_HP = 0, @@ -10320,8 +9679,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_GRASS, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -10336,8 +9694,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_ICE, - .type2 = TYPE_ICE, + .types = { TYPE_ICE, TYPE_ICE }, .catchRate = 190, .expYield = 74, .evYield_HP = 1, @@ -10352,8 +9709,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_MINERAL }, .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -10368,8 +9724,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 80, .baseSpDefense = 80, - .type1 = TYPE_ICE, - .type2 = TYPE_ICE, + .types = { TYPE_ICE, TYPE_ICE }, .catchRate = 75, .expYield = 187, .evYield_HP = 2, @@ -10384,8 +9739,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_MINERAL }, .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -10400,8 +9754,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 95, .baseSpDefense = 85, - .type1 = TYPE_ROCK, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_ROCK, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 150, .evYield_HP = 0, @@ -10416,8 +9769,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -10432,8 +9784,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 55, .baseSpDefense = 65, - .type1 = TYPE_ROCK, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_ROCK, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 150, .evYield_HP = 0, @@ -10448,8 +9799,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -10464,8 +9814,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 20, .baseSpAttack = 20, .baseSpDefense = 40, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 150, .expYield = 33, .evYield_HP = 1, @@ -10480,8 +9829,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 10, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_THICK_FAT, ABILITY_HUGE_POWER}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -10496,8 +9844,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 70, .baseSpDefense = 80, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 255, .expYield = 89, .evYield_HP = 0, @@ -10512,8 +9859,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_THICK_FAT, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -10528,8 +9874,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 90, .baseSpDefense = 110, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 60, .expYield = 164, .evYield_HP = 0, @@ -10544,8 +9889,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_THICK_FAT, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -10560,8 +9904,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 85, .baseSpDefense = 75, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 200, .expYield = 120, .evYield_HP = 0, @@ -10576,8 +9919,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, .abilities = {ABILITY_PLUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -10592,8 +9934,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 75, .baseSpDefense = 85, - .type1 = TYPE_ELECTRIC, - .type2 = TYPE_ELECTRIC, + .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, .catchRate = 200, .expYield = 120, .evYield_HP = 0, @@ -10608,8 +9949,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, .abilities = {ABILITY_MINUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -10624,8 +9964,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 55, .baseSpDefense = 55, - .type1 = TYPE_STEEL, - .type2 = TYPE_STEEL, + .types = { TYPE_STEEL, TYPE_STEEL }, .catchRate = 45, .expYield = 98, .evYield_HP = 0, @@ -10640,8 +9979,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FAIRY, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, .abilities = {ABILITY_HYPER_CUTTER, ABILITY_INTIMIDATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -10656,8 +9994,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 60, .baseSpAttack = 40, .baseSpDefense = 55, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_FIGHTING, TYPE_PSYCHIC }, .catchRate = 180, .expYield = 91, .evYield_HP = 0, @@ -10672,8 +10009,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_PURE_POWER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -10688,8 +10024,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 60, .baseSpDefense = 75, - .type1 = TYPE_FIGHTING, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_FIGHTING, TYPE_PSYCHIC }, .catchRate = 90, .expYield = 153, .evYield_HP = 0, @@ -10704,8 +10039,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_HUMAN_LIKE, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_PURE_POWER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -10720,8 +10054,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 40, .baseSpDefense = 75, - .type1 = TYPE_NORMAL, - .type2 = TYPE_FLYING, + .types = { TYPE_NORMAL, TYPE_FLYING }, .catchRate = 255, .expYield = 74, .evYield_HP = 0, @@ -10736,8 +10069,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_DRAGON }, .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -10752,8 +10084,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 70, .baseSpDefense = 105, - .type1 = TYPE_DRAGON, - .type2 = TYPE_FLYING, + .types = { TYPE_DRAGON, TYPE_FLYING }, .catchRate = 45, .expYield = 188, .evYield_HP = 0, @@ -10768,8 +10099,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_FLYING, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_DRAGON }, .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -10784,8 +10114,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 23, .baseSpAttack = 23, .baseSpDefense = 48, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 125, .expYield = 44, .evYield_HP = 1, @@ -10800,8 +10129,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_SHADOW_TAG, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -10816,8 +10144,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 25, .baseSpAttack = 30, .baseSpDefense = 90, - .type1 = TYPE_GHOST, - .type2 = TYPE_GHOST, + .types = { TYPE_GHOST, TYPE_GHOST }, .catchRate = 190, .expYield = 97, .evYield_HP = 0, @@ -10832,8 +10159,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -10848,8 +10174,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 25, .baseSpAttack = 60, .baseSpDefense = 130, - .type1 = TYPE_GHOST, - .type2 = TYPE_GHOST, + .types = { TYPE_GHOST, TYPE_GHOST }, .catchRate = 90, .expYield = 179, .evYield_HP = 0, @@ -10864,8 +10189,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -10880,8 +10204,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 100, .baseSpDefense = 80, - .type1 = TYPE_GRASS, - .type2 = TYPE_POISON, + .types = { TYPE_GRASS, TYPE_POISON }, .catchRate = 150, .expYield = 152, .evYield_HP = 0, @@ -10896,8 +10219,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, .abilities = {ABILITY_NATURAL_CURE, ABILITY_POISON_POINT}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -10912,8 +10234,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 35, .baseSpDefense = 35, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 255, .expYield = 83, .evYield_HP = 1, @@ -10928,8 +10249,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_TRUANT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -10944,8 +10264,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 55, .baseSpDefense = 55, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 120, .expYield = 126, .evYield_HP = 0, @@ -10960,8 +10279,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -10976,8 +10294,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 95, .baseSpDefense = 65, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 210, .evYield_HP = 3, @@ -10992,8 +10309,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_TRUANT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -11008,8 +10324,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 43, .baseSpDefense = 53, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 225, .expYield = 75, .evYield_HP = 1, @@ -11024,8 +10339,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LIQUID_OOZE, ABILITY_STICKY_HOLD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -11040,8 +10354,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 73, .baseSpDefense = 83, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 75, .expYield = 168, .evYield_HP = 2, @@ -11056,8 +10369,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LIQUID_OOZE, ABILITY_STICKY_HOLD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -11072,8 +10384,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 51, .baseSpAttack = 72, .baseSpDefense = 87, - .type1 = TYPE_GRASS, - .type2 = TYPE_FLYING, + .types = { TYPE_GRASS, TYPE_FLYING }, .catchRate = 200, .expYield = 169, .evYield_HP = 2, @@ -11088,8 +10399,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_GRASS, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -11104,8 +10414,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 28, .baseSpAttack = 51, .baseSpDefense = 23, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 190, .expYield = 68, .evYield_HP = 1, @@ -11120,8 +10429,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_SOUNDPROOF, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -11136,8 +10444,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 48, .baseSpAttack = 71, .baseSpDefense = 43, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 120, .expYield = 126, .evYield_HP = 2, @@ -11152,8 +10459,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_SOUNDPROOF, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -11168,8 +10474,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 68, .baseSpAttack = 91, .baseSpDefense = 63, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 184, .evYield_HP = 3, @@ -11184,8 +10489,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, .abilities = {ABILITY_SOUNDPROOF, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -11200,8 +10504,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 32, .baseSpAttack = 74, .baseSpDefense = 55, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 255, .expYield = 142, .evYield_HP = 0, @@ -11216,8 +10519,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_SHELL_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -11232,8 +10534,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 52, .baseSpAttack = 94, .baseSpDefense = 75, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 60, .expYield = 178, .evYield_HP = 0, @@ -11248,8 +10549,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -11264,8 +10564,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 52, .baseSpAttack = 114, .baseSpDefense = 75, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 60, .expYield = 178, .evYield_HP = 0, @@ -11280,8 +10579,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_1, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, @@ -11296,8 +10594,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 75, .baseSpAttack = 75, .baseSpDefense = 60, - .type1 = TYPE_DARK, - .type2 = TYPE_DARK, + .types = { TYPE_DARK, TYPE_DARK }, .catchRate = 30, .expYield = 174, .evYield_HP = 0, @@ -11312,8 +10609,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -11328,8 +10624,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 63, .baseSpDefense = 33, - .type1 = TYPE_GHOST, - .type2 = TYPE_GHOST, + .types = { TYPE_GHOST, TYPE_GHOST }, .catchRate = 225, .expYield = 97, .evYield_HP = 0, @@ -11344,8 +10639,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -11360,8 +10654,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 83, .baseSpDefense = 63, - .type1 = TYPE_GHOST, - .type2 = TYPE_GHOST, + .types = { TYPE_GHOST, TYPE_GHOST }, .catchRate = 45, .expYield = 179, .evYield_HP = 0, @@ -11376,8 +10669,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -11392,8 +10684,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 100, .baseSpDefense = 60, - .type1 = TYPE_POISON, - .type2 = TYPE_POISON, + .types = { TYPE_POISON, TYPE_POISON }, .catchRate = 90, .expYield = 165, .evYield_HP = 0, @@ -11408,8 +10699,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, @@ -11424,8 +10714,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 90, .expYield = 165, .evYield_HP = 0, @@ -11440,8 +10729,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_FIELD, - .eggGroup2 = EGG_GROUP_FIELD, + .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, .abilities = {ABILITY_IMMUNITY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -11456,8 +10744,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 55, .baseSpAttack = 45, .baseSpDefense = 65, - .type1 = TYPE_WATER, - .type2 = TYPE_ROCK, + .types = { TYPE_WATER, TYPE_ROCK }, .catchRate = 25, .expYield = 198, .evYield_HP = 1, @@ -11472,8 +10759,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 70, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_WATER_1, - .eggGroup2 = EGG_GROUP_WATER_2, + .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_2 }, .abilities = {ABILITY_SWIFT_SWIM, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -11488,8 +10774,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 40, .baseSpDefense = 40, - .type1 = TYPE_STEEL, - .type2 = TYPE_ROCK, + .types = { TYPE_STEEL, TYPE_ROCK }, .catchRate = 180, .expYield = 96, .evYield_HP = 0, @@ -11504,8 +10789,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_STURDY, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -11520,8 +10804,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 50, .baseSpDefense = 50, - .type1 = TYPE_STEEL, - .type2 = TYPE_ROCK, + .types = { TYPE_STEEL, TYPE_ROCK }, .catchRate = 90, .expYield = 152, .evYield_HP = 0, @@ -11536,8 +10819,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_STURDY, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -11552,8 +10834,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 60, - .type1 = TYPE_STEEL, - .type2 = TYPE_ROCK, + .types = { TYPE_STEEL, TYPE_ROCK }, .catchRate = 45, .expYield = 205, .evYield_HP = 0, @@ -11568,8 +10849,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 35, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MONSTER, - .eggGroup2 = EGG_GROUP_MONSTER, + .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, .abilities = {ABILITY_STURDY, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -11584,8 +10864,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 70, - .type1 = TYPE_NORMAL, - .type2 = TYPE_NORMAL, + .types = { TYPE_NORMAL, TYPE_NORMAL }, .catchRate = 45, .expYield = 145, .evYield_HP = 1, @@ -11600,8 +10879,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroup1 = EGG_GROUP_FAIRY, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_FORECAST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -11616,8 +10894,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 47, .baseSpDefense = 75, - .type1 = TYPE_BUG, - .type2 = TYPE_BUG, + .types = { TYPE_BUG, TYPE_BUG }, .catchRate = 150, .expYield = 146, .evYield_HP = 0, @@ -11632,8 +10909,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_ILLUMINATE, ABILITY_SWARM}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -11648,8 +10924,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 85, .baseSpAttack = 73, .baseSpDefense = 75, - .type1 = TYPE_BUG, - .type2 = TYPE_BUG, + .types = { TYPE_BUG, TYPE_BUG }, .catchRate = 150, .expYield = 146, .evYield_HP = 0, @@ -11664,8 +10939,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 15, .friendship = 70, .growthRate = GROWTH_FLUCTUATING, - .eggGroup1 = EGG_GROUP_BUG, - .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_HUMAN_LIKE }, .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -11680,8 +10954,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 23, .baseSpAttack = 61, .baseSpDefense = 87, - .type1 = TYPE_ROCK, - .type2 = TYPE_GRASS, + .types = { TYPE_ROCK, TYPE_GRASS }, .catchRate = 45, .expYield = 121, .evYield_HP = 0, @@ -11696,8 +10969,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 30, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_SUCTION_CUPS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, @@ -11712,8 +10984,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 43, .baseSpAttack = 81, .baseSpDefense = 107, - .type1 = TYPE_ROCK, - .type2 = TYPE_GRASS, + .types = { TYPE_ROCK, TYPE_GRASS }, .catchRate = 45, .expYield = 201, .evYield_HP = 0, @@ -11728,8 +10999,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 30, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_SUCTION_CUPS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -11744,8 +11014,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 75, .baseSpAttack = 40, .baseSpDefense = 50, - .type1 = TYPE_ROCK, - .type2 = TYPE_BUG, + .types = { TYPE_ROCK, TYPE_BUG }, .catchRate = 45, .expYield = 119, .evYield_HP = 0, @@ -11760,8 +11029,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 30, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_BATTLE_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -11776,8 +11044,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 45, .baseSpAttack = 70, .baseSpDefense = 80, - .type1 = TYPE_ROCK, - .type2 = TYPE_BUG, + .types = { TYPE_ROCK, TYPE_BUG }, .catchRate = 45, .expYield = 200, .evYield_HP = 0, @@ -11792,8 +11059,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 30, .friendship = 70, .growthRate = GROWTH_ERRATIC, - .eggGroup1 = EGG_GROUP_WATER_3, - .eggGroup2 = EGG_GROUP_WATER_3, + .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, .abilities = {ABILITY_BATTLE_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -11808,8 +11074,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 40, .baseSpAttack = 45, .baseSpDefense = 35, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 235, .expYield = 70, .evYield_HP = 0, @@ -11824,8 +11089,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_TRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -11840,8 +11104,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 65, .baseSpDefense = 55, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 120, .expYield = 140, .evYield_HP = 0, @@ -11856,8 +11119,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_TRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -11872,8 +11134,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 80, .baseSpAttack = 125, .baseSpDefense = 115, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 208, .evYield_HP = 0, @@ -11888,8 +11149,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_SYNCHRONIZE, ABILITY_TRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -11904,8 +11164,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 40, .baseSpDefense = 30, - .type1 = TYPE_DRAGON, - .type2 = TYPE_DRAGON, + .types = { TYPE_DRAGON, TYPE_DRAGON }, .catchRate = 45, .expYield = 89, .evYield_HP = 0, @@ -11920,8 +11179,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_DRAGON, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -11936,8 +11194,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 50, - .type1 = TYPE_DRAGON, - .type2 = TYPE_DRAGON, + .types = { TYPE_DRAGON, TYPE_DRAGON }, .catchRate = 45, .expYield = 144, .evYield_HP = 0, @@ -11952,8 +11209,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_DRAGON, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, .abilities = {ABILITY_ROCK_HEAD, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, @@ -11968,8 +11224,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 110, .baseSpDefense = 80, - .type1 = TYPE_DRAGON, - .type2 = TYPE_FLYING, + .types = { TYPE_DRAGON, TYPE_FLYING }, .catchRate = 45, .expYield = 218, .evYield_HP = 0, @@ -11984,8 +11239,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_DRAGON, - .eggGroup2 = EGG_GROUP_DRAGON, + .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -12000,8 +11254,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 30, .baseSpAttack = 35, .baseSpDefense = 60, - .type1 = TYPE_STEEL, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_STEEL, TYPE_PSYCHIC }, .catchRate = 3, .expYield = 103, .evYield_HP = 0, @@ -12016,8 +11269,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -12032,8 +11284,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 55, .baseSpDefense = 80, - .type1 = TYPE_STEEL, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_STEEL, TYPE_PSYCHIC }, .catchRate = 3, .expYield = 153, .evYield_HP = 0, @@ -12048,8 +11299,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -12064,8 +11314,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 70, .baseSpAttack = 95, .baseSpDefense = 90, - .type1 = TYPE_STEEL, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_STEEL, TYPE_PSYCHIC }, .catchRate = 3, .expYield = 210, .evYield_HP = 0, @@ -12080,8 +11329,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_MINERAL, - .eggGroup2 = EGG_GROUP_MINERAL, + .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -12096,8 +11344,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 100, - .type1 = TYPE_ROCK, - .type2 = TYPE_ROCK, + .types = { TYPE_ROCK, TYPE_ROCK }, .catchRate = 3, .expYield = 217, .evYield_HP = 0, @@ -12112,8 +11359,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, @@ -12128,8 +11374,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 100, .baseSpDefense = 200, - .type1 = TYPE_ICE, - .type2 = TYPE_ICE, + .types = { TYPE_ICE, TYPE_ICE }, .catchRate = 3, .expYield = 216, .evYield_HP = 0, @@ -12144,8 +11389,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -12160,8 +11404,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 50, .baseSpAttack = 75, .baseSpDefense = 150, - .type1 = TYPE_STEEL, - .type2 = TYPE_STEEL, + .types = { TYPE_STEEL, TYPE_STEEL }, .catchRate = 3, .expYield = 215, .evYield_HP = 0, @@ -12176,8 +11419,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, @@ -12192,8 +11434,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 150, .baseSpDefense = 140, - .type1 = TYPE_WATER, - .type2 = TYPE_WATER, + .types = { TYPE_WATER, TYPE_WATER }, .catchRate = 5, .expYield = 218, .evYield_HP = 0, @@ -12208,8 +11449,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_DRIZZLE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -12224,8 +11464,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 90, .baseSpAttack = 100, .baseSpDefense = 90, - .type1 = TYPE_GROUND, - .type2 = TYPE_GROUND, + .types = { TYPE_GROUND, TYPE_GROUND }, .catchRate = 5, .expYield = 218, .evYield_HP = 0, @@ -12240,8 +11479,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_DROUGHT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -12256,8 +11494,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 95, .baseSpAttack = 150, .baseSpDefense = 90, - .type1 = TYPE_DRAGON, - .type2 = TYPE_FLYING, + .types = { TYPE_DRAGON, TYPE_FLYING }, .catchRate = 3, .expYield = 220, .evYield_HP = 0, @@ -12272,8 +11509,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_AIR_LOCK, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, @@ -12288,8 +11524,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 110, .baseSpAttack = 110, .baseSpDefense = 130, - .type1 = TYPE_DRAGON, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_DRAGON, TYPE_PSYCHIC }, .catchRate = 3, .expYield = 211, .evYield_HP = 0, @@ -12304,8 +11539,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 90, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -12320,8 +11554,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 110, .baseSpAttack = 130, .baseSpDefense = 110, - .type1 = TYPE_DRAGON, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_DRAGON, TYPE_PSYCHIC }, .catchRate = 3, .expYield = 211, .evYield_HP = 0, @@ -12336,8 +11569,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 90, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, @@ -12352,8 +11584,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 100, .baseSpAttack = 100, .baseSpDefense = 100, - .type1 = TYPE_STEEL, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_STEEL, TYPE_PSYCHIC }, .catchRate = 3, .expYield = 215, .evYield_HP = 3, @@ -12368,8 +11599,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_SERENE_GRACE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, @@ -12384,8 +11614,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 150, .baseSpAttack = 150, .baseSpDefense = 50, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 3, .expYield = 215, .evYield_HP = 0, @@ -12400,8 +11629,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .eggGroups = { EGG_GROUP_UNDISCOVERED, EGG_GROUP_UNDISCOVERED }, .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, @@ -12416,8 +11644,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 65, .baseSpAttack = 95, .baseSpDefense = 80, - .type1 = TYPE_PSYCHIC, - .type2 = TYPE_PSYCHIC, + .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, .catchRate = 45, .expYield = 147, .evYield_HP = 0, @@ -12432,8 +11659,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 25, .friendship = 70, .growthRate = GROWTH_FAST, - .eggGroup1 = EGG_GROUP_AMORPHOUS, - .eggGroup2 = EGG_GROUP_AMORPHOUS, + .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, diff --git a/src/daycare.c b/src/daycare.c index c0b692aa46..c3f4dd9906 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1031,8 +1031,8 @@ static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) trainerIds[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_OT_ID); personality = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_PERSONALITY); genders[i] = GetGenderFromSpeciesAndPersonality(species[i], personality); - eggGroups[i][0] = gSpeciesInfo[species[i]].eggGroup1; - eggGroups[i][1] = gSpeciesInfo[species[i]].eggGroup2; + eggGroups[i][0] = gSpeciesInfo[species[i]].eggGroups[0]; + eggGroups[i][1] = gSpeciesInfo[species[i]].eggGroups[1]; } // check unbreedable egg group diff --git a/src/field_specials.c b/src/field_specials.c index 03aebb0ce5..5c7d079163 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1196,7 +1196,7 @@ void IsGrassTypeInParty(void) if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG)) { species = GetMonData(pokemon, MON_DATA_SPECIES); - if (gSpeciesInfo[species].type1 == TYPE_GRASS || gSpeciesInfo[species].type2 == TYPE_GRASS) + if (gSpeciesInfo[species].types[0] == TYPE_GRASS || gSpeciesInfo[species].types[1] == TYPE_GRASS) { gSpecialVar_Result = TRUE; return; diff --git a/src/pokedex.c b/src/pokedex.c index 33355d1972..ef67a14292 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -4727,8 +4727,8 @@ static int DoPokedexSearch(u8 dexMode, u8 order, u8 abcGroup, u8 bodyColor, u8 t { species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum); - types[0] = gSpeciesInfo[species].type1; - types[1] = gSpeciesInfo[species].type2; + types[0] = gSpeciesInfo[species].types[0]; + types[1] = gSpeciesInfo[species].types[1]; if (types[0] == type1 || types[1] == type1) { sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i]; @@ -4745,8 +4745,8 @@ static int DoPokedexSearch(u8 dexMode, u8 order, u8 abcGroup, u8 bodyColor, u8 t { species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum); - types[0] = gSpeciesInfo[species].type1; - types[1] = gSpeciesInfo[species].type2; + types[0] = gSpeciesInfo[species].types[0]; + types[1] = gSpeciesInfo[species].types[1]; if ((types[0] == type1 && types[1] == type2) || (types[0] == type2 && types[1] == type1)) { sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i]; diff --git a/src/pokemon.c b/src/pokemon.c index 1e40220e29..e8d334a6ac 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4651,8 +4651,8 @@ void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex) gBattleMons[battlerId].isEgg = GetMonData(&gPlayerParty[partyIndex], MON_DATA_IS_EGG, NULL); gBattleMons[battlerId].abilityNum = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ABILITY_NUM, NULL); gBattleMons[battlerId].otId = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_ID, NULL); - gBattleMons[battlerId].type1 = gSpeciesInfo[gBattleMons[battlerId].species].type1; - gBattleMons[battlerId].type2 = gSpeciesInfo[gBattleMons[battlerId].species].type2; + gBattleMons[battlerId].type1 = gSpeciesInfo[gBattleMons[battlerId].species].types[0]; + gBattleMons[battlerId].type2 = gSpeciesInfo[gBattleMons[battlerId].species].types[1]; gBattleMons[battlerId].ability = GetAbilityBySpecies(gBattleMons[battlerId].species, gBattleMons[battlerId].abilityNum); GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname); StringCopy_Nickname(gBattleMons[battlerId].nickname, nickname); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 4f2b571312..55c905b7a5 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -3788,10 +3788,10 @@ static void SetMonTypeIcons(void) } else { - SetTypeSpritePosAndPal(gSpeciesInfo[summary->species].type1, 120, 48, SPRITE_ARR_ID_TYPE); - if (gSpeciesInfo[summary->species].type1 != gSpeciesInfo[summary->species].type2) + SetTypeSpritePosAndPal(gSpeciesInfo[summary->species].types[0], 120, 48, SPRITE_ARR_ID_TYPE); + if (gSpeciesInfo[summary->species].types[0] != gSpeciesInfo[summary->species].types[1]) { - SetTypeSpritePosAndPal(gSpeciesInfo[summary->species].type2, 160, 48, SPRITE_ARR_ID_TYPE + 1); + SetTypeSpritePosAndPal(gSpeciesInfo[summary->species].types[1], 160, 48, SPRITE_ARR_ID_TYPE + 1); SetSpriteInvisibility(SPRITE_ARR_ID_TYPE + 1, FALSE); } else diff --git a/src/trade.c b/src/trade.c index 61ebaf4cc3..aa7e43e30a 100644 --- a/src/trade.c +++ b/src/trade.c @@ -2465,8 +2465,8 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf else { // Player's Pokémon must be of the type the partner requested - if (gSpeciesInfo[playerSpecies2].type1 != requestedType - && gSpeciesInfo[playerSpecies2].type2 != requestedType) + if (gSpeciesInfo[playerSpecies2].types[0] != requestedType + && gSpeciesInfo[playerSpecies2].types[1] != requestedType) return UR_TRADE_MSG_NOT_MON_PARTNER_WANTS; } diff --git a/src/union_room.c b/src/union_room.c index aad8dbaa9e..9c38adeed5 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -4187,7 +4187,7 @@ static s32 IsRequestedTradeInPlayerParty(u32 type, u32 species) for (i = 0; i < gPlayerPartyCount; i++) { species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); - if (gSpeciesInfo[species].type1 == type || gSpeciesInfo[species].type2 == type) + if (gSpeciesInfo[species].types[0] == type || gSpeciesInfo[species].types[1] == type) return UR_TRADE_MATCH; } return UR_TRADE_NOTYPE; diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 6ba13a0073..cc3ce82273 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -913,7 +913,7 @@ static bool8 TryGetRandomWildMonIndexByType(const struct WildPokemon *wildMon, u for (validMonCount = 0, i = 0; i < numMon; i++) { - if (gSpeciesInfo[wildMon[i].species].type1 == type || gSpeciesInfo[wildMon[i].species].type2 == type) + if (gSpeciesInfo[wildMon[i].species].types[0] == type || gSpeciesInfo[wildMon[i].species].types[1] == type) validIndexes[validMonCount++] = i; } From 79992203610aaec806c6cbf4404ec9e331b94e4b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 22 Nov 2022 18:37:38 -0300 Subject: [PATCH 12/62] Fixed modern compile --- src/data/pokemon/species_info.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index a40a73e936..344852baf5 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -10,7 +10,7 @@ .baseSpeed = 150, \ .baseSpAttack = 150, \ .baseSpDefense = 50, \ - .types { TYPE_NORMAL, TYPE_NORMAL}, \ + .types = { TYPE_NORMAL, TYPE_NORMAL}, \ .catchRate = 3, \ .expYield = 1, \ .evYield_HP = 2, \ From f55443656f2247226169ac16345432350b11bbaf Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sat, 3 Dec 2022 17:29:02 -0500 Subject: [PATCH 13/62] Add NUM_TILES_PER_METATILE --- include/fieldmap.h | 2 ++ src/decoration.c | 6 +++--- src/field_camera.c | 2 +- src/shop.c | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/fieldmap.h b/include/fieldmap.h index 2f7eaba66b..f2dbefae86 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -9,6 +9,8 @@ #define NUM_PALS_TOTAL 13 #define MAX_MAP_DATA_SIZE 10240 +#define NUM_TILES_PER_METATILE 8 + // Map coordinates are offset by 7 when using the map // buffer because it needs to load sufficient border // metatiles to fill the player's view (the player has diff --git a/src/decoration.c b/src/decoration.c index b149c9d797..8ec80415b5 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1977,7 +1977,7 @@ static void SetDecorSelectionMetatiles(struct PlaceDecorationGraphicsDataBuffer shape = data->decoration->shape; for (i = 0; i < sDecorTilemaps[shape].size; i++) { - data->tiles[sDecorTilemaps[shape].tiles[i]] = GetMetatile(data->decoration->tiles[sDecorTilemaps[shape].y[i]] * 8 + sDecorTilemaps[shape].x[i]); + data->tiles[sDecorTilemaps[shape].tiles[i]] = GetMetatile(data->decoration->tiles[sDecorTilemaps[shape].y[i]] * NUM_TILES_PER_METATILE + sDecorTilemaps[shape].x[i]); } } @@ -2037,7 +2037,7 @@ static u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphics SetDecorSelectionMetatiles(data); SetDecorSelectionBoxOamAttributes(data->decoration->shape); SetDecorSelectionBoxTiles(data); - CopyPalette(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * 8) + 7] >> 12); + CopyPalette(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); LoadSpritePalette(&sSpritePal_PlaceDecoration); return CreateSprite(&sDecorationSelectorSpriteTemplate, 0, 0, 0); } @@ -2093,7 +2093,7 @@ static u8 AddDecorationIconObjectFromObjectEvent(u16 tilesTag, u16 paletteTag, u SetDecorSelectionMetatiles(&sPlaceDecorationGraphicsDataBuffer); SetDecorSelectionBoxOamAttributes(sPlaceDecorationGraphicsDataBuffer.decoration->shape); SetDecorSelectionBoxTiles(&sPlaceDecorationGraphicsDataBuffer); - CopyPalette(sPlaceDecorationGraphicsDataBuffer.palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0] * 8) + 7] >> 12); + CopyPalette(sPlaceDecorationGraphicsDataBuffer.palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); sheet.data = sPlaceDecorationGraphicsDataBuffer.image; sheet.size = sDecorShapeSizes[sPlaceDecorationGraphicsDataBuffer.decoration->shape] * TILE_SIZE_4BPP; sheet.tag = tilesTag; diff --git a/src/field_camera.c b/src/field_camera.c index 8b53451c01..3f7e29208c 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -237,7 +237,7 @@ static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, metatiles = mapLayout->secondaryTileset->metatiles; metatileId -= NUM_METATILES_IN_PRIMARY; } - DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * 8, offset); + DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * NUM_TILES_PER_METATILE, offset); } static void DrawMetatile(s32 metatileLayerType, const u16 *tiles, u16 offset) diff --git a/src/shop.c b/src/shop.c index d5e9546357..ef0f07b389 100644 --- a/src/shop.c +++ b/src/shop.c @@ -808,9 +808,9 @@ static void BuyMenuDrawMapBg(void) metatileLayerType = METATILE_LAYER_TYPE_COVERED; if (metatile < NUM_METATILES_IN_PRIMARY) - BuyMenuDrawMapMetatile(i, j, mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); + BuyMenuDrawMapMetatile(i, j, mapLayout->primaryTileset->metatiles + metatile * NUM_TILES_PER_METATILE, metatileLayerType); else - BuyMenuDrawMapMetatile(i, j, mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); + BuyMenuDrawMapMetatile(i, j, mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * NUM_TILES_PER_METATILE), metatileLayerType); } } } From 2d694a84e30d899da433f4300f48b8223d7cabf9 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 5 Dec 2022 21:57:28 -0300 Subject: [PATCH 14/62] Trying to fix remote reference --- src/data.c | 2 +- src/data/pokemon_graphics/front_pic_anims.h | 4442 ++++++------------- src/data/pokemon_graphics/unknown_anims.h | 2322 ---------- src/data/pokemon_graphics/unused_anims.h | 1829 ++++++++ 4 files changed, 3202 insertions(+), 5393 deletions(-) delete mode 100644 src/data/pokemon_graphics/unknown_anims.h create mode 100644 src/data/pokemon_graphics/unused_anims.h diff --git a/src/data.c b/src/data.c index 5856d17b85..cd3340d67f 100644 --- a/src/data.c +++ b/src/data.c @@ -302,7 +302,7 @@ const union AnimCmd *const gAnims_MonPic[] = #define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species} #define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG} -#include "data/pokemon_graphics/unknown_anims.h" +#include "data/pokemon_graphics/unused_anims.h" #include "data/pokemon_graphics/front_pic_coordinates.h" #include "data/pokemon_graphics/still_front_pic_table.h" #include "data/pokemon_graphics/back_pic_coordinates.h" diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 671fc5fad7..68ceddafad 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -1,4 +1,4 @@ -static const union AnimCmd sAnim_NONE_1[] = +static const union AnimCmd sAnim_None_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -6,7 +6,7 @@ ANIMCMD_END, }; -static const union AnimCmd sAnim_BULBASAUR_1[] = +static const union AnimCmd sAnim_Bulbasaur_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -14,7 +14,7 @@ static const union AnimCmd sAnim_BULBASAUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_IVYSAUR_1[] = +static const union AnimCmd sAnim_Ivysaur_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -22,7 +22,7 @@ static const union AnimCmd sAnim_IVYSAUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENUSAUR_1[] = +static const union AnimCmd sAnim_Venusaur_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -30,7 +30,7 @@ static const union AnimCmd sAnim_VENUSAUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARMANDER_1[] = +static const union AnimCmd sAnim_Charmander_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 46), @@ -38,7 +38,7 @@ static const union AnimCmd sAnim_CHARMANDER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARMELEON_1[] = +static const union AnimCmd sAnim_Charmeleon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -46,14 +46,14 @@ static const union AnimCmd sAnim_CHARMELEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARIZARD_1[] = +static const union AnimCmd sAnim_Charizard_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_SQUIRTLE_1[] = +static const union AnimCmd sAnim_Squirtle_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -61,7 +61,7 @@ static const union AnimCmd sAnim_SQUIRTLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WARTORTLE_1[] = +static const union AnimCmd sAnim_Wartortle_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -69,7 +69,7 @@ static const union AnimCmd sAnim_WARTORTLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLASTOISE_1[] = +static const union AnimCmd sAnim_Blastoise_1[] = { ANIMCMD_FRAME(0, 50), ANIMCMD_FRAME(1, 25), @@ -79,7 +79,7 @@ static const union AnimCmd sAnim_BLASTOISE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CATERPIE_1[] = +static const union AnimCmd sAnim_Caterpie_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -92,14 +92,14 @@ static const union AnimCmd sAnim_CATERPIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_METAPOD_1[] = +static const union AnimCmd sAnim_Metapod_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_BUTTERFREE_1[] = +static const union AnimCmd sAnim_Butterfree_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -117,7 +117,7 @@ static const union AnimCmd sAnim_BUTTERFREE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEDLE_1[] = +static const union AnimCmd sAnim_Weedle_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -129,7 +129,7 @@ static const union AnimCmd sAnim_WEEDLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KAKUNA_1[] = +static const union AnimCmd sAnim_Kakuna_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -145,7 +145,7 @@ static const union AnimCmd sAnim_KAKUNA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BEEDRILL_1[] = +static const union AnimCmd sAnim_Beedrill_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -155,7 +155,7 @@ static const union AnimCmd sAnim_BEEDRILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEY_1[] = +static const union AnimCmd sAnim_Pidgey_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -172,7 +172,7 @@ static const union AnimCmd sAnim_PIDGEY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEOTTO_1[] = +static const union AnimCmd sAnim_Pidgeotto_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -182,7 +182,7 @@ static const union AnimCmd sAnim_PIDGEOTTO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEOT_1[] = +static const union AnimCmd sAnim_Pidgeot_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), @@ -191,8 +191,7 @@ static const union AnimCmd sAnim_PIDGEOT_1[] = ANIMCMD_END, }; - -static const union AnimCmd sAnim_RATTATA_1[] = +static const union AnimCmd sAnim_Rattata_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 50), @@ -201,7 +200,7 @@ static const union AnimCmd sAnim_RATTATA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RATICATE_1[] = +static const union AnimCmd sAnim_Raticate_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -218,7 +217,7 @@ static const union AnimCmd sAnim_RATICATE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPEAROW_1[] = +static const union AnimCmd sAnim_Spearow_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -239,7 +238,7 @@ static const union AnimCmd sAnim_SPEAROW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FEAROW_1[] = +static const union AnimCmd sAnim_Fearow_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -252,7 +251,7 @@ static const union AnimCmd sAnim_FEAROW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EKANS_1[] = +static const union AnimCmd sAnim_Ekans_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -263,7 +262,7 @@ static const union AnimCmd sAnim_EKANS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARBOK_1[] = +static const union AnimCmd sAnim_Arbok_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -271,7 +270,7 @@ static const union AnimCmd sAnim_ARBOK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_1[] = +static const union AnimCmd sAnim_Pikachu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -281,7 +280,7 @@ static const union AnimCmd sAnim_PIKACHU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_2[] = +static const union AnimCmd sAnim_Pikachu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -290,7 +289,7 @@ static const union AnimCmd sAnim_PIKACHU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAICHU_1[] = +static const union AnimCmd sAnim_Raichu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -300,7 +299,7 @@ static const union AnimCmd sAnim_RAICHU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAICHU_2[] = +static const union AnimCmd sAnim_Raichu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -309,7 +308,7 @@ static const union AnimCmd sAnim_RAICHU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSHREW_1[] = +static const union AnimCmd sAnim_Sandshrew_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -319,7 +318,7 @@ static const union AnimCmd sAnim_SANDSHREW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSHREW_2[] = +static const union AnimCmd sAnim_Sandshrew_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -328,7 +327,7 @@ static const union AnimCmd sAnim_SANDSHREW_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSLASH_1[] = +static const union AnimCmd sAnim_Sandslash_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -338,7 +337,7 @@ static const union AnimCmd sAnim_SANDSLASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSLASH_2[] = +static const union AnimCmd sAnim_Sandslash_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -347,7 +346,7 @@ static const union AnimCmd sAnim_SANDSLASH_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORAN_F_1[] = +static const union AnimCmd sAnim_NidoranF_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -361,21 +360,21 @@ static const union AnimCmd sAnim_NIDORAN_F_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORINA_1[] = +static const union AnimCmd sAnim_Nidorina_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDOQUEEN_1[] = +static const union AnimCmd sAnim_Nidoqueen_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORAN_M_1[] = +static const union AnimCmd sAnim_NidoranM_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -383,7 +382,7 @@ static const union AnimCmd sAnim_NIDORAN_M_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORINO_1[] = +static const union AnimCmd sAnim_Nidorino_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -391,7 +390,7 @@ static const union AnimCmd sAnim_NIDORINO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDOKING_1[] = +static const union AnimCmd sAnim_Nidoking_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -400,7 +399,7 @@ static const union AnimCmd sAnim_NIDOKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLEFAIRY_1[] = +static const union AnimCmd sAnim_Clefairy_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -408,7 +407,7 @@ static const union AnimCmd sAnim_CLEFAIRY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLEFABLE_1[] = +static const union AnimCmd sAnim_Clefable_1[] = { ANIMCMD_FRAME(1, 27), ANIMCMD_FRAME(0, 27), @@ -419,7 +418,7 @@ static const union AnimCmd sAnim_CLEFABLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VULPIX_1[] = +static const union AnimCmd sAnim_Vulpix_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -429,7 +428,7 @@ static const union AnimCmd sAnim_VULPIX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VULPIX_2[] = +static const union AnimCmd sAnim_Vulpix_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -438,7 +437,7 @@ static const union AnimCmd sAnim_VULPIX_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINETALES_1[] = +static const union AnimCmd sAnim_Ninetales_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -448,7 +447,7 @@ static const union AnimCmd sAnim_NINETALES_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINETALES_2[] = +static const union AnimCmd sAnim_Ninetales_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -457,7 +456,7 @@ static const union AnimCmd sAnim_NINETALES_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIGGLYPUFF_1[] = +static const union AnimCmd sAnim_Jigglypuff_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -467,7 +466,7 @@ static const union AnimCmd sAnim_JIGGLYPUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIGGLYPUFF_2[] = +static const union AnimCmd sAnim_Jigglypuff_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -476,7 +475,7 @@ static const union AnimCmd sAnim_JIGGLYPUFF_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WIGGLYTUFF_1[] = +static const union AnimCmd sAnim_Wigglytuff_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -486,7 +485,7 @@ static const union AnimCmd sAnim_WIGGLYTUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WIGGLYTUFF_2[] = +static const union AnimCmd sAnim_Wigglytuff_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -495,7 +494,7 @@ static const union AnimCmd sAnim_WIGGLYTUFF_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZUBAT_1[] = +static const union AnimCmd sAnim_Zubat_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -513,7 +512,7 @@ static const union AnimCmd sAnim_ZUBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLBAT_1[] = +static const union AnimCmd sAnim_Golbat_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -537,7 +536,7 @@ static const union AnimCmd sAnim_GOLBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ODDISH_1[] = +static const union AnimCmd sAnim_Oddish_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -549,7 +548,7 @@ static const union AnimCmd sAnim_ODDISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLOOM_1[] = +static const union AnimCmd sAnim_Gloom_1[] = { ANIMCMD_FRAME(0, 21), ANIMCMD_FRAME(1, 45), @@ -558,7 +557,7 @@ static const union AnimCmd sAnim_GLOOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VILEPLUME_1[] = +static const union AnimCmd sAnim_Vileplume_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -568,7 +567,7 @@ static const union AnimCmd sAnim_VILEPLUME_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PARAS_1[] = +static const union AnimCmd sAnim_Paras_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -589,7 +588,7 @@ static const union AnimCmd sAnim_PARAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PARASECT_1[] = +static const union AnimCmd sAnim_Parasect_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -600,7 +599,7 @@ static const union AnimCmd sAnim_PARASECT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENONAT_1[] = +static const union AnimCmd sAnim_Venonat_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -611,7 +610,7 @@ static const union AnimCmd sAnim_VENONAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENOMOTH_1[] = +static const union AnimCmd sAnim_Venomoth_1[] = { ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(0, 4), @@ -638,7 +637,7 @@ static const union AnimCmd sAnim_VENOMOTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DIGLETT_1[] = +static const union AnimCmd sAnim_Diglett_1[] = { ANIMCMD_FRAME(0, 25), ANIMCMD_FRAME(1, 35), @@ -646,7 +645,7 @@ static const union AnimCmd sAnim_DIGLETT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUGTRIO_1[] = +static const union AnimCmd sAnim_Dugtrio_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), @@ -661,7 +660,7 @@ static const union AnimCmd sAnim_DUGTRIO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEOWTH_1[] = +static const union AnimCmd sAnim_Meowth_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -672,14 +671,14 @@ static const union AnimCmd sAnim_MEOWTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PERSIAN_1[] = +static const union AnimCmd sAnim_Persian_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_PSYDUCK_1[] = +static const union AnimCmd sAnim_Psyduck_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -689,7 +688,7 @@ static const union AnimCmd sAnim_PSYDUCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PSYDUCK_2[] = +static const union AnimCmd sAnim_Psyduck_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -698,7 +697,7 @@ static const union AnimCmd sAnim_PSYDUCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLDUCK_1[] = +static const union AnimCmd sAnim_Golduck_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -708,7 +707,7 @@ static const union AnimCmd sAnim_GOLDUCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLDUCK_2[] = +static const union AnimCmd sAnim_Golduck_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -717,7 +716,7 @@ static const union AnimCmd sAnim_GOLDUCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANKEY_1[] = +static const union AnimCmd sAnim_Mankey_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -728,7 +727,7 @@ static const union AnimCmd sAnim_MANKEY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PRIMEAPE_1[] = +static const union AnimCmd sAnim_Primeape_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -739,7 +738,7 @@ static const union AnimCmd sAnim_PRIMEAPE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROWLITHE_1[] = +static const union AnimCmd sAnim_Growlithe_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -750,7 +749,7 @@ static const union AnimCmd sAnim_GROWLITHE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCANINE_1[] = +static const union AnimCmd sAnim_Arcanine_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -758,9 +757,10 @@ static const union AnimCmd sAnim_ARCANINE_1[] = ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), - ANIMCMD_END,}; + ANIMCMD_END, +}; -static const union AnimCmd sAnim_POLIWAG_1[] = +static const union AnimCmd sAnim_Poliwag_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -768,7 +768,7 @@ static const union AnimCmd sAnim_POLIWAG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POLIWHIRL_1[] = +static const union AnimCmd sAnim_Poliwhirl_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -778,14 +778,14 @@ static const union AnimCmd sAnim_POLIWHIRL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POLIWRATH_1[] = +static const union AnimCmd sAnim_Poliwrath_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_ABRA_1[] = +static const union AnimCmd sAnim_Abra_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -795,7 +795,7 @@ static const union AnimCmd sAnim_ABRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KADABRA_1[] = +static const union AnimCmd sAnim_Kadabra_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -803,7 +803,7 @@ static const union AnimCmd sAnim_KADABRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALAKAZAM_1[] = +static const union AnimCmd sAnim_Alakazam_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 54), @@ -811,7 +811,7 @@ static const union AnimCmd sAnim_ALAKAZAM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MACHOP_1[] = +static const union AnimCmd sAnim_Machop_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -823,7 +823,7 @@ static const union AnimCmd sAnim_MACHOP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MACHOKE_1[] = +static const union AnimCmd sAnim_Machoke_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -831,7 +831,7 @@ static const union AnimCmd sAnim_MACHOKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MACHAMP_1[] = +static const union AnimCmd sAnim_Machamp_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -843,7 +843,7 @@ static const union AnimCmd sAnim_MACHAMP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BELLSPROUT_1[] = +static const union AnimCmd sAnim_Bellsprout_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -851,7 +851,7 @@ static const union AnimCmd sAnim_BELLSPROUT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEPINBELL_1[] = +static const union AnimCmd sAnim_Weepinbell_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -863,7 +863,7 @@ static const union AnimCmd sAnim_WEEPINBELL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VICTREEBEL_1[] = +static const union AnimCmd sAnim_Victreebel_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -875,7 +875,7 @@ static const union AnimCmd sAnim_VICTREEBEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TENTACOOL_1[] = +static const union AnimCmd sAnim_Tentacool_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 15), @@ -885,7 +885,7 @@ static const union AnimCmd sAnim_TENTACOOL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TENTACRUEL_1[] = +static const union AnimCmd sAnim_Tentacruel_1[] = { ANIMCMD_FRAME(0, 19), ANIMCMD_FRAME(1, 35), @@ -895,7 +895,7 @@ static const union AnimCmd sAnim_TENTACRUEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GEODUDE_1[] = +static const union AnimCmd sAnim_Geodude_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 36), @@ -903,7 +903,7 @@ static const union AnimCmd sAnim_GEODUDE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRAVELER_1[] = +static const union AnimCmd sAnim_Graveler_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -913,7 +913,7 @@ static const union AnimCmd sAnim_GRAVELER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLEM_1[] = +static const union AnimCmd sAnim_Golem_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 31), @@ -923,14 +923,14 @@ static const union AnimCmd sAnim_GOLEM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PONYTA_1[] = +static const union AnimCmd sAnim_Ponyta_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAPIDASH_1[] = +static const union AnimCmd sAnim_Rapidash_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 40), @@ -938,7 +938,7 @@ static const union AnimCmd sAnim_RAPIDASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWPOKE_1[] = +static const union AnimCmd sAnim_Slowpoke_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 50), @@ -946,7 +946,7 @@ static const union AnimCmd sAnim_SLOWPOKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWBRO_1[] = +static const union AnimCmd sAnim_Slowbro_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 45), @@ -954,7 +954,7 @@ static const union AnimCmd sAnim_SLOWBRO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGNEMITE_1[] = +static const union AnimCmd sAnim_Magnemite_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 28), @@ -964,7 +964,7 @@ static const union AnimCmd sAnim_MAGNEMITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGNETON_1[] = +static const union AnimCmd sAnim_Magneton_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -976,7 +976,7 @@ static const union AnimCmd sAnim_MAGNETON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FARFETCHD_1[] = +static const union AnimCmd sAnim_Farfetchd_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -993,7 +993,7 @@ static const union AnimCmd sAnim_FARFETCHD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DODUO_1[] = +static const union AnimCmd sAnim_Doduo_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -1003,7 +1003,7 @@ static const union AnimCmd sAnim_DODUO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DODRIO_1[] = +static const union AnimCmd sAnim_Dodrio_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -1017,7 +1017,7 @@ static const union AnimCmd sAnim_DODRIO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEEL_1[] = +static const union AnimCmd sAnim_Seel_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1030,7 +1030,7 @@ static const union AnimCmd sAnim_SEEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEWGONG_1[] = +static const union AnimCmd sAnim_Dewgong_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1038,7 +1038,7 @@ static const union AnimCmd sAnim_DEWGONG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMER_1[] = +static const union AnimCmd sAnim_Grimer_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1048,7 +1048,7 @@ static const union AnimCmd sAnim_GRIMER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMER_2[] = +static const union AnimCmd sAnim_Grimer_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1057,7 +1057,7 @@ static const union AnimCmd sAnim_GRIMER_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MUK_1[] = +static const union AnimCmd sAnim_Muk_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1067,7 +1067,7 @@ static const union AnimCmd sAnim_MUK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MUK_2[] = +static const union AnimCmd sAnim_Muk_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1076,7 +1076,7 @@ static const union AnimCmd sAnim_MUK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHELLDER_1[] = +static const union AnimCmd sAnim_Shellder_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1085,7 +1085,7 @@ static const union AnimCmd sAnim_SHELLDER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLOYSTER_1[] = +static const union AnimCmd sAnim_Cloyster_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1106,7 +1106,7 @@ static const union AnimCmd sAnim_CLOYSTER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GASTLY_1[] = +static const union AnimCmd sAnim_Gastly_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1114,7 +1114,7 @@ static const union AnimCmd sAnim_GASTLY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HAUNTER_1[] = +static const union AnimCmd sAnim_Haunter_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 15), @@ -1124,7 +1124,7 @@ static const union AnimCmd sAnim_HAUNTER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GENGAR_1[] = +static const union AnimCmd sAnim_Gengar_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1132,7 +1132,7 @@ static const union AnimCmd sAnim_GENGAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ONIX_1[] = +static const union AnimCmd sAnim_Onix_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1140,7 +1140,7 @@ static const union AnimCmd sAnim_ONIX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DROWZEE_1[] = +static const union AnimCmd sAnim_Drowzee_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -1151,7 +1151,7 @@ static const union AnimCmd sAnim_DROWZEE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HYPNO_1[] = +static const union AnimCmd sAnim_Hypno_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1163,7 +1163,7 @@ static const union AnimCmd sAnim_HYPNO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KRABBY_1[] = +static const union AnimCmd sAnim_Krabby_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1174,7 +1174,7 @@ static const union AnimCmd sAnim_KRABBY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KINGLER_1[] = +static const union AnimCmd sAnim_Kingler_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -1188,7 +1188,7 @@ static const union AnimCmd sAnim_KINGLER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLTORB_1[] = +static const union AnimCmd sAnim_Voltorb_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 25), @@ -1198,7 +1198,7 @@ static const union AnimCmd sAnim_VOLTORB_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTRODE_1[] = +static const union AnimCmd sAnim_Electrode_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 30), @@ -1208,7 +1208,7 @@ static const union AnimCmd sAnim_ELECTRODE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXEGGCUTE_1[] = +static const union AnimCmd sAnim_Exeggcute_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1222,14 +1222,14 @@ static const union AnimCmd sAnim_EXEGGCUTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXEGGUTOR_1[] = +static const union AnimCmd sAnim_Exeggutor_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), - ANIMCMD_END,}; + ANIMCMD_END, +}; - -static const union AnimCmd sAnim_CUBONE_1[] = +static const union AnimCmd sAnim_Cubone_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1240,7 +1240,7 @@ static const union AnimCmd sAnim_CUBONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAROWAK_1[] = +static const union AnimCmd sAnim_Marowak_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1251,14 +1251,14 @@ static const union AnimCmd sAnim_MAROWAK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HITMONLEE_1[] = +static const union AnimCmd sAnim_Hitmonlee_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HITMONCHAN_1[] = +static const union AnimCmd sAnim_Hitmonchan_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1271,7 +1271,7 @@ static const union AnimCmd sAnim_HITMONCHAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LICKITUNG_1[] = +static const union AnimCmd sAnim_Lickitung_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 32), @@ -1279,7 +1279,7 @@ static const union AnimCmd sAnim_LICKITUNG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KOFFING_1[] = +static const union AnimCmd sAnim_Koffing_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1289,7 +1289,7 @@ static const union AnimCmd sAnim_KOFFING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KOFFING_2[] = +static const union AnimCmd sAnim_Koffing_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1298,7 +1298,7 @@ static const union AnimCmd sAnim_KOFFING_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEZING_1[] = +static const union AnimCmd sAnim_Weezing_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1308,7 +1308,7 @@ static const union AnimCmd sAnim_WEEZING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEZING_2[] = +static const union AnimCmd sAnim_Weezing_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1317,7 +1317,7 @@ static const union AnimCmd sAnim_WEEZING_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYHORN_1[] = +static const union AnimCmd sAnim_Rhyhorn_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1327,7 +1327,7 @@ static const union AnimCmd sAnim_RHYHORN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYHORN_2[] = +static const union AnimCmd sAnim_Rhyhorn_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1336,7 +1336,7 @@ static const union AnimCmd sAnim_RHYHORN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYDON_1[] = +static const union AnimCmd sAnim_Rhydon_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1346,7 +1346,7 @@ static const union AnimCmd sAnim_RHYDON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYDON_2[] = +static const union AnimCmd sAnim_Rhydon_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1355,7 +1355,7 @@ static const union AnimCmd sAnim_RHYDON_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHANSEY_1[] = +static const union AnimCmd sAnim_Chansey_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1363,7 +1363,7 @@ static const union AnimCmd sAnim_CHANSEY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TANGELA_1[] = +static const union AnimCmd sAnim_Tangela_1[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_FRAME(0, 9), @@ -1378,7 +1378,7 @@ static const union AnimCmd sAnim_TANGELA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KANGASKHAN_1[] = +static const union AnimCmd sAnim_Kangaskhan_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1387,7 +1387,7 @@ static const union AnimCmd sAnim_KANGASKHAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HORSEA_1[] = +static const union AnimCmd sAnim_Horsea_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1397,7 +1397,7 @@ static const union AnimCmd sAnim_HORSEA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HORSEA_2[] = +static const union AnimCmd sAnim_Horsea_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1406,7 +1406,7 @@ static const union AnimCmd sAnim_HORSEA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEADRA_1[] = +static const union AnimCmd sAnim_Seadra_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1416,7 +1416,7 @@ static const union AnimCmd sAnim_SEADRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEADRA_2[] = +static const union AnimCmd sAnim_Seadra_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1425,7 +1425,7 @@ static const union AnimCmd sAnim_SEADRA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLDEEN_1[] = +static const union AnimCmd sAnim_Goldeen_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -1439,7 +1439,7 @@ static const union AnimCmd sAnim_GOLDEEN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEAKING_1[] = +static const union AnimCmd sAnim_Seaking_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -1449,7 +1449,7 @@ static const union AnimCmd sAnim_SEAKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARYU_1[] = +static const union AnimCmd sAnim_Staryu_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1459,7 +1459,7 @@ static const union AnimCmd sAnim_STARYU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARYU_2[] = +static const union AnimCmd sAnim_Staryu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1468,7 +1468,7 @@ static const union AnimCmd sAnim_STARYU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARMIE_1[] = +static const union AnimCmd sAnim_Starmie_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1478,7 +1478,7 @@ static const union AnimCmd sAnim_STARMIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARMIE_2[] = +static const union AnimCmd sAnim_Starmie_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1487,7 +1487,7 @@ static const union AnimCmd sAnim_STARMIE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MR_MIME_1[] = +static const union AnimCmd sAnim_MrMime_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1498,7 +1498,7 @@ static const union AnimCmd sAnim_MR_MIME_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCYTHER_1[] = +static const union AnimCmd sAnim_Scyther_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1511,7 +1511,7 @@ static const union AnimCmd sAnim_SCYTHER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JYNX_1[] = +static const union AnimCmd sAnim_Jynx_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), @@ -1521,7 +1521,7 @@ static const union AnimCmd sAnim_JYNX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTABUZZ_1[] = +static const union AnimCmd sAnim_Electabuzz_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1530,14 +1530,14 @@ static const union AnimCmd sAnim_ELECTABUZZ_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGMAR_1[] = +static const union AnimCmd sAnim_Magmar_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PINSIR_1[] = +static const union AnimCmd sAnim_Pinsir_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1547,7 +1547,7 @@ static const union AnimCmd sAnim_PINSIR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PINSIR_2[] = +static const union AnimCmd sAnim_Pinsir_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1556,7 +1556,7 @@ static const union AnimCmd sAnim_PINSIR_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAUROS_1[] = +static const union AnimCmd sAnim_Tauros_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -1565,7 +1565,7 @@ static const union AnimCmd sAnim_TAUROS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGIKARP_1[] = +static const union AnimCmd sAnim_Magikarp_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -1579,7 +1579,7 @@ static const union AnimCmd sAnim_MAGIKARP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GYARADOS_1[] = +static const union AnimCmd sAnim_Gyarados_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 32), @@ -1587,14 +1587,14 @@ static const union AnimCmd sAnim_GYARADOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LAPRAS_1[] = +static const union AnimCmd sAnim_Lapras_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_DITTO_1[] = +static const union AnimCmd sAnim_Ditto_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1603,35 +1603,35 @@ static const union AnimCmd sAnim_DITTO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EEVEE_1[] = +static const union AnimCmd sAnim_Eevee_1[] = { ANIMCMD_FRAME(1, 33), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_VAPOREON_1[] = +static const union AnimCmd sAnim_Vaporeon_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_JOLTEON_1[] = +static const union AnimCmd sAnim_Jolteon_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLAREON_1[] = +static const union AnimCmd sAnim_Flareon_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_PORYGON_1[] = +static const union AnimCmd sAnim_Porygon_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1640,7 +1640,7 @@ static const union AnimCmd sAnim_PORYGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OMANYTE_1[] = +static const union AnimCmd sAnim_Omanyte_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1653,7 +1653,7 @@ static const union AnimCmd sAnim_OMANYTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OMASTAR_1[] = +static const union AnimCmd sAnim_Omastar_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1662,7 +1662,7 @@ static const union AnimCmd sAnim_OMASTAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KABUTO_1[] = +static const union AnimCmd sAnim_Kabuto_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1675,7 +1675,7 @@ static const union AnimCmd sAnim_KABUTO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KABUTOPS_1[] = +static const union AnimCmd sAnim_Kabutops_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1684,7 +1684,7 @@ static const union AnimCmd sAnim_KABUTOPS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AERODACTYL_1[] = +static const union AnimCmd sAnim_Aerodactyl_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 25), @@ -1693,7 +1693,7 @@ static const union AnimCmd sAnim_AERODACTYL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNORLAX_1[] = +static const union AnimCmd sAnim_Snorlax_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -1701,7 +1701,7 @@ static const union AnimCmd sAnim_SNORLAX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARTICUNO_1[] = +static const union AnimCmd sAnim_Articuno_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 15), @@ -1710,7 +1710,7 @@ static const union AnimCmd sAnim_ARTICUNO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZAPDOS_1[] = +static const union AnimCmd sAnim_Zapdos_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1719,7 +1719,7 @@ static const union AnimCmd sAnim_ZAPDOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MOLTRES_1[] = +static const union AnimCmd sAnim_Moltres_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1756,7 +1756,7 @@ static const union AnimCmd sAnim_MOLTRES_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRATINI_1[] = +static const union AnimCmd sAnim_Dratini_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1764,7 +1764,7 @@ static const union AnimCmd sAnim_DRATINI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGONAIR_1[] = +static const union AnimCmd sAnim_Dragonair_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1773,7 +1773,7 @@ static const union AnimCmd sAnim_DRAGONAIR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGONITE_1[] = +static const union AnimCmd sAnim_Dragonite_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1781,14 +1781,14 @@ static const union AnimCmd sAnim_DRAGONITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEWTWO_1[] = +static const union AnimCmd sAnim_Mewtwo_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEW_1[] = +static const union AnimCmd sAnim_Mew_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1796,29 +1796,29 @@ static const union AnimCmd sAnim_MEW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHIKORITA_1[] = +static const union AnimCmd sAnim_Chikorita_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), - ANIMCMD_END,}; + ANIMCMD_END, +}; - -static const union AnimCmd sAnim_BAYLEEF_1[] = +static const union AnimCmd sAnim_Bayleef_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEGANIUM_1[] = +static const union AnimCmd sAnim_Meganium_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_CYNDAQUIL_1[] = +static const union AnimCmd sAnim_Cyndaquil_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1827,21 +1827,21 @@ static const union AnimCmd sAnim_CYNDAQUIL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_QUILAVA_1[] = +static const union AnimCmd sAnim_Quilava_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYPHLOSION_1[] = +static const union AnimCmd sAnim_Typhlosion_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOTODILE_1[] = +static const union AnimCmd sAnim_Totodile_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1852,14 +1852,14 @@ static const union AnimCmd sAnim_TOTODILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CROCONAW_1[] = +static const union AnimCmd sAnim_Croconaw_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_FERALIGATR_1[] = +static const union AnimCmd sAnim_Feraligatr_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1868,7 +1868,7 @@ static const union AnimCmd sAnim_FERALIGATR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SENTRET_1[] = +static const union AnimCmd sAnim_Sentret_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1877,14 +1877,14 @@ static const union AnimCmd sAnim_SENTRET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FURRET_1[] = +static const union AnimCmd sAnim_Furret_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_HOOTHOOT_1[] = +static const union AnimCmd sAnim_Hoothoot_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -1901,14 +1901,14 @@ static const union AnimCmd sAnim_HOOTHOOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NOCTOWL_1[] = +static const union AnimCmd sAnim_Noctowl_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_LEDYBA_1[] = +static const union AnimCmd sAnim_Ledyba_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1917,7 +1917,7 @@ static const union AnimCmd sAnim_LEDYBA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LEDIAN_1[] = +static const union AnimCmd sAnim_Ledian_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1948,7 +1948,7 @@ static const union AnimCmd sAnim_LEDIAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPINARAK_1[] = +static const union AnimCmd sAnim_Spinarak_1[] = { ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 6), @@ -1961,7 +1961,7 @@ static const union AnimCmd sAnim_SPINARAK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARIADOS_1[] = +static const union AnimCmd sAnim_Ariados_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1970,7 +1970,7 @@ static const union AnimCmd sAnim_ARIADOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CROBAT_1[] = +static const union AnimCmd sAnim_Crobat_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -1992,7 +1992,7 @@ static const union AnimCmd sAnim_CROBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHINCHOU_1[] = +static const union AnimCmd sAnim_Chinchou_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2002,7 +2002,7 @@ static const union AnimCmd sAnim_CHINCHOU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHINCHOU_2[] = +static const union AnimCmd sAnim_Chinchou_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2011,7 +2011,7 @@ static const union AnimCmd sAnim_CHINCHOU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LANTURN_1[] = +static const union AnimCmd sAnim_Lanturn_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2021,7 +2021,7 @@ static const union AnimCmd sAnim_LANTURN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LANTURN_2[] = +static const union AnimCmd sAnim_Lanturn_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2030,7 +2030,7 @@ static const union AnimCmd sAnim_LANTURN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PICHU_1[] = +static const union AnimCmd sAnim_Pichu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2040,7 +2040,7 @@ static const union AnimCmd sAnim_PICHU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PICHU_2[] = +static const union AnimCmd sAnim_Pichu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2049,7 +2049,7 @@ static const union AnimCmd sAnim_PICHU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLEFFA_1[] = +static const union AnimCmd sAnim_Cleffa_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2058,7 +2058,7 @@ static const union AnimCmd sAnim_CLEFFA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_IGGLYBUFF_1[] = +static const union AnimCmd sAnim_Igglybuff_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2068,7 +2068,7 @@ static const union AnimCmd sAnim_IGGLYBUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_IGGLYBUFF_2[] = +static const union AnimCmd sAnim_Igglybuff_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2077,7 +2077,7 @@ static const union AnimCmd sAnim_IGGLYBUFF_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TOGEPI_1[] = +static const union AnimCmd sAnim_Togepi_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2085,7 +2085,7 @@ static const union AnimCmd sAnim_TOGEPI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TOGETIC_1[] = +static const union AnimCmd sAnim_Togetic_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2093,7 +2093,7 @@ static const union AnimCmd sAnim_TOGETIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NATU_1[] = +static const union AnimCmd sAnim_Natu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2103,7 +2103,7 @@ static const union AnimCmd sAnim_NATU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NATU_2[] = +static const union AnimCmd sAnim_Natu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2112,7 +2112,7 @@ static const union AnimCmd sAnim_NATU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_XATU_1[] = +static const union AnimCmd sAnim_Xatu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 45), @@ -2124,7 +2124,7 @@ static const union AnimCmd sAnim_XATU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_XATU_2[] = +static const union AnimCmd sAnim_Xatu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2133,7 +2133,7 @@ static const union AnimCmd sAnim_XATU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAREEP_1[] = +static const union AnimCmd sAnim_Mareep_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2144,7 +2144,7 @@ static const union AnimCmd sAnim_MAREEP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLAAFFY_1[] = +static const union AnimCmd sAnim_Flaaffy_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2153,7 +2153,7 @@ static const union AnimCmd sAnim_FLAAFFY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AMPHAROS_1[] = +static const union AnimCmd sAnim_Ampharos_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 15), @@ -2161,7 +2161,7 @@ static const union AnimCmd sAnim_AMPHAROS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BELLOSSOM_1[] = +static const union AnimCmd sAnim_Bellossom_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2173,7 +2173,7 @@ static const union AnimCmd sAnim_BELLOSSOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MARILL_1[] = +static const union AnimCmd sAnim_Marill_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -2183,7 +2183,7 @@ static const union AnimCmd sAnim_MARILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AZUMARILL_1[] = +static const union AnimCmd sAnim_Azumarill_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2193,7 +2193,7 @@ static const union AnimCmd sAnim_AZUMARILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SUDOWOODO_1[] = +static const union AnimCmd sAnim_Sudowoodo_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -2204,7 +2204,7 @@ static const union AnimCmd sAnim_SUDOWOODO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POLITOED_1[] = +static const union AnimCmd sAnim_Politoed_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2215,7 +2215,7 @@ static const union AnimCmd sAnim_POLITOED_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HOPPIP_1[] = +static const union AnimCmd sAnim_Hoppip_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -2224,7 +2224,7 @@ static const union AnimCmd sAnim_HOPPIP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKIPLOOM_1[] = +static const union AnimCmd sAnim_Skiploom_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2237,7 +2237,7 @@ static const union AnimCmd sAnim_SKIPLOOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JUMPLUFF_1[] = +static const union AnimCmd sAnim_Jumpluff_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 25), @@ -2248,14 +2248,14 @@ static const union AnimCmd sAnim_JUMPLUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AIPOM_1[] = +static const union AnimCmd sAnim_Aipom_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_SUNKERN_1[] = +static const union AnimCmd sAnim_Sunkern_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2264,7 +2264,7 @@ static const union AnimCmd sAnim_SUNKERN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SUNFLORA_1[] = +static const union AnimCmd sAnim_Sunflora_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2272,7 +2272,7 @@ static const union AnimCmd sAnim_SUNFLORA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_YANMA_1[] = +static const union AnimCmd sAnim_Yanma_1[] = { ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 2), @@ -2299,7 +2299,7 @@ static const union AnimCmd sAnim_YANMA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOOPER_1[] = +static const union AnimCmd sAnim_Wooper_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2307,14 +2307,14 @@ static const union AnimCmd sAnim_WOOPER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_QUAGSIRE_1[] = +static const union AnimCmd sAnim_Quagsire_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_ESPEON_1[] = +static const union AnimCmd sAnim_Espeon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -2322,21 +2322,21 @@ static const union AnimCmd sAnim_ESPEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UMBREON_1[] = +static const union AnimCmd sAnim_Umbreon_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MURKROW_1[] = +static const union AnimCmd sAnim_Murkrow_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWKING_1[] = +static const union AnimCmd sAnim_Slowking_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2344,7 +2344,7 @@ static const union AnimCmd sAnim_SLOWKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MISDREAVUS_1[] = +static const union AnimCmd sAnim_Misdreavus_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2359,7 +2359,7 @@ static const union AnimCmd sAnim_MISDREAVUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_1[] = +static const union AnimCmd sAnim_Unown_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2367,7 +2367,7 @@ static const union AnimCmd sAnim_UNOWN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOBBUFFET_1[] = +static const union AnimCmd sAnim_Wobbuffet_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2377,7 +2377,7 @@ static const union AnimCmd sAnim_WOBBUFFET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOBBUFFET_2[] = +static const union AnimCmd sAnim_Wobbuffet_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2386,7 +2386,7 @@ static const union AnimCmd sAnim_WOBBUFFET_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRAFARIG_1[] = +static const union AnimCmd sAnim_Girafarig_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2398,7 +2398,7 @@ static const union AnimCmd sAnim_GIRAFARIG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRAFARIG_2[] = +static const union AnimCmd sAnim_Girafarig_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2407,7 +2407,7 @@ static const union AnimCmd sAnim_GIRAFARIG_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PINECO_1[] = +static const union AnimCmd sAnim_Pineco_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2420,7 +2420,7 @@ static const union AnimCmd sAnim_PINECO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FORRETRESS_1[] = +static const union AnimCmd sAnim_Forretress_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2429,7 +2429,7 @@ static const union AnimCmd sAnim_FORRETRESS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUNSPARCE_1[] = +static const union AnimCmd sAnim_Dunsparce_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -2438,14 +2438,14 @@ static const union AnimCmd sAnim_DUNSPARCE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLIGAR_1[] = +static const union AnimCmd sAnim_Gligar_1[] = { ANIMCMD_FRAME(1, 17), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_STEELIX_1[] = +static const union AnimCmd sAnim_Steelix_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 8), @@ -2456,21 +2456,21 @@ static const union AnimCmd sAnim_STEELIX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNUBBULL_1[] = +static const union AnimCmd sAnim_Snubbull_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRANBULL_1[] = +static const union AnimCmd sAnim_Granbull_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_QWILFISH_1[] = +static const union AnimCmd sAnim_Qwilfish_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2482,14 +2482,14 @@ static const union AnimCmd sAnim_QWILFISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCIZOR_1[] = +static const union AnimCmd sAnim_Scizor_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHUCKLE_1[] = +static const union AnimCmd sAnim_Shuckle_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2497,7 +2497,7 @@ static const union AnimCmd sAnim_SHUCKLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HERACROSS_1[] = +static const union AnimCmd sAnim_Heracross_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2507,7 +2507,7 @@ static const union AnimCmd sAnim_HERACROSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HERACROSS_2[] = +static const union AnimCmd sAnim_Heracross_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2516,28 +2516,28 @@ static const union AnimCmd sAnim_HERACROSS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNEASEL_1[] = +static const union AnimCmd sAnim_Sneasel_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_TEDDIURSA_1[] = +static const union AnimCmd sAnim_Teddiursa_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_URSARING_1[] = +static const union AnimCmd sAnim_Ursaring_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLUGMA_1[] = +static const union AnimCmd sAnim_Slugma_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2547,7 +2547,7 @@ static const union AnimCmd sAnim_SLUGMA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLUGMA_2[] = +static const union AnimCmd sAnim_Slugma_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2556,7 +2556,7 @@ static const union AnimCmd sAnim_SLUGMA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGCARGO_1[] = +static const union AnimCmd sAnim_Magcargo_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2566,7 +2566,7 @@ static const union AnimCmd sAnim_MAGCARGO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGCARGO_2[] = +static const union AnimCmd sAnim_Magcargo_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2575,7 +2575,7 @@ static const union AnimCmd sAnim_MAGCARGO_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWINUB_1[] = +static const union AnimCmd sAnim_Swinub_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2584,7 +2584,7 @@ static const union AnimCmd sAnim_SWINUB_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PILOSWINE_1[] = +static const union AnimCmd sAnim_Piloswine_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2593,7 +2593,7 @@ static const union AnimCmd sAnim_PILOSWINE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CORSOLA_1[] = +static const union AnimCmd sAnim_Corsola_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2603,7 +2603,7 @@ static const union AnimCmd sAnim_CORSOLA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CORSOLA_2[] = +static const union AnimCmd sAnim_Corsola_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2612,7 +2612,7 @@ static const union AnimCmd sAnim_CORSOLA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REMORAID_1[] = +static const union AnimCmd sAnim_Remoraid_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2621,7 +2621,7 @@ static const union AnimCmd sAnim_REMORAID_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OCTILLERY_1[] = +static const union AnimCmd sAnim_Octillery_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2630,7 +2630,7 @@ static const union AnimCmd sAnim_OCTILLERY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DELIBIRD_1[] = +static const union AnimCmd sAnim_Delibird_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2639,7 +2639,7 @@ static const union AnimCmd sAnim_DELIBIRD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANTINE_1[] = +static const union AnimCmd sAnim_Mantine_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2648,7 +2648,7 @@ static const union AnimCmd sAnim_MANTINE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKARMORY_1[] = +static const union AnimCmd sAnim_Skarmory_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2658,7 +2658,7 @@ static const union AnimCmd sAnim_SKARMORY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKARMORY_2[] = +static const union AnimCmd sAnim_Skarmory_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2667,7 +2667,7 @@ static const union AnimCmd sAnim_SKARMORY_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HOUNDOUR_1[] = +static const union AnimCmd sAnim_Houndour_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2676,14 +2676,14 @@ static const union AnimCmd sAnim_HOUNDOUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HOUNDOOM_1[] = +static const union AnimCmd sAnim_Houndoom_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_KINGDRA_1[] = +static const union AnimCmd sAnim_Kingdra_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2693,7 +2693,7 @@ static const union AnimCmd sAnim_KINGDRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KINGDRA_2[] = +static const union AnimCmd sAnim_Kingdra_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2702,7 +2702,7 @@ static const union AnimCmd sAnim_KINGDRA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PHANPY_1[] = +static const union AnimCmd sAnim_Phanpy_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2714,7 +2714,7 @@ static const union AnimCmd sAnim_PHANPY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PHANPY_2[] = +static const union AnimCmd sAnim_Phanpy_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2723,7 +2723,7 @@ static const union AnimCmd sAnim_PHANPY_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DONPHAN_1[] = +static const union AnimCmd sAnim_Donphan_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2735,7 +2735,7 @@ static const union AnimCmd sAnim_DONPHAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DONPHAN_2[] = +static const union AnimCmd sAnim_Donphan_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2744,7 +2744,7 @@ static const union AnimCmd sAnim_DONPHAN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PORYGON2_1[] = +static const union AnimCmd sAnim_Porygon2_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2754,14 +2754,14 @@ static const union AnimCmd sAnim_PORYGON2_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STANTLER_1[] = +static const union AnimCmd sAnim_Stantler_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SMEARGLE_1[] = +static const union AnimCmd sAnim_Smeargle_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2770,14 +2770,14 @@ static const union AnimCmd sAnim_SMEARGLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TYROGUE_1[] = +static const union AnimCmd sAnim_Tyrogue_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HITMONTOP_1[] = +static const union AnimCmd sAnim_Hitmontop_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -2793,7 +2793,7 @@ static const union AnimCmd sAnim_HITMONTOP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SMOOCHUM_1[] = +static const union AnimCmd sAnim_Smoochum_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2804,7 +2804,7 @@ static const union AnimCmd sAnim_SMOOCHUM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELEKID_1[] = +static const union AnimCmd sAnim_Elekid_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 5), @@ -2812,7 +2812,7 @@ static const union AnimCmd sAnim_ELEKID_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGBY_1[] = +static const union AnimCmd sAnim_Magby_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2824,21 +2824,21 @@ static const union AnimCmd sAnim_MAGBY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MILTANK_1[] = +static const union AnimCmd sAnim_Miltank_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLISSEY_1[] = +static const union AnimCmd sAnim_Blissey_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAIKOU_1[] = +static const union AnimCmd sAnim_Raikou_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2847,21 +2847,21 @@ static const union AnimCmd sAnim_RAIKOU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ENTEI_1[] = +static const union AnimCmd sAnim_Entei_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SUICUNE_1[] = +static const union AnimCmd sAnim_Suicune_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_LARVITAR_1[] = +static const union AnimCmd sAnim_Larvitar_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2870,14 +2870,14 @@ static const union AnimCmd sAnim_LARVITAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PUPITAR_1[] = +static const union AnimCmd sAnim_Pupitar_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYRANITAR_1[] = +static const union AnimCmd sAnim_Tyranitar_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -2886,21 +2886,21 @@ static const union AnimCmd sAnim_TYRANITAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUGIA_1[] = +static const union AnimCmd sAnim_Lugia_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_HO_OH_1[] = +static const union AnimCmd sAnim_HoOh_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_CELEBI_1[] = +static const union AnimCmd sAnim_Celebi_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2909,7 +2909,7 @@ static const union AnimCmd sAnim_CELEBI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OLD_UNOWN_B_1[] = +static const union AnimCmd sAnim_OldUnownB_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2917,16 +2917,17 @@ static const union AnimCmd sAnim_OLD_UNOWN_B_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TREECKO_1[] = +static const union AnimCmd sAnim_Treecko_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 3), - ANIMCMD_END,}; + ANIMCMD_END, +}; -static const union AnimCmd sAnim_GROVYLE_1[] = +static const union AnimCmd sAnim_Grovyle_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -2936,7 +2937,7 @@ static const union AnimCmd sAnim_GROVYLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCEPTILE_1[] = +static const union AnimCmd sAnim_Sceptile_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 26), @@ -2944,7 +2945,7 @@ static const union AnimCmd sAnim_SCEPTILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TORCHIC_1[] = +static const union AnimCmd sAnim_Torchic_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 4), @@ -2956,14 +2957,15 @@ static const union AnimCmd sAnim_TORCHIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_COMBUSKEN_1[] = +static const union AnimCmd sAnim_Combusken_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 12), - ANIMCMD_END,}; + ANIMCMD_END, +}; -static const union AnimCmd sAnim_BLAZIKEN_1[] = +static const union AnimCmd sAnim_Blaziken_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -2973,7 +2975,7 @@ static const union AnimCmd sAnim_BLAZIKEN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_2[] = +static const union AnimCmd sAnim_Blaziken_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -2981,20 +2983,20 @@ static const union AnimCmd sAnim_BLAZIKEN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_3[] = +static const union AnimCmd sAnim_Blaziken_3[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_4[] = +static const union AnimCmd sAnim_Blaziken_4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUDKIP_1[] = +static const union AnimCmd sAnim_Mudkip_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 8), @@ -3004,7 +3006,7 @@ static const union AnimCmd sAnim_MUDKIP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MARSHTOMP_1[] = +static const union AnimCmd sAnim_Marshtomp_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3018,7 +3020,7 @@ static const union AnimCmd sAnim_MARSHTOMP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWAMPERT_1[] = +static const union AnimCmd sAnim_Swampert_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 44), @@ -3028,7 +3030,7 @@ static const union AnimCmd sAnim_SWAMPERT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POOCHYENA_1[] = +static const union AnimCmd sAnim_Poochyena_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -3036,7 +3038,7 @@ static const union AnimCmd sAnim_POOCHYENA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MIGHTYENA_1[] = +static const union AnimCmd sAnim_Mightyena_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3046,7 +3048,7 @@ static const union AnimCmd sAnim_MIGHTYENA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZIGZAGOON_1[] = +static const union AnimCmd sAnim_Zigzagoon_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3056,7 +3058,7 @@ static const union AnimCmd sAnim_ZIGZAGOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LINOONE_1[] = +static const union AnimCmd sAnim_Linoone_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -3066,7 +3068,7 @@ static const union AnimCmd sAnim_LINOONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WURMPLE_1[] = +static const union AnimCmd sAnim_Wurmple_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 35), @@ -3074,7 +3076,7 @@ static const union AnimCmd sAnim_WURMPLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SILCOON_1[] = +static const union AnimCmd sAnim_Silcoon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -3082,13 +3084,13 @@ static const union AnimCmd sAnim_SILCOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SILCOON_2[] = +static const union AnimCmd sAnim_Silcoon_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BEAUTIFLY_1[] = +static const union AnimCmd sAnim_Beautifly_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -3102,13 +3104,13 @@ static const union AnimCmd sAnim_BEAUTIFLY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BEAUTIFLY_2[] = +static const union AnimCmd sAnim_Beautifly_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASCOON_1[] = +static const union AnimCmd sAnim_Cascoon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3118,13 +3120,13 @@ static const union AnimCmd sAnim_CASCOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CASCOON_2[] = +static const union AnimCmd sAnim_Cascoon_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSTOX_1[] = +static const union AnimCmd sAnim_Dustox_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3144,13 +3146,13 @@ static const union AnimCmd sAnim_DUSTOX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSTOX_2[] = +static const union AnimCmd sAnim_Dustox_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LOTAD_1[] = +static const union AnimCmd sAnim_Lotad_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 55), @@ -3158,7 +3160,7 @@ static const union AnimCmd sAnim_LOTAD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LOMBRE_1[] = +static const union AnimCmd sAnim_Lombre_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3168,7 +3170,7 @@ static const union AnimCmd sAnim_LOMBRE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUDICOLO_1[] = +static const union AnimCmd sAnim_Ludicolo_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3180,7 +3182,7 @@ static const union AnimCmd sAnim_LUDICOLO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEEDOT_1[] = +static const union AnimCmd sAnim_Seedot_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3194,7 +3196,7 @@ static const union AnimCmd sAnim_SEEDOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NUZLEAF_1[] = +static const union AnimCmd sAnim_Nuzleaf_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 15), @@ -3208,7 +3210,7 @@ static const union AnimCmd sAnim_NUZLEAF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHIFTRY_1[] = +static const union AnimCmd sAnim_Shiftry_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 35), @@ -3216,7 +3218,7 @@ static const union AnimCmd sAnim_SHIFTRY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINCADA_1[] = +static const union AnimCmd sAnim_Nincada_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 22), @@ -3226,7 +3228,7 @@ static const union AnimCmd sAnim_NINCADA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINJASK_1[] = +static const union AnimCmd sAnim_Ninjask_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3249,7 +3251,7 @@ static const union AnimCmd sAnim_NINJASK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHEDINJA_1[] = +static const union AnimCmd sAnim_Shedinja_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 33), @@ -3259,7 +3261,7 @@ static const union AnimCmd sAnim_SHEDINJA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAILLOW_1[] = +static const union AnimCmd sAnim_Taillow_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -3273,7 +3275,7 @@ static const union AnimCmd sAnim_TAILLOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWELLOW_1[] = +static const union AnimCmd sAnim_Swellow_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 18), @@ -3281,7 +3283,7 @@ static const union AnimCmd sAnim_SWELLOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHROOMISH_1[] = +static const union AnimCmd sAnim_Shroomish_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3297,7 +3299,7 @@ static const union AnimCmd sAnim_SHROOMISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BRELOOM_1[] = +static const union AnimCmd sAnim_Breloom_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3307,7 +3309,7 @@ static const union AnimCmd sAnim_BRELOOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WINGULL_1[] = +static const union AnimCmd sAnim_Wingull_1[] = { ANIMCMD_FRAME(0, 17), ANIMCMD_FRAME(1, 23), @@ -3315,7 +3317,7 @@ static const union AnimCmd sAnim_WINGULL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PELIPPER_1[] = +static const union AnimCmd sAnim_Pelipper_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3329,7 +3331,7 @@ static const union AnimCmd sAnim_PELIPPER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SURSKIT_1[] = +static const union AnimCmd sAnim_Surskit_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 18), @@ -3339,13 +3341,13 @@ static const union AnimCmd sAnim_SURSKIT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SURSKIT_2[] = +static const union AnimCmd sAnim_Surskit_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MASQUERAIN_1[] = +static const union AnimCmd sAnim_Masquerain_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -3359,13 +3361,13 @@ static const union AnimCmd sAnim_MASQUERAIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MASQUERAIN_2[] = +static const union AnimCmd sAnim_Masquerain_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WAILMER_1[] = +static const union AnimCmd sAnim_Wailmer_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3377,7 +3379,7 @@ static const union AnimCmd sAnim_WAILMER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WAILORD_1[] = +static const union AnimCmd sAnim_Wailord_1[] = { ANIMCMD_FRAME(0, 26), ANIMCMD_FRAME(1, 48), @@ -3385,7 +3387,7 @@ static const union AnimCmd sAnim_WAILORD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKITTY_1[] = +static const union AnimCmd sAnim_Skitty_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 35), @@ -3393,7 +3395,7 @@ static const union AnimCmd sAnim_SKITTY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DELCATTY_1[] = +static const union AnimCmd sAnim_Delcatty_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 46), @@ -3401,7 +3403,7 @@ static const union AnimCmd sAnim_DELCATTY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KECLEON_1[] = +static const union AnimCmd sAnim_Kecleon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -3411,7 +3413,7 @@ static const union AnimCmd sAnim_KECLEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BALTOY_1[] = +static const union AnimCmd sAnim_Baltoy_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3423,7 +3425,7 @@ static const union AnimCmd sAnim_BALTOY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAYDOL_1[] = +static const union AnimCmd sAnim_Claydol_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3435,7 +3437,7 @@ static const union AnimCmd sAnim_CLAYDOL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NOSEPASS_1[] = +static const union AnimCmd sAnim_Nosepass_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 27), @@ -3447,7 +3449,7 @@ static const union AnimCmd sAnim_NOSEPASS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TORKOAL_1[] = +static const union AnimCmd sAnim_Torkoal_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3457,7 +3459,7 @@ static const union AnimCmd sAnim_TORKOAL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SABLEYE_1[] = +static const union AnimCmd sAnim_Sableye_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3467,7 +3469,7 @@ static const union AnimCmd sAnim_SABLEYE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BARBOACH_1[] = +static const union AnimCmd sAnim_Barboach_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3485,7 +3487,7 @@ static const union AnimCmd sAnim_BARBOACH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WHISCASH_1[] = +static const union AnimCmd sAnim_Whiscash_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3503,7 +3505,7 @@ static const union AnimCmd sAnim_WHISCASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUVDISC_1[] = +static const union AnimCmd sAnim_Luvdisc_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3513,7 +3515,7 @@ static const union AnimCmd sAnim_LUVDISC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CORPHISH_1[] = +static const union AnimCmd sAnim_Corphish_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3525,7 +3527,7 @@ static const union AnimCmd sAnim_CORPHISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRAWDAUNT_1[] = +static const union AnimCmd sAnim_Crawdaunt_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3535,7 +3537,7 @@ static const union AnimCmd sAnim_CRAWDAUNT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FEEBAS_1[] = +static const union AnimCmd sAnim_Feebas_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3547,7 +3549,7 @@ static const union AnimCmd sAnim_FEEBAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MILOTIC_1[] = +static const union AnimCmd sAnim_Milotic_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3559,7 +3561,7 @@ static const union AnimCmd sAnim_MILOTIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CARVANHA_1[] = +static const union AnimCmd sAnim_Carvanha_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3573,7 +3575,7 @@ static const union AnimCmd sAnim_CARVANHA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHARPEDO_1[] = +static const union AnimCmd sAnim_Sharpedo_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3587,7 +3589,7 @@ static const union AnimCmd sAnim_SHARPEDO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TRAPINCH_1[] = +static const union AnimCmd sAnim_Trapinch_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3597,7 +3599,7 @@ static const union AnimCmd sAnim_TRAPINCH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VIBRAVA_1[] = +static const union AnimCmd sAnim_Vibrava_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3609,7 +3611,7 @@ static const union AnimCmd sAnim_VIBRAVA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLYGON_1[] = +static const union AnimCmd sAnim_Flygon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3621,7 +3623,7 @@ static const union AnimCmd sAnim_FLYGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAKUHITA_1[] = +static const union AnimCmd sAnim_Makuhita_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 10), @@ -3635,7 +3637,7 @@ static const union AnimCmd sAnim_MAKUHITA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HARIYAMA_1[] = +static const union AnimCmd sAnim_Hariyama_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -3644,7 +3646,7 @@ static const union AnimCmd sAnim_HARIYAMA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTRIKE_1[] = +static const union AnimCmd sAnim_Electrike_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -3654,7 +3656,7 @@ static const union AnimCmd sAnim_ELECTRIKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANECTRIC_1[] = +static const union AnimCmd sAnim_Manectric_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 33), @@ -3664,7 +3666,7 @@ static const union AnimCmd sAnim_MANECTRIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NUMEL_1[] = +static const union AnimCmd sAnim_Numel_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3674,7 +3676,7 @@ static const union AnimCmd sAnim_NUMEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CAMERUPT_1[] = +static const union AnimCmd sAnim_Camerupt_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3686,7 +3688,7 @@ static const union AnimCmd sAnim_CAMERUPT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPHEAL_1[] = +static const union AnimCmd sAnim_Spheal_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 43), @@ -3699,7 +3701,7 @@ static const union AnimCmd sAnim_SPHEAL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEALEO_1[] = +static const union AnimCmd sAnim_Sealeo_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3709,7 +3711,7 @@ static const union AnimCmd sAnim_SEALEO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WALREIN_1[] = +static const union AnimCmd sAnim_Walrein_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 10), @@ -3719,7 +3721,7 @@ static const union AnimCmd sAnim_WALREIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CACNEA_1[] = +static const union AnimCmd sAnim_Cacnea_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3735,7 +3737,7 @@ static const union AnimCmd sAnim_CACNEA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CACTURNE_1[] = +static const union AnimCmd sAnim_Cacturne_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3745,7 +3747,7 @@ static const union AnimCmd sAnim_CACTURNE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNORUNT_1[] = +static const union AnimCmd sAnim_Snorunt_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3755,7 +3757,7 @@ static const union AnimCmd sAnim_SNORUNT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLALIE_1[] = +static const union AnimCmd sAnim_Glalie_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3765,7 +3767,7 @@ static const union AnimCmd sAnim_GLALIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUNATONE_1[] = +static const union AnimCmd sAnim_Lunatone_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3775,7 +3777,7 @@ static const union AnimCmd sAnim_LUNATONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUNATONE_2[] = +static const union AnimCmd sAnim_Lunatone_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3784,7 +3786,7 @@ static const union AnimCmd sAnim_LUNATONE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SOLROCK_1[] = +static const union AnimCmd sAnim_Solrock_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3794,7 +3796,7 @@ static const union AnimCmd sAnim_SOLROCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SOLROCK_2[] = +static const union AnimCmd sAnim_Solrock_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3803,7 +3805,7 @@ static const union AnimCmd sAnim_SOLROCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AZURILL_1[] = +static const union AnimCmd sAnim_Azurill_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -3815,7 +3817,7 @@ static const union AnimCmd sAnim_AZURILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPOINK_1[] = +static const union AnimCmd sAnim_Spoink_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -3831,7 +3833,7 @@ static const union AnimCmd sAnim_SPOINK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRUMPIG_1[] = +static const union AnimCmd sAnim_Grumpig_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3841,7 +3843,7 @@ static const union AnimCmd sAnim_GRUMPIG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PLUSLE_1[] = +static const union AnimCmd sAnim_Plusle_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3851,7 +3853,7 @@ static const union AnimCmd sAnim_PLUSLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MINUN_1[] = +static const union AnimCmd sAnim_Minun_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3861,7 +3863,7 @@ static const union AnimCmd sAnim_MINUN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAWILE_1[] = +static const union AnimCmd sAnim_Mawile_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3873,7 +3875,7 @@ static const union AnimCmd sAnim_MAWILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEDITITE_1[] = +static const union AnimCmd sAnim_Meditite_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 2), @@ -3881,7 +3883,7 @@ static const union AnimCmd sAnim_MEDITITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEDICHAM_1[] = +static const union AnimCmd sAnim_Medicham_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -3893,7 +3895,7 @@ static const union AnimCmd sAnim_MEDICHAM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWABLU_1[] = +static const union AnimCmd sAnim_Swablu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -3905,7 +3907,7 @@ static const union AnimCmd sAnim_SWABLU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWABLU_2[] = +static const union AnimCmd sAnim_Swablu_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -3916,7 +3918,7 @@ static const union AnimCmd sAnim_SWABLU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALTARIA_1[] = +static const union AnimCmd sAnim_Altaria_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3926,7 +3928,7 @@ static const union AnimCmd sAnim_ALTARIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALTARIA_2[] = +static const union AnimCmd sAnim_Altaria_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3935,7 +3937,7 @@ static const union AnimCmd sAnim_ALTARIA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WYNAUT_1[] = +static const union AnimCmd sAnim_Wynaut_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3945,7 +3947,7 @@ static const union AnimCmd sAnim_WYNAUT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSKULL_1[] = +static const union AnimCmd sAnim_Duskull_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3955,7 +3957,7 @@ static const union AnimCmd sAnim_DUSKULL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSCLOPS_1[] = +static const union AnimCmd sAnim_Dusclops_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3965,7 +3967,7 @@ static const union AnimCmd sAnim_DUSCLOPS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ROSELIA_1[] = +static const union AnimCmd sAnim_Roselia_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 44), @@ -3973,7 +3975,7 @@ static const union AnimCmd sAnim_ROSELIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLAKOTH_1[] = +static const union AnimCmd sAnim_Slakoth_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 22), @@ -3984,7 +3986,7 @@ static const union AnimCmd sAnim_SLAKOTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VIGOROTH_1[] = +static const union AnimCmd sAnim_Vigoroth_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -3996,7 +3998,7 @@ static const union AnimCmd sAnim_VIGOROTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLAKING_1[] = +static const union AnimCmd sAnim_Slaking_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4008,7 +4010,7 @@ static const union AnimCmd sAnim_SLAKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GULPIN_1[] = +static const union AnimCmd sAnim_Gulpin_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -4018,7 +4020,7 @@ static const union AnimCmd sAnim_GULPIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWALOT_1[] = +static const union AnimCmd sAnim_Swalot_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 30), @@ -4027,7 +4029,7 @@ static const union AnimCmd sAnim_SWALOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TROPIUS_1[] = +static const union AnimCmd sAnim_Tropius_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4037,7 +4039,7 @@ static const union AnimCmd sAnim_TROPIUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WHISMUR_1[] = +static const union AnimCmd sAnim_Whismur_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4052,7 +4054,7 @@ static const union AnimCmd sAnim_WHISMUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LOUDRED_1[] = +static const union AnimCmd sAnim_Loudred_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4062,7 +4064,7 @@ static const union AnimCmd sAnim_LOUDRED_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXPLOUD_1[] = +static const union AnimCmd sAnim_Exploud_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 44), @@ -4070,7 +4072,7 @@ static const union AnimCmd sAnim_EXPLOUD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAMPERL_1[] = +static const union AnimCmd sAnim_Clamperl_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4080,7 +4082,7 @@ static const union AnimCmd sAnim_CLAMPERL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HUNTAIL_1[] = +static const union AnimCmd sAnim_Huntail_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4090,7 +4092,7 @@ static const union AnimCmd sAnim_HUNTAIL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOREBYSS_1[] = +static const union AnimCmd sAnim_Gorebyss_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4100,7 +4102,7 @@ static const union AnimCmd sAnim_GOREBYSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ABSOL_1[] = +static const union AnimCmd sAnim_Absol_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4110,7 +4112,7 @@ static const union AnimCmd sAnim_ABSOL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHUPPET_1[] = +static const union AnimCmd sAnim_Shuppet_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4122,7 +4124,7 @@ static const union AnimCmd sAnim_SHUPPET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BANETTE_1[] = +static const union AnimCmd sAnim_Banette_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4134,7 +4136,7 @@ static const union AnimCmd sAnim_BANETTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEVIPER_1[] = +static const union AnimCmd sAnim_Seviper_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4146,7 +4148,7 @@ static const union AnimCmd sAnim_SEVIPER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZANGOOSE_1[] = +static const union AnimCmd sAnim_Zangoose_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4158,7 +4160,7 @@ static const union AnimCmd sAnim_ZANGOOSE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RELICANTH_1[] = +static const union AnimCmd sAnim_Relicanth_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4168,7 +4170,7 @@ static const union AnimCmd sAnim_RELICANTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARON_1[] = +static const union AnimCmd sAnim_Aron_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 44), @@ -4178,7 +4180,7 @@ static const union AnimCmd sAnim_ARON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LAIRON_1[] = +static const union AnimCmd sAnim_Lairon_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 29), @@ -4188,7 +4190,7 @@ static const union AnimCmd sAnim_LAIRON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AGGRON_1[] = +static const union AnimCmd sAnim_Aggron_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -4196,31 +4198,31 @@ static const union AnimCmd sAnim_AGGRON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_0[] = +static const union AnimCmd sAnim_Castform_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_1[] = +static const union AnimCmd sAnim_Castform_1[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_2[] = +static const union AnimCmd sAnim_Castform_2[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_3[] = +static const union AnimCmd sAnim_Castform_3[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLBEAT_1[] = +static const union AnimCmd sAnim_Volbeat_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -4232,7 +4234,7 @@ static const union AnimCmd sAnim_VOLBEAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ILLUMISE_1[] = +static const union AnimCmd sAnim_Illumise_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4242,7 +4244,7 @@ static const union AnimCmd sAnim_ILLUMISE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LILEEP_1[] = +static const union AnimCmd sAnim_Lileep_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4252,7 +4254,7 @@ static const union AnimCmd sAnim_LILEEP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRADILY_1[] = +static const union AnimCmd sAnim_Cradily_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4264,7 +4266,7 @@ static const union AnimCmd sAnim_CRADILY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ANORITH_1[] = +static const union AnimCmd sAnim_Anorith_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4276,7 +4278,7 @@ static const union AnimCmd sAnim_ANORITH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARMALDO_1[] = +static const union AnimCmd sAnim_Armaldo_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4286,7 +4288,7 @@ static const union AnimCmd sAnim_ARMALDO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RALTS_1[] = +static const union AnimCmd sAnim_Ralts_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -4294,7 +4296,7 @@ static const union AnimCmd sAnim_RALTS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KIRLIA_1[] = +static const union AnimCmd sAnim_Kirlia_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 39), @@ -4302,7 +4304,7 @@ static const union AnimCmd sAnim_KIRLIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GARDEVOIR_1[] = +static const union AnimCmd sAnim_Gardevoir_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -4320,7 +4322,7 @@ static const union AnimCmd sAnim_GARDEVOIR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BAGON_1[] = +static const union AnimCmd sAnim_Bagon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4330,7 +4332,7 @@ static const union AnimCmd sAnim_BAGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHELGON_1[] = +static const union AnimCmd sAnim_Shelgon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4340,7 +4342,7 @@ static const union AnimCmd sAnim_SHELGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SALAMENCE_1[] = +static const union AnimCmd sAnim_Salamence_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4350,7 +4352,7 @@ static const union AnimCmd sAnim_SALAMENCE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BELDUM_1[] = +static const union AnimCmd sAnim_Beldum_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4360,7 +4362,7 @@ static const union AnimCmd sAnim_BELDUM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_METANG_1[] = +static const union AnimCmd sAnim_Metang_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -4370,7 +4372,7 @@ static const union AnimCmd sAnim_METANG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_METAGROSS_1[] = +static const union AnimCmd sAnim_Metagross_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4380,7 +4382,7 @@ static const union AnimCmd sAnim_METAGROSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIROCK_1[] = +static const union AnimCmd sAnim_Regirock_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4390,7 +4392,7 @@ static const union AnimCmd sAnim_REGIROCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIROCK_2[] = +static const union AnimCmd sAnim_Regirock_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4399,7 +4401,7 @@ static const union AnimCmd sAnim_REGIROCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGICE_1[] = +static const union AnimCmd sAnim_Regice_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 15), @@ -4409,7 +4411,7 @@ static const union AnimCmd sAnim_REGICE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGISTEEL_1[] = +static const union AnimCmd sAnim_Registeel_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4419,7 +4421,7 @@ static const union AnimCmd sAnim_REGISTEEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGISTEEL_2[] = +static const union AnimCmd sAnim_Registeel_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4428,7 +4430,7 @@ static const union AnimCmd sAnim_REGISTEEL_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KYOGRE_1[] = +static const union AnimCmd sAnim_Kyogre_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4438,7 +4440,7 @@ static const union AnimCmd sAnim_KYOGRE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KYOGRE_2[] = +static const union AnimCmd sAnim_Kyogre_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4447,7 +4449,7 @@ static const union AnimCmd sAnim_KYOGRE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROUDON_1[] = +static const union AnimCmd sAnim_Groudon_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -4457,7 +4459,7 @@ static const union AnimCmd sAnim_GROUDON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROUDON_2[] = +static const union AnimCmd sAnim_Groudon_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4466,7 +4468,7 @@ static const union AnimCmd sAnim_GROUDON_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAYQUAZA_1[] = +static const union AnimCmd sAnim_Rayquaza_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 8), @@ -4476,7 +4478,7 @@ static const union AnimCmd sAnim_RAYQUAZA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAYQUAZA_2[] = +static const union AnimCmd sAnim_Rayquaza_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4485,7 +4487,7 @@ static const union AnimCmd sAnim_RAYQUAZA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIAS_1[] = +static const union AnimCmd sAnim_Latias_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4495,7 +4497,7 @@ static const union AnimCmd sAnim_LATIAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIAS_2[] = +static const union AnimCmd sAnim_Latias_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4504,7 +4506,7 @@ static const union AnimCmd sAnim_LATIAS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIOS_1[] = +static const union AnimCmd sAnim_Latios_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4514,7 +4516,7 @@ static const union AnimCmd sAnim_LATIOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIOS_2[] = +static const union AnimCmd sAnim_Latios_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4523,7 +4525,7 @@ static const union AnimCmd sAnim_LATIOS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIRACHI_1[] = +static const union AnimCmd sAnim_Jirachi_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4538,7 +4540,7 @@ static const union AnimCmd sAnim_JIRACHI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIRACHI_2[] = +static const union AnimCmd sAnim_Jirachi_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4547,7 +4549,7 @@ static const union AnimCmd sAnim_JIRACHI_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_1[] = +static const union AnimCmd sAnim_Deoxys_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4557,7 +4559,7 @@ static const union AnimCmd sAnim_DEOXYS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_2[] = +static const union AnimCmd sAnim_Deoxys_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4566,7 +4568,7 @@ static const union AnimCmd sAnim_DEOXYS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHIMECHO_1[] = +static const union AnimCmd sAnim_Chimecho_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4580,7 +4582,7 @@ static const union AnimCmd sAnim_CHIMECHO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EGG_1[] = +static const union AnimCmd sAnim_Egg_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -4589,7 +4591,7 @@ static const union AnimCmd sAnim_EGG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_B_1[] = +static const union AnimCmd sAnim_UnownB_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4597,7 +4599,7 @@ static const union AnimCmd sAnim_UNOWN_B_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_C_1[] = +static const union AnimCmd sAnim_UnownC_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4605,7 +4607,7 @@ static const union AnimCmd sAnim_UNOWN_C_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_D_1[] = +static const union AnimCmd sAnim_UnownD_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4613,7 +4615,7 @@ static const union AnimCmd sAnim_UNOWN_D_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_E_1[] = +static const union AnimCmd sAnim_UnownE_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4621,7 +4623,7 @@ static const union AnimCmd sAnim_UNOWN_E_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_F_1[] = +static const union AnimCmd sAnim_UnownF_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4629,7 +4631,7 @@ static const union AnimCmd sAnim_UNOWN_F_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_G_1[] = +static const union AnimCmd sAnim_UnownG_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4637,7 +4639,7 @@ static const union AnimCmd sAnim_UNOWN_G_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_H_1[] = +static const union AnimCmd sAnim_UnownH_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4645,7 +4647,7 @@ static const union AnimCmd sAnim_UNOWN_H_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_I_1[] = +static const union AnimCmd sAnim_UnownI_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4653,7 +4655,7 @@ static const union AnimCmd sAnim_UNOWN_I_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_J_1[] = +static const union AnimCmd sAnim_UnownJ_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4661,7 +4663,7 @@ static const union AnimCmd sAnim_UNOWN_J_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_K_1[] = +static const union AnimCmd sAnim_UnownK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4669,7 +4671,7 @@ static const union AnimCmd sAnim_UNOWN_K_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_L_1[] = +static const union AnimCmd sAnim_UnownL_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4677,7 +4679,7 @@ static const union AnimCmd sAnim_UNOWN_L_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_M_1[] = +static const union AnimCmd sAnim_UnownM_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4685,7 +4687,7 @@ static const union AnimCmd sAnim_UNOWN_M_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_N_1[] = +static const union AnimCmd sAnim_UnownN_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4693,7 +4695,7 @@ static const union AnimCmd sAnim_UNOWN_N_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_O_1[] = +static const union AnimCmd sAnim_UnownO_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4701,7 +4703,7 @@ static const union AnimCmd sAnim_UNOWN_O_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_P_1[] = +static const union AnimCmd sAnim_UnownP_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4709,7 +4711,7 @@ static const union AnimCmd sAnim_UNOWN_P_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_Q_1[] = +static const union AnimCmd sAnim_UnownQ_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4717,7 +4719,7 @@ static const union AnimCmd sAnim_UNOWN_Q_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_R_1[] = +static const union AnimCmd sAnim_UnownR_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4725,7 +4727,7 @@ static const union AnimCmd sAnim_UNOWN_R_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_S_1[] = +static const union AnimCmd sAnim_UnownS_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4733,7 +4735,7 @@ static const union AnimCmd sAnim_UNOWN_S_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_T_1[] = +static const union AnimCmd sAnim_UnownT_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4741,7 +4743,7 @@ static const union AnimCmd sAnim_UNOWN_T_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_U_1[] = +static const union AnimCmd sAnim_UnownU_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4749,7 +4751,7 @@ static const union AnimCmd sAnim_UNOWN_U_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_V_1[] = +static const union AnimCmd sAnim_UnownV_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4757,7 +4759,7 @@ static const union AnimCmd sAnim_UNOWN_V_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_W_1[] = +static const union AnimCmd sAnim_UnownW_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4765,7 +4767,7 @@ static const union AnimCmd sAnim_UNOWN_W_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_X_1[] = +static const union AnimCmd sAnim_UnownX_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4773,7 +4775,7 @@ static const union AnimCmd sAnim_UNOWN_X_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_Y_1[] = +static const union AnimCmd sAnim_UnownY_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4781,7 +4783,7 @@ static const union AnimCmd sAnim_UNOWN_Y_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_Z_1[] = +static const union AnimCmd sAnim_UnownZ_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4789,7 +4791,7 @@ static const union AnimCmd sAnim_UNOWN_Z_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_EMARK_1[] = +static const union AnimCmd sAnim_UnownEMark_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4797,7 +4799,7 @@ static const union AnimCmd sAnim_UNOWN_EMARK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_QMARK_1[] = +static const union AnimCmd sAnim_UnownQMark_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4805,2592 +4807,892 @@ static const union AnimCmd sAnim_UNOWN_QMARK_1[] = ANIMCMD_END, }; -static const union AnimCmd *const sAnims_NONE[] ={ - sAnim_GeneralFrame0, - sAnim_NONE_1, -}; - -static const union AnimCmd *const sAnims_BULBASAUR[] ={ - sAnim_GeneralFrame0, - sAnim_BULBASAUR_1, -}; - -static const union AnimCmd *const sAnims_IVYSAUR[] ={ - sAnim_GeneralFrame0, - sAnim_IVYSAUR_1, -}; - -static const union AnimCmd *const sAnims_VENUSAUR[] ={ - sAnim_GeneralFrame0, - sAnim_VENUSAUR_1, -}; - -static const union AnimCmd *const sAnims_CHARMANDER[] ={ - sAnim_GeneralFrame0, - sAnim_CHARMANDER_1, -}; - -static const union AnimCmd *const sAnims_CHARMELEON[] ={ - sAnim_GeneralFrame0, - sAnim_CHARMELEON_1, -}; - -static const union AnimCmd *const sAnims_CHARIZARD[] ={ - sAnim_GeneralFrame0, - sAnim_CHARIZARD_1, -}; - -static const union AnimCmd *const sAnims_SQUIRTLE[] ={ - sAnim_GeneralFrame0, - sAnim_SQUIRTLE_1, -}; - -static const union AnimCmd *const sAnims_WARTORTLE[] ={ - sAnim_GeneralFrame0, - sAnim_WARTORTLE_1, -}; - -static const union AnimCmd *const sAnims_BLASTOISE[] ={ - sAnim_GeneralFrame0, - sAnim_BLASTOISE_1, -}; - -static const union AnimCmd *const sAnims_CATERPIE[] ={ - sAnim_GeneralFrame0, - sAnim_CATERPIE_1, -}; - -static const union AnimCmd *const sAnims_METAPOD[] ={ - sAnim_GeneralFrame0, - sAnim_METAPOD_1, -}; - -static const union AnimCmd *const sAnims_BUTTERFREE[] ={ - sAnim_GeneralFrame0, - sAnim_BUTTERFREE_1, -}; - -static const union AnimCmd *const sAnims_WEEDLE[] ={ - sAnim_GeneralFrame0, - sAnim_WEEDLE_1, -}; - -static const union AnimCmd *const sAnims_KAKUNA[] ={ - sAnim_GeneralFrame0, - sAnim_KAKUNA_1, -}; - -static const union AnimCmd *const sAnims_BEEDRILL[] ={ - sAnim_GeneralFrame0, - sAnim_BEEDRILL_1, -}; - -static const union AnimCmd *const sAnims_PIDGEY[] ={ - sAnim_GeneralFrame0, - sAnim_PIDGEY_1, -}; - -static const union AnimCmd *const sAnims_PIDGEOTTO[] ={ - sAnim_GeneralFrame0, - sAnim_PIDGEOTTO_1, -}; - -static const union AnimCmd *const sAnims_PIDGEOT[] ={ - sAnim_GeneralFrame0, - sAnim_PIDGEOT_1, -}; - -static const union AnimCmd *const sAnims_RATTATA[] ={ - sAnim_GeneralFrame0, - sAnim_RATTATA_1, -}; - -static const union AnimCmd *const sAnims_RATICATE[] ={ - sAnim_GeneralFrame0, - sAnim_RATICATE_1, -}; - -static const union AnimCmd *const sAnims_SPEAROW[] ={ - sAnim_GeneralFrame0, - sAnim_SPEAROW_1, -}; - -static const union AnimCmd *const sAnims_FEAROW[] ={ - sAnim_GeneralFrame0, - sAnim_FEAROW_1, -}; - -static const union AnimCmd *const sAnims_EKANS[] ={ - sAnim_GeneralFrame0, - sAnim_EKANS_1, -}; - -static const union AnimCmd *const sAnims_ARBOK[] ={ - sAnim_GeneralFrame0, - sAnim_ARBOK_1, -}; - -static const union AnimCmd *const sAnims_PIKACHU[] ={ - sAnim_GeneralFrame0, - sAnim_PIKACHU_1, - sAnim_PIKACHU_2, -}; - -static const union AnimCmd *const sAnims_RAICHU[] ={ - sAnim_GeneralFrame0, - sAnim_RAICHU_1, - sAnim_RAICHU_2, -}; - -static const union AnimCmd *const sAnims_SANDSHREW[] ={ - sAnim_GeneralFrame0, - sAnim_SANDSHREW_1, - sAnim_SANDSHREW_2, -}; - -static const union AnimCmd *const sAnims_SANDSLASH[] ={ - sAnim_GeneralFrame0, - sAnim_SANDSLASH_1, - sAnim_SANDSLASH_2, -}; - -static const union AnimCmd *const sAnims_NIDORAN_F[] ={ - sAnim_GeneralFrame0, - sAnim_NIDORAN_F_1, -}; - -static const union AnimCmd *const sAnims_NIDORINA[] ={ - sAnim_GeneralFrame0, - sAnim_NIDORINA_1, -}; - -static const union AnimCmd *const sAnims_NIDOQUEEN[] ={ - sAnim_GeneralFrame0, - sAnim_NIDOQUEEN_1, -}; - -static const union AnimCmd *const sAnims_NIDORAN_M[] ={ - sAnim_GeneralFrame0, - sAnim_NIDORAN_M_1, -}; - -static const union AnimCmd *const sAnims_NIDORINO[] ={ - sAnim_GeneralFrame0, - sAnim_NIDORINO_1, -}; - -static const union AnimCmd *const sAnims_NIDOKING[] ={ - sAnim_GeneralFrame0, - sAnim_NIDOKING_1, -}; - -static const union AnimCmd *const sAnims_CLEFAIRY[] ={ - sAnim_GeneralFrame0, - sAnim_CLEFAIRY_1, -}; - -static const union AnimCmd *const sAnims_CLEFABLE[] ={ - sAnim_GeneralFrame0, - sAnim_CLEFABLE_1, -}; - -static const union AnimCmd *const sAnims_VULPIX[] ={ - sAnim_GeneralFrame0, - sAnim_VULPIX_1, - sAnim_VULPIX_2, -}; - -static const union AnimCmd *const sAnims_NINETALES[] ={ - sAnim_GeneralFrame0, - sAnim_NINETALES_1, - sAnim_NINETALES_2, -}; - -static const union AnimCmd *const sAnims_JIGGLYPUFF[] ={ - sAnim_GeneralFrame0, - sAnim_JIGGLYPUFF_1, - sAnim_JIGGLYPUFF_2, -}; - -static const union AnimCmd *const sAnims_WIGGLYTUFF[] ={ - sAnim_GeneralFrame0, - sAnim_WIGGLYTUFF_1, - sAnim_WIGGLYTUFF_2, -}; - -static const union AnimCmd *const sAnims_ZUBAT[] ={ - sAnim_GeneralFrame0, - sAnim_ZUBAT_1, -}; - -static const union AnimCmd *const sAnims_GOLBAT[] ={ - sAnim_GeneralFrame0, - sAnim_GOLBAT_1, -}; - -static const union AnimCmd *const sAnims_ODDISH[] ={ - sAnim_GeneralFrame0, - sAnim_ODDISH_1, -}; - -static const union AnimCmd *const sAnims_GLOOM[] ={ - sAnim_GeneralFrame0, - sAnim_GLOOM_1, -}; - -static const union AnimCmd *const sAnims_VILEPLUME[] ={ - sAnim_GeneralFrame0, - sAnim_VILEPLUME_1, -}; - -static const union AnimCmd *const sAnims_PARAS[] ={ - sAnim_GeneralFrame0, - sAnim_PARAS_1, -}; - -static const union AnimCmd *const sAnims_PARASECT[] ={ - sAnim_GeneralFrame0, - sAnim_PARASECT_1, -}; - -static const union AnimCmd *const sAnims_VENONAT[] ={ - sAnim_GeneralFrame0, - sAnim_VENONAT_1, -}; - -static const union AnimCmd *const sAnims_VENOMOTH[] ={ - sAnim_GeneralFrame0, - sAnim_VENOMOTH_1, -}; - -static const union AnimCmd *const sAnims_DIGLETT[] ={ - sAnim_GeneralFrame0, - sAnim_DIGLETT_1, -}; - -static const union AnimCmd *const sAnims_DUGTRIO[] ={ - sAnim_GeneralFrame0, - sAnim_DUGTRIO_1, -}; - -static const union AnimCmd *const sAnims_MEOWTH[] ={ - sAnim_GeneralFrame0, - sAnim_MEOWTH_1, -}; - -static const union AnimCmd *const sAnims_PERSIAN[] ={ - sAnim_GeneralFrame0, - sAnim_PERSIAN_1, -}; - -static const union AnimCmd *const sAnims_PSYDUCK[] ={ - sAnim_GeneralFrame0, - sAnim_PSYDUCK_1, - sAnim_PSYDUCK_2, -}; - -static const union AnimCmd *const sAnims_GOLDUCK[] ={ - sAnim_GeneralFrame0, - sAnim_GOLDUCK_1, - sAnim_GOLDUCK_2, -}; - -static const union AnimCmd *const sAnims_MANKEY[] ={ - sAnim_GeneralFrame0, - sAnim_MANKEY_1, -}; - -static const union AnimCmd *const sAnims_PRIMEAPE[] ={ - sAnim_GeneralFrame0, - sAnim_PRIMEAPE_1, -}; - -static const union AnimCmd *const sAnims_GROWLITHE[] ={ - sAnim_GeneralFrame0, - sAnim_GROWLITHE_1, -}; - -static const union AnimCmd *const sAnims_ARCANINE[] ={ - sAnim_GeneralFrame0, - sAnim_ARCANINE_1, -}; - -static const union AnimCmd *const sAnims_POLIWAG[] ={ - sAnim_GeneralFrame0, - sAnim_POLIWAG_1, -}; - -static const union AnimCmd *const sAnims_POLIWHIRL[] ={ - sAnim_GeneralFrame0, - sAnim_POLIWHIRL_1, -}; - -static const union AnimCmd *const sAnims_POLIWRATH[] ={ - sAnim_GeneralFrame0, - sAnim_POLIWRATH_1, -}; - -static const union AnimCmd *const sAnims_ABRA[] ={ - sAnim_GeneralFrame0, - sAnim_ABRA_1, -}; - -static const union AnimCmd *const sAnims_KADABRA[] ={ - sAnim_GeneralFrame0, - sAnim_KADABRA_1, -}; - -static const union AnimCmd *const sAnims_ALAKAZAM[] ={ - sAnim_GeneralFrame0, - sAnim_ALAKAZAM_1, -}; - -static const union AnimCmd *const sAnims_MACHOP[] ={ - sAnim_GeneralFrame0, - sAnim_MACHOP_1, -}; - -static const union AnimCmd *const sAnims_MACHOKE[] ={ - sAnim_GeneralFrame0, - sAnim_MACHOKE_1, -}; - -static const union AnimCmd *const sAnims_MACHAMP[] ={ - sAnim_GeneralFrame0, - sAnim_MACHAMP_1, -}; - -static const union AnimCmd *const sAnims_BELLSPROUT[] ={ - sAnim_GeneralFrame0, - sAnim_BELLSPROUT_1, -}; - -static const union AnimCmd *const sAnims_WEEPINBELL[] ={ - sAnim_GeneralFrame0, - sAnim_WEEPINBELL_1, -}; - -static const union AnimCmd *const sAnims_VICTREEBEL[] ={ - sAnim_GeneralFrame0, - sAnim_VICTREEBEL_1, -}; - -static const union AnimCmd *const sAnims_TENTACOOL[] ={ - sAnim_GeneralFrame0, - sAnim_TENTACOOL_1, -}; - -static const union AnimCmd *const sAnims_TENTACRUEL[] ={ - sAnim_GeneralFrame0, - sAnim_TENTACRUEL_1, -}; - -static const union AnimCmd *const sAnims_GEODUDE[] ={ - sAnim_GeneralFrame0, - sAnim_GEODUDE_1, -}; - -static const union AnimCmd *const sAnims_GRAVELER[] ={ - sAnim_GeneralFrame0, - sAnim_GRAVELER_1, -}; - -static const union AnimCmd *const sAnims_GOLEM[] ={ - sAnim_GeneralFrame0, - sAnim_GOLEM_1, -}; - -static const union AnimCmd *const sAnims_PONYTA[] ={ - sAnim_GeneralFrame0, - sAnim_PONYTA_1, -}; - -static const union AnimCmd *const sAnims_RAPIDASH[] ={ - sAnim_GeneralFrame0, - sAnim_RAPIDASH_1, -}; - -static const union AnimCmd *const sAnims_SLOWPOKE[] ={ - sAnim_GeneralFrame0, - sAnim_SLOWPOKE_1, -}; - -static const union AnimCmd *const sAnims_SLOWBRO[] ={ - sAnim_GeneralFrame0, - sAnim_SLOWBRO_1, -}; - -static const union AnimCmd *const sAnims_MAGNEMITE[] ={ - sAnim_GeneralFrame0, - sAnim_MAGNEMITE_1, -}; - -static const union AnimCmd *const sAnims_MAGNETON[] ={ - sAnim_GeneralFrame0, - sAnim_MAGNETON_1, -}; - -static const union AnimCmd *const sAnims_FARFETCHD[] ={ - sAnim_GeneralFrame0, - sAnim_FARFETCHD_1, -}; - -static const union AnimCmd *const sAnims_DODUO[] ={ - sAnim_GeneralFrame0, - sAnim_DODUO_1, -}; - -static const union AnimCmd *const sAnims_DODRIO[] ={ - sAnim_GeneralFrame0, - sAnim_DODRIO_1, -}; - -static const union AnimCmd *const sAnims_SEEL[] ={ - sAnim_GeneralFrame0, - sAnim_SEEL_1, -}; - -static const union AnimCmd *const sAnims_DEWGONG[] ={ - sAnim_GeneralFrame0, - sAnim_DEWGONG_1, -}; - -static const union AnimCmd *const sAnims_GRIMER[] ={ - sAnim_GeneralFrame0, - sAnim_GRIMER_1, - sAnim_GRIMER_2, -}; - -static const union AnimCmd *const sAnims_MUK[] ={ - sAnim_GeneralFrame0, - sAnim_MUK_1, - sAnim_MUK_2, -}; - -static const union AnimCmd *const sAnims_SHELLDER[] ={ - sAnim_GeneralFrame0, - sAnim_SHELLDER_1, -}; - -static const union AnimCmd *const sAnims_CLOYSTER[] ={ - sAnim_GeneralFrame0, - sAnim_CLOYSTER_1, -}; - -static const union AnimCmd *const sAnims_GASTLY[] ={ - sAnim_GeneralFrame0, - sAnim_GASTLY_1, -}; - -static const union AnimCmd *const sAnims_HAUNTER[] ={ - sAnim_GeneralFrame0, - sAnim_HAUNTER_1, -}; - -static const union AnimCmd *const sAnims_GENGAR[] ={ - sAnim_GeneralFrame0, - sAnim_GENGAR_1, -}; - -static const union AnimCmd *const sAnims_ONIX[] ={ - sAnim_GeneralFrame0, - sAnim_ONIX_1, -}; - -static const union AnimCmd *const sAnims_DROWZEE[] ={ - sAnim_GeneralFrame0, - sAnim_DROWZEE_1, -}; - -static const union AnimCmd *const sAnims_HYPNO[] ={ - sAnim_GeneralFrame0, - sAnim_HYPNO_1, -}; - -static const union AnimCmd *const sAnims_KRABBY[] ={ - sAnim_GeneralFrame0, - sAnim_KRABBY_1, -}; - -static const union AnimCmd *const sAnims_KINGLER[] ={ - sAnim_GeneralFrame0, - sAnim_KINGLER_1, -}; - -static const union AnimCmd *const sAnims_VOLTORB[] ={ - sAnim_GeneralFrame0, - sAnim_VOLTORB_1, -}; - -static const union AnimCmd *const sAnims_ELECTRODE[] ={ - sAnim_GeneralFrame0, - sAnim_ELECTRODE_1, -}; - -static const union AnimCmd *const sAnims_EXEGGCUTE[] ={ - sAnim_GeneralFrame0, - sAnim_EXEGGCUTE_1, -}; - -static const union AnimCmd *const sAnims_EXEGGUTOR[] ={ - sAnim_GeneralFrame0, - sAnim_EXEGGUTOR_1, -}; - -static const union AnimCmd *const sAnims_CUBONE[] ={ - sAnim_GeneralFrame0, - sAnim_CUBONE_1, -}; - -static const union AnimCmd *const sAnims_MAROWAK[] ={ - sAnim_GeneralFrame0, - sAnim_MAROWAK_1, -}; - -static const union AnimCmd *const sAnims_HITMONLEE[] ={ - sAnim_GeneralFrame0, - sAnim_HITMONLEE_1, -}; - -static const union AnimCmd *const sAnims_HITMONCHAN[] ={ - sAnim_GeneralFrame0, - sAnim_HITMONCHAN_1, -}; - -static const union AnimCmd *const sAnims_LICKITUNG[] ={ - sAnim_GeneralFrame0, - sAnim_LICKITUNG_1, -}; - -static const union AnimCmd *const sAnims_KOFFING[] ={ - sAnim_GeneralFrame0, - sAnim_KOFFING_1, - sAnim_KOFFING_2, -}; - -static const union AnimCmd *const sAnims_WEEZING[] ={ - sAnim_GeneralFrame0, - sAnim_WEEZING_1, - sAnim_WEEZING_2, -}; - -static const union AnimCmd *const sAnims_RHYHORN[] ={ - sAnim_GeneralFrame0, - sAnim_RHYHORN_1, - sAnim_RHYHORN_2, -}; - -static const union AnimCmd *const sAnims_RHYDON[] ={ - sAnim_GeneralFrame0, - sAnim_RHYDON_1, - sAnim_RHYDON_2, -}; - -static const union AnimCmd *const sAnims_CHANSEY[] ={ - sAnim_GeneralFrame0, - sAnim_CHANSEY_1, -}; - -static const union AnimCmd *const sAnims_TANGELA[] ={ - sAnim_GeneralFrame0, - sAnim_TANGELA_1, -}; - -static const union AnimCmd *const sAnims_KANGASKHAN[] ={ - sAnim_GeneralFrame0, - sAnim_KANGASKHAN_1, -}; - -static const union AnimCmd *const sAnims_HORSEA[] ={ - sAnim_GeneralFrame0, - sAnim_HORSEA_1, - sAnim_HORSEA_2, -}; - -static const union AnimCmd *const sAnims_SEADRA[] ={ - sAnim_GeneralFrame0, - sAnim_SEADRA_1, - sAnim_SEADRA_2, -}; - -static const union AnimCmd *const sAnims_GOLDEEN[] ={ - sAnim_GeneralFrame0, - sAnim_GOLDEEN_1, -}; - -static const union AnimCmd *const sAnims_SEAKING[] ={ - sAnim_GeneralFrame0, - sAnim_SEAKING_1, -}; - -static const union AnimCmd *const sAnims_STARYU[] ={ - sAnim_GeneralFrame0, - sAnim_STARYU_1, - sAnim_STARYU_2, -}; - -static const union AnimCmd *const sAnims_STARMIE[] ={ - sAnim_GeneralFrame0, - sAnim_STARMIE_1, - sAnim_STARMIE_2, -}; - -static const union AnimCmd *const sAnims_MR_MIME[] ={ - sAnim_GeneralFrame0, - sAnim_MR_MIME_1, -}; - -static const union AnimCmd *const sAnims_SCYTHER[] ={ - sAnim_GeneralFrame0, - sAnim_SCYTHER_1, -}; - -static const union AnimCmd *const sAnims_JYNX[] ={ - sAnim_GeneralFrame0, - sAnim_JYNX_1, -}; - -static const union AnimCmd *const sAnims_ELECTABUZZ[] ={ - sAnim_GeneralFrame0, - sAnim_ELECTABUZZ_1, -}; - -static const union AnimCmd *const sAnims_MAGMAR[] ={ - sAnim_GeneralFrame0, - sAnim_MAGMAR_1, -}; - -static const union AnimCmd *const sAnims_PINSIR[] ={ - sAnim_GeneralFrame0, - sAnim_PINSIR_1, - sAnim_PINSIR_2, -}; - -static const union AnimCmd *const sAnims_TAUROS[] ={ - sAnim_GeneralFrame0, - sAnim_TAUROS_1, -}; - -static const union AnimCmd *const sAnims_MAGIKARP[] ={ - sAnim_GeneralFrame0, - sAnim_MAGIKARP_1, -}; - -static const union AnimCmd *const sAnims_GYARADOS[] ={ - sAnim_GeneralFrame0, - sAnim_GYARADOS_1, -}; - -static const union AnimCmd *const sAnims_LAPRAS[] ={ - sAnim_GeneralFrame0, - sAnim_LAPRAS_1, -}; - -static const union AnimCmd *const sAnims_DITTO[] ={ - sAnim_GeneralFrame0, - sAnim_DITTO_1, -}; - -static const union AnimCmd *const sAnims_EEVEE[] ={ - sAnim_GeneralFrame0, - sAnim_EEVEE_1, -}; - -static const union AnimCmd *const sAnims_VAPOREON[] ={ - sAnim_GeneralFrame0, - sAnim_VAPOREON_1, -}; - -static const union AnimCmd *const sAnims_JOLTEON[] ={ - sAnim_GeneralFrame0, - sAnim_JOLTEON_1, -}; - -static const union AnimCmd *const sAnims_FLAREON[] ={ - sAnim_GeneralFrame0, - sAnim_FLAREON_1, -}; - -static const union AnimCmd *const sAnims_PORYGON[] ={ - sAnim_GeneralFrame0, - sAnim_PORYGON_1, -}; - -static const union AnimCmd *const sAnims_OMANYTE[] ={ - sAnim_GeneralFrame0, - sAnim_OMANYTE_1, -}; - -static const union AnimCmd *const sAnims_OMASTAR[] ={ - sAnim_GeneralFrame0, - sAnim_OMASTAR_1, -}; - -static const union AnimCmd *const sAnims_KABUTO[] ={ - sAnim_GeneralFrame0, - sAnim_KABUTO_1, -}; - -static const union AnimCmd *const sAnims_KABUTOPS[] ={ - sAnim_GeneralFrame0, - sAnim_KABUTOPS_1, -}; - -static const union AnimCmd *const sAnims_AERODACTYL[] ={ - sAnim_GeneralFrame0, - sAnim_AERODACTYL_1, -}; - -static const union AnimCmd *const sAnims_SNORLAX[] ={ - sAnim_GeneralFrame0, - sAnim_SNORLAX_1, -}; - -static const union AnimCmd *const sAnims_ARTICUNO[] ={ - sAnim_GeneralFrame0, - sAnim_ARTICUNO_1, -}; - -static const union AnimCmd *const sAnims_ZAPDOS[] ={ - sAnim_GeneralFrame0, - sAnim_ZAPDOS_1, -}; - -static const union AnimCmd *const sAnims_MOLTRES[] ={ - sAnim_GeneralFrame0, - sAnim_MOLTRES_1, -}; - -static const union AnimCmd *const sAnims_DRATINI[] ={ - sAnim_GeneralFrame0, - sAnim_DRATINI_1, -}; - -static const union AnimCmd *const sAnims_DRAGONAIR[] ={ - sAnim_GeneralFrame0, - sAnim_DRAGONAIR_1, -}; - -static const union AnimCmd *const sAnims_DRAGONITE[] ={ - sAnim_GeneralFrame0, - sAnim_DRAGONITE_1, -}; - -static const union AnimCmd *const sAnims_MEWTWO[] ={ - sAnim_GeneralFrame0, - sAnim_MEWTWO_1, -}; - -static const union AnimCmd *const sAnims_MEW[] ={ - sAnim_GeneralFrame0, - sAnim_MEW_1, -}; - -static const union AnimCmd *const sAnims_CHIKORITA[] ={ - sAnim_GeneralFrame0, - sAnim_CHIKORITA_1, -}; - -static const union AnimCmd *const sAnims_BAYLEEF[] ={ - sAnim_GeneralFrame0, - sAnim_BAYLEEF_1, -}; - -static const union AnimCmd *const sAnims_MEGANIUM[] ={ - sAnim_GeneralFrame0, - sAnim_MEGANIUM_1, -}; - -static const union AnimCmd *const sAnims_CYNDAQUIL[] ={ - sAnim_GeneralFrame0, - sAnim_CYNDAQUIL_1, -}; - -static const union AnimCmd *const sAnims_QUILAVA[] ={ - sAnim_GeneralFrame0, - sAnim_QUILAVA_1, -}; - -static const union AnimCmd *const sAnims_TYPHLOSION[] ={ - sAnim_GeneralFrame0, - sAnim_TYPHLOSION_1, -}; - -static const union AnimCmd *const sAnims_TOTODILE[] ={ - sAnim_GeneralFrame0, - sAnim_TOTODILE_1, -}; - -static const union AnimCmd *const sAnims_CROCONAW[] ={ - sAnim_GeneralFrame0, - sAnim_CROCONAW_1, -}; - -static const union AnimCmd *const sAnims_FERALIGATR[] ={ - sAnim_GeneralFrame0, - sAnim_FERALIGATR_1, -}; - -static const union AnimCmd *const sAnims_SENTRET[] ={ - sAnim_GeneralFrame0, - sAnim_SENTRET_1, -}; - -static const union AnimCmd *const sAnims_FURRET[] ={ - sAnim_GeneralFrame0, - sAnim_FURRET_1, -}; - -static const union AnimCmd *const sAnims_HOOTHOOT[] ={ - sAnim_GeneralFrame0, - sAnim_HOOTHOOT_1, -}; - -static const union AnimCmd *const sAnims_NOCTOWL[] ={ - sAnim_GeneralFrame0, - sAnim_NOCTOWL_1, -}; - -static const union AnimCmd *const sAnims_LEDYBA[] ={ - sAnim_GeneralFrame0, - sAnim_LEDYBA_1, -}; - -static const union AnimCmd *const sAnims_LEDIAN[] ={ - sAnim_GeneralFrame0, - sAnim_LEDIAN_1, -}; - -static const union AnimCmd *const sAnims_SPINARAK[] ={ - sAnim_GeneralFrame0, - sAnim_SPINARAK_1, -}; - -static const union AnimCmd *const sAnims_ARIADOS[] ={ - sAnim_GeneralFrame0, - sAnim_ARIADOS_1, -}; - -static const union AnimCmd *const sAnims_CROBAT[] ={ - sAnim_GeneralFrame0, - sAnim_CROBAT_1, -}; - -static const union AnimCmd *const sAnims_CHINCHOU[] ={ - sAnim_GeneralFrame0, - sAnim_CHINCHOU_1, - sAnim_CHINCHOU_2, -}; - -static const union AnimCmd *const sAnims_LANTURN[] ={ - sAnim_GeneralFrame0, - sAnim_LANTURN_1, - sAnim_LANTURN_2, -}; - -static const union AnimCmd *const sAnims_PICHU[] ={ - sAnim_GeneralFrame0, - sAnim_PICHU_1, - sAnim_PICHU_2, -}; - -static const union AnimCmd *const sAnims_CLEFFA[] ={ - sAnim_GeneralFrame0, - sAnim_CLEFFA_1, -}; - -static const union AnimCmd *const sAnims_IGGLYBUFF[] ={ - sAnim_GeneralFrame0, - sAnim_IGGLYBUFF_1, - sAnim_IGGLYBUFF_2, -}; - -static const union AnimCmd *const sAnims_TOGEPI[] ={ - sAnim_GeneralFrame0, - sAnim_TOGEPI_1, -}; - -static const union AnimCmd *const sAnims_TOGETIC[] ={ - sAnim_GeneralFrame0, - sAnim_TOGETIC_1, -}; - -static const union AnimCmd *const sAnims_NATU[] ={ - sAnim_GeneralFrame0, - sAnim_NATU_1, - sAnim_NATU_2, -}; - -static const union AnimCmd *const sAnims_XATU[] ={ - sAnim_GeneralFrame0, - sAnim_XATU_1, - sAnim_XATU_2, -}; - -static const union AnimCmd *const sAnims_MAREEP[] ={ - sAnim_GeneralFrame0, - sAnim_MAREEP_1, -}; - -static const union AnimCmd *const sAnims_FLAAFFY[] ={ - sAnim_GeneralFrame0, - sAnim_FLAAFFY_1, -}; - -static const union AnimCmd *const sAnims_AMPHAROS[] ={ - sAnim_GeneralFrame0, - sAnim_AMPHAROS_1, -}; - -static const union AnimCmd *const sAnims_BELLOSSOM[] ={ - sAnim_GeneralFrame0, - sAnim_BELLOSSOM_1, -}; - -static const union AnimCmd *const sAnims_MARILL[] ={ - sAnim_GeneralFrame0, - sAnim_MARILL_1, -}; - -static const union AnimCmd *const sAnims_AZUMARILL[] ={ - sAnim_GeneralFrame0, - sAnim_AZUMARILL_1, -}; - -static const union AnimCmd *const sAnims_SUDOWOODO[] ={ - sAnim_GeneralFrame0, - sAnim_SUDOWOODO_1, -}; - -static const union AnimCmd *const sAnims_POLITOED[] ={ - sAnim_GeneralFrame0, - sAnim_POLITOED_1, -}; - -static const union AnimCmd *const sAnims_HOPPIP[] ={ - sAnim_GeneralFrame0, - sAnim_HOPPIP_1, -}; - -static const union AnimCmd *const sAnims_SKIPLOOM[] ={ - sAnim_GeneralFrame0, - sAnim_SKIPLOOM_1, -}; - -static const union AnimCmd *const sAnims_JUMPLUFF[] ={ - sAnim_GeneralFrame0, - sAnim_JUMPLUFF_1, -}; - -static const union AnimCmd *const sAnims_AIPOM[] ={ - sAnim_GeneralFrame0, - sAnim_AIPOM_1, -}; - -static const union AnimCmd *const sAnims_SUNKERN[] ={ - sAnim_GeneralFrame0, - sAnim_SUNKERN_1, -}; - -static const union AnimCmd *const sAnims_SUNFLORA[] ={ - sAnim_GeneralFrame0, - sAnim_SUNFLORA_1, -}; - -static const union AnimCmd *const sAnims_YANMA[] ={ - sAnim_GeneralFrame0, - sAnim_YANMA_1, -}; - -static const union AnimCmd *const sAnims_WOOPER[] ={ - sAnim_GeneralFrame0, - sAnim_WOOPER_1, -}; - -static const union AnimCmd *const sAnims_QUAGSIRE[] ={ - sAnim_GeneralFrame0, - sAnim_QUAGSIRE_1, -}; - -static const union AnimCmd *const sAnims_ESPEON[] ={ - sAnim_GeneralFrame0, - sAnim_ESPEON_1, -}; - -static const union AnimCmd *const sAnims_UMBREON[] ={ - sAnim_GeneralFrame0, - sAnim_UMBREON_1, -}; - -static const union AnimCmd *const sAnims_MURKROW[] ={ - sAnim_GeneralFrame0, - sAnim_MURKROW_1, -}; - -static const union AnimCmd *const sAnims_SLOWKING[] ={ - sAnim_GeneralFrame0, - sAnim_SLOWKING_1, -}; - -static const union AnimCmd *const sAnims_MISDREAVUS[] ={ - sAnim_GeneralFrame0, - sAnim_MISDREAVUS_1, -}; - -static const union AnimCmd *const sAnims_UNOWN[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_1, -}; - -static const union AnimCmd *const sAnims_WOBBUFFET[] ={ - sAnim_GeneralFrame0, - sAnim_WOBBUFFET_1, - sAnim_WOBBUFFET_2, -}; - -static const union AnimCmd *const sAnims_GIRAFARIG[] ={ - sAnim_GeneralFrame0, - sAnim_GIRAFARIG_1, - sAnim_GIRAFARIG_2, -}; - -static const union AnimCmd *const sAnims_PINECO[] ={ - sAnim_GeneralFrame0, - sAnim_PINECO_1, -}; - -static const union AnimCmd *const sAnims_FORRETRESS[] ={ - sAnim_GeneralFrame0, - sAnim_FORRETRESS_1, -}; - -static const union AnimCmd *const sAnims_DUNSPARCE[] ={ - sAnim_GeneralFrame0, - sAnim_DUNSPARCE_1, -}; - -static const union AnimCmd *const sAnims_GLIGAR[] ={ - sAnim_GeneralFrame0, - sAnim_GLIGAR_1, -}; - -static const union AnimCmd *const sAnims_STEELIX[] ={ - sAnim_GeneralFrame0, - sAnim_STEELIX_1, -}; - -static const union AnimCmd *const sAnims_SNUBBULL[] ={ - sAnim_GeneralFrame0, - sAnim_SNUBBULL_1, -}; - -static const union AnimCmd *const sAnims_GRANBULL[] ={ - sAnim_GeneralFrame0, - sAnim_GRANBULL_1, -}; - -static const union AnimCmd *const sAnims_QWILFISH[] ={ - sAnim_GeneralFrame0, - sAnim_QWILFISH_1, -}; - -static const union AnimCmd *const sAnims_SCIZOR[] ={ - sAnim_GeneralFrame0, - sAnim_SCIZOR_1, -}; - -static const union AnimCmd *const sAnims_SHUCKLE[] ={ - sAnim_GeneralFrame0, - sAnim_SHUCKLE_1, -}; - -static const union AnimCmd *const sAnims_HERACROSS[] ={ - sAnim_GeneralFrame0, - sAnim_HERACROSS_1, - sAnim_HERACROSS_2, -}; - -static const union AnimCmd *const sAnims_SNEASEL[] ={ - sAnim_GeneralFrame0, - sAnim_SNEASEL_1, -}; - -static const union AnimCmd *const sAnims_TEDDIURSA[] ={ - sAnim_GeneralFrame0, - sAnim_TEDDIURSA_1, -}; - -static const union AnimCmd *const sAnims_URSARING[] ={ - sAnim_GeneralFrame0, - sAnim_URSARING_1, -}; - -static const union AnimCmd *const sAnims_SLUGMA[] ={ - sAnim_GeneralFrame0, - sAnim_SLUGMA_1, - sAnim_SLUGMA_2, -}; - -static const union AnimCmd *const sAnims_MAGCARGO[] ={ - sAnim_GeneralFrame0, - sAnim_MAGCARGO_1, - sAnim_MAGCARGO_2, -}; - -static const union AnimCmd *const sAnims_SWINUB[] ={ - sAnim_GeneralFrame0, - sAnim_SWINUB_1, -}; - -static const union AnimCmd *const sAnims_PILOSWINE[] ={ - sAnim_GeneralFrame0, - sAnim_PILOSWINE_1, -}; - -static const union AnimCmd *const sAnims_CORSOLA[] ={ - sAnim_GeneralFrame0, - sAnim_CORSOLA_1, - sAnim_CORSOLA_2, -}; - -static const union AnimCmd *const sAnims_REMORAID[] ={ - sAnim_GeneralFrame0, - sAnim_REMORAID_1, -}; - -static const union AnimCmd *const sAnims_OCTILLERY[] ={ - sAnim_GeneralFrame0, - sAnim_OCTILLERY_1, -}; - -static const union AnimCmd *const sAnims_DELIBIRD[] ={ - sAnim_GeneralFrame0, - sAnim_DELIBIRD_1, -}; - -static const union AnimCmd *const sAnims_MANTINE[] ={ - sAnim_GeneralFrame0, - sAnim_MANTINE_1, -}; - -static const union AnimCmd *const sAnims_SKARMORY[] ={ - sAnim_GeneralFrame0, - sAnim_SKARMORY_1, - sAnim_SKARMORY_2, -}; - -static const union AnimCmd *const sAnims_HOUNDOUR[] ={ - sAnim_GeneralFrame0, - sAnim_HOUNDOUR_1, -}; - -static const union AnimCmd *const sAnims_HOUNDOOM[] ={ - sAnim_GeneralFrame0, - sAnim_HOUNDOOM_1, -}; - -static const union AnimCmd *const sAnims_KINGDRA[] ={ - sAnim_GeneralFrame0, - sAnim_KINGDRA_1, - sAnim_KINGDRA_2, -}; - -static const union AnimCmd *const sAnims_PHANPY[] ={ - sAnim_GeneralFrame0, - sAnim_PHANPY_1, - sAnim_PHANPY_2, -}; - -static const union AnimCmd *const sAnims_DONPHAN[] ={ - sAnim_GeneralFrame0, - sAnim_DONPHAN_1, - sAnim_DONPHAN_2, -}; - -static const union AnimCmd *const sAnims_PORYGON2[] ={ - sAnim_GeneralFrame0, - sAnim_PORYGON2_1, -}; - -static const union AnimCmd *const sAnims_STANTLER[] ={ - sAnim_GeneralFrame0, - sAnim_STANTLER_1, -}; - -static const union AnimCmd *const sAnims_SMEARGLE[] ={ - sAnim_GeneralFrame0, - sAnim_SMEARGLE_1, -}; - -static const union AnimCmd *const sAnims_TYROGUE[] ={ - sAnim_GeneralFrame0, - sAnim_TYROGUE_1, -}; - -static const union AnimCmd *const sAnims_HITMONTOP[] ={ - sAnim_GeneralFrame0, - sAnim_HITMONTOP_1, -}; - -static const union AnimCmd *const sAnims_SMOOCHUM[] ={ - sAnim_GeneralFrame0, - sAnim_SMOOCHUM_1, -}; - -static const union AnimCmd *const sAnims_ELEKID[] ={ - sAnim_GeneralFrame0, - sAnim_ELEKID_1, -}; - -static const union AnimCmd *const sAnims_MAGBY[] ={ - sAnim_GeneralFrame0, - sAnim_MAGBY_1, -}; - -static const union AnimCmd *const sAnims_MILTANK[] ={ - sAnim_GeneralFrame0, - sAnim_MILTANK_1, -}; - -static const union AnimCmd *const sAnims_BLISSEY[] ={ - sAnim_GeneralFrame0, - sAnim_BLISSEY_1, -}; - -static const union AnimCmd *const sAnims_RAIKOU[] ={ - sAnim_GeneralFrame0, - sAnim_RAIKOU_1, -}; - -static const union AnimCmd *const sAnims_ENTEI[] ={ - sAnim_GeneralFrame0, - sAnim_ENTEI_1, -}; - -static const union AnimCmd *const sAnims_SUICUNE[] ={ - sAnim_GeneralFrame0, - sAnim_SUICUNE_1, -}; - -static const union AnimCmd *const sAnims_LARVITAR[] ={ - sAnim_GeneralFrame0, - sAnim_LARVITAR_1, -}; - -static const union AnimCmd *const sAnims_PUPITAR[] ={ - sAnim_GeneralFrame0, - sAnim_PUPITAR_1, -}; - -static const union AnimCmd *const sAnims_TYRANITAR[] ={ - sAnim_GeneralFrame0, - sAnim_TYRANITAR_1, -}; - -static const union AnimCmd *const sAnims_LUGIA[] ={ - sAnim_GeneralFrame0, - sAnim_LUGIA_1, -}; - -static const union AnimCmd *const sAnims_HO_OH[] ={ - sAnim_GeneralFrame0, - sAnim_HO_OH_1, -}; - -static const union AnimCmd *const sAnims_CELEBI[] ={ - sAnim_GeneralFrame0, - sAnim_CELEBI_1, -}; - -static const union AnimCmd *const sAnims_OLD_UNOWN_B[] ={ - sAnim_GeneralFrame0, - sAnim_OLD_UNOWN_B_1, -}; - -static const union AnimCmd *const sAnims_TREECKO[] ={ - sAnim_GeneralFrame0, - sAnim_TREECKO_1, -}; - -static const union AnimCmd *const sAnims_GROVYLE[] ={ - sAnim_GeneralFrame0, - sAnim_GROVYLE_1, -}; - -static const union AnimCmd *const sAnims_SCEPTILE[] ={ - sAnim_GeneralFrame0, - sAnim_SCEPTILE_1, -}; - -static const union AnimCmd *const sAnims_TORCHIC[] ={ - sAnim_GeneralFrame0, - sAnim_TORCHIC_1, -}; - -static const union AnimCmd *const sAnims_COMBUSKEN[] ={ - sAnim_GeneralFrame0, - sAnim_COMBUSKEN_1, -}; - -static const union AnimCmd *const sAnims_BLAZIKEN[] ={ - sAnim_GeneralFrame0, - sAnim_BLAZIKEN_1, - sAnim_BLAZIKEN_2, - sAnim_BLAZIKEN_3, - sAnim_BLAZIKEN_4, -}; - -static const union AnimCmd *const sAnims_MUDKIP[] ={ - sAnim_GeneralFrame0, - sAnim_MUDKIP_1, -}; - -static const union AnimCmd *const sAnims_MARSHTOMP[] ={ - sAnim_GeneralFrame0, - sAnim_MARSHTOMP_1, -}; - -static const union AnimCmd *const sAnims_SWAMPERT[] ={ - sAnim_GeneralFrame0, - sAnim_SWAMPERT_1, -}; - -static const union AnimCmd *const sAnims_POOCHYENA[] ={ - sAnim_GeneralFrame0, - sAnim_POOCHYENA_1, -}; - -static const union AnimCmd *const sAnims_MIGHTYENA[] ={ - sAnim_GeneralFrame0, - sAnim_MIGHTYENA_1, -}; - -static const union AnimCmd *const sAnims_ZIGZAGOON[] ={ - sAnim_GeneralFrame0, - sAnim_ZIGZAGOON_1, -}; - -static const union AnimCmd *const sAnims_LINOONE[] ={ - sAnim_GeneralFrame0, - sAnim_LINOONE_1, -}; - -static const union AnimCmd *const sAnims_WURMPLE[] ={ - sAnim_GeneralFrame0, - sAnim_WURMPLE_1, -}; - -static const union AnimCmd *const sAnims_SILCOON[] ={ - sAnim_GeneralFrame0, - sAnim_SILCOON_1, - sAnim_SILCOON_2, -}; - -static const union AnimCmd *const sAnims_BEAUTIFLY[] ={ - sAnim_GeneralFrame0, - sAnim_BEAUTIFLY_1, - sAnim_BEAUTIFLY_2, -}; - -static const union AnimCmd *const sAnims_CASCOON[] ={ - sAnim_GeneralFrame0, - sAnim_CASCOON_1, - sAnim_CASCOON_2, -}; - -static const union AnimCmd *const sAnims_DUSTOX[] ={ - sAnim_GeneralFrame0, - sAnim_DUSTOX_1, - sAnim_DUSTOX_2, -}; - -static const union AnimCmd *const sAnims_LOTAD[] ={ - sAnim_GeneralFrame0, - sAnim_LOTAD_1, -}; - -static const union AnimCmd *const sAnims_LOMBRE[] ={ - sAnim_GeneralFrame0, - sAnim_LOMBRE_1, -}; - -static const union AnimCmd *const sAnims_LUDICOLO[] ={ - sAnim_GeneralFrame0, - sAnim_LUDICOLO_1, -}; - -static const union AnimCmd *const sAnims_SEEDOT[] ={ - sAnim_GeneralFrame0, - sAnim_SEEDOT_1, -}; - -static const union AnimCmd *const sAnims_NUZLEAF[] ={ - sAnim_GeneralFrame0, - sAnim_NUZLEAF_1, -}; - -static const union AnimCmd *const sAnims_SHIFTRY[] ={ - sAnim_GeneralFrame0, - sAnim_SHIFTRY_1, -}; - -static const union AnimCmd *const sAnims_NINCADA[] ={ - sAnim_GeneralFrame0, - sAnim_NINCADA_1, -}; - -static const union AnimCmd *const sAnims_NINJASK[] ={ - sAnim_GeneralFrame0, - sAnim_NINJASK_1, -}; - -static const union AnimCmd *const sAnims_SHEDINJA[] ={ - sAnim_GeneralFrame0, - sAnim_SHEDINJA_1, -}; - -static const union AnimCmd *const sAnims_TAILLOW[] ={ - sAnim_GeneralFrame0, - sAnim_TAILLOW_1, -}; - -static const union AnimCmd *const sAnims_SWELLOW[] ={ - sAnim_GeneralFrame0, - sAnim_SWELLOW_1, -}; - -static const union AnimCmd *const sAnims_SHROOMISH[] ={ - sAnim_GeneralFrame0, - sAnim_SHROOMISH_1, -}; - -static const union AnimCmd *const sAnims_BRELOOM[] ={ - sAnim_GeneralFrame0, - sAnim_BRELOOM_1, -}; - -static const union AnimCmd *const sAnims_SPINDA[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_WINGULL[] ={ - sAnim_GeneralFrame0, - sAnim_WINGULL_1, -}; - -static const union AnimCmd *const sAnims_PELIPPER[] ={ - sAnim_GeneralFrame0, - sAnim_PELIPPER_1, -}; - -static const union AnimCmd *const sAnims_SURSKIT[] ={ - sAnim_GeneralFrame0, - sAnim_SURSKIT_1, - sAnim_SURSKIT_2, -}; - -static const union AnimCmd *const sAnims_MASQUERAIN[] ={ - sAnim_GeneralFrame0, - sAnim_MASQUERAIN_1, - sAnim_MASQUERAIN_2, -}; - -static const union AnimCmd *const sAnims_WAILMER[] ={ - sAnim_GeneralFrame0, - sAnim_WAILMER_1, -}; - -static const union AnimCmd *const sAnims_WAILORD[] ={ - sAnim_GeneralFrame0, - sAnim_WAILORD_1, -}; - -static const union AnimCmd *const sAnims_SKITTY[] ={ - sAnim_GeneralFrame0, - sAnim_SKITTY_1, -}; - -static const union AnimCmd *const sAnims_DELCATTY[] ={ - sAnim_GeneralFrame0, - sAnim_DELCATTY_1, -}; - -static const union AnimCmd *const sAnims_KECLEON[] ={ - sAnim_GeneralFrame0, - sAnim_KECLEON_1, -}; - -static const union AnimCmd *const sAnims_BALTOY[] ={ - sAnim_GeneralFrame0, - sAnim_BALTOY_1, -}; - -static const union AnimCmd *const sAnims_CLAYDOL[] ={ - sAnim_GeneralFrame0, - sAnim_CLAYDOL_1, -}; - -static const union AnimCmd *const sAnims_NOSEPASS[] ={ - sAnim_GeneralFrame0, - sAnim_NOSEPASS_1, -}; - -static const union AnimCmd *const sAnims_TORKOAL[] ={ - sAnim_GeneralFrame0, - sAnim_TORKOAL_1, -}; - -static const union AnimCmd *const sAnims_SABLEYE[] ={ - sAnim_GeneralFrame0, - sAnim_SABLEYE_1, -}; - -static const union AnimCmd *const sAnims_BARBOACH[] ={ - sAnim_GeneralFrame0, - sAnim_BARBOACH_1, -}; - -static const union AnimCmd *const sAnims_WHISCASH[] ={ - sAnim_GeneralFrame0, - sAnim_WHISCASH_1, -}; - -static const union AnimCmd *const sAnims_LUVDISC[] ={ - sAnim_GeneralFrame0, - sAnim_LUVDISC_1, -}; - -static const union AnimCmd *const sAnims_CORPHISH[] ={ - sAnim_GeneralFrame0, - sAnim_CORPHISH_1, -}; - -static const union AnimCmd *const sAnims_CRAWDAUNT[] ={ - sAnim_GeneralFrame0, - sAnim_CRAWDAUNT_1, -}; - -static const union AnimCmd *const sAnims_FEEBAS[] ={ - sAnim_GeneralFrame0, - sAnim_FEEBAS_1, -}; - -static const union AnimCmd *const sAnims_MILOTIC[] ={ - sAnim_GeneralFrame0, - sAnim_MILOTIC_1, -}; - -static const union AnimCmd *const sAnims_CARVANHA[] ={ - sAnim_GeneralFrame0, - sAnim_CARVANHA_1, -}; - -static const union AnimCmd *const sAnims_SHARPEDO[] ={ - sAnim_GeneralFrame0, - sAnim_SHARPEDO_1, -}; - -static const union AnimCmd *const sAnims_TRAPINCH[] ={ - sAnim_GeneralFrame0, - sAnim_TRAPINCH_1, -}; - -static const union AnimCmd *const sAnims_VIBRAVA[] ={ - sAnim_GeneralFrame0, - sAnim_VIBRAVA_1, -}; - -static const union AnimCmd *const sAnims_FLYGON[] ={ - sAnim_GeneralFrame0, - sAnim_FLYGON_1, -}; - -static const union AnimCmd *const sAnims_MAKUHITA[] ={ - sAnim_GeneralFrame0, - sAnim_MAKUHITA_1, -}; - -static const union AnimCmd *const sAnims_HARIYAMA[] ={ - sAnim_GeneralFrame0, - sAnim_HARIYAMA_1, -}; - -static const union AnimCmd *const sAnims_ELECTRIKE[] ={ - sAnim_GeneralFrame0, - sAnim_ELECTRIKE_1, -}; - -static const union AnimCmd *const sAnims_MANECTRIC[] ={ - sAnim_GeneralFrame0, - sAnim_MANECTRIC_1, -}; - -static const union AnimCmd *const sAnims_NUMEL[] ={ - sAnim_GeneralFrame0, - sAnim_NUMEL_1, -}; - -static const union AnimCmd *const sAnims_CAMERUPT[] ={ - sAnim_GeneralFrame0, - sAnim_CAMERUPT_1, -}; - -static const union AnimCmd *const sAnims_SPHEAL[] ={ - sAnim_GeneralFrame0, - sAnim_SPHEAL_1, -}; - -static const union AnimCmd *const sAnims_SEALEO[] ={ - sAnim_GeneralFrame0, - sAnim_SEALEO_1, -}; - -static const union AnimCmd *const sAnims_WALREIN[] ={ - sAnim_GeneralFrame0, - sAnim_WALREIN_1, -}; - -static const union AnimCmd *const sAnims_CACNEA[] ={ - sAnim_GeneralFrame0, - sAnim_CACNEA_1, -}; - -static const union AnimCmd *const sAnims_CACTURNE[] ={ - sAnim_GeneralFrame0, - sAnim_CACTURNE_1, -}; - -static const union AnimCmd *const sAnims_SNORUNT[] ={ - sAnim_GeneralFrame0, - sAnim_SNORUNT_1, -}; - -static const union AnimCmd *const sAnims_GLALIE[] ={ - sAnim_GeneralFrame0, - sAnim_GLALIE_1, -}; - -static const union AnimCmd *const sAnims_LUNATONE[] ={ - sAnim_GeneralFrame0, - sAnim_LUNATONE_1, - sAnim_LUNATONE_2, -}; - -static const union AnimCmd *const sAnims_SOLROCK[] ={ - sAnim_GeneralFrame0, - sAnim_SOLROCK_1, - sAnim_SOLROCK_2, -}; - -static const union AnimCmd *const sAnims_AZURILL[] ={ - sAnim_GeneralFrame0, - sAnim_AZURILL_1, -}; - -static const union AnimCmd *const sAnims_SPOINK[] ={ - sAnim_GeneralFrame0, - sAnim_SPOINK_1, -}; - -static const union AnimCmd *const sAnims_GRUMPIG[] ={ - sAnim_GeneralFrame0, - sAnim_GRUMPIG_1, -}; - -static const union AnimCmd *const sAnims_PLUSLE[] ={ - sAnim_GeneralFrame0, - sAnim_PLUSLE_1, -}; - -static const union AnimCmd *const sAnims_MINUN[] ={ - sAnim_GeneralFrame0, - sAnim_MINUN_1, -}; - -static const union AnimCmd *const sAnims_MAWILE[] ={ - sAnim_GeneralFrame0, - sAnim_MAWILE_1, -}; - -static const union AnimCmd *const sAnims_MEDITITE[] ={ - sAnim_GeneralFrame0, - sAnim_MEDITITE_1, -}; - -static const union AnimCmd *const sAnims_MEDICHAM[] ={ - sAnim_GeneralFrame0, - sAnim_MEDICHAM_1, -}; - -static const union AnimCmd *const sAnims_SWABLU[] ={ - sAnim_GeneralFrame0, - sAnim_SWABLU_1, - sAnim_SWABLU_2, -}; - -static const union AnimCmd *const sAnims_ALTARIA[] ={ - sAnim_GeneralFrame0, - sAnim_ALTARIA_1, - sAnim_ALTARIA_2, -}; - -static const union AnimCmd *const sAnims_WYNAUT[] ={ - sAnim_GeneralFrame0, - sAnim_WYNAUT_1, -}; - -static const union AnimCmd *const sAnims_DUSKULL[] ={ - sAnim_GeneralFrame0, - sAnim_DUSKULL_1, -}; - -static const union AnimCmd *const sAnims_DUSCLOPS[] ={ - sAnim_GeneralFrame0, - sAnim_DUSCLOPS_1, -}; - -static const union AnimCmd *const sAnims_ROSELIA[] ={ - sAnim_GeneralFrame0, - sAnim_ROSELIA_1, -}; - -static const union AnimCmd *const sAnims_SLAKOTH[] ={ - sAnim_GeneralFrame0, - sAnim_SLAKOTH_1, -}; - -static const union AnimCmd *const sAnims_VIGOROTH[] ={ - sAnim_GeneralFrame0, - sAnim_VIGOROTH_1, -}; - -static const union AnimCmd *const sAnims_SLAKING[] ={ - sAnim_GeneralFrame0, - sAnim_SLAKING_1, -}; - -static const union AnimCmd *const sAnims_GULPIN[] ={ - sAnim_GeneralFrame0, - sAnim_GULPIN_1, -}; - -static const union AnimCmd *const sAnims_SWALOT[] ={ - sAnim_GeneralFrame0, - sAnim_SWALOT_1, -}; - -static const union AnimCmd *const sAnims_TROPIUS[] ={ - sAnim_GeneralFrame0, - sAnim_TROPIUS_1, -}; - -static const union AnimCmd *const sAnims_WHISMUR[] ={ - sAnim_GeneralFrame0, - sAnim_WHISMUR_1, -}; - -static const union AnimCmd *const sAnims_LOUDRED[] ={ - sAnim_GeneralFrame0, - sAnim_LOUDRED_1, -}; - -static const union AnimCmd *const sAnims_EXPLOUD[] ={ - sAnim_GeneralFrame0, - sAnim_EXPLOUD_1, -}; - -static const union AnimCmd *const sAnims_CLAMPERL[] ={ - sAnim_GeneralFrame0, - sAnim_CLAMPERL_1, -}; - -static const union AnimCmd *const sAnims_HUNTAIL[] ={ - sAnim_GeneralFrame0, - sAnim_HUNTAIL_1, -}; - -static const union AnimCmd *const sAnims_GOREBYSS[] ={ - sAnim_GeneralFrame0, - sAnim_GOREBYSS_1, -}; - -static const union AnimCmd *const sAnims_ABSOL[] ={ - sAnim_GeneralFrame0, - sAnim_ABSOL_1, -}; - -static const union AnimCmd *const sAnims_SHUPPET[] ={ - sAnim_GeneralFrame0, - sAnim_SHUPPET_1, -}; - -static const union AnimCmd *const sAnims_BANETTE[] ={ - sAnim_GeneralFrame0, - sAnim_BANETTE_1, -}; - -static const union AnimCmd *const sAnims_SEVIPER[] ={ - sAnim_GeneralFrame0, - sAnim_SEVIPER_1, -}; - -static const union AnimCmd *const sAnims_ZANGOOSE[] ={ - sAnim_GeneralFrame0, - sAnim_ZANGOOSE_1, -}; - -static const union AnimCmd *const sAnims_RELICANTH[] ={ - sAnim_GeneralFrame0, - sAnim_RELICANTH_1, -}; - -static const union AnimCmd *const sAnims_ARON[] ={ - sAnim_GeneralFrame0, - sAnim_ARON_1, -}; - -static const union AnimCmd *const sAnims_LAIRON[] ={ - sAnim_GeneralFrame0, - sAnim_LAIRON_1, -}; - -static const union AnimCmd *const sAnims_AGGRON[] ={ - sAnim_GeneralFrame0, - sAnim_AGGRON_1, -}; - -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[] ={ - sAnim_GeneralFrame0, - sAnim_VOLBEAT_1, -}; - -static const union AnimCmd *const sAnims_ILLUMISE[] ={ - sAnim_GeneralFrame0, - sAnim_ILLUMISE_1, -}; - -static const union AnimCmd *const sAnims_LILEEP[] ={ - sAnim_GeneralFrame0, - sAnim_LILEEP_1, -}; - -static const union AnimCmd *const sAnims_CRADILY[] ={ - sAnim_GeneralFrame0, - sAnim_CRADILY_1, -}; - -static const union AnimCmd *const sAnims_ANORITH[] ={ - sAnim_GeneralFrame0, - sAnim_ANORITH_1, -}; - -static const union AnimCmd *const sAnims_ARMALDO[] ={ - sAnim_GeneralFrame0, - sAnim_ARMALDO_1, -}; - -static const union AnimCmd *const sAnims_RALTS[] ={ - sAnim_GeneralFrame0, - sAnim_RALTS_1, -}; - -static const union AnimCmd *const sAnims_KIRLIA[] ={ - sAnim_GeneralFrame0, - sAnim_KIRLIA_1, -}; - -static const union AnimCmd *const sAnims_GARDEVOIR[] ={ - sAnim_GeneralFrame0, - sAnim_GARDEVOIR_1, -}; - -static const union AnimCmd *const sAnims_BAGON[] ={ - sAnim_GeneralFrame0, - sAnim_BAGON_1, -}; - -static const union AnimCmd *const sAnims_SHELGON[] ={ - sAnim_GeneralFrame0, - sAnim_SHELGON_1, -}; - -static const union AnimCmd *const sAnims_SALAMENCE[] ={ - sAnim_GeneralFrame0, - sAnim_SALAMENCE_1, -}; - -static const union AnimCmd *const sAnims_BELDUM[] ={ - sAnim_GeneralFrame0, - sAnim_BELDUM_1, -}; - -static const union AnimCmd *const sAnims_METANG[] ={ - sAnim_GeneralFrame0, - sAnim_METANG_1, -}; - -static const union AnimCmd *const sAnims_METAGROSS[] ={ - sAnim_GeneralFrame0, - sAnim_METAGROSS_1, -}; - -static const union AnimCmd *const sAnims_REGIROCK[] ={ - sAnim_GeneralFrame0, - sAnim_REGIROCK_1, - sAnim_REGIROCK_2, -}; - -static const union AnimCmd *const sAnims_REGICE[] ={ - sAnim_GeneralFrame0, - sAnim_REGICE_1, -}; - -static const union AnimCmd *const sAnims_REGISTEEL[] ={ - sAnim_GeneralFrame0, - sAnim_REGISTEEL_1, - sAnim_REGISTEEL_2, -}; - -static const union AnimCmd *const sAnims_KYOGRE[] ={ - sAnim_GeneralFrame0, - sAnim_KYOGRE_1, - sAnim_KYOGRE_2, -}; - -static const union AnimCmd *const sAnims_GROUDON[] ={ - sAnim_GeneralFrame0, - sAnim_GROUDON_1, - sAnim_GROUDON_2, -}; - -static const union AnimCmd *const sAnims_RAYQUAZA[] ={ - sAnim_GeneralFrame0, - sAnim_RAYQUAZA_1, - sAnim_RAYQUAZA_2, -}; - -static const union AnimCmd *const sAnims_LATIAS[] ={ - sAnim_GeneralFrame0, - sAnim_LATIAS_1, - sAnim_LATIAS_2, -}; - -static const union AnimCmd *const sAnims_LATIOS[] ={ - sAnim_GeneralFrame0, - sAnim_LATIOS_1, - sAnim_LATIOS_2, -}; - -static const union AnimCmd *const sAnims_JIRACHI[] ={ - sAnim_GeneralFrame0, - sAnim_JIRACHI_1, - sAnim_JIRACHI_2, -}; - -static const union AnimCmd *const sAnims_DEOXYS[] ={ - sAnim_GeneralFrame0, - sAnim_DEOXYS_1, - sAnim_DEOXYS_2, -}; - -static const union AnimCmd *const sAnims_CHIMECHO[] ={ - sAnim_GeneralFrame0, - sAnim_CHIMECHO_1, -}; - -static const union AnimCmd *const sAnims_EGG[] ={ - sAnim_GeneralFrame0, - sAnim_EGG_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_B[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_B_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_C[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_C_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_D[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_D_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_E[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_E_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_F[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_F_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_G[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_G_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_H[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_H_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_I[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_I_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_J[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_J_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_K[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_K_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_L[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_L_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_M[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_M_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_N[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_N_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_O[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_O_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_P[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_P_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_Q[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_Q_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_R[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_R_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_S[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_S_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_T[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_T_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_U[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_U_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_V[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_V_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_W[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_W_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_X[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_X_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_Y[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_Y_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_Z[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_Z_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_EMARK[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_EMARK_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_QMARK[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_QMARK_1, -}; - -#define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name -#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims +#define SINGLE_ANIMATION(name) \ +static const union AnimCmd *const sAnims_##name[] = \ +{ \ + sAnim_GeneralFrame0, \ + sAnim_##name##_1, \ +} + +#define DOUBLE_ANIMATION(name) \ +static const union AnimCmd *const sAnims_##name[] = \ +{ \ + sAnim_GeneralFrame0, \ + sAnim_##name##_1, \ + sAnim_##name##_2, \ +} + +SINGLE_ANIMATION(None); +SINGLE_ANIMATION(Bulbasaur); +SINGLE_ANIMATION(Ivysaur); +SINGLE_ANIMATION(Venusaur); +SINGLE_ANIMATION(Charmander); +SINGLE_ANIMATION(Charmeleon); +SINGLE_ANIMATION(Charizard); +SINGLE_ANIMATION(Squirtle); +SINGLE_ANIMATION(Wartortle); +SINGLE_ANIMATION(Blastoise); +SINGLE_ANIMATION(Caterpie); +SINGLE_ANIMATION(Metapod); +SINGLE_ANIMATION(Butterfree); +SINGLE_ANIMATION(Weedle); +SINGLE_ANIMATION(Kakuna); +SINGLE_ANIMATION(Beedrill); +SINGLE_ANIMATION(Pidgey); +SINGLE_ANIMATION(Pidgeotto); +SINGLE_ANIMATION(Pidgeot); +SINGLE_ANIMATION(Rattata); +SINGLE_ANIMATION(Raticate); +SINGLE_ANIMATION(Spearow); +SINGLE_ANIMATION(Fearow); +SINGLE_ANIMATION(Ekans); +SINGLE_ANIMATION(Arbok); +DOUBLE_ANIMATION(Pikachu); +DOUBLE_ANIMATION(Raichu); +DOUBLE_ANIMATION(Sandshrew); +DOUBLE_ANIMATION(Sandslash); +SINGLE_ANIMATION(NidoranF); +SINGLE_ANIMATION(Nidorina); +SINGLE_ANIMATION(Nidoqueen); +SINGLE_ANIMATION(NidoranM); +SINGLE_ANIMATION(Nidorino); +SINGLE_ANIMATION(Nidoking); +SINGLE_ANIMATION(Clefairy); +SINGLE_ANIMATION(Clefable); +DOUBLE_ANIMATION(Vulpix); +DOUBLE_ANIMATION(Ninetales); +DOUBLE_ANIMATION(Jigglypuff); +DOUBLE_ANIMATION(Wigglytuff); +SINGLE_ANIMATION(Zubat); +SINGLE_ANIMATION(Golbat); +SINGLE_ANIMATION(Oddish); +SINGLE_ANIMATION(Gloom); +SINGLE_ANIMATION(Vileplume); +SINGLE_ANIMATION(Paras); +SINGLE_ANIMATION(Parasect); +SINGLE_ANIMATION(Venonat); +SINGLE_ANIMATION(Venomoth); +SINGLE_ANIMATION(Diglett); +SINGLE_ANIMATION(Dugtrio); +SINGLE_ANIMATION(Meowth); +SINGLE_ANIMATION(Persian); +DOUBLE_ANIMATION(Psyduck); +DOUBLE_ANIMATION(Golduck); +SINGLE_ANIMATION(Mankey); +SINGLE_ANIMATION(Primeape); +SINGLE_ANIMATION(Growlithe); +SINGLE_ANIMATION(Arcanine); +SINGLE_ANIMATION(Poliwag); +SINGLE_ANIMATION(Poliwhirl); +SINGLE_ANIMATION(Poliwrath); +SINGLE_ANIMATION(Abra); +SINGLE_ANIMATION(Kadabra); +SINGLE_ANIMATION(Alakazam); +SINGLE_ANIMATION(Machop); +SINGLE_ANIMATION(Machoke); +SINGLE_ANIMATION(Machamp); +SINGLE_ANIMATION(Bellsprout); +SINGLE_ANIMATION(Weepinbell); +SINGLE_ANIMATION(Victreebel); +SINGLE_ANIMATION(Tentacool); +SINGLE_ANIMATION(Tentacruel); +SINGLE_ANIMATION(Geodude); +SINGLE_ANIMATION(Graveler); +SINGLE_ANIMATION(Golem); +SINGLE_ANIMATION(Ponyta); +SINGLE_ANIMATION(Rapidash); +SINGLE_ANIMATION(Slowpoke); +SINGLE_ANIMATION(Slowbro); +SINGLE_ANIMATION(Magnemite); +SINGLE_ANIMATION(Magneton); +SINGLE_ANIMATION(Farfetchd); +SINGLE_ANIMATION(Doduo); +SINGLE_ANIMATION(Dodrio); +SINGLE_ANIMATION(Seel); +SINGLE_ANIMATION(Dewgong); +DOUBLE_ANIMATION(Grimer); +DOUBLE_ANIMATION(Muk); +SINGLE_ANIMATION(Shellder); +SINGLE_ANIMATION(Cloyster); +SINGLE_ANIMATION(Gastly); +SINGLE_ANIMATION(Haunter); +SINGLE_ANIMATION(Gengar); +SINGLE_ANIMATION(Onix); +SINGLE_ANIMATION(Drowzee); +SINGLE_ANIMATION(Hypno); +SINGLE_ANIMATION(Krabby); +SINGLE_ANIMATION(Kingler); +SINGLE_ANIMATION(Voltorb); +SINGLE_ANIMATION(Electrode); +SINGLE_ANIMATION(Exeggcute); +SINGLE_ANIMATION(Exeggutor); +SINGLE_ANIMATION(Cubone); +SINGLE_ANIMATION(Marowak); +SINGLE_ANIMATION(Hitmonlee); +SINGLE_ANIMATION(Hitmonchan); +SINGLE_ANIMATION(Lickitung); +DOUBLE_ANIMATION(Koffing); +DOUBLE_ANIMATION(Weezing); +DOUBLE_ANIMATION(Rhyhorn); +DOUBLE_ANIMATION(Rhydon); +SINGLE_ANIMATION(Chansey); +SINGLE_ANIMATION(Tangela); +SINGLE_ANIMATION(Kangaskhan); +DOUBLE_ANIMATION(Horsea); +DOUBLE_ANIMATION(Seadra); +SINGLE_ANIMATION(Goldeen); +SINGLE_ANIMATION(Seaking); +DOUBLE_ANIMATION(Staryu); +DOUBLE_ANIMATION(Starmie); +SINGLE_ANIMATION(MrMime); +SINGLE_ANIMATION(Scyther); +SINGLE_ANIMATION(Jynx); +SINGLE_ANIMATION(Electabuzz); +SINGLE_ANIMATION(Magmar); +DOUBLE_ANIMATION(Pinsir); +SINGLE_ANIMATION(Tauros); +SINGLE_ANIMATION(Magikarp); +SINGLE_ANIMATION(Gyarados); +SINGLE_ANIMATION(Lapras); +SINGLE_ANIMATION(Ditto); +SINGLE_ANIMATION(Eevee); +SINGLE_ANIMATION(Vaporeon); +SINGLE_ANIMATION(Jolteon); +SINGLE_ANIMATION(Flareon); +SINGLE_ANIMATION(Porygon); +SINGLE_ANIMATION(Omanyte); +SINGLE_ANIMATION(Omastar); +SINGLE_ANIMATION(Kabuto); +SINGLE_ANIMATION(Kabutops); +SINGLE_ANIMATION(Aerodactyl); +SINGLE_ANIMATION(Snorlax); +SINGLE_ANIMATION(Articuno); +SINGLE_ANIMATION(Zapdos); +SINGLE_ANIMATION(Moltres); +SINGLE_ANIMATION(Dratini); +SINGLE_ANIMATION(Dragonair); +SINGLE_ANIMATION(Dragonite); +SINGLE_ANIMATION(Mewtwo); +SINGLE_ANIMATION(Mew); +SINGLE_ANIMATION(Chikorita); +SINGLE_ANIMATION(Bayleef); +SINGLE_ANIMATION(Meganium); +SINGLE_ANIMATION(Cyndaquil); +SINGLE_ANIMATION(Quilava); +SINGLE_ANIMATION(Typhlosion); +SINGLE_ANIMATION(Totodile); +SINGLE_ANIMATION(Croconaw); +SINGLE_ANIMATION(Feraligatr); +SINGLE_ANIMATION(Sentret); +SINGLE_ANIMATION(Furret); +SINGLE_ANIMATION(Hoothoot); +SINGLE_ANIMATION(Noctowl); +SINGLE_ANIMATION(Ledyba); +SINGLE_ANIMATION(Ledian); +SINGLE_ANIMATION(Spinarak); +SINGLE_ANIMATION(Ariados); +SINGLE_ANIMATION(Crobat); +DOUBLE_ANIMATION(Chinchou); +DOUBLE_ANIMATION(Lanturn); +DOUBLE_ANIMATION(Pichu); +SINGLE_ANIMATION(Cleffa); +DOUBLE_ANIMATION(Igglybuff); +SINGLE_ANIMATION(Togepi); +SINGLE_ANIMATION(Togetic); +DOUBLE_ANIMATION(Natu); +DOUBLE_ANIMATION(Xatu); +SINGLE_ANIMATION(Mareep); +SINGLE_ANIMATION(Flaaffy); +SINGLE_ANIMATION(Ampharos); +SINGLE_ANIMATION(Bellossom); +SINGLE_ANIMATION(Marill); +SINGLE_ANIMATION(Azumarill); +SINGLE_ANIMATION(Sudowoodo); +SINGLE_ANIMATION(Politoed); +SINGLE_ANIMATION(Hoppip); +SINGLE_ANIMATION(Skiploom); +SINGLE_ANIMATION(Jumpluff); +SINGLE_ANIMATION(Aipom); +SINGLE_ANIMATION(Sunkern); +SINGLE_ANIMATION(Sunflora); +SINGLE_ANIMATION(Yanma); +SINGLE_ANIMATION(Wooper); +SINGLE_ANIMATION(Quagsire); +SINGLE_ANIMATION(Espeon); +SINGLE_ANIMATION(Umbreon); +SINGLE_ANIMATION(Murkrow); +SINGLE_ANIMATION(Slowking); +SINGLE_ANIMATION(Misdreavus); +SINGLE_ANIMATION(Unown); +DOUBLE_ANIMATION(Wobbuffet); +DOUBLE_ANIMATION(Girafarig); +SINGLE_ANIMATION(Pineco); +SINGLE_ANIMATION(Forretress); +SINGLE_ANIMATION(Dunsparce); +SINGLE_ANIMATION(Gligar); +SINGLE_ANIMATION(Steelix); +SINGLE_ANIMATION(Snubbull); +SINGLE_ANIMATION(Granbull); +SINGLE_ANIMATION(Qwilfish); +SINGLE_ANIMATION(Scizor); +SINGLE_ANIMATION(Shuckle); +DOUBLE_ANIMATION(Heracross); +SINGLE_ANIMATION(Sneasel); +SINGLE_ANIMATION(Teddiursa); +SINGLE_ANIMATION(Ursaring); +DOUBLE_ANIMATION(Slugma); +DOUBLE_ANIMATION(Magcargo); +SINGLE_ANIMATION(Swinub); +SINGLE_ANIMATION(Piloswine); +DOUBLE_ANIMATION(Corsola); +SINGLE_ANIMATION(Remoraid); +SINGLE_ANIMATION(Octillery); +SINGLE_ANIMATION(Delibird); +SINGLE_ANIMATION(Mantine); +DOUBLE_ANIMATION(Skarmory); +SINGLE_ANIMATION(Houndour); +SINGLE_ANIMATION(Houndoom); +DOUBLE_ANIMATION(Kingdra); +DOUBLE_ANIMATION(Phanpy); +DOUBLE_ANIMATION(Donphan); +SINGLE_ANIMATION(Porygon2); +SINGLE_ANIMATION(Stantler); +SINGLE_ANIMATION(Smeargle); +SINGLE_ANIMATION(Tyrogue); +SINGLE_ANIMATION(Hitmontop); +SINGLE_ANIMATION(Smoochum); +SINGLE_ANIMATION(Elekid); +SINGLE_ANIMATION(Magby); +SINGLE_ANIMATION(Miltank); +SINGLE_ANIMATION(Blissey); +SINGLE_ANIMATION(Raikou); +SINGLE_ANIMATION(Entei); +SINGLE_ANIMATION(Suicune); +SINGLE_ANIMATION(Larvitar); +SINGLE_ANIMATION(Pupitar); +SINGLE_ANIMATION(Tyranitar); +SINGLE_ANIMATION(Lugia); +SINGLE_ANIMATION(HoOh); +SINGLE_ANIMATION(Celebi); +SINGLE_ANIMATION(OldUnownB); +SINGLE_ANIMATION(Treecko); +SINGLE_ANIMATION(Grovyle); +SINGLE_ANIMATION(Sceptile); +SINGLE_ANIMATION(Torchic); +SINGLE_ANIMATION(Combusken); +static const union AnimCmd *const sAnims_Blaziken[] ={ + sAnim_GeneralFrame0, + sAnim_Blaziken_1, + sAnim_Blaziken_2, + sAnim_Blaziken_3, + sAnim_Blaziken_4, +}; +SINGLE_ANIMATION(Mudkip); +SINGLE_ANIMATION(Marshtomp); +SINGLE_ANIMATION(Swampert); +SINGLE_ANIMATION(Poochyena); +SINGLE_ANIMATION(Mightyena); +SINGLE_ANIMATION(Zigzagoon); +SINGLE_ANIMATION(Linoone); +SINGLE_ANIMATION(Wurmple); +DOUBLE_ANIMATION(Silcoon); +DOUBLE_ANIMATION(Beautifly); +DOUBLE_ANIMATION(Cascoon); +DOUBLE_ANIMATION(Dustox); +SINGLE_ANIMATION(Lotad); +SINGLE_ANIMATION(Lombre); +SINGLE_ANIMATION(Ludicolo); +SINGLE_ANIMATION(Seedot); +SINGLE_ANIMATION(Nuzleaf); +SINGLE_ANIMATION(Shiftry); +SINGLE_ANIMATION(Nincada); +SINGLE_ANIMATION(Ninjask); +SINGLE_ANIMATION(Shedinja); +SINGLE_ANIMATION(Taillow); +SINGLE_ANIMATION(Swellow); +SINGLE_ANIMATION(Shroomish); +SINGLE_ANIMATION(Breloom); +static const union AnimCmd *const sAnims_Spinda[] ={ + sAnim_GeneralFrame0, +}; +SINGLE_ANIMATION(Wingull); +SINGLE_ANIMATION(Pelipper); +DOUBLE_ANIMATION(Surskit); +DOUBLE_ANIMATION(Masquerain); +SINGLE_ANIMATION(Wailmer); +SINGLE_ANIMATION(Wailord); +SINGLE_ANIMATION(Skitty); +SINGLE_ANIMATION(Delcatty); +SINGLE_ANIMATION(Kecleon); +SINGLE_ANIMATION(Baltoy); +SINGLE_ANIMATION(Claydol); +SINGLE_ANIMATION(Nosepass); +SINGLE_ANIMATION(Torkoal); +SINGLE_ANIMATION(Sableye); +SINGLE_ANIMATION(Barboach); +SINGLE_ANIMATION(Whiscash); +SINGLE_ANIMATION(Luvdisc); +SINGLE_ANIMATION(Corphish); +SINGLE_ANIMATION(Crawdaunt); +SINGLE_ANIMATION(Feebas); +SINGLE_ANIMATION(Milotic); +SINGLE_ANIMATION(Carvanha); +SINGLE_ANIMATION(Sharpedo); +SINGLE_ANIMATION(Trapinch); +SINGLE_ANIMATION(Vibrava); +SINGLE_ANIMATION(Flygon); +SINGLE_ANIMATION(Makuhita); +SINGLE_ANIMATION(Hariyama); +SINGLE_ANIMATION(Electrike); +SINGLE_ANIMATION(Manectric); +SINGLE_ANIMATION(Numel); +SINGLE_ANIMATION(Camerupt); +SINGLE_ANIMATION(Spheal); +SINGLE_ANIMATION(Sealeo); +SINGLE_ANIMATION(Walrein); +SINGLE_ANIMATION(Cacnea); +SINGLE_ANIMATION(Cacturne); +SINGLE_ANIMATION(Snorunt); +SINGLE_ANIMATION(Glalie); +DOUBLE_ANIMATION(Lunatone); +DOUBLE_ANIMATION(Solrock); +SINGLE_ANIMATION(Azurill); +SINGLE_ANIMATION(Spoink); +SINGLE_ANIMATION(Grumpig); +SINGLE_ANIMATION(Plusle); +SINGLE_ANIMATION(Minun); +SINGLE_ANIMATION(Mawile); +SINGLE_ANIMATION(Meditite); +SINGLE_ANIMATION(Medicham); +DOUBLE_ANIMATION(Swablu); +DOUBLE_ANIMATION(Altaria); +SINGLE_ANIMATION(Wynaut); +SINGLE_ANIMATION(Duskull); +SINGLE_ANIMATION(Dusclops); +SINGLE_ANIMATION(Roselia); +SINGLE_ANIMATION(Slakoth); +SINGLE_ANIMATION(Vigoroth); +SINGLE_ANIMATION(Slaking); +SINGLE_ANIMATION(Gulpin); +SINGLE_ANIMATION(Swalot); +SINGLE_ANIMATION(Tropius); +SINGLE_ANIMATION(Whismur); +SINGLE_ANIMATION(Loudred); +SINGLE_ANIMATION(Exploud); +SINGLE_ANIMATION(Clamperl); +SINGLE_ANIMATION(Huntail); +SINGLE_ANIMATION(Gorebyss); +SINGLE_ANIMATION(Absol); +SINGLE_ANIMATION(Shuppet); +SINGLE_ANIMATION(Banette); +SINGLE_ANIMATION(Seviper); +SINGLE_ANIMATION(Zangoose); +SINGLE_ANIMATION(Relicanth); +SINGLE_ANIMATION(Aron); +SINGLE_ANIMATION(Lairon); +SINGLE_ANIMATION(Aggron); +static const union AnimCmd *const sAnims_Castform[] ={ + sAnim_Castform_0, + sAnim_Castform_1, + sAnim_Castform_2, + sAnim_Castform_3, +}; +SINGLE_ANIMATION(Volbeat); +SINGLE_ANIMATION(Illumise); +SINGLE_ANIMATION(Lileep); +SINGLE_ANIMATION(Cradily); +SINGLE_ANIMATION(Anorith); +SINGLE_ANIMATION(Armaldo); +SINGLE_ANIMATION(Ralts); +SINGLE_ANIMATION(Kirlia); +SINGLE_ANIMATION(Gardevoir); +SINGLE_ANIMATION(Bagon); +SINGLE_ANIMATION(Shelgon); +SINGLE_ANIMATION(Salamence); +SINGLE_ANIMATION(Beldum); +SINGLE_ANIMATION(Metang); +SINGLE_ANIMATION(Metagross); +DOUBLE_ANIMATION(Regirock); +SINGLE_ANIMATION(Regice); +DOUBLE_ANIMATION(Registeel); +DOUBLE_ANIMATION(Kyogre); +DOUBLE_ANIMATION(Groudon); +DOUBLE_ANIMATION(Rayquaza); +DOUBLE_ANIMATION(Latias); +DOUBLE_ANIMATION(Latios); +DOUBLE_ANIMATION(Jirachi); +DOUBLE_ANIMATION(Deoxys); +SINGLE_ANIMATION(Chimecho); +SINGLE_ANIMATION(Egg); +SINGLE_ANIMATION(UnownB); +SINGLE_ANIMATION(UnownC); +SINGLE_ANIMATION(UnownD); +SINGLE_ANIMATION(UnownE); +SINGLE_ANIMATION(UnownF); +SINGLE_ANIMATION(UnownG); +SINGLE_ANIMATION(UnownH); +SINGLE_ANIMATION(UnownI); +SINGLE_ANIMATION(UnownJ); +SINGLE_ANIMATION(UnownK); +SINGLE_ANIMATION(UnownL); +SINGLE_ANIMATION(UnownM); +SINGLE_ANIMATION(UnownN); +SINGLE_ANIMATION(UnownO); +SINGLE_ANIMATION(UnownP); +SINGLE_ANIMATION(UnownQ); +SINGLE_ANIMATION(UnownR); +SINGLE_ANIMATION(UnownS); +SINGLE_ANIMATION(UnownT); +SINGLE_ANIMATION(UnownU); +SINGLE_ANIMATION(UnownV); +SINGLE_ANIMATION(UnownW); +SINGLE_ANIMATION(UnownX); +SINGLE_ANIMATION(UnownY); +SINGLE_ANIMATION(UnownZ); +SINGLE_ANIMATION(UnownEMark); +SINGLE_ANIMATION(UnownQMark); const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = { - ANIM_CMD(NONE), - ANIM_CMD(BULBASAUR), - ANIM_CMD(IVYSAUR), - ANIM_CMD(VENUSAUR), - ANIM_CMD(CHARMANDER), - ANIM_CMD(CHARMELEON), - ANIM_CMD(CHARIZARD), - ANIM_CMD(SQUIRTLE), - ANIM_CMD(WARTORTLE), - ANIM_CMD(BLASTOISE), - ANIM_CMD(CATERPIE), - ANIM_CMD(METAPOD), - ANIM_CMD(BUTTERFREE), - ANIM_CMD(WEEDLE), - ANIM_CMD(KAKUNA), - ANIM_CMD(BEEDRILL), - ANIM_CMD(PIDGEY), - ANIM_CMD(PIDGEOTTO), - ANIM_CMD(PIDGEOT), - ANIM_CMD(RATTATA), - ANIM_CMD(RATICATE), - ANIM_CMD(SPEAROW), - ANIM_CMD(FEAROW), - ANIM_CMD(EKANS), - ANIM_CMD(ARBOK), - ANIM_CMD(PIKACHU), - ANIM_CMD(RAICHU), - ANIM_CMD(SANDSHREW), - ANIM_CMD(SANDSLASH), - ANIM_CMD(NIDORAN_F), - ANIM_CMD(NIDORINA), - ANIM_CMD(NIDOQUEEN), - ANIM_CMD(NIDORAN_M), - ANIM_CMD(NIDORINO), - ANIM_CMD(NIDOKING), - ANIM_CMD(CLEFAIRY), - ANIM_CMD(CLEFABLE), - ANIM_CMD(VULPIX), - ANIM_CMD(NINETALES), - ANIM_CMD(JIGGLYPUFF), - ANIM_CMD(WIGGLYTUFF), - ANIM_CMD(ZUBAT), - ANIM_CMD(GOLBAT), - ANIM_CMD(ODDISH), - ANIM_CMD(GLOOM), - ANIM_CMD(VILEPLUME), - ANIM_CMD(PARAS), - ANIM_CMD(PARASECT), - ANIM_CMD(VENONAT), - ANIM_CMD(VENOMOTH), - ANIM_CMD(DIGLETT), - ANIM_CMD(DUGTRIO), - ANIM_CMD(MEOWTH), - ANIM_CMD(PERSIAN), - ANIM_CMD(PSYDUCK), - ANIM_CMD(GOLDUCK), - ANIM_CMD(MANKEY), - ANIM_CMD(PRIMEAPE), - ANIM_CMD(GROWLITHE), - ANIM_CMD(ARCANINE), - ANIM_CMD(POLIWAG), - ANIM_CMD(POLIWHIRL), - ANIM_CMD(POLIWRATH), - ANIM_CMD(ABRA), - ANIM_CMD(KADABRA), - ANIM_CMD(ALAKAZAM), - ANIM_CMD(MACHOP), - ANIM_CMD(MACHOKE), - ANIM_CMD(MACHAMP), - ANIM_CMD(BELLSPROUT), - ANIM_CMD(WEEPINBELL), - ANIM_CMD(VICTREEBEL), - ANIM_CMD(TENTACOOL), - ANIM_CMD(TENTACRUEL), - ANIM_CMD(GEODUDE), - ANIM_CMD(GRAVELER), - ANIM_CMD(GOLEM), - ANIM_CMD(PONYTA), - ANIM_CMD(RAPIDASH), - ANIM_CMD(SLOWPOKE), - ANIM_CMD(SLOWBRO), - ANIM_CMD(MAGNEMITE), - ANIM_CMD(MAGNETON), - ANIM_CMD(FARFETCHD), - ANIM_CMD(DODUO), - ANIM_CMD(DODRIO), - ANIM_CMD(SEEL), - ANIM_CMD(DEWGONG), - ANIM_CMD(GRIMER), - ANIM_CMD(MUK), - ANIM_CMD(SHELLDER), - ANIM_CMD(CLOYSTER), - ANIM_CMD(GASTLY), - ANIM_CMD(HAUNTER), - ANIM_CMD(GENGAR), - ANIM_CMD(ONIX), - ANIM_CMD(DROWZEE), - ANIM_CMD(HYPNO), - ANIM_CMD(KRABBY), - ANIM_CMD(KINGLER), - ANIM_CMD(VOLTORB), - ANIM_CMD(ELECTRODE), - ANIM_CMD(EXEGGCUTE), - ANIM_CMD(EXEGGUTOR), - ANIM_CMD(CUBONE), - ANIM_CMD(MAROWAK), - ANIM_CMD(HITMONLEE), - ANIM_CMD(HITMONCHAN), - ANIM_CMD(LICKITUNG), - ANIM_CMD(KOFFING), - ANIM_CMD(WEEZING), - ANIM_CMD(RHYHORN), - ANIM_CMD(RHYDON), - ANIM_CMD(CHANSEY), - ANIM_CMD(TANGELA), - ANIM_CMD(KANGASKHAN), - ANIM_CMD(HORSEA), - ANIM_CMD(SEADRA), - ANIM_CMD(GOLDEEN), - ANIM_CMD(SEAKING), - ANIM_CMD(STARYU), - ANIM_CMD(STARMIE), - ANIM_CMD(MR_MIME), - ANIM_CMD(SCYTHER), - ANIM_CMD(JYNX), - ANIM_CMD(ELECTABUZZ), - ANIM_CMD(MAGMAR), - ANIM_CMD(PINSIR), - ANIM_CMD(TAUROS), - ANIM_CMD(MAGIKARP), - ANIM_CMD(GYARADOS), - ANIM_CMD(LAPRAS), - ANIM_CMD(DITTO), - ANIM_CMD(EEVEE), - ANIM_CMD(VAPOREON), - ANIM_CMD(JOLTEON), - ANIM_CMD(FLAREON), - ANIM_CMD(PORYGON), - ANIM_CMD(OMANYTE), - ANIM_CMD(OMASTAR), - ANIM_CMD(KABUTO), - ANIM_CMD(KABUTOPS), - ANIM_CMD(AERODACTYL), - ANIM_CMD(SNORLAX), - ANIM_CMD(ARTICUNO), - ANIM_CMD(ZAPDOS), - ANIM_CMD(MOLTRES), - ANIM_CMD(DRATINI), - ANIM_CMD(DRAGONAIR), - ANIM_CMD(DRAGONITE), - ANIM_CMD(MEWTWO), - ANIM_CMD(MEW), - ANIM_CMD(CHIKORITA), - ANIM_CMD(BAYLEEF), - ANIM_CMD(MEGANIUM), - ANIM_CMD(CYNDAQUIL), - ANIM_CMD(QUILAVA), - ANIM_CMD(TYPHLOSION), - ANIM_CMD(TOTODILE), - ANIM_CMD(CROCONAW), - ANIM_CMD(FERALIGATR), - ANIM_CMD(SENTRET), - ANIM_CMD(FURRET), - ANIM_CMD(HOOTHOOT), - ANIM_CMD(NOCTOWL), - ANIM_CMD(LEDYBA), - ANIM_CMD(LEDIAN), - ANIM_CMD(SPINARAK), - ANIM_CMD(ARIADOS), - ANIM_CMD(CROBAT), - ANIM_CMD(CHINCHOU), - ANIM_CMD(LANTURN), - ANIM_CMD(PICHU), - ANIM_CMD(CLEFFA), - ANIM_CMD(IGGLYBUFF), - ANIM_CMD(TOGEPI), - ANIM_CMD(TOGETIC), - ANIM_CMD(NATU), - ANIM_CMD(XATU), - ANIM_CMD(MAREEP), - ANIM_CMD(FLAAFFY), - ANIM_CMD(AMPHAROS), - ANIM_CMD(BELLOSSOM), - ANIM_CMD(MARILL), - ANIM_CMD(AZUMARILL), - ANIM_CMD(SUDOWOODO), - ANIM_CMD(POLITOED), - ANIM_CMD(HOPPIP), - ANIM_CMD(SKIPLOOM), - ANIM_CMD(JUMPLUFF), - ANIM_CMD(AIPOM), - ANIM_CMD(SUNKERN), - ANIM_CMD(SUNFLORA), - ANIM_CMD(YANMA), - ANIM_CMD(WOOPER), - ANIM_CMD(QUAGSIRE), - ANIM_CMD(ESPEON), - ANIM_CMD(UMBREON), - ANIM_CMD(MURKROW), - ANIM_CMD(SLOWKING), - ANIM_CMD(MISDREAVUS), - ANIM_CMD(UNOWN), - ANIM_CMD(WOBBUFFET), - ANIM_CMD(GIRAFARIG), - ANIM_CMD(PINECO), - ANIM_CMD(FORRETRESS), - ANIM_CMD(DUNSPARCE), - ANIM_CMD(GLIGAR), - ANIM_CMD(STEELIX), - ANIM_CMD(SNUBBULL), - ANIM_CMD(GRANBULL), - ANIM_CMD(QWILFISH), - ANIM_CMD(SCIZOR), - ANIM_CMD(SHUCKLE), - ANIM_CMD(HERACROSS), - ANIM_CMD(SNEASEL), - ANIM_CMD(TEDDIURSA), - ANIM_CMD(URSARING), - ANIM_CMD(SLUGMA), - ANIM_CMD(MAGCARGO), - ANIM_CMD(SWINUB), - ANIM_CMD(PILOSWINE), - ANIM_CMD(CORSOLA), - ANIM_CMD(REMORAID), - ANIM_CMD(OCTILLERY), - ANIM_CMD(DELIBIRD), - ANIM_CMD(MANTINE), - ANIM_CMD(SKARMORY), - ANIM_CMD(HOUNDOUR), - ANIM_CMD(HOUNDOOM), - ANIM_CMD(KINGDRA), - ANIM_CMD(PHANPY), - ANIM_CMD(DONPHAN), - ANIM_CMD(PORYGON2), - ANIM_CMD(STANTLER), - ANIM_CMD(SMEARGLE), - ANIM_CMD(TYROGUE), - ANIM_CMD(HITMONTOP), - ANIM_CMD(SMOOCHUM), - ANIM_CMD(ELEKID), - ANIM_CMD(MAGBY), - ANIM_CMD(MILTANK), - ANIM_CMD(BLISSEY), - ANIM_CMD(RAIKOU), - ANIM_CMD(ENTEI), - ANIM_CMD(SUICUNE), - ANIM_CMD(LARVITAR), - ANIM_CMD(PUPITAR), - ANIM_CMD(TYRANITAR), - ANIM_CMD(LUGIA), - ANIM_CMD(HO_OH), - ANIM_CMD(CELEBI), - ANIM_CMD(OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_C, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_D, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_E, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_F, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_G, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_H, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_I, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_J, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_K, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_L, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_M, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_N, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_O, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_P, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Q, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_R, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_S, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_T, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_U, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_V, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_W, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_X, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Y, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Z, sAnims_OLD_UNOWN_B), - ANIM_CMD(TREECKO), - ANIM_CMD(GROVYLE), - ANIM_CMD(SCEPTILE), - ANIM_CMD(TORCHIC), - ANIM_CMD(COMBUSKEN), - ANIM_CMD(BLAZIKEN), - ANIM_CMD(MUDKIP), - ANIM_CMD(MARSHTOMP), - ANIM_CMD(SWAMPERT), - ANIM_CMD(POOCHYENA), - ANIM_CMD(MIGHTYENA), - ANIM_CMD(ZIGZAGOON), - ANIM_CMD(LINOONE), - ANIM_CMD(WURMPLE), - ANIM_CMD(SILCOON), - ANIM_CMD(BEAUTIFLY), - ANIM_CMD(CASCOON), - ANIM_CMD(DUSTOX), - ANIM_CMD(LOTAD), - ANIM_CMD(LOMBRE), - ANIM_CMD(LUDICOLO), - ANIM_CMD(SEEDOT), - ANIM_CMD(NUZLEAF), - ANIM_CMD(SHIFTRY), - ANIM_CMD(NINCADA), - ANIM_CMD(NINJASK), - ANIM_CMD(SHEDINJA), - ANIM_CMD(TAILLOW), - ANIM_CMD(SWELLOW), - ANIM_CMD(SHROOMISH), - ANIM_CMD(BRELOOM), - ANIM_CMD(SPINDA), - ANIM_CMD(WINGULL), - ANIM_CMD(PELIPPER), - ANIM_CMD(SURSKIT), - ANIM_CMD(MASQUERAIN), - ANIM_CMD(WAILMER), - ANIM_CMD(WAILORD), - ANIM_CMD(SKITTY), - ANIM_CMD(DELCATTY), - ANIM_CMD(KECLEON), - ANIM_CMD(BALTOY), - ANIM_CMD(CLAYDOL), - ANIM_CMD(NOSEPASS), - ANIM_CMD(TORKOAL), - ANIM_CMD(SABLEYE), - ANIM_CMD(BARBOACH), - ANIM_CMD(WHISCASH), - ANIM_CMD(LUVDISC), - ANIM_CMD(CORPHISH), - ANIM_CMD(CRAWDAUNT), - ANIM_CMD(FEEBAS), - ANIM_CMD(MILOTIC), - ANIM_CMD(CARVANHA), - ANIM_CMD(SHARPEDO), - ANIM_CMD(TRAPINCH), - ANIM_CMD(VIBRAVA), - ANIM_CMD(FLYGON), - ANIM_CMD(MAKUHITA), - ANIM_CMD(HARIYAMA), - ANIM_CMD(ELECTRIKE), - ANIM_CMD(MANECTRIC), - ANIM_CMD(NUMEL), - ANIM_CMD(CAMERUPT), - ANIM_CMD(SPHEAL), - ANIM_CMD(SEALEO), - ANIM_CMD(WALREIN), - ANIM_CMD(CACNEA), - ANIM_CMD(CACTURNE), - ANIM_CMD(SNORUNT), - ANIM_CMD(GLALIE), - ANIM_CMD(LUNATONE), - ANIM_CMD(SOLROCK), - ANIM_CMD(AZURILL), - ANIM_CMD(SPOINK), - ANIM_CMD(GRUMPIG), - ANIM_CMD(PLUSLE), - ANIM_CMD(MINUN), - ANIM_CMD(MAWILE), - ANIM_CMD(MEDITITE), - ANIM_CMD(MEDICHAM), - ANIM_CMD(SWABLU), - ANIM_CMD(ALTARIA), - ANIM_CMD(WYNAUT), - ANIM_CMD(DUSKULL), - ANIM_CMD(DUSCLOPS), - ANIM_CMD(ROSELIA), - ANIM_CMD(SLAKOTH), - ANIM_CMD(VIGOROTH), - ANIM_CMD(SLAKING), - ANIM_CMD(GULPIN), - ANIM_CMD(SWALOT), - ANIM_CMD(TROPIUS), - ANIM_CMD(WHISMUR), - ANIM_CMD(LOUDRED), - ANIM_CMD(EXPLOUD), - ANIM_CMD(CLAMPERL), - ANIM_CMD(HUNTAIL), - ANIM_CMD(GOREBYSS), - ANIM_CMD(ABSOL), - ANIM_CMD(SHUPPET), - ANIM_CMD(BANETTE), - ANIM_CMD(SEVIPER), - ANIM_CMD(ZANGOOSE), - ANIM_CMD(RELICANTH), - ANIM_CMD(ARON), - ANIM_CMD(LAIRON), - ANIM_CMD(AGGRON), - ANIM_CMD(CASTFORM), - ANIM_CMD(VOLBEAT), - ANIM_CMD(ILLUMISE), - ANIM_CMD(LILEEP), - ANIM_CMD(CRADILY), - ANIM_CMD(ANORITH), - ANIM_CMD(ARMALDO), - ANIM_CMD(RALTS), - ANIM_CMD(KIRLIA), - ANIM_CMD(GARDEVOIR), - ANIM_CMD(BAGON), - ANIM_CMD(SHELGON), - ANIM_CMD(SALAMENCE), - ANIM_CMD(BELDUM), - ANIM_CMD(METANG), - ANIM_CMD(METAGROSS), - ANIM_CMD(REGIROCK), - ANIM_CMD(REGICE), - ANIM_CMD(REGISTEEL), - ANIM_CMD(KYOGRE), - ANIM_CMD(GROUDON), - ANIM_CMD(RAYQUAZA), - ANIM_CMD(LATIAS), - ANIM_CMD(LATIOS), - ANIM_CMD(JIRACHI), - ANIM_CMD(DEOXYS), - ANIM_CMD(CHIMECHO), - ANIM_CMD(EGG), - ANIM_CMD(UNOWN_B), - ANIM_CMD(UNOWN_C), - ANIM_CMD(UNOWN_D), - ANIM_CMD(UNOWN_E), - ANIM_CMD(UNOWN_F), - ANIM_CMD(UNOWN_G), - ANIM_CMD(UNOWN_H), - ANIM_CMD(UNOWN_I), - ANIM_CMD(UNOWN_J), - ANIM_CMD(UNOWN_K), - ANIM_CMD(UNOWN_L), - ANIM_CMD(UNOWN_M), - ANIM_CMD(UNOWN_N), - ANIM_CMD(UNOWN_O), - ANIM_CMD(UNOWN_P), - ANIM_CMD(UNOWN_Q), - ANIM_CMD(UNOWN_R), - ANIM_CMD(UNOWN_S), - ANIM_CMD(UNOWN_T), - ANIM_CMD(UNOWN_U), - ANIM_CMD(UNOWN_V), - ANIM_CMD(UNOWN_W), - ANIM_CMD(UNOWN_X), - ANIM_CMD(UNOWN_Y), - ANIM_CMD(UNOWN_Z), - ANIM_CMD(UNOWN_EMARK), - ANIM_CMD(UNOWN_QMARK), -}; + [SPECIES_NONE] = sAnims_None, + [SPECIES_BULBASAUR] = sAnims_Bulbasaur, + [SPECIES_IVYSAUR] = sAnims_Ivysaur, + [SPECIES_VENUSAUR] = sAnims_Venusaur, + [SPECIES_CHARMANDER] = sAnims_Charmander, + [SPECIES_CHARMELEON] = sAnims_Charmeleon, + [SPECIES_CHARIZARD] = sAnims_Charizard, + [SPECIES_SQUIRTLE] = sAnims_Squirtle, + [SPECIES_WARTORTLE] = sAnims_Wartortle, + [SPECIES_BLASTOISE] = sAnims_Blastoise, + [SPECIES_CATERPIE] = sAnims_Caterpie, + [SPECIES_METAPOD] = sAnims_Metapod, + [SPECIES_BUTTERFREE] = sAnims_Butterfree, + [SPECIES_WEEDLE] = sAnims_Weedle, + [SPECIES_KAKUNA] = sAnims_Kakuna, + [SPECIES_BEEDRILL] = sAnims_Beedrill, + [SPECIES_PIDGEY] = sAnims_Pidgey, + [SPECIES_PIDGEOTTO] = sAnims_Pidgeotto, + [SPECIES_PIDGEOT] = sAnims_Pidgeot, + [SPECIES_RATTATA] = sAnims_Rattata, + [SPECIES_RATICATE] = sAnims_Raticate, + [SPECIES_SPEAROW] = sAnims_Spearow, + [SPECIES_FEAROW] = sAnims_Fearow, + [SPECIES_EKANS] = sAnims_Ekans, + [SPECIES_ARBOK] = sAnims_Arbok, + [SPECIES_PIKACHU] = sAnims_Pikachu, + [SPECIES_RAICHU] = sAnims_Raichu, + [SPECIES_SANDSHREW] = sAnims_Sandshrew, + [SPECIES_SANDSLASH] = sAnims_Sandslash, + [SPECIES_NIDORAN_F] = sAnims_NidoranF, + [SPECIES_NIDORINA] = sAnims_Nidorina, + [SPECIES_NIDOQUEEN] = sAnims_Nidoqueen, + [SPECIES_NIDORAN_M] = sAnims_NidoranM, + [SPECIES_NIDORINO] = sAnims_Nidorino, + [SPECIES_NIDOKING] = sAnims_Nidoking, + [SPECIES_CLEFAIRY] = sAnims_Clefairy, + [SPECIES_CLEFABLE] = sAnims_Clefable, + [SPECIES_VULPIX] = sAnims_Vulpix, + [SPECIES_NINETALES] = sAnims_Ninetales, + [SPECIES_JIGGLYPUFF] = sAnims_Jigglypuff, + [SPECIES_WIGGLYTUFF] = sAnims_Wigglytuff, + [SPECIES_ZUBAT] = sAnims_Zubat, + [SPECIES_GOLBAT] = sAnims_Golbat, + [SPECIES_ODDISH] = sAnims_Oddish, + [SPECIES_GLOOM] = sAnims_Gloom, + [SPECIES_VILEPLUME] = sAnims_Vileplume, + [SPECIES_PARAS] = sAnims_Paras, + [SPECIES_PARASECT] = sAnims_Parasect, + [SPECIES_VENONAT] = sAnims_Venonat, + [SPECIES_VENOMOTH] = sAnims_Venomoth, + [SPECIES_DIGLETT] = sAnims_Diglett, + [SPECIES_DUGTRIO] = sAnims_Dugtrio, + [SPECIES_MEOWTH] = sAnims_Meowth, + [SPECIES_PERSIAN] = sAnims_Persian, + [SPECIES_PSYDUCK] = sAnims_Psyduck, + [SPECIES_GOLDUCK] = sAnims_Golduck, + [SPECIES_MANKEY] = sAnims_Mankey, + [SPECIES_PRIMEAPE] = sAnims_Primeape, + [SPECIES_GROWLITHE] = sAnims_Growlithe, + [SPECIES_ARCANINE] = sAnims_Arcanine, + [SPECIES_POLIWAG] = sAnims_Poliwag, + [SPECIES_POLIWHIRL] = sAnims_Poliwhirl, + [SPECIES_POLIWRATH] = sAnims_Poliwrath, + [SPECIES_ABRA] = sAnims_Abra, + [SPECIES_KADABRA] = sAnims_Kadabra, + [SPECIES_ALAKAZAM] = sAnims_Alakazam, + [SPECIES_MACHOP] = sAnims_Machop, + [SPECIES_MACHOKE] = sAnims_Machoke, + [SPECIES_MACHAMP] = sAnims_Machamp, + [SPECIES_BELLSPROUT] = sAnims_Bellsprout, + [SPECIES_WEEPINBELL] = sAnims_Weepinbell, + [SPECIES_VICTREEBEL] = sAnims_Victreebel, + [SPECIES_TENTACOOL] = sAnims_Tentacool, + [SPECIES_TENTACRUEL] = sAnims_Tentacruel, + [SPECIES_GEODUDE] = sAnims_Geodude, + [SPECIES_GRAVELER] = sAnims_Graveler, + [SPECIES_GOLEM] = sAnims_Golem, + [SPECIES_PONYTA] = sAnims_Ponyta, + [SPECIES_RAPIDASH] = sAnims_Rapidash, + [SPECIES_SLOWPOKE] = sAnims_Slowpoke, + [SPECIES_SLOWBRO] = sAnims_Slowbro, + [SPECIES_MAGNEMITE] = sAnims_Magnemite, + [SPECIES_MAGNETON] = sAnims_Magneton, + [SPECIES_FARFETCHD] = sAnims_Farfetchd, + [SPECIES_DODUO] = sAnims_Doduo, + [SPECIES_DODRIO] = sAnims_Dodrio, + [SPECIES_SEEL] = sAnims_Seel, + [SPECIES_DEWGONG] = sAnims_Dewgong, + [SPECIES_GRIMER] = sAnims_Grimer, + [SPECIES_MUK] = sAnims_Muk, + [SPECIES_SHELLDER] = sAnims_Shellder, + [SPECIES_CLOYSTER] = sAnims_Cloyster, + [SPECIES_GASTLY] = sAnims_Gastly, + [SPECIES_HAUNTER] = sAnims_Haunter, + [SPECIES_GENGAR] = sAnims_Gengar, + [SPECIES_ONIX] = sAnims_Onix, + [SPECIES_DROWZEE] = sAnims_Drowzee, + [SPECIES_HYPNO] = sAnims_Hypno, + [SPECIES_KRABBY] = sAnims_Krabby, + [SPECIES_KINGLER] = sAnims_Kingler, + [SPECIES_VOLTORB] = sAnims_Voltorb, + [SPECIES_ELECTRODE] = sAnims_Electrode, + [SPECIES_EXEGGCUTE] = sAnims_Exeggcute, + [SPECIES_EXEGGUTOR] = sAnims_Exeggutor, + [SPECIES_CUBONE] = sAnims_Cubone, + [SPECIES_MAROWAK] = sAnims_Marowak, + [SPECIES_HITMONLEE] = sAnims_Hitmonlee, + [SPECIES_HITMONCHAN] = sAnims_Hitmonchan, + [SPECIES_LICKITUNG] = sAnims_Lickitung, + [SPECIES_KOFFING] = sAnims_Koffing, + [SPECIES_WEEZING] = sAnims_Weezing, + [SPECIES_RHYHORN] = sAnims_Rhyhorn, + [SPECIES_RHYDON] = sAnims_Rhydon, + [SPECIES_CHANSEY] = sAnims_Chansey, + [SPECIES_TANGELA] = sAnims_Tangela, + [SPECIES_KANGASKHAN] = sAnims_Kangaskhan, + [SPECIES_HORSEA] = sAnims_Horsea, + [SPECIES_SEADRA] = sAnims_Seadra, + [SPECIES_GOLDEEN] = sAnims_Goldeen, + [SPECIES_SEAKING] = sAnims_Seaking, + [SPECIES_STARYU] = sAnims_Staryu, + [SPECIES_STARMIE] = sAnims_Starmie, + [SPECIES_MR_MIME] = sAnims_MrMime, + [SPECIES_SCYTHER] = sAnims_Scyther, + [SPECIES_JYNX] = sAnims_Jynx, + [SPECIES_ELECTABUZZ] = sAnims_Electabuzz, + [SPECIES_MAGMAR] = sAnims_Magmar, + [SPECIES_PINSIR] = sAnims_Pinsir, + [SPECIES_TAUROS] = sAnims_Tauros, + [SPECIES_MAGIKARP] = sAnims_Magikarp, + [SPECIES_GYARADOS] = sAnims_Gyarados, + [SPECIES_LAPRAS] = sAnims_Lapras, + [SPECIES_DITTO] = sAnims_Ditto, + [SPECIES_EEVEE] = sAnims_Eevee, + [SPECIES_VAPOREON] = sAnims_Vaporeon, + [SPECIES_JOLTEON] = sAnims_Jolteon, + [SPECIES_FLAREON] = sAnims_Flareon, + [SPECIES_PORYGON] = sAnims_Porygon, + [SPECIES_OMANYTE] = sAnims_Omanyte, + [SPECIES_OMASTAR] = sAnims_Omastar, + [SPECIES_KABUTO] = sAnims_Kabuto, + [SPECIES_KABUTOPS] = sAnims_Kabutops, + [SPECIES_AERODACTYL] = sAnims_Aerodactyl, + [SPECIES_SNORLAX] = sAnims_Snorlax, + [SPECIES_ARTICUNO] = sAnims_Articuno, + [SPECIES_ZAPDOS] = sAnims_Zapdos, + [SPECIES_MOLTRES] = sAnims_Moltres, + [SPECIES_DRATINI] = sAnims_Dratini, + [SPECIES_DRAGONAIR] = sAnims_Dragonair, + [SPECIES_DRAGONITE] = sAnims_Dragonite, + [SPECIES_MEWTWO] = sAnims_Mewtwo, + [SPECIES_MEW] = sAnims_Mew, + [SPECIES_CHIKORITA] = sAnims_Chikorita, + [SPECIES_BAYLEEF] = sAnims_Bayleef, + [SPECIES_MEGANIUM] = sAnims_Meganium, + [SPECIES_CYNDAQUIL] = sAnims_Cyndaquil, + [SPECIES_QUILAVA] = sAnims_Quilava, + [SPECIES_TYPHLOSION] = sAnims_Typhlosion, + [SPECIES_TOTODILE] = sAnims_Totodile, + [SPECIES_CROCONAW] = sAnims_Croconaw, + [SPECIES_FERALIGATR] = sAnims_Feraligatr, + [SPECIES_SENTRET] = sAnims_Sentret, + [SPECIES_FURRET] = sAnims_Furret, + [SPECIES_HOOTHOOT] = sAnims_Hoothoot, + [SPECIES_NOCTOWL] = sAnims_Noctowl, + [SPECIES_LEDYBA] = sAnims_Ledyba, + [SPECIES_LEDIAN] = sAnims_Ledian, + [SPECIES_SPINARAK] = sAnims_Spinarak, + [SPECIES_ARIADOS] = sAnims_Ariados, + [SPECIES_CROBAT] = sAnims_Crobat, + [SPECIES_CHINCHOU] = sAnims_Chinchou, + [SPECIES_LANTURN] = sAnims_Lanturn, + [SPECIES_PICHU] = sAnims_Pichu, + [SPECIES_CLEFFA] = sAnims_Cleffa, + [SPECIES_IGGLYBUFF] = sAnims_Igglybuff, + [SPECIES_TOGEPI] = sAnims_Togepi, + [SPECIES_TOGETIC] = sAnims_Togetic, + [SPECIES_NATU] = sAnims_Natu, + [SPECIES_XATU] = sAnims_Xatu, + [SPECIES_MAREEP] = sAnims_Mareep, + [SPECIES_FLAAFFY] = sAnims_Flaaffy, + [SPECIES_AMPHAROS] = sAnims_Ampharos, + [SPECIES_BELLOSSOM] = sAnims_Bellossom, + [SPECIES_MARILL] = sAnims_Marill, + [SPECIES_AZUMARILL] = sAnims_Azumarill, + [SPECIES_SUDOWOODO] = sAnims_Sudowoodo, + [SPECIES_POLITOED] = sAnims_Politoed, + [SPECIES_HOPPIP] = sAnims_Hoppip, + [SPECIES_SKIPLOOM] = sAnims_Skiploom, + [SPECIES_JUMPLUFF] = sAnims_Jumpluff, + [SPECIES_AIPOM] = sAnims_Aipom, + [SPECIES_SUNKERN] = sAnims_Sunkern, + [SPECIES_SUNFLORA] = sAnims_Sunflora, + [SPECIES_YANMA] = sAnims_Yanma, + [SPECIES_WOOPER] = sAnims_Wooper, + [SPECIES_QUAGSIRE] = sAnims_Quagsire, + [SPECIES_ESPEON] = sAnims_Espeon, + [SPECIES_UMBREON] = sAnims_Umbreon, + [SPECIES_MURKROW] = sAnims_Murkrow, + [SPECIES_SLOWKING] = sAnims_Slowking, + [SPECIES_MISDREAVUS] = sAnims_Misdreavus, + [SPECIES_UNOWN] = sAnims_Unown, + [SPECIES_WOBBUFFET] = sAnims_Wobbuffet, + [SPECIES_GIRAFARIG] = sAnims_Girafarig, + [SPECIES_PINECO] = sAnims_Pineco, + [SPECIES_FORRETRESS] = sAnims_Forretress, + [SPECIES_DUNSPARCE] = sAnims_Dunsparce, + [SPECIES_GLIGAR] = sAnims_Gligar, + [SPECIES_STEELIX] = sAnims_Steelix, + [SPECIES_SNUBBULL] = sAnims_Snubbull, + [SPECIES_GRANBULL] = sAnims_Granbull, + [SPECIES_QWILFISH] = sAnims_Qwilfish, + [SPECIES_SCIZOR] = sAnims_Scizor, + [SPECIES_SHUCKLE] = sAnims_Shuckle, + [SPECIES_HERACROSS] = sAnims_Heracross, + [SPECIES_SNEASEL] = sAnims_Sneasel, + [SPECIES_TEDDIURSA] = sAnims_Teddiursa, + [SPECIES_URSARING] = sAnims_Ursaring, + [SPECIES_SLUGMA] = sAnims_Slugma, + [SPECIES_MAGCARGO] = sAnims_Magcargo, + [SPECIES_SWINUB] = sAnims_Swinub, + [SPECIES_PILOSWINE] = sAnims_Piloswine, + [SPECIES_CORSOLA] = sAnims_Corsola, + [SPECIES_REMORAID] = sAnims_Remoraid, + [SPECIES_OCTILLERY] = sAnims_Octillery, + [SPECIES_DELIBIRD] = sAnims_Delibird, + [SPECIES_MANTINE] = sAnims_Mantine, + [SPECIES_SKARMORY] = sAnims_Skarmory, + [SPECIES_HOUNDOUR] = sAnims_Houndour, + [SPECIES_HOUNDOOM] = sAnims_Houndoom, + [SPECIES_KINGDRA] = sAnims_Kingdra, + [SPECIES_PHANPY] = sAnims_Phanpy, + [SPECIES_DONPHAN] = sAnims_Donphan, + [SPECIES_PORYGON2] = sAnims_Porygon2, + [SPECIES_STANTLER] = sAnims_Stantler, + [SPECIES_SMEARGLE] = sAnims_Smeargle, + [SPECIES_TYROGUE] = sAnims_Tyrogue, + [SPECIES_HITMONTOP] = sAnims_Hitmontop, + [SPECIES_SMOOCHUM] = sAnims_Smoochum, + [SPECIES_ELEKID] = sAnims_Elekid, + [SPECIES_MAGBY] = sAnims_Magby, + [SPECIES_MILTANK] = sAnims_Miltank, + [SPECIES_BLISSEY] = sAnims_Blissey, + [SPECIES_RAIKOU] = sAnims_Raikou, + [SPECIES_ENTEI] = sAnims_Entei, + [SPECIES_SUICUNE] = sAnims_Suicune, + [SPECIES_LARVITAR] = sAnims_Larvitar, + [SPECIES_PUPITAR] = sAnims_Pupitar, + [SPECIES_TYRANITAR] = sAnims_Tyranitar, + [SPECIES_LUGIA] = sAnims_Lugia, + [SPECIES_HO_OH] = sAnims_HoOh, + [SPECIES_CELEBI] = sAnims_Celebi, + [SPECIES_OLD_UNOWN_B] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_C] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_D] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_E] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_F] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_G] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_H] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_I] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_J] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_K] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_L] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_M] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_N] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_O] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_P] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Q] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_R] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_S] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_T] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_U] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_V] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_W] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_X] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Y] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Z] = sAnims_OldUnownB, + [SPECIES_TREECKO] = sAnims_Treecko, + [SPECIES_GROVYLE] = sAnims_Grovyle, + [SPECIES_SCEPTILE] = sAnims_Sceptile, + [SPECIES_TORCHIC] = sAnims_Torchic, + [SPECIES_COMBUSKEN] = sAnims_Combusken, + [SPECIES_BLAZIKEN] = sAnims_Blaziken, + [SPECIES_MUDKIP] = sAnims_Mudkip, + [SPECIES_MARSHTOMP] = sAnims_Marshtomp, + [SPECIES_SWAMPERT] = sAnims_Swampert, + [SPECIES_POOCHYENA] = sAnims_Poochyena, + [SPECIES_MIGHTYENA] = sAnims_Mightyena, + [SPECIES_ZIGZAGOON] = sAnims_Zigzagoon, + [SPECIES_LINOONE] = sAnims_Linoone, + [SPECIES_WURMPLE] = sAnims_Wurmple, + [SPECIES_SILCOON] = sAnims_Silcoon, + [SPECIES_BEAUTIFLY] = sAnims_Beautifly, + [SPECIES_CASCOON] = sAnims_Cascoon, + [SPECIES_DUSTOX] = sAnims_Dustox, + [SPECIES_LOTAD] = sAnims_Lotad, + [SPECIES_LOMBRE] = sAnims_Lombre, + [SPECIES_LUDICOLO] = sAnims_Ludicolo, + [SPECIES_SEEDOT] = sAnims_Seedot, + [SPECIES_NUZLEAF] = sAnims_Nuzleaf, + [SPECIES_SHIFTRY] = sAnims_Shiftry, + [SPECIES_NINCADA] = sAnims_Nincada, + [SPECIES_NINJASK] = sAnims_Ninjask, + [SPECIES_SHEDINJA] = sAnims_Shedinja, + [SPECIES_TAILLOW] = sAnims_Taillow, + [SPECIES_SWELLOW] = sAnims_Swellow, + [SPECIES_SHROOMISH] = sAnims_Shroomish, + [SPECIES_BRELOOM] = sAnims_Breloom, + [SPECIES_SPINDA] = sAnims_Spinda, + [SPECIES_WINGULL] = sAnims_Wingull, + [SPECIES_PELIPPER] = sAnims_Pelipper, + [SPECIES_SURSKIT] = sAnims_Surskit, + [SPECIES_MASQUERAIN] = sAnims_Masquerain, + [SPECIES_WAILMER] = sAnims_Wailmer, + [SPECIES_WAILORD] = sAnims_Wailord, + [SPECIES_SKITTY] = sAnims_Skitty, + [SPECIES_DELCATTY] = sAnims_Delcatty, + [SPECIES_KECLEON] = sAnims_Kecleon, + [SPECIES_BALTOY] = sAnims_Baltoy, + [SPECIES_CLAYDOL] = sAnims_Claydol, + [SPECIES_NOSEPASS] = sAnims_Nosepass, + [SPECIES_TORKOAL] = sAnims_Torkoal, + [SPECIES_SABLEYE] = sAnims_Sableye, + [SPECIES_BARBOACH] = sAnims_Barboach, + [SPECIES_WHISCASH] = sAnims_Whiscash, + [SPECIES_LUVDISC] = sAnims_Luvdisc, + [SPECIES_CORPHISH] = sAnims_Corphish, + [SPECIES_CRAWDAUNT] = sAnims_Crawdaunt, + [SPECIES_FEEBAS] = sAnims_Feebas, + [SPECIES_MILOTIC] = sAnims_Milotic, + [SPECIES_CARVANHA] = sAnims_Carvanha, + [SPECIES_SHARPEDO] = sAnims_Sharpedo, + [SPECIES_TRAPINCH] = sAnims_Trapinch, + [SPECIES_VIBRAVA] = sAnims_Vibrava, + [SPECIES_FLYGON] = sAnims_Flygon, + [SPECIES_MAKUHITA] = sAnims_Makuhita, + [SPECIES_HARIYAMA] = sAnims_Hariyama, + [SPECIES_ELECTRIKE] = sAnims_Electrike, + [SPECIES_MANECTRIC] = sAnims_Manectric, + [SPECIES_NUMEL] = sAnims_Numel, + [SPECIES_CAMERUPT] = sAnims_Camerupt, + [SPECIES_SPHEAL] = sAnims_Spheal, + [SPECIES_SEALEO] = sAnims_Sealeo, + [SPECIES_WALREIN] = sAnims_Walrein, + [SPECIES_CACNEA] = sAnims_Cacnea, + [SPECIES_CACTURNE] = sAnims_Cacturne, + [SPECIES_SNORUNT] = sAnims_Snorunt, + [SPECIES_GLALIE] = sAnims_Glalie, + [SPECIES_LUNATONE] = sAnims_Lunatone, + [SPECIES_SOLROCK] = sAnims_Solrock, + [SPECIES_AZURILL] = sAnims_Azurill, + [SPECIES_SPOINK] = sAnims_Spoink, + [SPECIES_GRUMPIG] = sAnims_Grumpig, + [SPECIES_PLUSLE] = sAnims_Plusle, + [SPECIES_MINUN] = sAnims_Minun, + [SPECIES_MAWILE] = sAnims_Mawile, + [SPECIES_MEDITITE] = sAnims_Meditite, + [SPECIES_MEDICHAM] = sAnims_Medicham, + [SPECIES_SWABLU] = sAnims_Swablu, + [SPECIES_ALTARIA] = sAnims_Altaria, + [SPECIES_WYNAUT] = sAnims_Wynaut, + [SPECIES_DUSKULL] = sAnims_Duskull, + [SPECIES_DUSCLOPS] = sAnims_Dusclops, + [SPECIES_ROSELIA] = sAnims_Roselia, + [SPECIES_SLAKOTH] = sAnims_Slakoth, + [SPECIES_VIGOROTH] = sAnims_Vigoroth, + [SPECIES_SLAKING] = sAnims_Slaking, + [SPECIES_GULPIN] = sAnims_Gulpin, + [SPECIES_SWALOT] = sAnims_Swalot, + [SPECIES_TROPIUS] = sAnims_Tropius, + [SPECIES_WHISMUR] = sAnims_Whismur, + [SPECIES_LOUDRED] = sAnims_Loudred, + [SPECIES_EXPLOUD] = sAnims_Exploud, + [SPECIES_CLAMPERL] = sAnims_Clamperl, + [SPECIES_HUNTAIL] = sAnims_Huntail, + [SPECIES_GOREBYSS] = sAnims_Gorebyss, + [SPECIES_ABSOL] = sAnims_Absol, + [SPECIES_SHUPPET] = sAnims_Shuppet, + [SPECIES_BANETTE] = sAnims_Banette, + [SPECIES_SEVIPER] = sAnims_Seviper, + [SPECIES_ZANGOOSE] = sAnims_Zangoose, + [SPECIES_RELICANTH] = sAnims_Relicanth, + [SPECIES_ARON] = sAnims_Aron, + [SPECIES_LAIRON] = sAnims_Lairon, + [SPECIES_AGGRON] = sAnims_Aggron, + [SPECIES_CASTFORM] = sAnims_Castform, + [SPECIES_VOLBEAT] = sAnims_Volbeat, + [SPECIES_ILLUMISE] = sAnims_Illumise, + [SPECIES_LILEEP] = sAnims_Lileep, + [SPECIES_CRADILY] = sAnims_Cradily, + [SPECIES_ANORITH] = sAnims_Anorith, + [SPECIES_ARMALDO] = sAnims_Armaldo, + [SPECIES_RALTS] = sAnims_Ralts, + [SPECIES_KIRLIA] = sAnims_Kirlia, + [SPECIES_GARDEVOIR] = sAnims_Gardevoir, + [SPECIES_BAGON] = sAnims_Bagon, + [SPECIES_SHELGON] = sAnims_Shelgon, + [SPECIES_SALAMENCE] = sAnims_Salamence, + [SPECIES_BELDUM] = sAnims_Beldum, + [SPECIES_METANG] = sAnims_Metang, + [SPECIES_METAGROSS] = sAnims_Metagross, + [SPECIES_REGIROCK] = sAnims_Regirock, + [SPECIES_REGICE] = sAnims_Regice, + [SPECIES_REGISTEEL] = sAnims_Registeel, + [SPECIES_KYOGRE] = sAnims_Kyogre, + [SPECIES_GROUDON] = sAnims_Groudon, + [SPECIES_RAYQUAZA] = sAnims_Rayquaza, + [SPECIES_LATIAS] = sAnims_Latias, + [SPECIES_LATIOS] = sAnims_Latios, + [SPECIES_JIRACHI] = sAnims_Jirachi, + [SPECIES_DEOXYS] = sAnims_Deoxys, + [SPECIES_CHIMECHO] = sAnims_Chimecho, + [SPECIES_EGG] = sAnims_Egg, + [SPECIES_UNOWN_B] = sAnims_UnownB, + [SPECIES_UNOWN_C] = sAnims_UnownC, + [SPECIES_UNOWN_D] = sAnims_UnownD, + [SPECIES_UNOWN_E] = sAnims_UnownE, + [SPECIES_UNOWN_F] = sAnims_UnownF, + [SPECIES_UNOWN_G] = sAnims_UnownG, + [SPECIES_UNOWN_H] = sAnims_UnownH, + [SPECIES_UNOWN_I] = sAnims_UnownI, + [SPECIES_UNOWN_J] = sAnims_UnownJ, + [SPECIES_UNOWN_K] = sAnims_UnownK, + [SPECIES_UNOWN_L] = sAnims_UnownL, + [SPECIES_UNOWN_M] = sAnims_UnownM, + [SPECIES_UNOWN_N] = sAnims_UnownN, + [SPECIES_UNOWN_O] = sAnims_UnownO, + [SPECIES_UNOWN_P] = sAnims_UnownP, + [SPECIES_UNOWN_Q] = sAnims_UnownQ, + [SPECIES_UNOWN_R] = sAnims_UnownR, + [SPECIES_UNOWN_S] = sAnims_UnownS, + [SPECIES_UNOWN_T] = sAnims_UnownT, + [SPECIES_UNOWN_U] = sAnims_UnownU, + [SPECIES_UNOWN_V] = sAnims_UnownV, + [SPECIES_UNOWN_W] = sAnims_UnownW, + [SPECIES_UNOWN_X] = sAnims_UnownX, + [SPECIES_UNOWN_Y] = sAnims_UnownY, + [SPECIES_UNOWN_Z] = sAnims_UnownZ, + [SPECIES_UNOWN_EMARK] = sAnims_UnownEMark, + [SPECIES_UNOWN_QMARK] = sAnims_UnownQMark, -#undef ANIM_CMD -#undef ANIM_CMD_FULL +}; diff --git a/src/data/pokemon_graphics/unknown_anims.h b/src/data/pokemon_graphics/unknown_anims.h deleted file mode 100644 index ea7ab34a24..0000000000 --- a/src/data/pokemon_graphics/unknown_anims.h +++ /dev/null @@ -1,2322 +0,0 @@ -// unused and unkown -static const union AnimCmd sUnknownAnim_BLAZIKEN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BLAZIKEN_2[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BLAZIKEN_3[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(2, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BLAZIKEN_4[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MARSHTOMP_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MARSHTOMP_2[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(2, 12), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(2, 12), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(2, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MARSHTOMP_3[] = -{ - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(2, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_POOCHYENA_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_POOCHYENA_2[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(2, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(2, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MIGHTYENA_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ZIGZAGOON_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LINOONE_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WURMPLE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WURMPLE_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SILCOON_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SILCOON_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BEAUTIFLY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BEAUTIFLY_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASCOON_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASCOON_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSTOX_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSTOX_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LOMBRE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LUDICOLO_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LUDICOLO_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SEEDOT_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_NUZLEAF_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHIFTRY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHIFTRY_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_TAILLOW_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SWELLOW_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHROOMISH_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BRELOOM_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WINGULL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_PELIPPER_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_PELIPPER_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SURSKIT_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SURSKIT_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MASQUERAIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MASQUERAIN_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WAILMER_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(8, 15), - ANIMCMD_FRAME(2, 22), - ANIMCMD_FRAME(8, 5), - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(4, 5), - ANIMCMD_FRAME(6, 5), - ANIMCMD_FRAME(4, 5), - ANIMCMD_FRAME(6, 5), - ANIMCMD_FRAME(4, 5), - ANIMCMD_FRAME(6, 5), - ANIMCMD_FRAME(4, 5), - ANIMCMD_FRAME(6, 5), - ANIMCMD_FRAME(5, 5), - ANIMCMD_FRAME(7, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WAILMER_2[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(8, 15), - ANIMCMD_FRAME(2, 15), - ANIMCMD_FRAME(8, 15), - ANIMCMD_FRAME(9, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(9, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WAILMER_3[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(9, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(10, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WAILMER_4[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(11, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SKITTY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DELCATTY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_KECLEON_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(2, 7), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(6, 2), - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(6, 2), - ANIMCMD_FRAME(6, 10), - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_KECLEON_2[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_KECLEON_3[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_KECLEON_4[] = -{ - ANIMCMD_FRAME(0,18), - ANIMCMD_FRAME(10, 18), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BALTOY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CLAYDOL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_NOSEPASS_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SABLEYE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SABLEYE_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LUVDISC_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LUVDISC_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_FEEBAS_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_FEEBAS_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MILOTIC_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MILOTIC_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CARVANHA_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CARVANHA_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHARPEDO_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHARPEDO_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_TRAPINCH_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_VIBRAVA_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_FLYGON_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MAKUHITA_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_HARIYAMA_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ELECTRIKE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ELECTRIKE_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MANECTRIC_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_NUMEL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_NUMEL_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CAMERUPT_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SPHEAL_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SEALEO_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WALREIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WALREIN_2[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(2, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(2, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(2, 18), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AZURILL_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(2, 5), - ANIMCMD_FRAME(3, 6), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(2, 5), - ANIMCMD_FRAME(3, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AZURILL_2[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AZURILL_3[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(5, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(6, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AZURILL_4[] = -{ - ANIMCMD_FRAME(7, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SPOINK_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SPOINK_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_GRUMPIG_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_PLUSLE_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MINUN_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MAWILE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MEDITITE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MEDICHAM_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SWABLU_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SWABLU_2[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(2, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ALTARIA_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WYNAUT_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WYNAUT_2[] = -{ - ANIMCMD_FRAME(1, 9), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSKULL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSKULL_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSCLOPS_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSCLOPS_2[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SLAKOTH_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_VIGOROTH_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SLAKING_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_GULPIN_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SWALOT_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_TROPIUS_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CLAMPERL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ABSOL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHUPPET_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHUPPET_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BANETTE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ARON_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LAIRON_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AGGRON_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASTFORM_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASTFORM_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASTFORM_3[] = -{ - ANIMCMD_FRAME(2, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASTFORM_4[] = -{ - ANIMCMD_FRAME(3, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_VOLBEAT_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ILLUMISE_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BAGON_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BAGON_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SALAMENCE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SALAMENCE_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_REGIROCK_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_REGICE_1[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_REGISTEEL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_REGISTEEL_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_RAYQUAZA_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_RAYQUAZA_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_Unused1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_Unused2[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_JIRACHI_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd *const sUnknownAnims_NONE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BULBASAUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_IVYSAUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VENUSAUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHARMANDER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHARMELEON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHARIZARD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SQUIRTLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WARTORTLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BLASTOISE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CATERPIE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_METAPOD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BUTTERFREE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WEEDLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KAKUNA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BEEDRILL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PIDGEY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PIDGEOTTO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PIDGEOT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RATTATA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RATICATE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SPEAROW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FEAROW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EKANS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARBOK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PIKACHU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RAICHU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SANDSHREW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SANDSLASH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDORAN_F[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDORINA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDOQUEEN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDORAN_M[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDORINO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDOKING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CLEFAIRY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CLEFABLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VULPIX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NINETALES[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_JIGGLYPUFF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WIGGLYTUFF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ZUBAT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOLBAT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ODDISH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GLOOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VILEPLUME[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PARAS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PARASECT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VENONAT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VENOMOTH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DIGLETT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DUGTRIO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MEOWTH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PERSIAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PSYDUCK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOLDUCK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MANKEY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PRIMEAPE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GROWLITHE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARCANINE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_POLIWAG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_POLIWHIRL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_POLIWRATH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ABRA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KADABRA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ALAKAZAM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MACHOP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MACHOKE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MACHAMP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BELLSPROUT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WEEPINBELL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VICTREEBEL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TENTACOOL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TENTACRUEL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GEODUDE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GRAVELER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOLEM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PONYTA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RAPIDASH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SLOWPOKE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SLOWBRO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGNEMITE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGNETON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FARFETCHD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DODUO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DODRIO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SEEL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DEWGONG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GRIMER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MUK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SHELLDER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CLOYSTER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GASTLY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HAUNTER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GENGAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ONIX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DROWZEE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HYPNO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KRABBY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KINGLER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VOLTORB[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ELECTRODE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EXEGGCUTE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EXEGGUTOR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CUBONE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAROWAK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HITMONLEE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HITMONCHAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LICKITUNG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KOFFING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WEEZING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RHYHORN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RHYDON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHANSEY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TANGELA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KANGASKHAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HORSEA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SEADRA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOLDEEN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SEAKING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_STARYU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_STARMIE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MR_MIME[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SCYTHER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_JYNX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ELECTABUZZ[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGMAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PINSIR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TAUROS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGIKARP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GYARADOS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LAPRAS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DITTO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EEVEE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VAPOREON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_JOLTEON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FLAREON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PORYGON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_OMANYTE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_OMASTAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KABUTO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KABUTOPS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_AERODACTYL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SNORLAX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARTICUNO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ZAPDOS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MOLTRES[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DRATINI[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DRAGONAIR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DRAGONITE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MEWTWO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MEW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHIKORITA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BAYLEEF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MEGANIUM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CYNDAQUIL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_QUILAVA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TYPHLOSION[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TOTODILE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CROCONAW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FERALIGATR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SENTRET[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FURRET[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HOOTHOOT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NOCTOWL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LEDYBA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LEDIAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SPINARAK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARIADOS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CROBAT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHINCHOU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LANTURN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PICHU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CLEFFA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_IGGLYBUFF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TOGEPI[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TOGETIC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NATU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_XATU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAREEP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FLAAFFY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_AMPHAROS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BELLOSSOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MARILL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_AZUMARILL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SUDOWOODO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_POLITOED[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HOPPIP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SKIPLOOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_JUMPLUFF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_AIPOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SUNKERN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SUNFLORA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_YANMA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WOOPER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_QUAGSIRE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ESPEON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UMBREON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MURKROW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SLOWKING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MISDREAVUS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WOBBUFFET[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GIRAFARIG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PINECO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FORRETRESS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DUNSPARCE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GLIGAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_STEELIX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SNUBBULL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GRANBULL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_QWILFISH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SCIZOR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SHUCKLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HERACROSS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SNEASEL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TEDDIURSA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_URSARING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SLUGMA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGCARGO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SWINUB[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PILOSWINE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CORSOLA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_REMORAID[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_OCTILLERY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DELIBIRD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MANTINE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SKARMORY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HOUNDOUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HOUNDOOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KINGDRA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PHANPY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DONPHAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PORYGON2[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_STANTLER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SMEARGLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TYROGUE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HITMONTOP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SMOOCHUM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ELEKID[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGBY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MILTANK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BLISSEY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RAIKOU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ENTEI[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SUICUNE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LARVITAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PUPITAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TYRANITAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LUGIA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HO_OH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CELEBI[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_OLD_UNOWN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TREECKO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GROVYLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SCEPTILE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TORCHIC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_COMBUSKEN[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_BLAZIKEN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BLAZIKEN_1, - sUnknownAnim_BLAZIKEN_2, - sUnknownAnim_BLAZIKEN_3, - sUnknownAnim_BLAZIKEN_4, -}; - -static const union AnimCmd *const sUnknownAnims_MUDKIP[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_MARSHTOMP[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MARSHTOMP_1, - sUnknownAnim_MARSHTOMP_2, - sUnknownAnim_MARSHTOMP_3, -}; - -static const union AnimCmd *const sUnknownAnims_SWAMPERT[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_POOCHYENA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_POOCHYENA_1, - sUnknownAnim_POOCHYENA_2, -}; - -static const union AnimCmd *const sUnknownAnims_MIGHTYENA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MIGHTYENA_1, -}; - -static const union AnimCmd *const sUnknownAnims_ZIGZAGOON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ZIGZAGOON_1, -}; - -static const union AnimCmd *const sUnknownAnims_LINOONE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LINOONE_1, -}; - -static const union AnimCmd *const sUnknownAnims_WURMPLE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WURMPLE_1, - sUnknownAnim_WURMPLE_2, -}; - -static const union AnimCmd *const sUnknownAnims_SILCOON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SILCOON_1, - sUnknownAnim_SILCOON_2, -}; - -static const union AnimCmd *const sUnknownAnims_BEAUTIFLY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BEAUTIFLY_1, - sUnknownAnim_BEAUTIFLY_2, -}; - -static const union AnimCmd *const sUnknownAnims_CASCOON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CASCOON_1, - sUnknownAnim_CASCOON_2, -}; - -static const union AnimCmd *const sUnknownAnims_DUSTOX[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_DUSTOX_1, - sUnknownAnim_DUSTOX_2, -}; - -static const union AnimCmd *const sUnknownAnims_LOTAD[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_LOMBRE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LOMBRE_1, -}; - -static const union AnimCmd *const sUnknownAnims_LUDICOLO[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LUDICOLO_1, - sUnknownAnim_LUDICOLO_2, -}; - -static const union AnimCmd *const sUnknownAnims_SEEDOT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SEEDOT_1, -}; - -static const union AnimCmd *const sUnknownAnims_NUZLEAF[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_NUZLEAF_1, -}; - -static const union AnimCmd *const sUnknownAnims_SHIFTRY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SHIFTRY_1, - sUnknownAnim_SHIFTRY_2, -}; - -static const union AnimCmd *const sUnknownAnims_NINCADA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NINJASK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SHEDINJA[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_TAILLOW[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_TAILLOW_1, -}; - -static const union AnimCmd *const sUnknownAnims_SWELLOW[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SWELLOW_1, -}; - -static const union AnimCmd *const sUnknownAnims_SHROOMISH[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SHROOMISH_1, -}; - -static const union AnimCmd *const sUnknownAnims_BRELOOM[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BRELOOM_1, -}; - -static const union AnimCmd *const sUnknownAnims_SPINDA[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_WINGULL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WINGULL_1, -}; - -static const union AnimCmd *const sUnknownAnims_PELIPPER[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_PELIPPER_1, - sUnknownAnim_PELIPPER_2, -}; - -static const union AnimCmd *const sUnknownAnims_SURSKIT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SURSKIT_1, - sUnknownAnim_SURSKIT_2, -}; - -static const union AnimCmd *const sUnknownAnims_MASQUERAIN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MASQUERAIN_1, - sUnknownAnim_MASQUERAIN_2, -}; - -static const union AnimCmd *const sUnknownAnims_WAILMER[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WAILMER_1, - sUnknownAnim_WAILMER_2, - sUnknownAnim_WAILMER_3, - sUnknownAnim_WAILMER_4, -}; - -static const union AnimCmd *const sUnknownAnims_WAILORD[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_SKITTY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SKITTY_1, -}; - -static const union AnimCmd *const sUnknownAnims_DELCATTY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_DELCATTY_1, -}; - -static const union AnimCmd *const sUnknownAnims_KECLEON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_KECLEON_1, - sUnknownAnim_KECLEON_2, - sUnknownAnim_KECLEON_3, - sUnknownAnim_KECLEON_4, -}; - -static const union AnimCmd *const sUnknownAnims_BALTOY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BALTOY_1, -}; - -static const union AnimCmd *const sUnknownAnims_CLAYDOL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CLAYDOL_1, -}; - -static const union AnimCmd *const sUnknownAnims_NOSEPASS[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_NOSEPASS_1, -}; - -static const union AnimCmd *const sUnknownAnims_TORKOAL[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_SABLEYE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SABLEYE_1, - sUnknownAnim_SABLEYE_2, -}; - -static const union AnimCmd *const sUnknownAnims_BARBOACH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WHISCASH[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_LUVDISC[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LUVDISC_1, - sUnknownAnim_LUVDISC_2, -}; - -static const union AnimCmd *const sUnknownAnims_CORPHISH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CRAWDAUNT[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_FEEBAS[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_FEEBAS_1, - sUnknownAnim_FEEBAS_2, -}; - -static const union AnimCmd *const sUnknownAnims_MILOTIC[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MILOTIC_1, - sUnknownAnim_MILOTIC_2, -}; - -static const union AnimCmd *const sUnknownAnims_CARVANHA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CARVANHA_1, - sUnknownAnim_CARVANHA_2, -}; - -static const union AnimCmd *const sUnknownAnims_SHARPEDO[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SHARPEDO_1, - sUnknownAnim_SHARPEDO_2, -}; - -static const union AnimCmd *const sUnknownAnims_TRAPINCH[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_TRAPINCH_1, -}; - -static const union AnimCmd *const sUnknownAnims_VIBRAVA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_VIBRAVA_1, -}; - -static const union AnimCmd *const sUnknownAnims_FLYGON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_FLYGON_1, -}; - -static const union AnimCmd *const sUnknownAnims_MAKUHITA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MAKUHITA_1, -}; - -static const union AnimCmd *const sUnknownAnims_HARIYAMA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_HARIYAMA_1, -}; - -static const union AnimCmd *const sUnknownAnims_ELECTRIKE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ELECTRIKE_1, - sUnknownAnim_ELECTRIKE_2, -}; - -static const union AnimCmd *const sUnknownAnims_MANECTRIC[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MANECTRIC_1, -}; - -static const union AnimCmd *const sUnknownAnims_NUMEL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_NUMEL_1, - sUnknownAnim_NUMEL_2, -}; - -static const union AnimCmd *const sUnknownAnims_CAMERUPT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CAMERUPT_1, -}; - -static const union AnimCmd *const sUnknownAnims_SPHEAL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SPHEAL_1, -}; - -static const union AnimCmd *const sUnknownAnims_SEALEO[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SEALEO_1, -}; - -static const union AnimCmd *const sUnknownAnims_WALREIN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WALREIN_1, - sUnknownAnim_WALREIN_2, -}; - -static const union AnimCmd *const sUnknownAnims_CACNEA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CACTURNE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SNORUNT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GLALIE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LUNATONE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SOLROCK[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_AZURILL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_AZURILL_1, - sUnknownAnim_AZURILL_2, - sUnknownAnim_AZURILL_3, - sUnknownAnim_AZURILL_4, -}; - -static const union AnimCmd *const sUnknownAnims_SPOINK[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SPOINK_1, - sUnknownAnim_SPOINK_2, -}; - -static const union AnimCmd *const sUnknownAnims_GRUMPIG[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_GRUMPIG_1, -}; - -static const union AnimCmd *const sUnknownAnims_PLUSLE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_PLUSLE_1, -}; - -static const union AnimCmd *const sUnknownAnims_MINUN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MINUN_1, -}; - -static const union AnimCmd *const sUnknownAnims_MAWILE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MAWILE_1, -}; - -static const union AnimCmd *const sUnknownAnims_MEDITITE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MEDITITE_1, -}; - -static const union AnimCmd *const sUnknownAnims_MEDICHAM[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MEDICHAM_1, -}; - -static const union AnimCmd *const sUnknownAnims_SWABLU[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SWABLU_1, - sUnknownAnim_SWABLU_2, -}; - -static const union AnimCmd *const sUnknownAnims_ALTARIA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ALTARIA_1, -}; - -static const union AnimCmd *const sUnknownAnims_WYNAUT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WYNAUT_1, - sUnknownAnim_WYNAUT_2, -}; - -static const union AnimCmd *const sUnknownAnims_DUSKULL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_DUSKULL_1, - sUnknownAnim_DUSKULL_2, -}; - -static const union AnimCmd *const sUnknownAnims_DUSCLOPS[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_DUSCLOPS_1, - sUnknownAnim_DUSCLOPS_2, -}; - -static const union AnimCmd *const sUnknownAnims_ROSELIA[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_SLAKOTH[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SLAKOTH_1, -}; - -static const union AnimCmd *const sUnknownAnims_VIGOROTH[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_VIGOROTH_1, -}; - -static const union AnimCmd *const sUnknownAnims_SLAKING[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SLAKING_1, -}; - -static const union AnimCmd *const sUnknownAnims_GULPIN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_GULPIN_1, -}; - -static const union AnimCmd *const sUnknownAnims_SWALOT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SWALOT_1, -}; - -static const union AnimCmd *const sUnknownAnims_TROPIUS[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_TROPIUS_1, -}; - -static const union AnimCmd *const sUnknownAnims_WHISMUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LOUDRED[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EXPLOUD[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_CLAMPERL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CLAMPERL_1, -}; - -static const union AnimCmd *const sUnknownAnims_HUNTAIL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOREBYSS[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_ABSOL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ABSOL_1, -}; - -static const union AnimCmd *const sUnknownAnims_SHUPPET[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SHUPPET_1, - sUnknownAnim_SHUPPET_2, -}; - -static const union AnimCmd *const sUnknownAnims_BANETTE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BANETTE_1, -}; - -static const union AnimCmd *const sUnknownAnims_SEVIPER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ZANGOOSE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RELICANTH[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_ARON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ARON_1, -}; - -static const union AnimCmd *const sUnknownAnims_LAIRON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LAIRON_1, -}; - -static const union AnimCmd *const sUnknownAnims_AGGRON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_AGGRON_1, -}; - -static const union AnimCmd *const sUnknownAnims_CASTFORM[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CASTFORM_1, - sUnknownAnim_CASTFORM_2, - sUnknownAnim_CASTFORM_3, - sUnknownAnim_CASTFORM_4, -}; - -static const union AnimCmd *const sUnknownAnims_VOLBEAT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_VOLBEAT_1, -}; - -static const union AnimCmd *const sUnknownAnims_ILLUMISE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ILLUMISE_1, -}; - -static const union AnimCmd *const sUnknownAnims_LILEEP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CRADILY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ANORITH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARMALDO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RALTS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KIRLIA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GARDEVOIR[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_BAGON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BAGON_1, - sUnknownAnim_BAGON_2, -}; - -static const union AnimCmd *const sUnknownAnims_SHELGON[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_SALAMENCE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SALAMENCE_1, - sUnknownAnim_SALAMENCE_2, -}; - -static const union AnimCmd *const sUnknownAnims_BELDUM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_METANG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_METAGROSS[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_REGIROCK[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_REGIROCK_1, -}; - -static const union AnimCmd *const sUnknownAnims_REGICE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_REGICE_1, -}; - -static const union AnimCmd *const sUnknownAnims_REGISTEEL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_REGISTEEL_1, - sUnknownAnim_REGISTEEL_2, -}; - -static const union AnimCmd *const sUnknownAnims_KYOGRE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GROUDON[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_RAYQUAZA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_RAYQUAZA_1, - sUnknownAnim_RAYQUAZA_2, -}; - -static const union AnimCmd *const sUnknownAnims_LATIAS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LATIOS[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_JIRACHI[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_JIRACHI_1, -}; - -static const union AnimCmd *const sUnknownAnims_DEOXYS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHIMECHO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EGG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_D[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_E[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_F[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_G[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_H[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_I[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_J[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_K[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_L[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_M[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_N[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_O[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_P[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_Q[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_R[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_S[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_T[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_U[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_V[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_W[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_X[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_Y[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_Z[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_EMARK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_QMARK[] = {sAnim_GeneralFrame0}; - -#define ANIM_CMD(name) [SPECIES_##name] = sUnknownAnims_##name -#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims - -static const union AnimCmd *const *const sUnknownAnimsTable[] = -{ - ANIM_CMD(NONE), - ANIM_CMD(BULBASAUR), - ANIM_CMD(IVYSAUR), - ANIM_CMD(VENUSAUR), - ANIM_CMD(CHARMANDER), - ANIM_CMD(CHARMELEON), - ANIM_CMD(CHARIZARD), - ANIM_CMD(SQUIRTLE), - ANIM_CMD(WARTORTLE), - ANIM_CMD(BLASTOISE), - ANIM_CMD(CATERPIE), - ANIM_CMD(METAPOD), - ANIM_CMD(BUTTERFREE), - ANIM_CMD(WEEDLE), - ANIM_CMD(KAKUNA), - ANIM_CMD(BEEDRILL), - ANIM_CMD(PIDGEY), - ANIM_CMD(PIDGEOTTO), - ANIM_CMD(PIDGEOT), - ANIM_CMD(RATTATA), - ANIM_CMD(RATICATE), - ANIM_CMD(SPEAROW), - ANIM_CMD(FEAROW), - ANIM_CMD(EKANS), - ANIM_CMD(ARBOK), - ANIM_CMD(PIKACHU), - ANIM_CMD(RAICHU), - ANIM_CMD(SANDSHREW), - ANIM_CMD(SANDSLASH), - ANIM_CMD(NIDORAN_F), - ANIM_CMD(NIDORINA), - ANIM_CMD(NIDOQUEEN), - ANIM_CMD(NIDORAN_M), - ANIM_CMD(NIDORINO), - ANIM_CMD(NIDOKING), - ANIM_CMD(CLEFAIRY), - ANIM_CMD(CLEFABLE), - ANIM_CMD(VULPIX), - ANIM_CMD(NINETALES), - ANIM_CMD(JIGGLYPUFF), - ANIM_CMD(WIGGLYTUFF), - ANIM_CMD(ZUBAT), - ANIM_CMD(GOLBAT), - ANIM_CMD(ODDISH), - ANIM_CMD(GLOOM), - ANIM_CMD(VILEPLUME), - ANIM_CMD(PARAS), - ANIM_CMD(PARASECT), - ANIM_CMD(VENONAT), - ANIM_CMD(VENOMOTH), - ANIM_CMD(DIGLETT), - ANIM_CMD(DUGTRIO), - ANIM_CMD(MEOWTH), - ANIM_CMD(PERSIAN), - ANIM_CMD(PSYDUCK), - ANIM_CMD(GOLDUCK), - ANIM_CMD(MANKEY), - ANIM_CMD(PRIMEAPE), - ANIM_CMD(GROWLITHE), - ANIM_CMD(ARCANINE), - ANIM_CMD(POLIWAG), - ANIM_CMD(POLIWHIRL), - ANIM_CMD(POLIWRATH), - ANIM_CMD(ABRA), - ANIM_CMD(KADABRA), - ANIM_CMD(ALAKAZAM), - ANIM_CMD(MACHOP), - ANIM_CMD(MACHOKE), - ANIM_CMD(MACHAMP), - ANIM_CMD(BELLSPROUT), - ANIM_CMD(WEEPINBELL), - ANIM_CMD(VICTREEBEL), - ANIM_CMD(TENTACOOL), - ANIM_CMD(TENTACRUEL), - ANIM_CMD(GEODUDE), - ANIM_CMD(GRAVELER), - ANIM_CMD(GOLEM), - ANIM_CMD(PONYTA), - ANIM_CMD(RAPIDASH), - ANIM_CMD(SLOWPOKE), - ANIM_CMD(SLOWBRO), - ANIM_CMD(MAGNEMITE), - ANIM_CMD(MAGNETON), - ANIM_CMD(FARFETCHD), - ANIM_CMD(DODUO), - ANIM_CMD(DODRIO), - ANIM_CMD(SEEL), - ANIM_CMD(DEWGONG), - ANIM_CMD(GRIMER), - ANIM_CMD(MUK), - ANIM_CMD(SHELLDER), - ANIM_CMD(CLOYSTER), - ANIM_CMD(GASTLY), - ANIM_CMD(HAUNTER), - ANIM_CMD(GENGAR), - ANIM_CMD(ONIX), - ANIM_CMD(DROWZEE), - ANIM_CMD(HYPNO), - ANIM_CMD(KRABBY), - ANIM_CMD(KINGLER), - ANIM_CMD(VOLTORB), - ANIM_CMD(ELECTRODE), - ANIM_CMD(EXEGGCUTE), - ANIM_CMD(EXEGGUTOR), - ANIM_CMD(CUBONE), - ANIM_CMD(MAROWAK), - ANIM_CMD(HITMONLEE), - ANIM_CMD(HITMONCHAN), - ANIM_CMD(LICKITUNG), - ANIM_CMD(KOFFING), - ANIM_CMD(WEEZING), - ANIM_CMD(RHYHORN), - ANIM_CMD(RHYDON), - ANIM_CMD(CHANSEY), - ANIM_CMD(TANGELA), - ANIM_CMD(KANGASKHAN), - ANIM_CMD(HORSEA), - ANIM_CMD(SEADRA), - ANIM_CMD(GOLDEEN), - ANIM_CMD(SEAKING), - ANIM_CMD(STARYU), - ANIM_CMD(STARMIE), - ANIM_CMD(MR_MIME), - ANIM_CMD(SCYTHER), - ANIM_CMD(JYNX), - ANIM_CMD(ELECTABUZZ), - ANIM_CMD(MAGMAR), - ANIM_CMD(PINSIR), - ANIM_CMD(TAUROS), - ANIM_CMD(MAGIKARP), - ANIM_CMD(GYARADOS), - ANIM_CMD(LAPRAS), - ANIM_CMD(DITTO), - ANIM_CMD(EEVEE), - ANIM_CMD(VAPOREON), - ANIM_CMD(JOLTEON), - ANIM_CMD(FLAREON), - ANIM_CMD(PORYGON), - ANIM_CMD(OMANYTE), - ANIM_CMD(OMASTAR), - ANIM_CMD(KABUTO), - ANIM_CMD(KABUTOPS), - ANIM_CMD(AERODACTYL), - ANIM_CMD(SNORLAX), - ANIM_CMD(ARTICUNO), - ANIM_CMD(ZAPDOS), - ANIM_CMD(MOLTRES), - ANIM_CMD(DRATINI), - ANIM_CMD(DRAGONAIR), - ANIM_CMD(DRAGONITE), - ANIM_CMD(MEWTWO), - ANIM_CMD(MEW), - ANIM_CMD(CHIKORITA), - ANIM_CMD(BAYLEEF), - ANIM_CMD(MEGANIUM), - ANIM_CMD(CYNDAQUIL), - ANIM_CMD(QUILAVA), - ANIM_CMD(TYPHLOSION), - ANIM_CMD(TOTODILE), - ANIM_CMD(CROCONAW), - ANIM_CMD(FERALIGATR), - ANIM_CMD(SENTRET), - ANIM_CMD(FURRET), - ANIM_CMD(HOOTHOOT), - ANIM_CMD(NOCTOWL), - ANIM_CMD(LEDYBA), - ANIM_CMD(LEDIAN), - ANIM_CMD(SPINARAK), - ANIM_CMD(ARIADOS), - ANIM_CMD(CROBAT), - ANIM_CMD(CHINCHOU), - ANIM_CMD(LANTURN), - ANIM_CMD(PICHU), - ANIM_CMD(CLEFFA), - ANIM_CMD(IGGLYBUFF), - ANIM_CMD(TOGEPI), - ANIM_CMD(TOGETIC), - ANIM_CMD(NATU), - ANIM_CMD(XATU), - ANIM_CMD(MAREEP), - ANIM_CMD(FLAAFFY), - ANIM_CMD(AMPHAROS), - ANIM_CMD(BELLOSSOM), - ANIM_CMD(MARILL), - ANIM_CMD(AZUMARILL), - ANIM_CMD(SUDOWOODO), - ANIM_CMD(POLITOED), - ANIM_CMD(HOPPIP), - ANIM_CMD(SKIPLOOM), - ANIM_CMD(JUMPLUFF), - ANIM_CMD(AIPOM), - ANIM_CMD(SUNKERN), - ANIM_CMD(SUNFLORA), - ANIM_CMD(YANMA), - ANIM_CMD(WOOPER), - ANIM_CMD(QUAGSIRE), - ANIM_CMD(ESPEON), - ANIM_CMD(UMBREON), - ANIM_CMD(MURKROW), - ANIM_CMD(SLOWKING), - ANIM_CMD(MISDREAVUS), - ANIM_CMD(UNOWN), - ANIM_CMD(WOBBUFFET), - ANIM_CMD(GIRAFARIG), - ANIM_CMD(PINECO), - ANIM_CMD(FORRETRESS), - ANIM_CMD(DUNSPARCE), - ANIM_CMD(GLIGAR), - ANIM_CMD(STEELIX), - ANIM_CMD(SNUBBULL), - ANIM_CMD(GRANBULL), - ANIM_CMD(QWILFISH), - ANIM_CMD(SCIZOR), - ANIM_CMD(SHUCKLE), - ANIM_CMD(HERACROSS), - ANIM_CMD(SNEASEL), - ANIM_CMD(TEDDIURSA), - ANIM_CMD(URSARING), - ANIM_CMD(SLUGMA), - ANIM_CMD(MAGCARGO), - ANIM_CMD(SWINUB), - ANIM_CMD(PILOSWINE), - ANIM_CMD(CORSOLA), - ANIM_CMD(REMORAID), - ANIM_CMD(OCTILLERY), - ANIM_CMD(DELIBIRD), - ANIM_CMD(MANTINE), - ANIM_CMD(SKARMORY), - ANIM_CMD(HOUNDOUR), - ANIM_CMD(HOUNDOOM), - ANIM_CMD(KINGDRA), - ANIM_CMD(PHANPY), - ANIM_CMD(DONPHAN), - ANIM_CMD(PORYGON2), - ANIM_CMD(STANTLER), - ANIM_CMD(SMEARGLE), - ANIM_CMD(TYROGUE), - ANIM_CMD(HITMONTOP), - ANIM_CMD(SMOOCHUM), - ANIM_CMD(ELEKID), - ANIM_CMD(MAGBY), - ANIM_CMD(MILTANK), - ANIM_CMD(BLISSEY), - ANIM_CMD(RAIKOU), - ANIM_CMD(ENTEI), - ANIM_CMD(SUICUNE), - ANIM_CMD(LARVITAR), - ANIM_CMD(PUPITAR), - ANIM_CMD(TYRANITAR), - ANIM_CMD(LUGIA), - ANIM_CMD(HO_OH), - ANIM_CMD(CELEBI), - ANIM_CMD_FULL(OLD_UNOWN_B, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_C, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_D, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_E, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_F, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_G, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_H, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_I, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_J, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_K, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_L, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_M, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_N, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_O, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_P, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_Q, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_R, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_S, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_T, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_U, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_V, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_W, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_X, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_Y, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_Z, sUnknownAnims_OLD_UNOWN), - ANIM_CMD(TREECKO), - ANIM_CMD(GROVYLE), - ANIM_CMD(SCEPTILE), - ANIM_CMD(TORCHIC), - ANIM_CMD(COMBUSKEN), - ANIM_CMD(BLAZIKEN), - ANIM_CMD(MUDKIP), - ANIM_CMD(MARSHTOMP), - ANIM_CMD(SWAMPERT), - ANIM_CMD(POOCHYENA), - ANIM_CMD(MIGHTYENA), - ANIM_CMD(ZIGZAGOON), - ANIM_CMD(LINOONE), - ANIM_CMD(WURMPLE), - ANIM_CMD(SILCOON), - ANIM_CMD(BEAUTIFLY), - ANIM_CMD(CASCOON), - ANIM_CMD(DUSTOX), - ANIM_CMD(LOTAD), - ANIM_CMD(LOMBRE), - ANIM_CMD(LUDICOLO), - ANIM_CMD(SEEDOT), - ANIM_CMD(NUZLEAF), - ANIM_CMD(SHIFTRY), - ANIM_CMD(NINCADA), - ANIM_CMD(NINJASK), - ANIM_CMD(SHEDINJA), - ANIM_CMD(TAILLOW), - ANIM_CMD(SWELLOW), - ANIM_CMD(SHROOMISH), - ANIM_CMD(BRELOOM), - ANIM_CMD(SPINDA), - ANIM_CMD(WINGULL), - ANIM_CMD(PELIPPER), - ANIM_CMD(SURSKIT), - ANIM_CMD(MASQUERAIN), - ANIM_CMD(WAILMER), - ANIM_CMD(WAILORD), - ANIM_CMD(SKITTY), - ANIM_CMD(DELCATTY), - ANIM_CMD(KECLEON), - ANIM_CMD(BALTOY), - ANIM_CMD(CLAYDOL), - ANIM_CMD(NOSEPASS), - ANIM_CMD(TORKOAL), - ANIM_CMD(SABLEYE), - ANIM_CMD(BARBOACH), - ANIM_CMD(WHISCASH), - ANIM_CMD(LUVDISC), - ANIM_CMD(CORPHISH), - ANIM_CMD(CRAWDAUNT), - ANIM_CMD(FEEBAS), - ANIM_CMD(MILOTIC), - ANIM_CMD(CARVANHA), - ANIM_CMD(SHARPEDO), - ANIM_CMD(TRAPINCH), - ANIM_CMD(VIBRAVA), - ANIM_CMD(FLYGON), - ANIM_CMD(MAKUHITA), - ANIM_CMD(HARIYAMA), - ANIM_CMD(ELECTRIKE), - ANIM_CMD(MANECTRIC), - ANIM_CMD(NUMEL), - ANIM_CMD(CAMERUPT), - ANIM_CMD(SPHEAL), - ANIM_CMD(SEALEO), - ANIM_CMD(WALREIN), - ANIM_CMD(CACNEA), - ANIM_CMD(CACTURNE), - ANIM_CMD(SNORUNT), - ANIM_CMD(GLALIE), - ANIM_CMD(LUNATONE), - ANIM_CMD(SOLROCK), - ANIM_CMD(AZURILL), - ANIM_CMD(SPOINK), - ANIM_CMD(GRUMPIG), - ANIM_CMD(PLUSLE), - ANIM_CMD(MINUN), - ANIM_CMD(MAWILE), - ANIM_CMD(MEDITITE), - ANIM_CMD(MEDICHAM), - ANIM_CMD(SWABLU), - ANIM_CMD(ALTARIA), - ANIM_CMD(WYNAUT), - ANIM_CMD(DUSKULL), - ANIM_CMD(DUSCLOPS), - ANIM_CMD(ROSELIA), - ANIM_CMD(SLAKOTH), - ANIM_CMD(VIGOROTH), - ANIM_CMD(SLAKING), - ANIM_CMD(GULPIN), - ANIM_CMD(SWALOT), - ANIM_CMD(TROPIUS), - ANIM_CMD(WHISMUR), - ANIM_CMD(LOUDRED), - ANIM_CMD(EXPLOUD), - ANIM_CMD(CLAMPERL), - ANIM_CMD(HUNTAIL), - ANIM_CMD(GOREBYSS), - ANIM_CMD(ABSOL), - ANIM_CMD(SHUPPET), - ANIM_CMD(BANETTE), - ANIM_CMD(SEVIPER), - ANIM_CMD(ZANGOOSE), - ANIM_CMD(RELICANTH), - ANIM_CMD(ARON), - ANIM_CMD(LAIRON), - ANIM_CMD(AGGRON), - ANIM_CMD(CASTFORM), - ANIM_CMD(VOLBEAT), - ANIM_CMD(ILLUMISE), - ANIM_CMD(LILEEP), - ANIM_CMD(CRADILY), - ANIM_CMD(ANORITH), - ANIM_CMD(ARMALDO), - ANIM_CMD(RALTS), - ANIM_CMD(KIRLIA), - ANIM_CMD(GARDEVOIR), - ANIM_CMD(BAGON), - ANIM_CMD(SHELGON), - ANIM_CMD(SALAMENCE), - ANIM_CMD(BELDUM), - ANIM_CMD(METANG), - ANIM_CMD(METAGROSS), - ANIM_CMD(REGIROCK), - ANIM_CMD(REGICE), - ANIM_CMD(REGISTEEL), - ANIM_CMD(KYOGRE), - ANIM_CMD(GROUDON), - ANIM_CMD(RAYQUAZA), - ANIM_CMD(LATIAS), - ANIM_CMD(LATIOS), - ANIM_CMD(JIRACHI), - ANIM_CMD(DEOXYS), - ANIM_CMD(CHIMECHO), - ANIM_CMD(EGG), - ANIM_CMD_FULL(UNOWN_B, sUnknownAnims_EGG), - ANIM_CMD(UNOWN_C), - ANIM_CMD(UNOWN_D), - ANIM_CMD(UNOWN_E), - ANIM_CMD(UNOWN_F), - ANIM_CMD(UNOWN_G), - ANIM_CMD(UNOWN_H), - ANIM_CMD(UNOWN_I), - ANIM_CMD(UNOWN_J), - ANIM_CMD(UNOWN_K), - ANIM_CMD(UNOWN_L), - ANIM_CMD(UNOWN_M), - ANIM_CMD(UNOWN_N), - ANIM_CMD(UNOWN_O), - ANIM_CMD(UNOWN_P), - ANIM_CMD(UNOWN_Q), - ANIM_CMD(UNOWN_R), - ANIM_CMD(UNOWN_S), - ANIM_CMD(UNOWN_T), - ANIM_CMD(UNOWN_U), - ANIM_CMD(UNOWN_V), - ANIM_CMD(UNOWN_W), - ANIM_CMD(UNOWN_X), - ANIM_CMD(UNOWN_Y), - ANIM_CMD(UNOWN_Z), - ANIM_CMD(UNOWN_EMARK), - ANIM_CMD(UNOWN_QMARK), -}; - -#undef ANIM_CMD -#undef ANIM_CMD_FULL diff --git a/src/data/pokemon_graphics/unused_anims.h b/src/data/pokemon_graphics/unused_anims.h new file mode 100644 index 0000000000..a313f9d529 --- /dev/null +++ b/src/data/pokemon_graphics/unused_anims.h @@ -0,0 +1,1829 @@ +// unused and unkown +static const union AnimCmd sUnusedAnim_Blaziken_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Blaziken_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Blaziken_3[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Blaziken_4[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Marshtomp_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Marshtomp_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 12), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(2, 12), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(2, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Marshtomp_3[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(2, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Poochyena_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Poochyena_2[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Mightyena_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Zigzagoon_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Linoone_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wurmple_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wurmple_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Silcoon_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Silcoon_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Beautifly_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Beautifly_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Cascoon_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Cascoon_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Dustox_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Dustox_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Lombre_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Ludicolo_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Ludicolo_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Seedot_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Nuzleaf_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shiftry_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shiftry_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Taillow_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Swellow_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shroomish_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Breloom_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wingull_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Pelipper_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Pelipper_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Surskit_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Surskit_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Masquerain_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Masquerain_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wailmer_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(2, 22), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(5, 5), + ANIMCMD_FRAME(7, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wailmer_2[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(2, 15), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(9, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(9, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wailmer_3[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(9, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(10, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wailmer_4[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(11, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Skitty_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Delcatty_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Kecleon_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(2, 7), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(6, 10), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Kecleon_2[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Kecleon_3[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Kecleon_4[] = +{ + ANIMCMD_FRAME(0,18), + ANIMCMD_FRAME(10, 18), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Baltoy_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Claydol_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Nosepass_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sableye_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sableye_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Luvdisc_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Luvdisc_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Feebas_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Feebas_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Milotic_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Milotic_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Carvanha_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Carvanha_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sharpedo_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sharpedo_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Trapinch_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Vibrava_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Flygon_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Makuhita_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Hariyama_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Electrike_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Electrike_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Manectric_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Numel_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Numel_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Camerupt_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Spheal_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sealeo_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Walrein_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Walrein_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(2, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(2, 18), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Azurill_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Azurill_2[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Azurill_3[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(5, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(6, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Azurill_4[] = +{ + ANIMCMD_FRAME(7, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Spoink_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Spoink_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Grumpig_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Plusle_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Minun_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Mawile_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Meditite_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Medicham_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Swablu_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Swablu_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Altaria_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wynaut_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wynaut_2[] = +{ + ANIMCMD_FRAME(1, 9), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Duskull_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Duskull_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Dusclops_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Dusclops_2[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Slakoth_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Vigoroth_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Slaking_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Gulpin_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Swalot_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Tropius_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Clamperl_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Absol_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shuppet_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shuppet_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Banette_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Aron_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Lairon_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Aggron_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Castform_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Castform_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Castform_3[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Castform_4[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Volbeat_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Illumise_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Bagon_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Bagon_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Salamence_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Salamence_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Regirock_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Regice_1[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Registeel_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Registeel_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Rayquaza_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Rayquaza_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Unused1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Unused2[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Jirachi_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd *const sUnusedAnims_None[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bulbasaur[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ivysaur[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Venusaur[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Charmander[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Charmeleon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Charizard[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Squirtle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wartortle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Blastoise[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Caterpie[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Metapod[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Butterfree[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Weedle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kakuna[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Beedrill[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pidgey[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pidgeotto[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pidgeot[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rattata[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Raticate[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Spearow[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Fearow[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ekans[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Arbok[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pikachu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Raichu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sandshrew[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sandslash[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_NidoranF[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Nidorina[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Nidoqueen[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_NidoranM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Nidorino[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Nidoking[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Clefairy[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Clefable[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Vulpix[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ninetales[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jigglypuff[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wigglytuff[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Zubat[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Golbat[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Oddish[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gloom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Vileplume[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Paras[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Parasect[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Venonat[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Venomoth[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Diglett[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dugtrio[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Meowth[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Persian[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Psyduck[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Golduck[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mankey[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Primeape[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Growlithe[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Arcanine[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Poliwag[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Poliwhirl[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Poliwrath[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Abra[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kadabra[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Alakazam[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Machop[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Machoke[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Machamp[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bellsprout[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Weepinbell[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Victreebel[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tentacool[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tentacruel[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Geodude[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Graveler[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Golem[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ponyta[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rapidash[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slowpoke[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slowbro[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magnemite[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magneton[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Farfetchd[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Doduo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dodrio[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Seel[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dewgong[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Grimer[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Muk[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Shellder[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cloyster[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gastly[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Haunter[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gengar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Onix[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Drowzee[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hypno[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Krabby[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kingler[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Voltorb[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Electrode[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Exeggcute[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Exeggutor[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cubone[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Marowak[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hitmonlee[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hitmonchan[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lickitung[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Koffing[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Weezing[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rhyhorn[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rhydon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Chansey[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tangela[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kangaskhan[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Horsea[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Seadra[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Goldeen[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Seaking[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Staryu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Starmie[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_MrMime[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Scyther[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jynx[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Electabuzz[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magmar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pinsir[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tauros[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magikarp[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gyarados[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lapras[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ditto[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Eevee[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Vaporeon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jolteon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Flareon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Porygon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Omanyte[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Omastar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kabuto[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kabutops[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Aerodactyl[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Snorlax[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Articuno[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Zapdos[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Moltres[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dratini[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dragonair[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dragonite[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mewtwo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mew[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Chikorita[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bayleef[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Meganium[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cyndaquil[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Quilava[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Typhlosion[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Totodile[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Croconaw[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Feraligatr[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sentret[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Furret[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hoothoot[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Noctowl[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ledyba[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ledian[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Spinarak[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ariados[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Crobat[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Chinchou[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lanturn[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pichu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cleffa[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Igglybuff[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Togepi[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Togetic[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Natu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Xatu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mareep[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Flaaffy[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ampharos[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bellossom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Marill[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Azumarill[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sudowoodo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Politoed[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hoppip[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Skiploom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jumpluff[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Aipom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sunkern[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sunflora[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Yanma[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wooper[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Quagsire[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Espeon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Umbreon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Murkrow[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slowking[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Misdreavus[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Unown[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wobbuffet[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Girafarig[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pineco[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Forretress[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dunsparce[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gligar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Steelix[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Snubbull[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Granbull[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Qwilfish[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Scizor[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Shuckle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Heracross[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sneasel[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Teddiursa[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ursaring[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slugma[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magcargo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Swinub[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Piloswine[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Corsola[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Remoraid[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Octillery[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Delibird[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mantine[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Skarmory[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Houndour[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Houndoom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kingdra[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Phanpy[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Donphan[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Porygon2[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Stantler[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Smeargle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tyrogue[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hitmontop[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Smoochum[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Elekid[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magby[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Miltank[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Blissey[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Raikou[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Entei[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Suicune[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Larvitar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pupitar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tyranitar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lugia[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_HoOh[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Celebi[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_OldUnownB[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Treecko[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Grovyle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sceptile[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Torchic[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Combusken[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Blaziken[] = {sAnim_GeneralFrame0, sUnusedAnim_Blaziken_1, sUnusedAnim_Blaziken_2, sUnusedAnim_Blaziken_3, sUnusedAnim_Blaziken_4}; +static const union AnimCmd *const sUnusedAnims_Mudkip[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Marshtomp[] = {sAnim_GeneralFrame0, sUnusedAnim_Marshtomp_1, sUnusedAnim_Marshtomp_2, sUnusedAnim_Marshtomp_3}; +static const union AnimCmd *const sUnusedAnims_Swampert[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Poochyena[] = {sAnim_GeneralFrame0, sUnusedAnim_Poochyena_1, sUnusedAnim_Poochyena_2}; +static const union AnimCmd *const sUnusedAnims_Mightyena[] = {sAnim_GeneralFrame0, sUnusedAnim_Mightyena_1}; +static const union AnimCmd *const sUnusedAnims_Zigzagoon[] = {sAnim_GeneralFrame0, sUnusedAnim_Zigzagoon_1}; +static const union AnimCmd *const sUnusedAnims_Linoone[] = {sAnim_GeneralFrame0, sUnusedAnim_Linoone_1}; +static const union AnimCmd *const sUnusedAnims_Wurmple[] = {sAnim_GeneralFrame0, sUnusedAnim_Wurmple_1, sUnusedAnim_Wurmple_2}; +static const union AnimCmd *const sUnusedAnims_Silcoon[] = {sAnim_GeneralFrame0, sUnusedAnim_Silcoon_1, sUnusedAnim_Silcoon_2}; +static const union AnimCmd *const sUnusedAnims_Beautifly[] = {sAnim_GeneralFrame0, sUnusedAnim_Beautifly_1, sUnusedAnim_Beautifly_2}; +static const union AnimCmd *const sUnusedAnims_Cascoon[] = {sAnim_GeneralFrame0, sUnusedAnim_Cascoon_1, sUnusedAnim_Cascoon_2}; +static const union AnimCmd *const sUnusedAnims_Dustox[] = {sAnim_GeneralFrame0, sUnusedAnim_Dustox_1, sUnusedAnim_Dustox_2}; +static const union AnimCmd *const sUnusedAnims_Lotad[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lombre[] = {sAnim_GeneralFrame0, sUnusedAnim_Lombre_1}; +static const union AnimCmd *const sUnusedAnims_Ludicolo[] = {sAnim_GeneralFrame0, sUnusedAnim_Ludicolo_1, sUnusedAnim_Ludicolo_2}; +static const union AnimCmd *const sUnusedAnims_Seedot[] = {sAnim_GeneralFrame0, sUnusedAnim_Seedot_1}; +static const union AnimCmd *const sUnusedAnims_Nuzleaf[] = {sAnim_GeneralFrame0, sUnusedAnim_Nuzleaf_1}; +static const union AnimCmd *const sUnusedAnims_Shiftry[] = {sAnim_GeneralFrame0, sUnusedAnim_Shiftry_1, sUnusedAnim_Shiftry_2}; +static const union AnimCmd *const sUnusedAnims_Nincada[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ninjask[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Shedinja[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Taillow[] = {sAnim_GeneralFrame0, sUnusedAnim_Taillow_1}; +static const union AnimCmd *const sUnusedAnims_Swellow[] = {sAnim_GeneralFrame0, sUnusedAnim_Swellow_1}; +static const union AnimCmd *const sUnusedAnims_Shroomish[] = {sAnim_GeneralFrame0, sUnusedAnim_Shroomish_1}; +static const union AnimCmd *const sUnusedAnims_Breloom[] = {sAnim_GeneralFrame0, sUnusedAnim_Breloom_1}; +static const union AnimCmd *const sUnusedAnims_Spinda[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wingull[] = {sAnim_GeneralFrame0, sUnusedAnim_Wingull_1}; +static const union AnimCmd *const sUnusedAnims_Pelipper[] = {sAnim_GeneralFrame0, sUnusedAnim_Pelipper_1, sUnusedAnim_Pelipper_2}; +static const union AnimCmd *const sUnusedAnims_Surskit[] = {sAnim_GeneralFrame0, sUnusedAnim_Surskit_1, sUnusedAnim_Surskit_2}; +static const union AnimCmd *const sUnusedAnims_Masquerain[] = {sAnim_GeneralFrame0, sUnusedAnim_Masquerain_1, sUnusedAnim_Masquerain_2}; +static const union AnimCmd *const sUnusedAnims_Wailmer[] = {sAnim_GeneralFrame0, sUnusedAnim_Wailmer_1, sUnusedAnim_Wailmer_2, sUnusedAnim_Wailmer_3, sUnusedAnim_Wailmer_4}; +static const union AnimCmd *const sUnusedAnims_Wailord[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Skitty[] = {sAnim_GeneralFrame0, sUnusedAnim_Skitty_1}; +static const union AnimCmd *const sUnusedAnims_Delcatty[] = {sAnim_GeneralFrame0, sUnusedAnim_Delcatty_1}; +static const union AnimCmd *const sUnusedAnims_Kecleon[] = {sAnim_GeneralFrame0, sUnusedAnim_Kecleon_1, sUnusedAnim_Kecleon_2, sUnusedAnim_Kecleon_3, sUnusedAnim_Kecleon_4}; +static const union AnimCmd *const sUnusedAnims_Baltoy[] = {sAnim_GeneralFrame0, sUnusedAnim_Baltoy_1}; +static const union AnimCmd *const sUnusedAnims_Claydol[] = {sAnim_GeneralFrame0, sUnusedAnim_Claydol_1}; +static const union AnimCmd *const sUnusedAnims_Nosepass[] = {sAnim_GeneralFrame0, sUnusedAnim_Nosepass_1}; +static const union AnimCmd *const sUnusedAnims_Torkoal[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sableye[] = {sAnim_GeneralFrame0, sUnusedAnim_Sableye_1, sUnusedAnim_Sableye_2}; +static const union AnimCmd *const sUnusedAnims_Barboach[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Whiscash[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Luvdisc[] = {sAnim_GeneralFrame0, sUnusedAnim_Luvdisc_1, sUnusedAnim_Luvdisc_2}; +static const union AnimCmd *const sUnusedAnims_Corphish[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Crawdaunt[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Feebas[] = {sAnim_GeneralFrame0, sUnusedAnim_Feebas_1, sUnusedAnim_Feebas_2}; +static const union AnimCmd *const sUnusedAnims_Milotic[] = {sAnim_GeneralFrame0, sUnusedAnim_Milotic_1, sUnusedAnim_Milotic_2}; +static const union AnimCmd *const sUnusedAnims_Carvanha[] = {sAnim_GeneralFrame0, sUnusedAnim_Carvanha_1, sUnusedAnim_Carvanha_2}; +static const union AnimCmd *const sUnusedAnims_Sharpedo[] = {sAnim_GeneralFrame0, sUnusedAnim_Sharpedo_1, sUnusedAnim_Sharpedo_2}; +static const union AnimCmd *const sUnusedAnims_Trapinch[] = {sAnim_GeneralFrame0, sUnusedAnim_Trapinch_1}; +static const union AnimCmd *const sUnusedAnims_Vibrava[] = {sAnim_GeneralFrame0, sUnusedAnim_Vibrava_1}; +static const union AnimCmd *const sUnusedAnims_Flygon[] = {sAnim_GeneralFrame0, sUnusedAnim_Flygon_1}; +static const union AnimCmd *const sUnusedAnims_Makuhita[] = {sAnim_GeneralFrame0, sUnusedAnim_Makuhita_1}; +static const union AnimCmd *const sUnusedAnims_Hariyama[] = {sAnim_GeneralFrame0, sUnusedAnim_Hariyama_1}; +static const union AnimCmd *const sUnusedAnims_Electrike[] = {sAnim_GeneralFrame0, sUnusedAnim_Electrike_1, sUnusedAnim_Electrike_2}; +static const union AnimCmd *const sUnusedAnims_Manectric[] = {sAnim_GeneralFrame0, sUnusedAnim_Manectric_1}; +static const union AnimCmd *const sUnusedAnims_Numel[] = {sAnim_GeneralFrame0, sUnusedAnim_Numel_1, sUnusedAnim_Numel_2}; +static const union AnimCmd *const sUnusedAnims_Camerupt[] = {sAnim_GeneralFrame0, sUnusedAnim_Camerupt_1}; +static const union AnimCmd *const sUnusedAnims_Spheal[] = {sAnim_GeneralFrame0, sUnusedAnim_Spheal_1}; +static const union AnimCmd *const sUnusedAnims_Sealeo[] = {sAnim_GeneralFrame0, sUnusedAnim_Sealeo_1}; +static const union AnimCmd *const sUnusedAnims_Walrein[] = {sAnim_GeneralFrame0, sUnusedAnim_Walrein_1, sUnusedAnim_Walrein_2}; +static const union AnimCmd *const sUnusedAnims_Cacnea[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cacturne[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Snorunt[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Glalie[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lunatone[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Solrock[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Azurill[] = {sAnim_GeneralFrame0, sUnusedAnim_Azurill_1, sUnusedAnim_Azurill_2, sUnusedAnim_Azurill_3, sUnusedAnim_Azurill_4}; +static const union AnimCmd *const sUnusedAnims_Spoink[] = {sAnim_GeneralFrame0, sUnusedAnim_Spoink_1, sUnusedAnim_Spoink_2}; +static const union AnimCmd *const sUnusedAnims_Grumpig[] = {sAnim_GeneralFrame0, sUnusedAnim_Grumpig_1}; +static const union AnimCmd *const sUnusedAnims_Plusle[] = {sAnim_GeneralFrame0, sUnusedAnim_Plusle_1}; +static const union AnimCmd *const sUnusedAnims_Minun[] = {sAnim_GeneralFrame0, sUnusedAnim_Minun_1}; +static const union AnimCmd *const sUnusedAnims_Mawile[] = {sAnim_GeneralFrame0, sUnusedAnim_Mawile_1}; +static const union AnimCmd *const sUnusedAnims_Meditite[] = {sAnim_GeneralFrame0, sUnusedAnim_Meditite_1}; +static const union AnimCmd *const sUnusedAnims_Medicham[] = {sAnim_GeneralFrame0, sUnusedAnim_Medicham_1}; +static const union AnimCmd *const sUnusedAnims_Swablu[] = {sAnim_GeneralFrame0, sUnusedAnim_Swablu_1, sUnusedAnim_Swablu_2}; +static const union AnimCmd *const sUnusedAnims_Altaria[] = {sAnim_GeneralFrame0, sUnusedAnim_Altaria_1}; +static const union AnimCmd *const sUnusedAnims_Wynaut[] = {sAnim_GeneralFrame0, sUnusedAnim_Wynaut_1, sUnusedAnim_Wynaut_2}; +static const union AnimCmd *const sUnusedAnims_Duskull[] = {sAnim_GeneralFrame0, sUnusedAnim_Duskull_1, sUnusedAnim_Duskull_2}; +static const union AnimCmd *const sUnusedAnims_Dusclops[] = {sAnim_GeneralFrame0, sUnusedAnim_Dusclops_1, sUnusedAnim_Dusclops_2}; +static const union AnimCmd *const sUnusedAnims_Roselia[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slakoth[] = {sAnim_GeneralFrame0, sUnusedAnim_Slakoth_1}; +static const union AnimCmd *const sUnusedAnims_Vigoroth[] = {sAnim_GeneralFrame0, sUnusedAnim_Vigoroth_1}; +static const union AnimCmd *const sUnusedAnims_Slaking[] = {sAnim_GeneralFrame0, sUnusedAnim_Slaking_1}; +static const union AnimCmd *const sUnusedAnims_Gulpin[] = {sAnim_GeneralFrame0, sUnusedAnim_Gulpin_1}; +static const union AnimCmd *const sUnusedAnims_Swalot[] = {sAnim_GeneralFrame0, sUnusedAnim_Swalot_1}; +static const union AnimCmd *const sUnusedAnims_Tropius[] = {sAnim_GeneralFrame0, sUnusedAnim_Tropius_1}; +static const union AnimCmd *const sUnusedAnims_Whismur[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Loudred[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Exploud[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Clamperl[] = {sAnim_GeneralFrame0, sUnusedAnim_Clamperl_1}; +static const union AnimCmd *const sUnusedAnims_Huntail[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gorebyss[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Absol[] = {sAnim_GeneralFrame0, sUnusedAnim_Absol_1}; +static const union AnimCmd *const sUnusedAnims_Shuppet[] = {sAnim_GeneralFrame0, sUnusedAnim_Shuppet_1, sUnusedAnim_Shuppet_2}; +static const union AnimCmd *const sUnusedAnims_Banette[] = {sAnim_GeneralFrame0, sUnusedAnim_Banette_1}; +static const union AnimCmd *const sUnusedAnims_Seviper[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Zangoose[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Relicanth[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Aron[] = {sAnim_GeneralFrame0, sUnusedAnim_Aron_1}; +static const union AnimCmd *const sUnusedAnims_Lairon[] = {sAnim_GeneralFrame0, sUnusedAnim_Lairon_1}; +static const union AnimCmd *const sUnusedAnims_Aggron[] = {sAnim_GeneralFrame0, sUnusedAnim_Aggron_1}; +static const union AnimCmd *const sUnusedAnims_Castform[] = {sAnim_GeneralFrame0, sUnusedAnim_Castform_1, sUnusedAnim_Castform_2, sUnusedAnim_Castform_3, sUnusedAnim_Castform_4}; +static const union AnimCmd *const sUnusedAnims_Volbeat[] = {sAnim_GeneralFrame0, sUnusedAnim_Volbeat_1}; +static const union AnimCmd *const sUnusedAnims_Illumise[] = {sAnim_GeneralFrame0, sUnusedAnim_Illumise_1}; +static const union AnimCmd *const sUnusedAnims_Lileep[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cradily[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Anorith[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Armaldo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ralts[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kirlia[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gardevoir[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bagon[] = {sAnim_GeneralFrame0, sUnusedAnim_Bagon_1, sUnusedAnim_Bagon_2}; +static const union AnimCmd *const sUnusedAnims_Shelgon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Salamence[] = {sAnim_GeneralFrame0, sUnusedAnim_Salamence_1, sUnusedAnim_Salamence_2}; +static const union AnimCmd *const sUnusedAnims_Beldum[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Metang[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Metagross[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Regirock[] = {sAnim_GeneralFrame0, sUnusedAnim_Regirock_1}; +static const union AnimCmd *const sUnusedAnims_Regice[] = {sAnim_GeneralFrame0, sUnusedAnim_Regice_1}; +static const union AnimCmd *const sUnusedAnims_Registeel[] = {sAnim_GeneralFrame0, sUnusedAnim_Registeel_1, sUnusedAnim_Registeel_2}; +static const union AnimCmd *const sUnusedAnims_Kyogre[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Groudon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rayquaza[] = {sAnim_GeneralFrame0, sUnusedAnim_Rayquaza_1, sUnusedAnim_Rayquaza_2}; +static const union AnimCmd *const sUnusedAnims_Latias[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Latios[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jirachi[] = {sAnim_GeneralFrame0, sUnusedAnim_Jirachi_1}; +static const union AnimCmd *const sUnusedAnims_Deoxys[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Chimecho[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Egg[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownD[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownF[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownG[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownI[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownJ[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownP[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownQ[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownV[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownW[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownX[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownZ[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownEMark[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownQMark[] = {sAnim_GeneralFrame0}; + +#define ANIM_CMD(name, anims) [SPECIES_##name] = sUnusedAnims_##anims + +static const union AnimCmd *const *const sUnusedAnimsTable[] = +{ + ANIM_CMD(NONE, None), + ANIM_CMD(BULBASAUR, Bulbasaur), + ANIM_CMD(IVYSAUR, Ivysaur), + ANIM_CMD(VENUSAUR, Venusaur), + ANIM_CMD(CHARMANDER, Charmander), + ANIM_CMD(CHARMELEON, Charmeleon), + ANIM_CMD(CHARIZARD, Charizard), + ANIM_CMD(SQUIRTLE, Squirtle), + ANIM_CMD(WARTORTLE, Wartortle), + ANIM_CMD(BLASTOISE, Blastoise), + ANIM_CMD(CATERPIE, Caterpie), + ANIM_CMD(METAPOD, Metapod), + ANIM_CMD(BUTTERFREE, Butterfree), + ANIM_CMD(WEEDLE, Weedle), + ANIM_CMD(KAKUNA, Kakuna), + ANIM_CMD(BEEDRILL, Beedrill), + ANIM_CMD(PIDGEY, Pidgey), + ANIM_CMD(PIDGEOTTO, Pidgeotto), + ANIM_CMD(PIDGEOT, Pidgeot), + ANIM_CMD(RATTATA, Rattata), + ANIM_CMD(RATICATE, Raticate), + ANIM_CMD(SPEAROW, Spearow), + ANIM_CMD(FEAROW, Fearow), + ANIM_CMD(EKANS, Ekans), + ANIM_CMD(ARBOK, Arbok), + ANIM_CMD(PIKACHU, Pikachu), + ANIM_CMD(RAICHU, Raichu), + ANIM_CMD(SANDSHREW, Sandshrew), + ANIM_CMD(SANDSLASH, Sandslash), + ANIM_CMD(NIDORAN_F, NidoranF), + ANIM_CMD(NIDORINA, Nidorina), + ANIM_CMD(NIDOQUEEN, Nidoqueen), + ANIM_CMD(NIDORAN_M, NidoranM), + ANIM_CMD(NIDORINO, Nidorino), + ANIM_CMD(NIDOKING, Nidoking), + ANIM_CMD(CLEFAIRY, Clefairy), + ANIM_CMD(CLEFABLE, Clefable), + ANIM_CMD(VULPIX, Vulpix), + ANIM_CMD(NINETALES, Ninetales), + ANIM_CMD(JIGGLYPUFF, Jigglypuff), + ANIM_CMD(WIGGLYTUFF, Wigglytuff), + ANIM_CMD(ZUBAT, Zubat), + ANIM_CMD(GOLBAT, Golbat), + ANIM_CMD(ODDISH, Oddish), + ANIM_CMD(GLOOM, Gloom), + ANIM_CMD(VILEPLUME, Vileplume), + ANIM_CMD(PARAS, Paras), + ANIM_CMD(PARASECT, Parasect), + ANIM_CMD(VENONAT, Venonat), + ANIM_CMD(VENOMOTH, Venomoth), + ANIM_CMD(DIGLETT, Diglett), + ANIM_CMD(DUGTRIO, Dugtrio), + ANIM_CMD(MEOWTH, Meowth), + ANIM_CMD(PERSIAN, Persian), + ANIM_CMD(PSYDUCK, Psyduck), + ANIM_CMD(GOLDUCK, Golduck), + ANIM_CMD(MANKEY, Mankey), + ANIM_CMD(PRIMEAPE, Primeape), + ANIM_CMD(GROWLITHE, Growlithe), + ANIM_CMD(ARCANINE, Arcanine), + ANIM_CMD(POLIWAG, Poliwag), + ANIM_CMD(POLIWHIRL, Poliwhirl), + ANIM_CMD(POLIWRATH, Poliwrath), + ANIM_CMD(ABRA, Abra), + ANIM_CMD(KADABRA, Kadabra), + ANIM_CMD(ALAKAZAM, Alakazam), + ANIM_CMD(MACHOP, Machop), + ANIM_CMD(MACHOKE, Machoke), + ANIM_CMD(MACHAMP, Machamp), + ANIM_CMD(BELLSPROUT, Bellsprout), + ANIM_CMD(WEEPINBELL, Weepinbell), + ANIM_CMD(VICTREEBEL, Victreebel), + ANIM_CMD(TENTACOOL, Tentacool), + ANIM_CMD(TENTACRUEL, Tentacruel), + ANIM_CMD(GEODUDE, Geodude), + ANIM_CMD(GRAVELER, Graveler), + ANIM_CMD(GOLEM, Golem), + ANIM_CMD(PONYTA, Ponyta), + ANIM_CMD(RAPIDASH, Rapidash), + ANIM_CMD(SLOWPOKE, Slowpoke), + ANIM_CMD(SLOWBRO, Slowbro), + ANIM_CMD(MAGNEMITE, Magnemite), + ANIM_CMD(MAGNETON, Magneton), + ANIM_CMD(FARFETCHD, Farfetchd), + ANIM_CMD(DODUO, Doduo), + ANIM_CMD(DODRIO, Dodrio), + ANIM_CMD(SEEL, Seel), + ANIM_CMD(DEWGONG, Dewgong), + ANIM_CMD(GRIMER, Grimer), + ANIM_CMD(MUK, Muk), + ANIM_CMD(SHELLDER, Shellder), + ANIM_CMD(CLOYSTER, Cloyster), + ANIM_CMD(GASTLY, Gastly), + ANIM_CMD(HAUNTER, Haunter), + ANIM_CMD(GENGAR, Gengar), + ANIM_CMD(ONIX, Onix), + ANIM_CMD(DROWZEE, Drowzee), + ANIM_CMD(HYPNO, Hypno), + ANIM_CMD(KRABBY, Krabby), + ANIM_CMD(KINGLER, Kingler), + ANIM_CMD(VOLTORB, Voltorb), + ANIM_CMD(ELECTRODE, Electrode), + ANIM_CMD(EXEGGCUTE, Exeggcute), + ANIM_CMD(EXEGGUTOR, Exeggutor), + ANIM_CMD(CUBONE, Cubone), + ANIM_CMD(MAROWAK, Marowak), + ANIM_CMD(HITMONLEE, Hitmonlee), + ANIM_CMD(HITMONCHAN, Hitmonchan), + ANIM_CMD(LICKITUNG, Lickitung), + ANIM_CMD(KOFFING, Koffing), + ANIM_CMD(WEEZING, Weezing), + ANIM_CMD(RHYHORN, Rhyhorn), + ANIM_CMD(RHYDON, Rhydon), + ANIM_CMD(CHANSEY, Chansey), + ANIM_CMD(TANGELA, Tangela), + ANIM_CMD(KANGASKHAN, Kangaskhan), + ANIM_CMD(HORSEA, Horsea), + ANIM_CMD(SEADRA, Seadra), + ANIM_CMD(GOLDEEN, Goldeen), + ANIM_CMD(SEAKING, Seaking), + ANIM_CMD(STARYU, Staryu), + ANIM_CMD(STARMIE, Starmie), + ANIM_CMD(MR_MIME, MrMime), + ANIM_CMD(SCYTHER, Scyther), + ANIM_CMD(JYNX, Jynx), + ANIM_CMD(ELECTABUZZ, Electabuzz), + ANIM_CMD(MAGMAR, Magmar), + ANIM_CMD(PINSIR, Pinsir), + ANIM_CMD(TAUROS, Tauros), + ANIM_CMD(MAGIKARP, Magikarp), + ANIM_CMD(GYARADOS, Gyarados), + ANIM_CMD(LAPRAS, Lapras), + ANIM_CMD(DITTO, Ditto), + ANIM_CMD(EEVEE, Eevee), + ANIM_CMD(VAPOREON, Vaporeon), + ANIM_CMD(JOLTEON, Jolteon), + ANIM_CMD(FLAREON, Flareon), + ANIM_CMD(PORYGON, Porygon), + ANIM_CMD(OMANYTE, Omanyte), + ANIM_CMD(OMASTAR, Omastar), + ANIM_CMD(KABUTO, Kabuto), + ANIM_CMD(KABUTOPS, Kabutops), + ANIM_CMD(AERODACTYL, Aerodactyl), + ANIM_CMD(SNORLAX, Snorlax), + ANIM_CMD(ARTICUNO, Articuno), + ANIM_CMD(ZAPDOS, Zapdos), + ANIM_CMD(MOLTRES, Moltres), + ANIM_CMD(DRATINI, Dratini), + ANIM_CMD(DRAGONAIR, Dragonair), + ANIM_CMD(DRAGONITE, Dragonite), + ANIM_CMD(MEWTWO, Mewtwo), + ANIM_CMD(MEW, Mew), + ANIM_CMD(CHIKORITA, Chikorita), + ANIM_CMD(BAYLEEF, Bayleef), + ANIM_CMD(MEGANIUM, Meganium), + ANIM_CMD(CYNDAQUIL, Cyndaquil), + ANIM_CMD(QUILAVA, Quilava), + ANIM_CMD(TYPHLOSION, Typhlosion), + ANIM_CMD(TOTODILE, Totodile), + ANIM_CMD(CROCONAW, Croconaw), + ANIM_CMD(FERALIGATR, Feraligatr), + ANIM_CMD(SENTRET, Sentret), + ANIM_CMD(FURRET, Furret), + ANIM_CMD(HOOTHOOT, Hoothoot), + ANIM_CMD(NOCTOWL, Noctowl), + ANIM_CMD(LEDYBA, Ledyba), + ANIM_CMD(LEDIAN, Ledian), + ANIM_CMD(SPINARAK, Spinarak), + ANIM_CMD(ARIADOS, Ariados), + ANIM_CMD(CROBAT, Crobat), + ANIM_CMD(CHINCHOU, Chinchou), + ANIM_CMD(LANTURN, Lanturn), + ANIM_CMD(PICHU, Pichu), + ANIM_CMD(CLEFFA, Cleffa), + ANIM_CMD(IGGLYBUFF, Igglybuff), + ANIM_CMD(TOGEPI, Togepi), + ANIM_CMD(TOGETIC, Togetic), + ANIM_CMD(NATU, Natu), + ANIM_CMD(XATU, Xatu), + ANIM_CMD(MAREEP, Mareep), + ANIM_CMD(FLAAFFY, Flaaffy), + ANIM_CMD(AMPHAROS, Ampharos), + ANIM_CMD(BELLOSSOM, Bellossom), + ANIM_CMD(MARILL, Marill), + ANIM_CMD(AZUMARILL, Azumarill), + ANIM_CMD(SUDOWOODO, Sudowoodo), + ANIM_CMD(POLITOED, Politoed), + ANIM_CMD(HOPPIP, Hoppip), + ANIM_CMD(SKIPLOOM, Skiploom), + ANIM_CMD(JUMPLUFF, Jumpluff), + ANIM_CMD(AIPOM, Aipom), + ANIM_CMD(SUNKERN, Sunkern), + ANIM_CMD(SUNFLORA, Sunflora), + ANIM_CMD(YANMA, Yanma), + ANIM_CMD(WOOPER, Wooper), + ANIM_CMD(QUAGSIRE, Quagsire), + ANIM_CMD(ESPEON, Espeon), + ANIM_CMD(UMBREON, Umbreon), + ANIM_CMD(MURKROW, Murkrow), + ANIM_CMD(SLOWKING, Slowking), + ANIM_CMD(MISDREAVUS, Misdreavus), + ANIM_CMD(UNOWN, Unown), + ANIM_CMD(WOBBUFFET, Wobbuffet), + ANIM_CMD(GIRAFARIG, Girafarig), + ANIM_CMD(PINECO, Pineco), + ANIM_CMD(FORRETRESS, Forretress), + ANIM_CMD(DUNSPARCE, Dunsparce), + ANIM_CMD(GLIGAR, Gligar), + ANIM_CMD(STEELIX, Steelix), + ANIM_CMD(SNUBBULL, Snubbull), + ANIM_CMD(GRANBULL, Granbull), + ANIM_CMD(QWILFISH, Qwilfish), + ANIM_CMD(SCIZOR, Scizor), + ANIM_CMD(SHUCKLE, Shuckle), + ANIM_CMD(HERACROSS, Heracross), + ANIM_CMD(SNEASEL, Sneasel), + ANIM_CMD(TEDDIURSA, Teddiursa), + ANIM_CMD(URSARING, Ursaring), + ANIM_CMD(SLUGMA, Slugma), + ANIM_CMD(MAGCARGO, Magcargo), + ANIM_CMD(SWINUB, Swinub), + ANIM_CMD(PILOSWINE, Piloswine), + ANIM_CMD(CORSOLA, Corsola), + ANIM_CMD(REMORAID, Remoraid), + ANIM_CMD(OCTILLERY, Octillery), + ANIM_CMD(DELIBIRD, Delibird), + ANIM_CMD(MANTINE, Mantine), + ANIM_CMD(SKARMORY, Skarmory), + ANIM_CMD(HOUNDOUR, Houndour), + ANIM_CMD(HOUNDOOM, Houndoom), + ANIM_CMD(KINGDRA, Kingdra), + ANIM_CMD(PHANPY, Phanpy), + ANIM_CMD(DONPHAN, Donphan), + ANIM_CMD(PORYGON2, Porygon2), + ANIM_CMD(STANTLER, Stantler), + ANIM_CMD(SMEARGLE, Smeargle), + ANIM_CMD(TYROGUE, Tyrogue), + ANIM_CMD(HITMONTOP, Hitmontop), + ANIM_CMD(SMOOCHUM, Smoochum), + ANIM_CMD(ELEKID, Elekid), + ANIM_CMD(MAGBY, Magby), + ANIM_CMD(MILTANK, Miltank), + ANIM_CMD(BLISSEY, Blissey), + ANIM_CMD(RAIKOU, Raikou), + ANIM_CMD(ENTEI, Entei), + ANIM_CMD(SUICUNE, Suicune), + ANIM_CMD(LARVITAR, Larvitar), + ANIM_CMD(PUPITAR, Pupitar), + ANIM_CMD(TYRANITAR, Tyranitar), + ANIM_CMD(LUGIA, Lugia), + ANIM_CMD(HO_OH, HoOh), + ANIM_CMD(CELEBI, Celebi), + ANIM_CMD(OLD_UNOWN_B, OldUnownB), + ANIM_CMD(OLD_UNOWN_C, OldUnownB), + ANIM_CMD(OLD_UNOWN_D, OldUnownB), + ANIM_CMD(OLD_UNOWN_E, OldUnownB), + ANIM_CMD(OLD_UNOWN_F, OldUnownB), + ANIM_CMD(OLD_UNOWN_G, OldUnownB), + ANIM_CMD(OLD_UNOWN_H, OldUnownB), + ANIM_CMD(OLD_UNOWN_I, OldUnownB), + ANIM_CMD(OLD_UNOWN_J, OldUnownB), + ANIM_CMD(OLD_UNOWN_K, OldUnownB), + ANIM_CMD(OLD_UNOWN_L, OldUnownB), + ANIM_CMD(OLD_UNOWN_M, OldUnownB), + ANIM_CMD(OLD_UNOWN_N, OldUnownB), + ANIM_CMD(OLD_UNOWN_O, OldUnownB), + ANIM_CMD(OLD_UNOWN_P, OldUnownB), + ANIM_CMD(OLD_UNOWN_Q, OldUnownB), + ANIM_CMD(OLD_UNOWN_R, OldUnownB), + ANIM_CMD(OLD_UNOWN_S, OldUnownB), + ANIM_CMD(OLD_UNOWN_T, OldUnownB), + ANIM_CMD(OLD_UNOWN_U, OldUnownB), + ANIM_CMD(OLD_UNOWN_V, OldUnownB), + ANIM_CMD(OLD_UNOWN_W, OldUnownB), + ANIM_CMD(OLD_UNOWN_X, OldUnownB), + ANIM_CMD(OLD_UNOWN_Y, OldUnownB), + ANIM_CMD(OLD_UNOWN_Z, OldUnownB), + ANIM_CMD(TREECKO, Treecko), + ANIM_CMD(GROVYLE, Grovyle), + ANIM_CMD(SCEPTILE, Sceptile), + ANIM_CMD(TORCHIC, Torchic), + ANIM_CMD(COMBUSKEN, Combusken), + ANIM_CMD(BLAZIKEN, Blaziken), + ANIM_CMD(MUDKIP, Mudkip), + ANIM_CMD(MARSHTOMP, Marshtomp), + ANIM_CMD(SWAMPERT, Swampert), + ANIM_CMD(POOCHYENA, Poochyena), + ANIM_CMD(MIGHTYENA, Mightyena), + ANIM_CMD(ZIGZAGOON, Zigzagoon), + ANIM_CMD(LINOONE, Linoone), + ANIM_CMD(WURMPLE, Wurmple), + ANIM_CMD(SILCOON, Silcoon), + ANIM_CMD(BEAUTIFLY, Beautifly), + ANIM_CMD(CASCOON, Cascoon), + ANIM_CMD(DUSTOX, Dustox), + ANIM_CMD(LOTAD, Lotad), + ANIM_CMD(LOMBRE, Lombre), + ANIM_CMD(LUDICOLO, Ludicolo), + ANIM_CMD(SEEDOT, Seedot), + ANIM_CMD(NUZLEAF, Nuzleaf), + ANIM_CMD(SHIFTRY, Shiftry), + ANIM_CMD(NINCADA, Nincada), + ANIM_CMD(NINJASK, Ninjask), + ANIM_CMD(SHEDINJA, Shedinja), + ANIM_CMD(TAILLOW, Taillow), + ANIM_CMD(SWELLOW, Swellow), + ANIM_CMD(SHROOMISH, Shroomish), + ANIM_CMD(BRELOOM, Breloom), + ANIM_CMD(SPINDA, Spinda), + ANIM_CMD(WINGULL, Wingull), + ANIM_CMD(PELIPPER, Pelipper), + ANIM_CMD(SURSKIT, Surskit), + ANIM_CMD(MASQUERAIN, Masquerain), + ANIM_CMD(WAILMER, Wailmer), + ANIM_CMD(WAILORD, Wailord), + ANIM_CMD(SKITTY, Skitty), + ANIM_CMD(DELCATTY, Delcatty), + ANIM_CMD(KECLEON, Kecleon), + ANIM_CMD(BALTOY, Baltoy), + ANIM_CMD(CLAYDOL, Claydol), + ANIM_CMD(NOSEPASS, Nosepass), + ANIM_CMD(TORKOAL, Torkoal), + ANIM_CMD(SABLEYE, Sableye), + ANIM_CMD(BARBOACH, Barboach), + ANIM_CMD(WHISCASH, Whiscash), + ANIM_CMD(LUVDISC, Luvdisc), + ANIM_CMD(CORPHISH, Corphish), + ANIM_CMD(CRAWDAUNT, Crawdaunt), + ANIM_CMD(FEEBAS, Feebas), + ANIM_CMD(MILOTIC, Milotic), + ANIM_CMD(CARVANHA, Carvanha), + ANIM_CMD(SHARPEDO, Sharpedo), + ANIM_CMD(TRAPINCH, Trapinch), + ANIM_CMD(VIBRAVA, Vibrava), + ANIM_CMD(FLYGON, Flygon), + ANIM_CMD(MAKUHITA, Makuhita), + ANIM_CMD(HARIYAMA, Hariyama), + ANIM_CMD(ELECTRIKE, Electrike), + ANIM_CMD(MANECTRIC, Manectric), + ANIM_CMD(NUMEL, Numel), + ANIM_CMD(CAMERUPT, Camerupt), + ANIM_CMD(SPHEAL, Spheal), + ANIM_CMD(SEALEO, Sealeo), + ANIM_CMD(WALREIN, Walrein), + ANIM_CMD(CACNEA, Cacnea), + ANIM_CMD(CACTURNE, Cacturne), + ANIM_CMD(SNORUNT, Snorunt), + ANIM_CMD(GLALIE, Glalie), + ANIM_CMD(LUNATONE, Lunatone), + ANIM_CMD(SOLROCK, Solrock), + ANIM_CMD(AZURILL, Azurill), + ANIM_CMD(SPOINK, Spoink), + ANIM_CMD(GRUMPIG, Grumpig), + ANIM_CMD(PLUSLE, Plusle), + ANIM_CMD(MINUN, Minun), + ANIM_CMD(MAWILE, Mawile), + ANIM_CMD(MEDITITE, Meditite), + ANIM_CMD(MEDICHAM, Medicham), + ANIM_CMD(SWABLU, Swablu), + ANIM_CMD(ALTARIA, Altaria), + ANIM_CMD(WYNAUT, Wynaut), + ANIM_CMD(DUSKULL, Duskull), + ANIM_CMD(DUSCLOPS, Dusclops), + ANIM_CMD(ROSELIA, Roselia), + ANIM_CMD(SLAKOTH, Slakoth), + ANIM_CMD(VIGOROTH, Vigoroth), + ANIM_CMD(SLAKING, Slaking), + ANIM_CMD(GULPIN, Gulpin), + ANIM_CMD(SWALOT, Swalot), + ANIM_CMD(TROPIUS, Tropius), + ANIM_CMD(WHISMUR, Whismur), + ANIM_CMD(LOUDRED, Loudred), + ANIM_CMD(EXPLOUD, Exploud), + ANIM_CMD(CLAMPERL, Clamperl), + ANIM_CMD(HUNTAIL, Huntail), + ANIM_CMD(GOREBYSS, Gorebyss), + ANIM_CMD(ABSOL, Absol), + ANIM_CMD(SHUPPET, Shuppet), + ANIM_CMD(BANETTE, Banette), + ANIM_CMD(SEVIPER, Seviper), + ANIM_CMD(ZANGOOSE, Zangoose), + ANIM_CMD(RELICANTH, Relicanth), + ANIM_CMD(ARON, Aron), + ANIM_CMD(LAIRON, Lairon), + ANIM_CMD(AGGRON, Aggron), + ANIM_CMD(CASTFORM, Castform), + ANIM_CMD(VOLBEAT, Volbeat), + ANIM_CMD(ILLUMISE, Illumise), + ANIM_CMD(LILEEP, Lileep), + ANIM_CMD(CRADILY, Cradily), + ANIM_CMD(ANORITH, Anorith), + ANIM_CMD(ARMALDO, Armaldo), + ANIM_CMD(RALTS, Ralts), + ANIM_CMD(KIRLIA, Kirlia), + ANIM_CMD(GARDEVOIR, Gardevoir), + ANIM_CMD(BAGON, Bagon), + ANIM_CMD(SHELGON, Shelgon), + ANIM_CMD(SALAMENCE, Salamence), + ANIM_CMD(BELDUM, Beldum), + ANIM_CMD(METANG, Metang), + ANIM_CMD(METAGROSS, Metagross), + ANIM_CMD(REGIROCK, Regirock), + ANIM_CMD(REGICE, Regice), + ANIM_CMD(REGISTEEL, Registeel), + ANIM_CMD(KYOGRE, Kyogre), + ANIM_CMD(GROUDON, Groudon), + ANIM_CMD(RAYQUAZA, Rayquaza), + ANIM_CMD(LATIAS, Latias), + ANIM_CMD(LATIOS, Latios), + ANIM_CMD(JIRACHI, Jirachi), + ANIM_CMD(DEOXYS, Deoxys), + ANIM_CMD(CHIMECHO, Chimecho), + ANIM_CMD(EGG, Egg), + ANIM_CMD(UNOWN_B, Egg), + ANIM_CMD(UNOWN_C, UnownC), + ANIM_CMD(UNOWN_D, UnownD), + ANIM_CMD(UNOWN_E, UnownE), + ANIM_CMD(UNOWN_F, UnownF), + ANIM_CMD(UNOWN_G, UnownG), + ANIM_CMD(UNOWN_H, UnownH), + ANIM_CMD(UNOWN_I, UnownI), + ANIM_CMD(UNOWN_J, UnownJ), + ANIM_CMD(UNOWN_K, UnownK), + ANIM_CMD(UNOWN_L, UnownL), + ANIM_CMD(UNOWN_M, UnownM), + ANIM_CMD(UNOWN_N, UnownN), + ANIM_CMD(UNOWN_O, UnownO), + ANIM_CMD(UNOWN_P, UnownP), + ANIM_CMD(UNOWN_Q, UnownQ), + ANIM_CMD(UNOWN_R, UnownR), + ANIM_CMD(UNOWN_S, UnownS), + ANIM_CMD(UNOWN_T, UnownT), + ANIM_CMD(UNOWN_U, UnownU), + ANIM_CMD(UNOWN_V, UnownV), + ANIM_CMD(UNOWN_W, UnownW), + ANIM_CMD(UNOWN_X, UnownX), + ANIM_CMD(UNOWN_Y, UnownY), + ANIM_CMD(UNOWN_Z, UnownZ), + ANIM_CMD(UNOWN_EMARK, UnownEMark), + ANIM_CMD(UNOWN_QMARK, UnownQMark), +}; + +#undef ANIM_CMD +#undef ANIM_CMD_FULL From fab26b99f15b5cdba5868270768f819100ee3d47 Mon Sep 17 00:00:00 2001 From: sbird Date: Tue, 6 Dec 2022 15:59:59 +0100 Subject: [PATCH 15/62] [fix] DebugPrintf with no format arguments --- include/gba/isagbprint.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 91aa9f214e..493c6604bc 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -29,17 +29,17 @@ void AGBPrintInit(void); #if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) -#define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, 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) -#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, __VA_ARGS__) +#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 DebugPrintf(pBuf, ...) AGBPrintf(pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) AGBAssert(pFile, nLine, pExpression, nStopProgram) #endif From 0d5adac1e118575018a4ffb5e13ac048b600a3c0 Mon Sep 17 00:00:00 2001 From: sbird Date: Wed, 7 Dec 2022 00:03:25 +0100 Subject: [PATCH 16/62] [debug, printf] add DebugPrintfLevel macro --- include/gba/isagbprint.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 493c6604bc..d362b5cb38 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -11,6 +11,7 @@ #ifdef NDEBUG #define DebugPrintf(pBuf, ...) +#define DebugPrintfLevel(level, pBuf, ...) #define MgbaOpen() #define MgbaClose() #define AGBPrintInit() @@ -31,16 +32,19 @@ void AGBPrintInit(void); #define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) MgbaAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugPrintfLevel(level, pBuf, ...) MgbaPrintf(level, pBuf, ## __VA_ARGS__) #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) +#define DebugPrintfLevel(level, pBuf, ...) NoCashGBAPrintf(pBuf, ## __VA_ARGS__) #else // Default to AGBPrint #define DebugPrintf(pBuf, ...) AGBPrintf(pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) AGBAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugPrintfLevel(level, pBuf, ...) AGBPrintf(pBuf, ## __VA_ARGS__) #endif #endif From 2f96344cd9adb111a638748b96847b85b52ec6a4 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sat, 10 Dec 2022 11:46:41 -0300 Subject: [PATCH 17/62] Removed ANIM_CMD macro from unused_anims.h --- src/data/pokemon_graphics/unused_anims.h | 882 +++++++++++------------ 1 file changed, 440 insertions(+), 442 deletions(-) diff --git a/src/data/pokemon_graphics/unused_anims.h b/src/data/pokemon_graphics/unused_anims.h index a313f9d529..3d0c283dca 100644 --- a/src/data/pokemon_graphics/unused_anims.h +++ b/src/data/pokemon_graphics/unused_anims.h @@ -1379,450 +1379,448 @@ static const union AnimCmd *const sUnusedAnims_UnownZ[] = {sAnim_GeneralFrame0}; static const union AnimCmd *const sUnusedAnims_UnownEMark[] = {sAnim_GeneralFrame0}; static const union AnimCmd *const sUnusedAnims_UnownQMark[] = {sAnim_GeneralFrame0}; -#define ANIM_CMD(name, anims) [SPECIES_##name] = sUnusedAnims_##anims - static const union AnimCmd *const *const sUnusedAnimsTable[] = { - ANIM_CMD(NONE, None), - ANIM_CMD(BULBASAUR, Bulbasaur), - ANIM_CMD(IVYSAUR, Ivysaur), - ANIM_CMD(VENUSAUR, Venusaur), - ANIM_CMD(CHARMANDER, Charmander), - ANIM_CMD(CHARMELEON, Charmeleon), - ANIM_CMD(CHARIZARD, Charizard), - ANIM_CMD(SQUIRTLE, Squirtle), - ANIM_CMD(WARTORTLE, Wartortle), - ANIM_CMD(BLASTOISE, Blastoise), - ANIM_CMD(CATERPIE, Caterpie), - ANIM_CMD(METAPOD, Metapod), - ANIM_CMD(BUTTERFREE, Butterfree), - ANIM_CMD(WEEDLE, Weedle), - ANIM_CMD(KAKUNA, Kakuna), - ANIM_CMD(BEEDRILL, Beedrill), - ANIM_CMD(PIDGEY, Pidgey), - ANIM_CMD(PIDGEOTTO, Pidgeotto), - ANIM_CMD(PIDGEOT, Pidgeot), - ANIM_CMD(RATTATA, Rattata), - ANIM_CMD(RATICATE, Raticate), - ANIM_CMD(SPEAROW, Spearow), - ANIM_CMD(FEAROW, Fearow), - ANIM_CMD(EKANS, Ekans), - ANIM_CMD(ARBOK, Arbok), - ANIM_CMD(PIKACHU, Pikachu), - ANIM_CMD(RAICHU, Raichu), - ANIM_CMD(SANDSHREW, Sandshrew), - ANIM_CMD(SANDSLASH, Sandslash), - ANIM_CMD(NIDORAN_F, NidoranF), - ANIM_CMD(NIDORINA, Nidorina), - ANIM_CMD(NIDOQUEEN, Nidoqueen), - ANIM_CMD(NIDORAN_M, NidoranM), - ANIM_CMD(NIDORINO, Nidorino), - ANIM_CMD(NIDOKING, Nidoking), - ANIM_CMD(CLEFAIRY, Clefairy), - ANIM_CMD(CLEFABLE, Clefable), - ANIM_CMD(VULPIX, Vulpix), - ANIM_CMD(NINETALES, Ninetales), - ANIM_CMD(JIGGLYPUFF, Jigglypuff), - ANIM_CMD(WIGGLYTUFF, Wigglytuff), - ANIM_CMD(ZUBAT, Zubat), - ANIM_CMD(GOLBAT, Golbat), - ANIM_CMD(ODDISH, Oddish), - ANIM_CMD(GLOOM, Gloom), - ANIM_CMD(VILEPLUME, Vileplume), - ANIM_CMD(PARAS, Paras), - ANIM_CMD(PARASECT, Parasect), - ANIM_CMD(VENONAT, Venonat), - ANIM_CMD(VENOMOTH, Venomoth), - ANIM_CMD(DIGLETT, Diglett), - ANIM_CMD(DUGTRIO, Dugtrio), - ANIM_CMD(MEOWTH, Meowth), - ANIM_CMD(PERSIAN, Persian), - ANIM_CMD(PSYDUCK, Psyduck), - ANIM_CMD(GOLDUCK, Golduck), - ANIM_CMD(MANKEY, Mankey), - ANIM_CMD(PRIMEAPE, Primeape), - ANIM_CMD(GROWLITHE, Growlithe), - ANIM_CMD(ARCANINE, Arcanine), - ANIM_CMD(POLIWAG, Poliwag), - ANIM_CMD(POLIWHIRL, Poliwhirl), - ANIM_CMD(POLIWRATH, Poliwrath), - ANIM_CMD(ABRA, Abra), - ANIM_CMD(KADABRA, Kadabra), - ANIM_CMD(ALAKAZAM, Alakazam), - ANIM_CMD(MACHOP, Machop), - ANIM_CMD(MACHOKE, Machoke), - ANIM_CMD(MACHAMP, Machamp), - ANIM_CMD(BELLSPROUT, Bellsprout), - ANIM_CMD(WEEPINBELL, Weepinbell), - ANIM_CMD(VICTREEBEL, Victreebel), - ANIM_CMD(TENTACOOL, Tentacool), - ANIM_CMD(TENTACRUEL, Tentacruel), - ANIM_CMD(GEODUDE, Geodude), - ANIM_CMD(GRAVELER, Graveler), - ANIM_CMD(GOLEM, Golem), - ANIM_CMD(PONYTA, Ponyta), - ANIM_CMD(RAPIDASH, Rapidash), - ANIM_CMD(SLOWPOKE, Slowpoke), - ANIM_CMD(SLOWBRO, Slowbro), - ANIM_CMD(MAGNEMITE, Magnemite), - ANIM_CMD(MAGNETON, Magneton), - ANIM_CMD(FARFETCHD, Farfetchd), - ANIM_CMD(DODUO, Doduo), - ANIM_CMD(DODRIO, Dodrio), - ANIM_CMD(SEEL, Seel), - ANIM_CMD(DEWGONG, Dewgong), - ANIM_CMD(GRIMER, Grimer), - ANIM_CMD(MUK, Muk), - ANIM_CMD(SHELLDER, Shellder), - ANIM_CMD(CLOYSTER, Cloyster), - ANIM_CMD(GASTLY, Gastly), - ANIM_CMD(HAUNTER, Haunter), - ANIM_CMD(GENGAR, Gengar), - ANIM_CMD(ONIX, Onix), - ANIM_CMD(DROWZEE, Drowzee), - ANIM_CMD(HYPNO, Hypno), - ANIM_CMD(KRABBY, Krabby), - ANIM_CMD(KINGLER, Kingler), - ANIM_CMD(VOLTORB, Voltorb), - ANIM_CMD(ELECTRODE, Electrode), - ANIM_CMD(EXEGGCUTE, Exeggcute), - ANIM_CMD(EXEGGUTOR, Exeggutor), - ANIM_CMD(CUBONE, Cubone), - ANIM_CMD(MAROWAK, Marowak), - ANIM_CMD(HITMONLEE, Hitmonlee), - ANIM_CMD(HITMONCHAN, Hitmonchan), - ANIM_CMD(LICKITUNG, Lickitung), - ANIM_CMD(KOFFING, Koffing), - ANIM_CMD(WEEZING, Weezing), - ANIM_CMD(RHYHORN, Rhyhorn), - ANIM_CMD(RHYDON, Rhydon), - ANIM_CMD(CHANSEY, Chansey), - ANIM_CMD(TANGELA, Tangela), - ANIM_CMD(KANGASKHAN, Kangaskhan), - ANIM_CMD(HORSEA, Horsea), - ANIM_CMD(SEADRA, Seadra), - ANIM_CMD(GOLDEEN, Goldeen), - ANIM_CMD(SEAKING, Seaking), - ANIM_CMD(STARYU, Staryu), - ANIM_CMD(STARMIE, Starmie), - ANIM_CMD(MR_MIME, MrMime), - ANIM_CMD(SCYTHER, Scyther), - ANIM_CMD(JYNX, Jynx), - ANIM_CMD(ELECTABUZZ, Electabuzz), - ANIM_CMD(MAGMAR, Magmar), - ANIM_CMD(PINSIR, Pinsir), - ANIM_CMD(TAUROS, Tauros), - ANIM_CMD(MAGIKARP, Magikarp), - ANIM_CMD(GYARADOS, Gyarados), - ANIM_CMD(LAPRAS, Lapras), - ANIM_CMD(DITTO, Ditto), - ANIM_CMD(EEVEE, Eevee), - ANIM_CMD(VAPOREON, Vaporeon), - ANIM_CMD(JOLTEON, Jolteon), - ANIM_CMD(FLAREON, Flareon), - ANIM_CMD(PORYGON, Porygon), - ANIM_CMD(OMANYTE, Omanyte), - ANIM_CMD(OMASTAR, Omastar), - ANIM_CMD(KABUTO, Kabuto), - ANIM_CMD(KABUTOPS, Kabutops), - ANIM_CMD(AERODACTYL, Aerodactyl), - ANIM_CMD(SNORLAX, Snorlax), - ANIM_CMD(ARTICUNO, Articuno), - ANIM_CMD(ZAPDOS, Zapdos), - ANIM_CMD(MOLTRES, Moltres), - ANIM_CMD(DRATINI, Dratini), - ANIM_CMD(DRAGONAIR, Dragonair), - ANIM_CMD(DRAGONITE, Dragonite), - ANIM_CMD(MEWTWO, Mewtwo), - ANIM_CMD(MEW, Mew), - ANIM_CMD(CHIKORITA, Chikorita), - ANIM_CMD(BAYLEEF, Bayleef), - ANIM_CMD(MEGANIUM, Meganium), - ANIM_CMD(CYNDAQUIL, Cyndaquil), - ANIM_CMD(QUILAVA, Quilava), - ANIM_CMD(TYPHLOSION, Typhlosion), - ANIM_CMD(TOTODILE, Totodile), - ANIM_CMD(CROCONAW, Croconaw), - ANIM_CMD(FERALIGATR, Feraligatr), - ANIM_CMD(SENTRET, Sentret), - ANIM_CMD(FURRET, Furret), - ANIM_CMD(HOOTHOOT, Hoothoot), - ANIM_CMD(NOCTOWL, Noctowl), - ANIM_CMD(LEDYBA, Ledyba), - ANIM_CMD(LEDIAN, Ledian), - ANIM_CMD(SPINARAK, Spinarak), - ANIM_CMD(ARIADOS, Ariados), - ANIM_CMD(CROBAT, Crobat), - ANIM_CMD(CHINCHOU, Chinchou), - ANIM_CMD(LANTURN, Lanturn), - ANIM_CMD(PICHU, Pichu), - ANIM_CMD(CLEFFA, Cleffa), - ANIM_CMD(IGGLYBUFF, Igglybuff), - ANIM_CMD(TOGEPI, Togepi), - ANIM_CMD(TOGETIC, Togetic), - ANIM_CMD(NATU, Natu), - ANIM_CMD(XATU, Xatu), - ANIM_CMD(MAREEP, Mareep), - ANIM_CMD(FLAAFFY, Flaaffy), - ANIM_CMD(AMPHAROS, Ampharos), - ANIM_CMD(BELLOSSOM, Bellossom), - ANIM_CMD(MARILL, Marill), - ANIM_CMD(AZUMARILL, Azumarill), - ANIM_CMD(SUDOWOODO, Sudowoodo), - ANIM_CMD(POLITOED, Politoed), - ANIM_CMD(HOPPIP, Hoppip), - ANIM_CMD(SKIPLOOM, Skiploom), - ANIM_CMD(JUMPLUFF, Jumpluff), - ANIM_CMD(AIPOM, Aipom), - ANIM_CMD(SUNKERN, Sunkern), - ANIM_CMD(SUNFLORA, Sunflora), - ANIM_CMD(YANMA, Yanma), - ANIM_CMD(WOOPER, Wooper), - ANIM_CMD(QUAGSIRE, Quagsire), - ANIM_CMD(ESPEON, Espeon), - ANIM_CMD(UMBREON, Umbreon), - ANIM_CMD(MURKROW, Murkrow), - ANIM_CMD(SLOWKING, Slowking), - ANIM_CMD(MISDREAVUS, Misdreavus), - ANIM_CMD(UNOWN, Unown), - ANIM_CMD(WOBBUFFET, Wobbuffet), - ANIM_CMD(GIRAFARIG, Girafarig), - ANIM_CMD(PINECO, Pineco), - ANIM_CMD(FORRETRESS, Forretress), - ANIM_CMD(DUNSPARCE, Dunsparce), - ANIM_CMD(GLIGAR, Gligar), - ANIM_CMD(STEELIX, Steelix), - ANIM_CMD(SNUBBULL, Snubbull), - ANIM_CMD(GRANBULL, Granbull), - ANIM_CMD(QWILFISH, Qwilfish), - ANIM_CMD(SCIZOR, Scizor), - ANIM_CMD(SHUCKLE, Shuckle), - ANIM_CMD(HERACROSS, Heracross), - ANIM_CMD(SNEASEL, Sneasel), - ANIM_CMD(TEDDIURSA, Teddiursa), - ANIM_CMD(URSARING, Ursaring), - ANIM_CMD(SLUGMA, Slugma), - ANIM_CMD(MAGCARGO, Magcargo), - ANIM_CMD(SWINUB, Swinub), - ANIM_CMD(PILOSWINE, Piloswine), - ANIM_CMD(CORSOLA, Corsola), - ANIM_CMD(REMORAID, Remoraid), - ANIM_CMD(OCTILLERY, Octillery), - ANIM_CMD(DELIBIRD, Delibird), - ANIM_CMD(MANTINE, Mantine), - ANIM_CMD(SKARMORY, Skarmory), - ANIM_CMD(HOUNDOUR, Houndour), - ANIM_CMD(HOUNDOOM, Houndoom), - ANIM_CMD(KINGDRA, Kingdra), - ANIM_CMD(PHANPY, Phanpy), - ANIM_CMD(DONPHAN, Donphan), - ANIM_CMD(PORYGON2, Porygon2), - ANIM_CMD(STANTLER, Stantler), - ANIM_CMD(SMEARGLE, Smeargle), - ANIM_CMD(TYROGUE, Tyrogue), - ANIM_CMD(HITMONTOP, Hitmontop), - ANIM_CMD(SMOOCHUM, Smoochum), - ANIM_CMD(ELEKID, Elekid), - ANIM_CMD(MAGBY, Magby), - ANIM_CMD(MILTANK, Miltank), - ANIM_CMD(BLISSEY, Blissey), - ANIM_CMD(RAIKOU, Raikou), - ANIM_CMD(ENTEI, Entei), - ANIM_CMD(SUICUNE, Suicune), - ANIM_CMD(LARVITAR, Larvitar), - ANIM_CMD(PUPITAR, Pupitar), - ANIM_CMD(TYRANITAR, Tyranitar), - ANIM_CMD(LUGIA, Lugia), - ANIM_CMD(HO_OH, HoOh), - ANIM_CMD(CELEBI, Celebi), - ANIM_CMD(OLD_UNOWN_B, OldUnownB), - ANIM_CMD(OLD_UNOWN_C, OldUnownB), - ANIM_CMD(OLD_UNOWN_D, OldUnownB), - ANIM_CMD(OLD_UNOWN_E, OldUnownB), - ANIM_CMD(OLD_UNOWN_F, OldUnownB), - ANIM_CMD(OLD_UNOWN_G, OldUnownB), - ANIM_CMD(OLD_UNOWN_H, OldUnownB), - ANIM_CMD(OLD_UNOWN_I, OldUnownB), - ANIM_CMD(OLD_UNOWN_J, OldUnownB), - ANIM_CMD(OLD_UNOWN_K, OldUnownB), - ANIM_CMD(OLD_UNOWN_L, OldUnownB), - ANIM_CMD(OLD_UNOWN_M, OldUnownB), - ANIM_CMD(OLD_UNOWN_N, OldUnownB), - ANIM_CMD(OLD_UNOWN_O, OldUnownB), - ANIM_CMD(OLD_UNOWN_P, OldUnownB), - ANIM_CMD(OLD_UNOWN_Q, OldUnownB), - ANIM_CMD(OLD_UNOWN_R, OldUnownB), - ANIM_CMD(OLD_UNOWN_S, OldUnownB), - ANIM_CMD(OLD_UNOWN_T, OldUnownB), - ANIM_CMD(OLD_UNOWN_U, OldUnownB), - ANIM_CMD(OLD_UNOWN_V, OldUnownB), - ANIM_CMD(OLD_UNOWN_W, OldUnownB), - ANIM_CMD(OLD_UNOWN_X, OldUnownB), - ANIM_CMD(OLD_UNOWN_Y, OldUnownB), - ANIM_CMD(OLD_UNOWN_Z, OldUnownB), - ANIM_CMD(TREECKO, Treecko), - ANIM_CMD(GROVYLE, Grovyle), - ANIM_CMD(SCEPTILE, Sceptile), - ANIM_CMD(TORCHIC, Torchic), - ANIM_CMD(COMBUSKEN, Combusken), - ANIM_CMD(BLAZIKEN, Blaziken), - ANIM_CMD(MUDKIP, Mudkip), - ANIM_CMD(MARSHTOMP, Marshtomp), - ANIM_CMD(SWAMPERT, Swampert), - ANIM_CMD(POOCHYENA, Poochyena), - ANIM_CMD(MIGHTYENA, Mightyena), - ANIM_CMD(ZIGZAGOON, Zigzagoon), - ANIM_CMD(LINOONE, Linoone), - ANIM_CMD(WURMPLE, Wurmple), - ANIM_CMD(SILCOON, Silcoon), - ANIM_CMD(BEAUTIFLY, Beautifly), - ANIM_CMD(CASCOON, Cascoon), - ANIM_CMD(DUSTOX, Dustox), - ANIM_CMD(LOTAD, Lotad), - ANIM_CMD(LOMBRE, Lombre), - ANIM_CMD(LUDICOLO, Ludicolo), - ANIM_CMD(SEEDOT, Seedot), - ANIM_CMD(NUZLEAF, Nuzleaf), - ANIM_CMD(SHIFTRY, Shiftry), - ANIM_CMD(NINCADA, Nincada), - ANIM_CMD(NINJASK, Ninjask), - ANIM_CMD(SHEDINJA, Shedinja), - ANIM_CMD(TAILLOW, Taillow), - ANIM_CMD(SWELLOW, Swellow), - ANIM_CMD(SHROOMISH, Shroomish), - ANIM_CMD(BRELOOM, Breloom), - ANIM_CMD(SPINDA, Spinda), - ANIM_CMD(WINGULL, Wingull), - ANIM_CMD(PELIPPER, Pelipper), - ANIM_CMD(SURSKIT, Surskit), - ANIM_CMD(MASQUERAIN, Masquerain), - ANIM_CMD(WAILMER, Wailmer), - ANIM_CMD(WAILORD, Wailord), - ANIM_CMD(SKITTY, Skitty), - ANIM_CMD(DELCATTY, Delcatty), - ANIM_CMD(KECLEON, Kecleon), - ANIM_CMD(BALTOY, Baltoy), - ANIM_CMD(CLAYDOL, Claydol), - ANIM_CMD(NOSEPASS, Nosepass), - ANIM_CMD(TORKOAL, Torkoal), - ANIM_CMD(SABLEYE, Sableye), - ANIM_CMD(BARBOACH, Barboach), - ANIM_CMD(WHISCASH, Whiscash), - ANIM_CMD(LUVDISC, Luvdisc), - ANIM_CMD(CORPHISH, Corphish), - ANIM_CMD(CRAWDAUNT, Crawdaunt), - ANIM_CMD(FEEBAS, Feebas), - ANIM_CMD(MILOTIC, Milotic), - ANIM_CMD(CARVANHA, Carvanha), - ANIM_CMD(SHARPEDO, Sharpedo), - ANIM_CMD(TRAPINCH, Trapinch), - ANIM_CMD(VIBRAVA, Vibrava), - ANIM_CMD(FLYGON, Flygon), - ANIM_CMD(MAKUHITA, Makuhita), - ANIM_CMD(HARIYAMA, Hariyama), - ANIM_CMD(ELECTRIKE, Electrike), - ANIM_CMD(MANECTRIC, Manectric), - ANIM_CMD(NUMEL, Numel), - ANIM_CMD(CAMERUPT, Camerupt), - ANIM_CMD(SPHEAL, Spheal), - ANIM_CMD(SEALEO, Sealeo), - ANIM_CMD(WALREIN, Walrein), - ANIM_CMD(CACNEA, Cacnea), - ANIM_CMD(CACTURNE, Cacturne), - ANIM_CMD(SNORUNT, Snorunt), - ANIM_CMD(GLALIE, Glalie), - ANIM_CMD(LUNATONE, Lunatone), - ANIM_CMD(SOLROCK, Solrock), - ANIM_CMD(AZURILL, Azurill), - ANIM_CMD(SPOINK, Spoink), - ANIM_CMD(GRUMPIG, Grumpig), - ANIM_CMD(PLUSLE, Plusle), - ANIM_CMD(MINUN, Minun), - ANIM_CMD(MAWILE, Mawile), - ANIM_CMD(MEDITITE, Meditite), - ANIM_CMD(MEDICHAM, Medicham), - ANIM_CMD(SWABLU, Swablu), - ANIM_CMD(ALTARIA, Altaria), - ANIM_CMD(WYNAUT, Wynaut), - ANIM_CMD(DUSKULL, Duskull), - ANIM_CMD(DUSCLOPS, Dusclops), - ANIM_CMD(ROSELIA, Roselia), - ANIM_CMD(SLAKOTH, Slakoth), - ANIM_CMD(VIGOROTH, Vigoroth), - ANIM_CMD(SLAKING, Slaking), - ANIM_CMD(GULPIN, Gulpin), - ANIM_CMD(SWALOT, Swalot), - ANIM_CMD(TROPIUS, Tropius), - ANIM_CMD(WHISMUR, Whismur), - ANIM_CMD(LOUDRED, Loudred), - ANIM_CMD(EXPLOUD, Exploud), - ANIM_CMD(CLAMPERL, Clamperl), - ANIM_CMD(HUNTAIL, Huntail), - ANIM_CMD(GOREBYSS, Gorebyss), - ANIM_CMD(ABSOL, Absol), - ANIM_CMD(SHUPPET, Shuppet), - ANIM_CMD(BANETTE, Banette), - ANIM_CMD(SEVIPER, Seviper), - ANIM_CMD(ZANGOOSE, Zangoose), - ANIM_CMD(RELICANTH, Relicanth), - ANIM_CMD(ARON, Aron), - ANIM_CMD(LAIRON, Lairon), - ANIM_CMD(AGGRON, Aggron), - ANIM_CMD(CASTFORM, Castform), - ANIM_CMD(VOLBEAT, Volbeat), - ANIM_CMD(ILLUMISE, Illumise), - ANIM_CMD(LILEEP, Lileep), - ANIM_CMD(CRADILY, Cradily), - ANIM_CMD(ANORITH, Anorith), - ANIM_CMD(ARMALDO, Armaldo), - ANIM_CMD(RALTS, Ralts), - ANIM_CMD(KIRLIA, Kirlia), - ANIM_CMD(GARDEVOIR, Gardevoir), - ANIM_CMD(BAGON, Bagon), - ANIM_CMD(SHELGON, Shelgon), - ANIM_CMD(SALAMENCE, Salamence), - ANIM_CMD(BELDUM, Beldum), - ANIM_CMD(METANG, Metang), - ANIM_CMD(METAGROSS, Metagross), - ANIM_CMD(REGIROCK, Regirock), - ANIM_CMD(REGICE, Regice), - ANIM_CMD(REGISTEEL, Registeel), - ANIM_CMD(KYOGRE, Kyogre), - ANIM_CMD(GROUDON, Groudon), - ANIM_CMD(RAYQUAZA, Rayquaza), - ANIM_CMD(LATIAS, Latias), - ANIM_CMD(LATIOS, Latios), - ANIM_CMD(JIRACHI, Jirachi), - ANIM_CMD(DEOXYS, Deoxys), - ANIM_CMD(CHIMECHO, Chimecho), - ANIM_CMD(EGG, Egg), - ANIM_CMD(UNOWN_B, Egg), - ANIM_CMD(UNOWN_C, UnownC), - ANIM_CMD(UNOWN_D, UnownD), - ANIM_CMD(UNOWN_E, UnownE), - ANIM_CMD(UNOWN_F, UnownF), - ANIM_CMD(UNOWN_G, UnownG), - ANIM_CMD(UNOWN_H, UnownH), - ANIM_CMD(UNOWN_I, UnownI), - ANIM_CMD(UNOWN_J, UnownJ), - ANIM_CMD(UNOWN_K, UnownK), - ANIM_CMD(UNOWN_L, UnownL), - ANIM_CMD(UNOWN_M, UnownM), - ANIM_CMD(UNOWN_N, UnownN), - ANIM_CMD(UNOWN_O, UnownO), - ANIM_CMD(UNOWN_P, UnownP), - ANIM_CMD(UNOWN_Q, UnownQ), - ANIM_CMD(UNOWN_R, UnownR), - ANIM_CMD(UNOWN_S, UnownS), - ANIM_CMD(UNOWN_T, UnownT), - ANIM_CMD(UNOWN_U, UnownU), - ANIM_CMD(UNOWN_V, UnownV), - ANIM_CMD(UNOWN_W, UnownW), - ANIM_CMD(UNOWN_X, UnownX), - ANIM_CMD(UNOWN_Y, UnownY), - ANIM_CMD(UNOWN_Z, UnownZ), - ANIM_CMD(UNOWN_EMARK, UnownEMark), - ANIM_CMD(UNOWN_QMARK, UnownQMark), + [SPECIES_NONE] = sUnusedAnims_None, + [SPECIES_BULBASAUR] = sUnusedAnims_Bulbasaur, + [SPECIES_IVYSAUR] = sUnusedAnims_Ivysaur, + [SPECIES_VENUSAUR] = sUnusedAnims_Venusaur, + [SPECIES_CHARMANDER] = sUnusedAnims_Charmander, + [SPECIES_CHARMELEON] = sUnusedAnims_Charmeleon, + [SPECIES_CHARIZARD] = sUnusedAnims_Charizard, + [SPECIES_SQUIRTLE] = sUnusedAnims_Squirtle, + [SPECIES_WARTORTLE] = sUnusedAnims_Wartortle, + [SPECIES_BLASTOISE] = sUnusedAnims_Blastoise, + [SPECIES_CATERPIE] = sUnusedAnims_Caterpie, + [SPECIES_METAPOD] = sUnusedAnims_Metapod, + [SPECIES_BUTTERFREE] = sUnusedAnims_Butterfree, + [SPECIES_WEEDLE] = sUnusedAnims_Weedle, + [SPECIES_KAKUNA] = sUnusedAnims_Kakuna, + [SPECIES_BEEDRILL] = sUnusedAnims_Beedrill, + [SPECIES_PIDGEY] = sUnusedAnims_Pidgey, + [SPECIES_PIDGEOTTO] = sUnusedAnims_Pidgeotto, + [SPECIES_PIDGEOT] = sUnusedAnims_Pidgeot, + [SPECIES_RATTATA] = sUnusedAnims_Rattata, + [SPECIES_RATICATE] = sUnusedAnims_Raticate, + [SPECIES_SPEAROW] = sUnusedAnims_Spearow, + [SPECIES_FEAROW] = sUnusedAnims_Fearow, + [SPECIES_EKANS] = sUnusedAnims_Ekans, + [SPECIES_ARBOK] = sUnusedAnims_Arbok, + [SPECIES_PIKACHU] = sUnusedAnims_Pikachu, + [SPECIES_RAICHU] = sUnusedAnims_Raichu, + [SPECIES_SANDSHREW] = sUnusedAnims_Sandshrew, + [SPECIES_SANDSLASH] = sUnusedAnims_Sandslash, + [SPECIES_NIDORAN_F] = sUnusedAnims_NidoranF, + [SPECIES_NIDORINA] = sUnusedAnims_Nidorina, + [SPECIES_NIDOQUEEN] = sUnusedAnims_Nidoqueen, + [SPECIES_NIDORAN_M] = sUnusedAnims_NidoranM, + [SPECIES_NIDORINO] = sUnusedAnims_Nidorino, + [SPECIES_NIDOKING] = sUnusedAnims_Nidoking, + [SPECIES_CLEFAIRY] = sUnusedAnims_Clefairy, + [SPECIES_CLEFABLE] = sUnusedAnims_Clefable, + [SPECIES_VULPIX] = sUnusedAnims_Vulpix, + [SPECIES_NINETALES] = sUnusedAnims_Ninetales, + [SPECIES_JIGGLYPUFF] = sUnusedAnims_Jigglypuff, + [SPECIES_WIGGLYTUFF] = sUnusedAnims_Wigglytuff, + [SPECIES_ZUBAT] = sUnusedAnims_Zubat, + [SPECIES_GOLBAT] = sUnusedAnims_Golbat, + [SPECIES_ODDISH] = sUnusedAnims_Oddish, + [SPECIES_GLOOM] = sUnusedAnims_Gloom, + [SPECIES_VILEPLUME] = sUnusedAnims_Vileplume, + [SPECIES_PARAS] = sUnusedAnims_Paras, + [SPECIES_PARASECT] = sUnusedAnims_Parasect, + [SPECIES_VENONAT] = sUnusedAnims_Venonat, + [SPECIES_VENOMOTH] = sUnusedAnims_Venomoth, + [SPECIES_DIGLETT] = sUnusedAnims_Diglett, + [SPECIES_DUGTRIO] = sUnusedAnims_Dugtrio, + [SPECIES_MEOWTH] = sUnusedAnims_Meowth, + [SPECIES_PERSIAN] = sUnusedAnims_Persian, + [SPECIES_PSYDUCK] = sUnusedAnims_Psyduck, + [SPECIES_GOLDUCK] = sUnusedAnims_Golduck, + [SPECIES_MANKEY] = sUnusedAnims_Mankey, + [SPECIES_PRIMEAPE] = sUnusedAnims_Primeape, + [SPECIES_GROWLITHE] = sUnusedAnims_Growlithe, + [SPECIES_ARCANINE] = sUnusedAnims_Arcanine, + [SPECIES_POLIWAG] = sUnusedAnims_Poliwag, + [SPECIES_POLIWHIRL] = sUnusedAnims_Poliwhirl, + [SPECIES_POLIWRATH] = sUnusedAnims_Poliwrath, + [SPECIES_ABRA] = sUnusedAnims_Abra, + [SPECIES_KADABRA] = sUnusedAnims_Kadabra, + [SPECIES_ALAKAZAM] = sUnusedAnims_Alakazam, + [SPECIES_MACHOP] = sUnusedAnims_Machop, + [SPECIES_MACHOKE] = sUnusedAnims_Machoke, + [SPECIES_MACHAMP] = sUnusedAnims_Machamp, + [SPECIES_BELLSPROUT] = sUnusedAnims_Bellsprout, + [SPECIES_WEEPINBELL] = sUnusedAnims_Weepinbell, + [SPECIES_VICTREEBEL] = sUnusedAnims_Victreebel, + [SPECIES_TENTACOOL] = sUnusedAnims_Tentacool, + [SPECIES_TENTACRUEL] = sUnusedAnims_Tentacruel, + [SPECIES_GEODUDE] = sUnusedAnims_Geodude, + [SPECIES_GRAVELER] = sUnusedAnims_Graveler, + [SPECIES_GOLEM] = sUnusedAnims_Golem, + [SPECIES_PONYTA] = sUnusedAnims_Ponyta, + [SPECIES_RAPIDASH] = sUnusedAnims_Rapidash, + [SPECIES_SLOWPOKE] = sUnusedAnims_Slowpoke, + [SPECIES_SLOWBRO] = sUnusedAnims_Slowbro, + [SPECIES_MAGNEMITE] = sUnusedAnims_Magnemite, + [SPECIES_MAGNETON] = sUnusedAnims_Magneton, + [SPECIES_FARFETCHD] = sUnusedAnims_Farfetchd, + [SPECIES_DODUO] = sUnusedAnims_Doduo, + [SPECIES_DODRIO] = sUnusedAnims_Dodrio, + [SPECIES_SEEL] = sUnusedAnims_Seel, + [SPECIES_DEWGONG] = sUnusedAnims_Dewgong, + [SPECIES_GRIMER] = sUnusedAnims_Grimer, + [SPECIES_MUK] = sUnusedAnims_Muk, + [SPECIES_SHELLDER] = sUnusedAnims_Shellder, + [SPECIES_CLOYSTER] = sUnusedAnims_Cloyster, + [SPECIES_GASTLY] = sUnusedAnims_Gastly, + [SPECIES_HAUNTER] = sUnusedAnims_Haunter, + [SPECIES_GENGAR] = sUnusedAnims_Gengar, + [SPECIES_ONIX] = sUnusedAnims_Onix, + [SPECIES_DROWZEE] = sUnusedAnims_Drowzee, + [SPECIES_HYPNO] = sUnusedAnims_Hypno, + [SPECIES_KRABBY] = sUnusedAnims_Krabby, + [SPECIES_KINGLER] = sUnusedAnims_Kingler, + [SPECIES_VOLTORB] = sUnusedAnims_Voltorb, + [SPECIES_ELECTRODE] = sUnusedAnims_Electrode, + [SPECIES_EXEGGCUTE] = sUnusedAnims_Exeggcute, + [SPECIES_EXEGGUTOR] = sUnusedAnims_Exeggutor, + [SPECIES_CUBONE] = sUnusedAnims_Cubone, + [SPECIES_MAROWAK] = sUnusedAnims_Marowak, + [SPECIES_HITMONLEE] = sUnusedAnims_Hitmonlee, + [SPECIES_HITMONCHAN] = sUnusedAnims_Hitmonchan, + [SPECIES_LICKITUNG] = sUnusedAnims_Lickitung, + [SPECIES_KOFFING] = sUnusedAnims_Koffing, + [SPECIES_WEEZING] = sUnusedAnims_Weezing, + [SPECIES_RHYHORN] = sUnusedAnims_Rhyhorn, + [SPECIES_RHYDON] = sUnusedAnims_Rhydon, + [SPECIES_CHANSEY] = sUnusedAnims_Chansey, + [SPECIES_TANGELA] = sUnusedAnims_Tangela, + [SPECIES_KANGASKHAN] = sUnusedAnims_Kangaskhan, + [SPECIES_HORSEA] = sUnusedAnims_Horsea, + [SPECIES_SEADRA] = sUnusedAnims_Seadra, + [SPECIES_GOLDEEN] = sUnusedAnims_Goldeen, + [SPECIES_SEAKING] = sUnusedAnims_Seaking, + [SPECIES_STARYU] = sUnusedAnims_Staryu, + [SPECIES_STARMIE] = sUnusedAnims_Starmie, + [SPECIES_MR_MIME] = sUnusedAnims_MrMime, + [SPECIES_SCYTHER] = sUnusedAnims_Scyther, + [SPECIES_JYNX] = sUnusedAnims_Jynx, + [SPECIES_ELECTABUZZ] = sUnusedAnims_Electabuzz, + [SPECIES_MAGMAR] = sUnusedAnims_Magmar, + [SPECIES_PINSIR] = sUnusedAnims_Pinsir, + [SPECIES_TAUROS] = sUnusedAnims_Tauros, + [SPECIES_MAGIKARP] = sUnusedAnims_Magikarp, + [SPECIES_GYARADOS] = sUnusedAnims_Gyarados, + [SPECIES_LAPRAS] = sUnusedAnims_Lapras, + [SPECIES_DITTO] = sUnusedAnims_Ditto, + [SPECIES_EEVEE] = sUnusedAnims_Eevee, + [SPECIES_VAPOREON] = sUnusedAnims_Vaporeon, + [SPECIES_JOLTEON] = sUnusedAnims_Jolteon, + [SPECIES_FLAREON] = sUnusedAnims_Flareon, + [SPECIES_PORYGON] = sUnusedAnims_Porygon, + [SPECIES_OMANYTE] = sUnusedAnims_Omanyte, + [SPECIES_OMASTAR] = sUnusedAnims_Omastar, + [SPECIES_KABUTO] = sUnusedAnims_Kabuto, + [SPECIES_KABUTOPS] = sUnusedAnims_Kabutops, + [SPECIES_AERODACTYL] = sUnusedAnims_Aerodactyl, + [SPECIES_SNORLAX] = sUnusedAnims_Snorlax, + [SPECIES_ARTICUNO] = sUnusedAnims_Articuno, + [SPECIES_ZAPDOS] = sUnusedAnims_Zapdos, + [SPECIES_MOLTRES] = sUnusedAnims_Moltres, + [SPECIES_DRATINI] = sUnusedAnims_Dratini, + [SPECIES_DRAGONAIR] = sUnusedAnims_Dragonair, + [SPECIES_DRAGONITE] = sUnusedAnims_Dragonite, + [SPECIES_MEWTWO] = sUnusedAnims_Mewtwo, + [SPECIES_MEW] = sUnusedAnims_Mew, + [SPECIES_CHIKORITA] = sUnusedAnims_Chikorita, + [SPECIES_BAYLEEF] = sUnusedAnims_Bayleef, + [SPECIES_MEGANIUM] = sUnusedAnims_Meganium, + [SPECIES_CYNDAQUIL] = sUnusedAnims_Cyndaquil, + [SPECIES_QUILAVA] = sUnusedAnims_Quilava, + [SPECIES_TYPHLOSION] = sUnusedAnims_Typhlosion, + [SPECIES_TOTODILE] = sUnusedAnims_Totodile, + [SPECIES_CROCONAW] = sUnusedAnims_Croconaw, + [SPECIES_FERALIGATR] = sUnusedAnims_Feraligatr, + [SPECIES_SENTRET] = sUnusedAnims_Sentret, + [SPECIES_FURRET] = sUnusedAnims_Furret, + [SPECIES_HOOTHOOT] = sUnusedAnims_Hoothoot, + [SPECIES_NOCTOWL] = sUnusedAnims_Noctowl, + [SPECIES_LEDYBA] = sUnusedAnims_Ledyba, + [SPECIES_LEDIAN] = sUnusedAnims_Ledian, + [SPECIES_SPINARAK] = sUnusedAnims_Spinarak, + [SPECIES_ARIADOS] = sUnusedAnims_Ariados, + [SPECIES_CROBAT] = sUnusedAnims_Crobat, + [SPECIES_CHINCHOU] = sUnusedAnims_Chinchou, + [SPECIES_LANTURN] = sUnusedAnims_Lanturn, + [SPECIES_PICHU] = sUnusedAnims_Pichu, + [SPECIES_CLEFFA] = sUnusedAnims_Cleffa, + [SPECIES_IGGLYBUFF] = sUnusedAnims_Igglybuff, + [SPECIES_TOGEPI] = sUnusedAnims_Togepi, + [SPECIES_TOGETIC] = sUnusedAnims_Togetic, + [SPECIES_NATU] = sUnusedAnims_Natu, + [SPECIES_XATU] = sUnusedAnims_Xatu, + [SPECIES_MAREEP] = sUnusedAnims_Mareep, + [SPECIES_FLAAFFY] = sUnusedAnims_Flaaffy, + [SPECIES_AMPHAROS] = sUnusedAnims_Ampharos, + [SPECIES_BELLOSSOM] = sUnusedAnims_Bellossom, + [SPECIES_MARILL] = sUnusedAnims_Marill, + [SPECIES_AZUMARILL] = sUnusedAnims_Azumarill, + [SPECIES_SUDOWOODO] = sUnusedAnims_Sudowoodo, + [SPECIES_POLITOED] = sUnusedAnims_Politoed, + [SPECIES_HOPPIP] = sUnusedAnims_Hoppip, + [SPECIES_SKIPLOOM] = sUnusedAnims_Skiploom, + [SPECIES_JUMPLUFF] = sUnusedAnims_Jumpluff, + [SPECIES_AIPOM] = sUnusedAnims_Aipom, + [SPECIES_SUNKERN] = sUnusedAnims_Sunkern, + [SPECIES_SUNFLORA] = sUnusedAnims_Sunflora, + [SPECIES_YANMA] = sUnusedAnims_Yanma, + [SPECIES_WOOPER] = sUnusedAnims_Wooper, + [SPECIES_QUAGSIRE] = sUnusedAnims_Quagsire, + [SPECIES_ESPEON] = sUnusedAnims_Espeon, + [SPECIES_UMBREON] = sUnusedAnims_Umbreon, + [SPECIES_MURKROW] = sUnusedAnims_Murkrow, + [SPECIES_SLOWKING] = sUnusedAnims_Slowking, + [SPECIES_MISDREAVUS] = sUnusedAnims_Misdreavus, + [SPECIES_UNOWN] = sUnusedAnims_Unown, + [SPECIES_WOBBUFFET] = sUnusedAnims_Wobbuffet, + [SPECIES_GIRAFARIG] = sUnusedAnims_Girafarig, + [SPECIES_PINECO] = sUnusedAnims_Pineco, + [SPECIES_FORRETRESS] = sUnusedAnims_Forretress, + [SPECIES_DUNSPARCE] = sUnusedAnims_Dunsparce, + [SPECIES_GLIGAR] = sUnusedAnims_Gligar, + [SPECIES_STEELIX] = sUnusedAnims_Steelix, + [SPECIES_SNUBBULL] = sUnusedAnims_Snubbull, + [SPECIES_GRANBULL] = sUnusedAnims_Granbull, + [SPECIES_QWILFISH] = sUnusedAnims_Qwilfish, + [SPECIES_SCIZOR] = sUnusedAnims_Scizor, + [SPECIES_SHUCKLE] = sUnusedAnims_Shuckle, + [SPECIES_HERACROSS] = sUnusedAnims_Heracross, + [SPECIES_SNEASEL] = sUnusedAnims_Sneasel, + [SPECIES_TEDDIURSA] = sUnusedAnims_Teddiursa, + [SPECIES_URSARING] = sUnusedAnims_Ursaring, + [SPECIES_SLUGMA] = sUnusedAnims_Slugma, + [SPECIES_MAGCARGO] = sUnusedAnims_Magcargo, + [SPECIES_SWINUB] = sUnusedAnims_Swinub, + [SPECIES_PILOSWINE] = sUnusedAnims_Piloswine, + [SPECIES_CORSOLA] = sUnusedAnims_Corsola, + [SPECIES_REMORAID] = sUnusedAnims_Remoraid, + [SPECIES_OCTILLERY] = sUnusedAnims_Octillery, + [SPECIES_DELIBIRD] = sUnusedAnims_Delibird, + [SPECIES_MANTINE] = sUnusedAnims_Mantine, + [SPECIES_SKARMORY] = sUnusedAnims_Skarmory, + [SPECIES_HOUNDOUR] = sUnusedAnims_Houndour, + [SPECIES_HOUNDOOM] = sUnusedAnims_Houndoom, + [SPECIES_KINGDRA] = sUnusedAnims_Kingdra, + [SPECIES_PHANPY] = sUnusedAnims_Phanpy, + [SPECIES_DONPHAN] = sUnusedAnims_Donphan, + [SPECIES_PORYGON2] = sUnusedAnims_Porygon2, + [SPECIES_STANTLER] = sUnusedAnims_Stantler, + [SPECIES_SMEARGLE] = sUnusedAnims_Smeargle, + [SPECIES_TYROGUE] = sUnusedAnims_Tyrogue, + [SPECIES_HITMONTOP] = sUnusedAnims_Hitmontop, + [SPECIES_SMOOCHUM] = sUnusedAnims_Smoochum, + [SPECIES_ELEKID] = sUnusedAnims_Elekid, + [SPECIES_MAGBY] = sUnusedAnims_Magby, + [SPECIES_MILTANK] = sUnusedAnims_Miltank, + [SPECIES_BLISSEY] = sUnusedAnims_Blissey, + [SPECIES_RAIKOU] = sUnusedAnims_Raikou, + [SPECIES_ENTEI] = sUnusedAnims_Entei, + [SPECIES_SUICUNE] = sUnusedAnims_Suicune, + [SPECIES_LARVITAR] = sUnusedAnims_Larvitar, + [SPECIES_PUPITAR] = sUnusedAnims_Pupitar, + [SPECIES_TYRANITAR] = sUnusedAnims_Tyranitar, + [SPECIES_LUGIA] = sUnusedAnims_Lugia, + [SPECIES_HO_OH] = sUnusedAnims_HoOh, + [SPECIES_CELEBI] = sUnusedAnims_Celebi, + [SPECIES_OLD_UNOWN_B] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_C] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_D] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_E] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_F] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_G] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_H] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_I] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_J] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_K] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_L] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_M] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_N] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_O] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_P] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Q] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_R] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_S] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_T] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_U] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_V] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_W] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_X] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Y] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Z] = sUnusedAnims_OldUnownB, + [SPECIES_TREECKO] = sUnusedAnims_Treecko, + [SPECIES_GROVYLE] = sUnusedAnims_Grovyle, + [SPECIES_SCEPTILE] = sUnusedAnims_Sceptile, + [SPECIES_TORCHIC] = sUnusedAnims_Torchic, + [SPECIES_COMBUSKEN] = sUnusedAnims_Combusken, + [SPECIES_BLAZIKEN] = sUnusedAnims_Blaziken, + [SPECIES_MUDKIP] = sUnusedAnims_Mudkip, + [SPECIES_MARSHTOMP] = sUnusedAnims_Marshtomp, + [SPECIES_SWAMPERT] = sUnusedAnims_Swampert, + [SPECIES_POOCHYENA] = sUnusedAnims_Poochyena, + [SPECIES_MIGHTYENA] = sUnusedAnims_Mightyena, + [SPECIES_ZIGZAGOON] = sUnusedAnims_Zigzagoon, + [SPECIES_LINOONE] = sUnusedAnims_Linoone, + [SPECIES_WURMPLE] = sUnusedAnims_Wurmple, + [SPECIES_SILCOON] = sUnusedAnims_Silcoon, + [SPECIES_BEAUTIFLY] = sUnusedAnims_Beautifly, + [SPECIES_CASCOON] = sUnusedAnims_Cascoon, + [SPECIES_DUSTOX] = sUnusedAnims_Dustox, + [SPECIES_LOTAD] = sUnusedAnims_Lotad, + [SPECIES_LOMBRE] = sUnusedAnims_Lombre, + [SPECIES_LUDICOLO] = sUnusedAnims_Ludicolo, + [SPECIES_SEEDOT] = sUnusedAnims_Seedot, + [SPECIES_NUZLEAF] = sUnusedAnims_Nuzleaf, + [SPECIES_SHIFTRY] = sUnusedAnims_Shiftry, + [SPECIES_NINCADA] = sUnusedAnims_Nincada, + [SPECIES_NINJASK] = sUnusedAnims_Ninjask, + [SPECIES_SHEDINJA] = sUnusedAnims_Shedinja, + [SPECIES_TAILLOW] = sUnusedAnims_Taillow, + [SPECIES_SWELLOW] = sUnusedAnims_Swellow, + [SPECIES_SHROOMISH] = sUnusedAnims_Shroomish, + [SPECIES_BRELOOM] = sUnusedAnims_Breloom, + [SPECIES_SPINDA] = sUnusedAnims_Spinda, + [SPECIES_WINGULL] = sUnusedAnims_Wingull, + [SPECIES_PELIPPER] = sUnusedAnims_Pelipper, + [SPECIES_SURSKIT] = sUnusedAnims_Surskit, + [SPECIES_MASQUERAIN] = sUnusedAnims_Masquerain, + [SPECIES_WAILMER] = sUnusedAnims_Wailmer, + [SPECIES_WAILORD] = sUnusedAnims_Wailord, + [SPECIES_SKITTY] = sUnusedAnims_Skitty, + [SPECIES_DELCATTY] = sUnusedAnims_Delcatty, + [SPECIES_KECLEON] = sUnusedAnims_Kecleon, + [SPECIES_BALTOY] = sUnusedAnims_Baltoy, + [SPECIES_CLAYDOL] = sUnusedAnims_Claydol, + [SPECIES_NOSEPASS] = sUnusedAnims_Nosepass, + [SPECIES_TORKOAL] = sUnusedAnims_Torkoal, + [SPECIES_SABLEYE] = sUnusedAnims_Sableye, + [SPECIES_BARBOACH] = sUnusedAnims_Barboach, + [SPECIES_WHISCASH] = sUnusedAnims_Whiscash, + [SPECIES_LUVDISC] = sUnusedAnims_Luvdisc, + [SPECIES_CORPHISH] = sUnusedAnims_Corphish, + [SPECIES_CRAWDAUNT] = sUnusedAnims_Crawdaunt, + [SPECIES_FEEBAS] = sUnusedAnims_Feebas, + [SPECIES_MILOTIC] = sUnusedAnims_Milotic, + [SPECIES_CARVANHA] = sUnusedAnims_Carvanha, + [SPECIES_SHARPEDO] = sUnusedAnims_Sharpedo, + [SPECIES_TRAPINCH] = sUnusedAnims_Trapinch, + [SPECIES_VIBRAVA] = sUnusedAnims_Vibrava, + [SPECIES_FLYGON] = sUnusedAnims_Flygon, + [SPECIES_MAKUHITA] = sUnusedAnims_Makuhita, + [SPECIES_HARIYAMA] = sUnusedAnims_Hariyama, + [SPECIES_ELECTRIKE] = sUnusedAnims_Electrike, + [SPECIES_MANECTRIC] = sUnusedAnims_Manectric, + [SPECIES_NUMEL] = sUnusedAnims_Numel, + [SPECIES_CAMERUPT] = sUnusedAnims_Camerupt, + [SPECIES_SPHEAL] = sUnusedAnims_Spheal, + [SPECIES_SEALEO] = sUnusedAnims_Sealeo, + [SPECIES_WALREIN] = sUnusedAnims_Walrein, + [SPECIES_CACNEA] = sUnusedAnims_Cacnea, + [SPECIES_CACTURNE] = sUnusedAnims_Cacturne, + [SPECIES_SNORUNT] = sUnusedAnims_Snorunt, + [SPECIES_GLALIE] = sUnusedAnims_Glalie, + [SPECIES_LUNATONE] = sUnusedAnims_Lunatone, + [SPECIES_SOLROCK] = sUnusedAnims_Solrock, + [SPECIES_AZURILL] = sUnusedAnims_Azurill, + [SPECIES_SPOINK] = sUnusedAnims_Spoink, + [SPECIES_GRUMPIG] = sUnusedAnims_Grumpig, + [SPECIES_PLUSLE] = sUnusedAnims_Plusle, + [SPECIES_MINUN] = sUnusedAnims_Minun, + [SPECIES_MAWILE] = sUnusedAnims_Mawile, + [SPECIES_MEDITITE] = sUnusedAnims_Meditite, + [SPECIES_MEDICHAM] = sUnusedAnims_Medicham, + [SPECIES_SWABLU] = sUnusedAnims_Swablu, + [SPECIES_ALTARIA] = sUnusedAnims_Altaria, + [SPECIES_WYNAUT] = sUnusedAnims_Wynaut, + [SPECIES_DUSKULL] = sUnusedAnims_Duskull, + [SPECIES_DUSCLOPS] = sUnusedAnims_Dusclops, + [SPECIES_ROSELIA] = sUnusedAnims_Roselia, + [SPECIES_SLAKOTH] = sUnusedAnims_Slakoth, + [SPECIES_VIGOROTH] = sUnusedAnims_Vigoroth, + [SPECIES_SLAKING] = sUnusedAnims_Slaking, + [SPECIES_GULPIN] = sUnusedAnims_Gulpin, + [SPECIES_SWALOT] = sUnusedAnims_Swalot, + [SPECIES_TROPIUS] = sUnusedAnims_Tropius, + [SPECIES_WHISMUR] = sUnusedAnims_Whismur, + [SPECIES_LOUDRED] = sUnusedAnims_Loudred, + [SPECIES_EXPLOUD] = sUnusedAnims_Exploud, + [SPECIES_CLAMPERL] = sUnusedAnims_Clamperl, + [SPECIES_HUNTAIL] = sUnusedAnims_Huntail, + [SPECIES_GOREBYSS] = sUnusedAnims_Gorebyss, + [SPECIES_ABSOL] = sUnusedAnims_Absol, + [SPECIES_SHUPPET] = sUnusedAnims_Shuppet, + [SPECIES_BANETTE] = sUnusedAnims_Banette, + [SPECIES_SEVIPER] = sUnusedAnims_Seviper, + [SPECIES_ZANGOOSE] = sUnusedAnims_Zangoose, + [SPECIES_RELICANTH] = sUnusedAnims_Relicanth, + [SPECIES_ARON] = sUnusedAnims_Aron, + [SPECIES_LAIRON] = sUnusedAnims_Lairon, + [SPECIES_AGGRON] = sUnusedAnims_Aggron, + [SPECIES_CASTFORM] = sUnusedAnims_Castform, + [SPECIES_VOLBEAT] = sUnusedAnims_Volbeat, + [SPECIES_ILLUMISE] = sUnusedAnims_Illumise, + [SPECIES_LILEEP] = sUnusedAnims_Lileep, + [SPECIES_CRADILY] = sUnusedAnims_Cradily, + [SPECIES_ANORITH] = sUnusedAnims_Anorith, + [SPECIES_ARMALDO] = sUnusedAnims_Armaldo, + [SPECIES_RALTS] = sUnusedAnims_Ralts, + [SPECIES_KIRLIA] = sUnusedAnims_Kirlia, + [SPECIES_GARDEVOIR] = sUnusedAnims_Gardevoir, + [SPECIES_BAGON] = sUnusedAnims_Bagon, + [SPECIES_SHELGON] = sUnusedAnims_Shelgon, + [SPECIES_SALAMENCE] = sUnusedAnims_Salamence, + [SPECIES_BELDUM] = sUnusedAnims_Beldum, + [SPECIES_METANG] = sUnusedAnims_Metang, + [SPECIES_METAGROSS] = sUnusedAnims_Metagross, + [SPECIES_REGIROCK] = sUnusedAnims_Regirock, + [SPECIES_REGICE] = sUnusedAnims_Regice, + [SPECIES_REGISTEEL] = sUnusedAnims_Registeel, + [SPECIES_KYOGRE] = sUnusedAnims_Kyogre, + [SPECIES_GROUDON] = sUnusedAnims_Groudon, + [SPECIES_RAYQUAZA] = sUnusedAnims_Rayquaza, + [SPECIES_LATIAS] = sUnusedAnims_Latias, + [SPECIES_LATIOS] = sUnusedAnims_Latios, + [SPECIES_JIRACHI] = sUnusedAnims_Jirachi, + [SPECIES_DEOXYS] = sUnusedAnims_Deoxys, + [SPECIES_CHIMECHO] = sUnusedAnims_Chimecho, + [SPECIES_EGG] = sUnusedAnims_Egg, + [SPECIES_UNOWN_B] = sUnusedAnims_Egg, + [SPECIES_UNOWN_C] = sUnusedAnims_UnownC, + [SPECIES_UNOWN_D] = sUnusedAnims_UnownD, + [SPECIES_UNOWN_E] = sUnusedAnims_UnownE, + [SPECIES_UNOWN_F] = sUnusedAnims_UnownF, + [SPECIES_UNOWN_G] = sUnusedAnims_UnownG, + [SPECIES_UNOWN_H] = sUnusedAnims_UnownH, + [SPECIES_UNOWN_I] = sUnusedAnims_UnownI, + [SPECIES_UNOWN_J] = sUnusedAnims_UnownJ, + [SPECIES_UNOWN_K] = sUnusedAnims_UnownK, + [SPECIES_UNOWN_L] = sUnusedAnims_UnownL, + [SPECIES_UNOWN_M] = sUnusedAnims_UnownM, + [SPECIES_UNOWN_N] = sUnusedAnims_UnownN, + [SPECIES_UNOWN_O] = sUnusedAnims_UnownO, + [SPECIES_UNOWN_P] = sUnusedAnims_UnownP, + [SPECIES_UNOWN_Q] = sUnusedAnims_UnownQ, + [SPECIES_UNOWN_R] = sUnusedAnims_UnownR, + [SPECIES_UNOWN_S] = sUnusedAnims_UnownS, + [SPECIES_UNOWN_T] = sUnusedAnims_UnownT, + [SPECIES_UNOWN_U] = sUnusedAnims_UnownU, + [SPECIES_UNOWN_V] = sUnusedAnims_UnownV, + [SPECIES_UNOWN_W] = sUnusedAnims_UnownW, + [SPECIES_UNOWN_X] = sUnusedAnims_UnownX, + [SPECIES_UNOWN_Y] = sUnusedAnims_UnownY, + [SPECIES_UNOWN_Z] = sUnusedAnims_UnownZ, + [SPECIES_UNOWN_EMARK] = sUnusedAnims_UnownEMark, + [SPECIES_UNOWN_QMARK] = sUnusedAnims_UnownQMark, }; #undef ANIM_CMD From 2aa6a9c164b4909abcb08424a65f39add39ea720 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 16 Dec 2022 11:05:56 -0500 Subject: [PATCH 18/62] Remove two unreferenced metatile labels --- include/constants/metatile_labels.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index ff10f52ee1..71aac2308a 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -684,8 +684,6 @@ #define METATILE_SecretBase_BigPlant_TopRight 0x2E6 #define METATILE_SecretBase_BigPlant_BaseLeft1 0x2EC #define METATILE_SecretBase_BigPlant_BaseRight1 0x2ED -#define METATILE_SecretBase_BigPlant_TopLeftWall 0x2E5 -#define METATILE_SecretBase_BigPlant_TopRightWall 0x2E6 #define METATILE_SecretBase_BigPlant_BaseLeft2 0x2EE #define METATILE_SecretBase_BigPlant_BaseRight2 0x2EF #define METATILE_SecretBase_GorgeousPlant_TopLeft 0x2F0 From 66d1c9bc6594c161937c62ab24d833243fc5b4cd Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sat, 17 Dec 2022 22:55:43 -0300 Subject: [PATCH 19/62] Documenting padding in structs used by Saveblocks --- include/gba/multiboot.h | 2 +- include/global.berry.h | 1 + include/global.fieldmap.h | 9 ++- include/global.h | 85 +++++++++++++++++------ include/global.tv.h | 142 ++++++++++++++++++++++---------------- include/link_rfu.h | 2 +- src/record_mixing.c | 10 +-- 7 files changed, 161 insertions(+), 90 deletions(-) diff --git a/include/gba/multiboot.h b/include/gba/multiboot.h index 14b6594b29..64a8602843 100644 --- a/include/gba/multiboot.h +++ b/include/gba/multiboot.h @@ -10,7 +10,7 @@ struct MultiBootParam { u32 system_work[5]; // 00 u8 handshake_data; // 14 - u8 padding; // 15 + //u8 padding; // 15 u16 handshake_timeout; // 16 u8 probe_count; // 18 u8 client_data[MULTIBOOT_NCHILD]; // 19 diff --git a/include/global.berry.h b/include/global.berry.h index 8d1aa369de..29f1cfe14a 100644 --- a/include/global.berry.h +++ b/include/global.berry.h @@ -40,6 +40,7 @@ struct Berry2 u8 bitter; u8 sour; u8 smoothness; + //u8 padding; }; struct EnigmaBerry diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 4da3154e25..26e5c44bf1 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -41,7 +41,7 @@ struct Tileset /*0x01*/ bool8 isSecondary; /*0x04*/ const u32 *tiles; /*0x08*/ const u16 (*palettes)[16]; - /*0x0c*/ const u16 *metatiles; + /*0x0C*/ const u16 *metatiles; /*0x10*/ const u16 *metatileAttributes; /*0x14*/ TilesetCB callback; }; @@ -51,7 +51,7 @@ struct MapLayout /*0x00*/ s32 width; /*0x04*/ s32 height; /*0x08*/ u16 *border; - /*0x0c*/ u16 *map; + /*0x0C*/ u16 *map; /*0x10*/ struct Tileset *primaryTileset; /*0x14*/ struct Tileset *secondaryTileset; }; @@ -68,16 +68,19 @@ struct ObjectEventTemplate /*0x00*/ u8 localId; /*0x01*/ u8 graphicsId; /*0x02*/ u8 inConnection; // Leftover from FRLG + /*0x03*/ //u8 padding1; /*0x04*/ s16 x; /*0x06*/ s16 y; /*0x08*/ u8 elevation; /*0x09*/ u8 movementType; /*0x0A*/ u16 movementRangeX:4; u16 movementRangeY:4; + //u16 padding2:8; /*0x0C*/ u16 trainerType; /*0x0E*/ u16 trainerRange_berryTreeId; /*0x10*/ const u8 *script; /*0x14*/ u16 flagId; + /*0x16*/ //u8 padding3[2]; }; struct WarpEvent @@ -192,6 +195,7 @@ struct ObjectEvent u32 disableJumpLandingGroundEffect:1; u32 fixedPriority:1; u32 hideReflection:1; + //u32 padding:4; /*0x04*/ u8 spriteId; /*0x05*/ u8 graphicsId; /*0x06*/ u8 movementType; @@ -217,6 +221,7 @@ struct ObjectEvent /*0x20*/ u8 previousMovementDirection; /*0x21*/ u8 directionSequenceIndex; /*0x22*/ u8 playerCopyableMovement; // COPY_MOVE_* + /*0x23*/ //u8 padding2; /*size = 0x24*/ }; diff --git a/include/global.h b/include/global.h index 6e2cfa9b80..2e1ab223ae 100644 --- a/include/global.h +++ b/include/global.h @@ -246,9 +246,11 @@ struct ApprenticeMon struct Apprentice { u8 id:5; - u8 lvlMode:2; // + 1 + u8 lvlMode:2; + //u8 padding1:1; u8 numQuestions; u8 number; + //u8 padding2; struct ApprenticeMon party[MULTI_PARTY_SIZE]; u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT]; u8 playerId[TRAINER_ID_LENGTH]; @@ -296,6 +298,7 @@ struct EmeraldBattleTowerRecord /*0x28*/ u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT]; /*0x34*/ struct BattleTowerPokemon party[MAX_FRONTIER_PARTY_SIZE]; /*0xE4*/ u8 language; + /*0xE7*/ //u8 padding[3]; /*0xE8*/ u32 checksum; }; @@ -328,14 +331,17 @@ struct DomeMonData u16 moves[MAX_MON_MOVES]; u8 evs[NUM_STATS]; u8 nature; + //u8 padding; }; struct RentalMon { u16 monId; + //u8 padding1[2]; u32 personality; u8 ivs; u8 abilityNum; + //u8 padding2[2]; }; struct BattleDomeTrainer @@ -357,8 +363,9 @@ struct BattleFrontier /*0xBEC*/ struct BattleTowerEReaderTrainer ereaderTrainer; /*0xCA8*/ u8 challengeStatus; /*0xCA9*/ u8 lvlMode:2; - /*0xCA9*/ u8 challengePaused:1; - /*0xCA9*/ u8 disableRecordBattle:1; + u8 challengePaused:1; + u8 disableRecordBattle:1; + //u8 padding1:4; /*0xCAA*/ u16 selectedPartyMons[MAX_FRONTIER_PARTY_SIZE]; /*0xCB2*/ u16 curChallengeBattleNum; // Battle number / room number (Pike) / floor number (Pyramid) /*0xCB4*/ u16 trainerIds[20]; @@ -402,16 +409,19 @@ struct BattleFrontier /*0xE08*/ u16 pikeRecordStreaks[FRONTIER_LVL_MODE_COUNT]; /*0xE0C*/ u16 pikeTotalStreaks[FRONTIER_LVL_MODE_COUNT]; /*0xE10*/ u8 pikeHintedRoomIndex:3; - /*0xE10*/ u8 pikeHintedRoomType:4; - /*0xE10*/ u8 pikeHealingRoomsDisabled:1; + u8 pikeHintedRoomType:4; + u8 pikeHealingRoomsDisabled:1; + /*0xE11*/ //u8 padding2; /*0xE12*/ u16 pikeHeldItemsBackup[FRONTIER_PARTY_SIZE]; /*0xE18*/ u16 pyramidPrize; /*0xE1A*/ u16 pyramidWinStreaks[FRONTIER_LVL_MODE_COUNT]; /*0xE1E*/ u16 pyramidRecordStreaks[FRONTIER_LVL_MODE_COUNT]; /*0xE22*/ u16 pyramidRandoms[4]; /*0xE2A*/ u8 pyramidTrainerFlags; // 1 bit for each trainer (MAX_PYRAMID_TRAINERS) + /*0xE2B*/ //u8 padding3; /*0xE2C*/ struct PyramidBag pyramidBag; /*0xE68*/ u8 pyramidLightRadius; + /*0xE69*/ //u8 padding4; /*0xE6A*/ u16 verdanturfTentPrize; /*0xE6C*/ u16 fallarborTentPrize; /*0xE6E*/ u16 slateportTentPrize; @@ -436,6 +446,7 @@ struct ApprenticeQuestion u8 monId:2; u8 moveSlot:2; u8 suggestedChange:2; // TRUE if told to use held item or second move, FALSE if told to use no item or first move + //u8 padding; u16 data; // used both as an itemId and a moveId }; @@ -446,9 +457,11 @@ struct PlayersApprentice /*0xB1*/ u8 questionsAnswered:4; /*0xB1*/ u8 leadMonId:2; /*0xB2*/ u8 party:3; - /*0xB2*/ u8 saveId:2; + u8 saveId:2; + //u8 padding1:3; /*0xB3*/ u8 unused; /*0xB4*/ u8 speciesIds[MULTI_PARTY_SIZE]; + /*0xB7*/ //u8 padding2; /*0xB8*/ struct ApprenticeQuestion questions[APPRENTICE_MAX_QUESTIONS]; }; @@ -458,6 +471,7 @@ struct RankingHall1P u16 winStreak; u8 name[PLAYER_NAME_LENGTH + 1]; u8 language; + //u8 padding; }; struct RankingHall2P @@ -468,6 +482,7 @@ struct RankingHall2P u8 name1[PLAYER_NAME_LENGTH + 1]; u8 name2[PLAYER_NAME_LENGTH + 1]; u8 language; + //u8 padding; }; struct SaveBlock2 @@ -487,6 +502,8 @@ struct SaveBlock2 u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET] u16 optionsBattleSceneOff:1; // whether battle animations are disabled u16 regionMapZoom:1; // whether the map is zoomed in + //u16 padding1:4; + //u16 padding2; /*0x18*/ struct Pokedex pokedex; /*0x90*/ u8 filler_90[0x8]; /*0x98*/ struct Time localTimeOffset; @@ -531,6 +548,7 @@ struct SecretBase /*0x1AAD*/ u8 unused; /*0x1AAE*/ u8 decorations[DECOR_MAX_SECRET_BASE]; /*0x1ABE*/ u8 decorationPositions[DECOR_MAX_SECRET_BASE]; + /*0x1ACE*/ //u8 padding[2]; /*0x1AD0*/ struct SecretBaseParty party; }; @@ -545,6 +563,7 @@ struct WarpData s8 mapGroup; s8 mapNum; s8 warpId; + //u8 padding; s16 x, y; }; @@ -589,6 +608,7 @@ struct RamScriptData u8 mapNum; u8 objectId; u8 script[995]; + //u8 padding; }; struct RamScript @@ -603,6 +623,7 @@ struct DewfordTrend u16 trendiness:7; u16 maxTrendiness:7; u16 gainingTrendiness:1; + //u16 padding:1; u16 rand; u16 words[2]; }; /*size = 0x8*/ @@ -615,6 +636,7 @@ struct MauvilleManCommon struct MauvilleManBard { /*0x00*/ u8 id; + /*0x01*/ //u8 padding1; /*0x02*/ u16 songLyrics[BARD_SONG_LENGTH]; /*0x0E*/ u16 temporaryLyrics[BARD_SONG_LENGTH]; /*0x1A*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; @@ -622,6 +644,7 @@ struct MauvilleManBard /*0x25*/ u8 playerTrainerId[TRAINER_ID_LENGTH]; /*0x29*/ bool8 hasChangedSong; /*0x2A*/ u8 language; + /*0x2B*/ //u8 padding2; }; /*size = 0x2C*/ struct MauvilleManStoryteller @@ -640,9 +663,11 @@ struct MauvilleManGiddy /*0x00*/ u8 id; /*0x01*/ u8 taleCounter; /*0x02*/ u8 questionNum; + /*0x03*/ //u8 padding1; /*0x04*/ u16 randomWords[GIDDY_MAX_TALES]; /*0x18*/ u8 questionList[GIDDY_MAX_QUESTIONS]; /*0x20*/ u8 language; + /*0x21*/ //u8 padding2; }; /*size = 0x2C*/ struct MauvilleManHipster @@ -687,6 +712,7 @@ struct LinkBattleRecords { struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT]; u8 languages[LINK_B_RECORDS_COUNT]; + //u8 padding; }; struct RecordMixingGiftData @@ -712,6 +738,7 @@ struct ContestWinner u8 monName[POKEMON_NAME_LENGTH + 1]; u8 trainerName[PLAYER_NAME_LENGTH + 1]; u8 contestRank; + //u8 padding; }; struct Mail @@ -744,6 +771,7 @@ struct DayCare struct DaycareMon mons[DAYCARE_MON_COUNT]; u32 offspringPersonality; u8 stepCounter; + //u8 padding[3]; }; struct LilycoveLadyQuiz @@ -756,10 +784,10 @@ struct LilycoveLadyQuiz /*0x018*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x020*/ u16 playerTrainerId[TRAINER_ID_LENGTH]; /*0x028*/ u16 prize; - /*0x02a*/ bool8 waitingForChallenger; - /*0x02b*/ u8 questionId; - /*0x02c*/ u8 prevQuestionId; - /*0x02d*/ u8 language; + /*0x02A*/ bool8 waitingForChallenger; + /*0x02B*/ u8 questionId; + /*0x02C*/ u8 prevQuestionId; + /*0x02D*/ u8 language; }; struct LilycoveLadyFavor @@ -769,10 +797,12 @@ struct LilycoveLadyFavor /*0x002*/ bool8 likedItem; /*0x003*/ u8 numItemsGiven; /*0x004*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; - /*0x00c*/ u8 favorId; - /*0x00e*/ u16 itemId; + /*0x00C*/ u8 favorId; + /*0x00D*/ //u8 padding1; + /*0x00E*/ u16 itemId; /*0x010*/ u16 bestItem; /*0x012*/ u8 language; + /*0x013*/ //u8 padding2; }; struct LilycoveLadyContest @@ -782,9 +812,9 @@ struct LilycoveLadyContest /*0x002*/ u8 numGoodPokeblocksGiven; /*0x003*/ u8 numOtherPokeblocksGiven; /*0x004*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; - /*0x00c*/ u8 maxSheen; - /*0x00d*/ u8 category; - /*0x00e*/ u8 language; + /*0x00C*/ u8 maxSheen; + /*0x00D*/ u8 category; + /*0x00E*/ u8 language; }; typedef union // 3b58 @@ -793,7 +823,7 @@ typedef union // 3b58 struct LilycoveLadyFavor favor; struct LilycoveLadyContest contest; u8 id; - u8 pad[0x40]; + u8 filler[0x40]; } LilycoveLady; struct WaldaPhrase @@ -803,6 +833,7 @@ struct WaldaPhrase u8 iconId; u8 patternId; bool8 patternUnlocked; + //u8 padding; }; struct TrainerNameRecord @@ -818,12 +849,13 @@ struct TrainerHillSave /*0x3D6C*/ u8 unk_3D6C; /*0x3D6D*/ u8 unused; /*0x3D6E*/ u16 receivedPrize:1; - /*0x3D6E*/ u16 checkedFinalTime:1; - /*0x3D6E*/ u16 spokeToOwner:1; - /*0x3D6E*/ u16 hasLost:1; - /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; - /*0x3D6E*/ u16 field_3D6E_0f:1; - /*0x3D6E*/ u16 mode:2; // HILL_MODE_* + u16 checkedFinalTime:1; + u16 spokeToOwner:1; + u16 hasLost:1; + u16 maybeECardScanDuringChallenge:1; + u16 field_3D6E_0f:1; + u16 mode:2; // HILL_MODE_* + //u16 padding:8; }; struct WonderNewsMetadata @@ -832,6 +864,7 @@ struct WonderNewsMetadata u8 sentCounter:3; u8 getCounter:3; u8 rand; + //u8 padding[2]; }; struct WonderNews @@ -857,6 +890,7 @@ struct WonderCard u8 bodyText[WONDER_CARD_BODY_TEXT_LINES][WONDER_CARD_TEXT_LENGTH]; u8 footerLine1Text[WONDER_CARD_TEXT_LENGTH]; u8 footerLine2Text[WONDER_CARD_TEXT_LENGTH]; + //u8 padding[2]; }; struct WonderCardMetadata @@ -903,7 +937,7 @@ struct ExternalEventFlags { u8 usedBoxRS:1; // Set by Pokémon Box: Ruby & Sapphire; denotes whether this save has connected to it and triggered the free False Swipe Swablu Egg giveaway. u8 boxRSEggsUnlocked:2; // Set by Pokémon Box: Ruby & Sapphire; denotes the number of Eggs unlocked from deposits; 1 for ExtremeSpeed Zigzagoon (at 100 deposited), 2 for Pay Day Skitty (at 500 deposited), 3 for Surf Pichu (at 1499 deposited) - u8 padding:5; + //u8 padding:5; u8 unknownFlag1; u8 receivedGCNJirachi; // Both the US Colosseum Bonus Disc and PAL/AUS Pokémon Channel use this field. One cannot receive a WISHMKR Jirachi and CHANNEL Jirachi with the same savefile. u8 unknownFlag3; @@ -939,9 +973,11 @@ struct SaveBlock1 /*0x2E*/ u8 weather; /*0x2F*/ u8 weatherCycleStage; /*0x30*/ u8 flashLevel; + /*0x31*/ //u8 padding1; /*0x32*/ u16 mapLayoutId; /*0x34*/ u16 mapView[0x100]; /*0x234*/ u8 playerPartyCount; + /*0x235*/ //u8 padding2[3]; /*0x238*/ struct Pokemon playerParty[PARTY_SIZE]; /*0x490*/ u32 money; /*0x494*/ u16 coins; @@ -958,6 +994,7 @@ struct SaveBlock1 /*0x9C2*/ u8 unused_9C2[6]; /*0x9C8*/ u16 trainerRematchStepCounter; /*0x9CA*/ u8 trainerRematches[MAX_REMATCH_ENTRIES]; + /*0xA2E*/ //u8 padding3[2]; /*0xA30*/ struct ObjectEvent objectEvents[OBJECT_EVENTS_COUNT]; /*0xC70*/ struct ObjectEventTemplate objectEventTemplates[OBJECT_EVENT_TEMPLATES_COUNT]; /*0x1270*/ u8 flags[NUM_FLAG_BYTES]; @@ -975,6 +1012,7 @@ struct SaveBlock1 /*0x278E*/ u8 decorationPosters[10]; /*0x2798*/ u8 decorationDolls[40]; /*0x27C0*/ u8 decorationCushions[10]; + /*0x27CA*/ //u8 padding4[2]; /*0x27CC*/ TVShow tvShows[TV_SHOWS_COUNT]; /*0x2B50*/ PokeNews pokeNews[POKE_NEWS_COUNT]; /*0x2B90*/ u16 outbreakPokemonSpecies; @@ -994,6 +1032,7 @@ struct SaveBlock1 /*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT]; /*0x2BE0*/ struct Mail mail[MAIL_COUNT]; /*0x2E20*/ u8 additionalPhrases[NUM_ADDITIONAL_PHRASE_BYTES]; // bitfield for 33 additional phrases in easy chat system + /*0x2E25*/ //u8 padding5[3]; /*0x2E28*/ OldMan oldMan; /*0x2e64*/ struct DewfordTrend dewfordTrends[SAVED_TRENDS_COUNT]; /*0x2e90*/ struct ContestWinner contestWinners[NUM_CONTEST_WINNERS]; // see CONTEST_WINNER_* diff --git a/include/global.tv.h b/include/global.tv.h index 1fb1b8a333..3729562cd6 100644 --- a/include/global.tv.h +++ b/include/global.tv.h @@ -36,6 +36,7 @@ typedef union // size = 0x24 /*0x04*/ u16 words[6]; /*0x10*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x18*/ u8 language; + /*0x19*/ //u8 padding; } fanclubLetter; // TVSHOW_RECENT_HAPPENINGS @@ -46,6 +47,7 @@ typedef union // size = 0x24 /*0x04*/ u16 words[6]; /*0x10*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x18*/ u8 language; + /*0x19*/ //u8 padding; } recentHappenings; // TVSHOW_PKMN_FAN_CLUB_OPINIONS @@ -54,7 +56,7 @@ typedef union // size = 0x24 /*0x01*/ bool8 active; /*0x02*/ u16 species; /*0x04*/ u8 friendshipHighNybble:4; - /*0x04*/ u8 questionAsked:4; + u8 questionAsked:4; /*0x05*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x0D*/ u8 language; /*0x0E*/ u8 pokemonNameLanguage; @@ -70,8 +72,8 @@ typedef union // size = 0x24 /*0x01*/ bool8 active; /*0x02*/ u16 words[2]; /*0x06*/ u16 species; - /*0x08*/ u8 pad_08[3]; - /*0x0b*/ u8 name[12]; + /*0x08*/ u8 filler_08[3]; + /*0x0B*/ u8 name[12]; /*0x17*/ u8 language; } dummy; @@ -98,8 +100,9 @@ typedef union // size = 0x24 /*0x04*/ u16 words[2]; /*0x08*/ u8 pokemonNickname[POKEMON_NAME_LENGTH + 1]; /*0x13*/ u8 contestCategory:3; - /*0x13*/ u8 contestRank:2; - /*0x13*/ u8 contestResult:2; + u8 contestRank:2; + u8 contestResult:2; + //u8 padding:1; /*0x14*/ u16 move; /*0x16*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x1E*/ u8 language; @@ -121,6 +124,7 @@ typedef union // size = 0x24 /*0x1C*/ bool8 wonTheChallenge; /*0x1D*/ u8 language; /*0x1E*/ u8 pokemonNameLanguage; + /*0x1F*/ //u8 padding; } bravoTrainerTower; // TVSHOW_CONTEST_LIVE_UPDATES @@ -131,14 +135,15 @@ typedef union // size = 0x24 /*0x04*/ u8 losingTrainerName[PLAYER_NAME_LENGTH + 1]; /*0x0C*/ u8 loserAppealFlag; /*0x0D*/ u8 round1Placing; - /*0x0e*/ u8 round2Placing; - /*0x0f*/ u8 winnerAppealFlag; + /*0x0E*/ u8 round2Placing; + /*0x0F*/ u8 winnerAppealFlag; /*0x10*/ u16 move; /*0x12*/ u16 winningSpecies; /*0x14*/ u8 winningTrainerName[PLAYER_NAME_LENGTH + 1]; /*0x1C*/ u8 category; /*0x1D*/ u8 winningTrainerLanguage; /*0x1E*/ u8 losingTrainerLanguage; + /*0x1F*/ //u8 padding; } contestLiveUpdates; // TVSHOW_3_CHEERS_FOR_POKEBLOCKS @@ -147,7 +152,8 @@ typedef union // size = 0x24 /*0x01*/ bool8 active; /*0x02*/ u8 sheen; /*0x03*/ u8 flavor:3; - /*0x03*/ u8 color:2; + u8 color:2; + //u8 padding:3; /*0x04*/ u8 worstBlenderName[PLAYER_NAME_LENGTH + 1]; /*0x0C*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x14*/ u8 language; @@ -166,6 +172,7 @@ typedef union // size = 0x24 /*0x18*/ u8 battleType; /*0x19*/ u8 language; /*0x1A*/ u8 linkOpponentLanguage; + /*0x1B*/ //u8 padding; } battleUpdate; // TVSHOW_FAN_CLUB_SPECIAL @@ -173,13 +180,14 @@ typedef union // size = 0x24 /*0x00*/ u8 kind; /*0x01*/ bool8 active; /*0x02*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; - /*0x0a*/ u8 idLo; - /*0x0b*/ u8 idHi; - /*0x0c*/ u8 idolName[PLAYER_NAME_LENGTH + 1]; + /*0x0A*/ u8 idLo; + /*0x0B*/ u8 idHi; + /*0x0C*/ u8 idolName[PLAYER_NAME_LENGTH + 1]; /*0x14*/ u16 words[1]; /*0x16*/ u8 score; /*0x17*/ u8 language; /*0x18*/ u8 idolNameLanguage; + /*0x19*/ //u8 padding; } fanClubSpecial; // TVSHOW_LILYCOVE_CONTEST_LADY @@ -187,8 +195,8 @@ typedef union // size = 0x24 /*0x00*/ u8 kind; /*0x01*/ bool8 active; /*0x02*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; - /*0x0a*/ u8 contestCategory; - /*0x0b*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x0A*/ u8 contestCategory; + /*0x0B*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; /*0x16*/ u8 pokeblockState; /*0x17*/ u8 language; /*0x18*/ u8 pokemonNameLanguage; @@ -206,6 +214,7 @@ typedef union // size = 0x24 /*0x10*/ u16 species; /*0x12*/ u8 nBallsUsed; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } pokemonToday; // TVSHOW_SMART_SHOPPER @@ -214,11 +223,12 @@ typedef union // size = 0x24 /*0x01*/ bool8 active; /*0x02*/ u8 priceReduced; /*0x03*/ u8 language; - /*0x04*/ u8 pad04[2]; + /*0x04*/ u8 filler_04[2]; /*0x06*/ u16 itemIds[SMARTSHOPPER_NUM_ITEMS]; /*0x0C*/ u16 itemAmounts[SMARTSHOPPER_NUM_ITEMS]; /*0x12*/ u8 shopLocation; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } smartshopperShow; // TVSHOW_POKEMON_TODAY_FAILED @@ -226,13 +236,14 @@ typedef union // size = 0x24 /*0x00*/ u8 kind; /*0x01*/ bool8 active; /*0x02*/ u8 language; - /*0x03*/ u8 pad03[9]; - /*0x0c*/ u16 species; - /*0x0e*/ u16 species2; + /*0x03*/ u8 filler_03[9]; + /*0x0C*/ u16 species; + /*0x0E*/ u16 species2; /*0x10*/ u8 nBallsUsed; /*0x11*/ u8 outcome; /*0x12*/ u8 location; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } pokemonTodayFailed; // TVSHOW_FISHING_ADVICE @@ -243,8 +254,9 @@ typedef union // size = 0x24 /*0x03*/ u8 nFails; /*0x04*/ u16 species; /*0x06*/ u8 language; - /*0x07*/ u8 pad07[12]; + /*0x07*/ u8 filler_07[12]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } pokemonAngler; // TVSHOW_WORLD_OF_MASTERS @@ -255,10 +267,11 @@ typedef union // size = 0x24 /*0x04*/ u16 caughtPoke; /*0x06*/ u16 steps; /*0x08*/ u16 species; - /*0x0a*/ u8 location; - /*0x0b*/ u8 language; - /*0x0c*/ u8 pad0c[7]; + /*0x0A*/ u8 location; + /*0x0B*/ u8 language; + /*0x0C*/ u8 filler_0C[7]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding2; } worldOfMasters; // TVSHOW_TODAYS_RIVAL_TRAINER @@ -271,10 +284,11 @@ typedef union // size = 0x24 /*0x06*/ u8 nGoldSymbols; /*0x07*/ u8 location; /*0x08*/ u16 battlePoints; - /*0x0a*/ u16 mapLayoutId; - /*0x0c*/ u8 language; - /*0x0d*/ u8 filler_0d[6]; + /*0x0A*/ u16 mapLayoutId; + /*0x0C*/ u8 language; + /*0x0D*/ u8 filler_0D[6]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding2; } rivalTrainer; // TVSHOW_TREND_WATCHER @@ -285,8 +299,9 @@ typedef union // size = 0x24 /*0x04*/ u16 words[2]; /*0x08*/ u8 gender; /*0x09*/ u8 language; - /*0x0a*/ u8 filler_0a[9]; + /*0x0A*/ u8 filler_0a[9]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } trendWatcher; // TVSHOW_TREASURE_INVESTIGATORS @@ -299,6 +314,7 @@ typedef union // size = 0x24 /*0x06*/ u16 mapLayoutId; /*0x08*/ u8 filler_08[11]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } treasureInvestigators; // TVSHOW_FIND_THAT_GAMER @@ -312,6 +328,7 @@ typedef union // size = 0x24 /*0x08*/ u8 language; /*0x09*/ u8 filler_09[10]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } findThatGamer; // TVSHOW_BREAKING_NEWS @@ -323,11 +340,12 @@ typedef union // size = 0x24 /*0x05*/ u8 outcome; /*0x06*/ u16 caughtMonBall; /*0x08*/ u16 balls; - /*0x0a*/ u16 poke1Species; - /*0x0c*/ u16 lastUsedMove; - /*0x0e*/ u8 language; - /*0x0f*/ u8 filler_0f[4]; + /*0x0A*/ u16 poke1Species; + /*0x0C*/ u16 lastUsedMove; + /*0x0E*/ u8 language; + /*0x0F*/ u8 filler_0f[4]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } breakingNews; // TVSHOW_SECRET_BASE_VISIT @@ -338,10 +356,11 @@ typedef union // size = 0x24 /*0x03*/ u8 numDecorations; /*0x04*/ u8 decorations[4]; /*0x08*/ u16 species; - /*0x0a*/ u16 move; - /*0x0c*/ u8 language; - /*0x0d*/ u8 filler_0d[6]; + /*0x0A*/ u16 move; + /*0x0C*/ u8 language; + /*0x0D*/ u8 filler_0d[6]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } secretBaseVisit; // TVSHOW_LOTTO_WINNER @@ -353,6 +372,7 @@ typedef union // size = 0x24 /*0x05*/ u8 language; /*0x06*/ u8 filler_06[13]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } lottoWinner; // TVSHOW_BATTLE_SEMINAR @@ -363,11 +383,12 @@ typedef union // size = 0x24 /*0x04*/ u16 foeSpecies; /*0x06*/ u16 species; /*0x08*/ u16 otherMoves[3]; - /*0x0e*/ u16 betterMove; + /*0x0E*/ u16 betterMove; /*0x10*/ u8 nOtherMoves; /*0x11*/ u8 language; /*0x12*/ u8 filler_12[1]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } battleSeminar; // TVSHOW_TRAINER_FAN_CLUB @@ -379,6 +400,7 @@ typedef union // size = 0x24 /*0x08*/ u8 language; /*0x09*/ u8 filler_09[10]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } trainerFanClub; // TVSHOW_CUTIES @@ -388,7 +410,7 @@ typedef union // size = 0x24 /*0x02*/ u8 nRibbons; /*0x03*/ u8 selectedRibbon; /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; - /*0x0f*/ u8 language; + /*0x0F*/ u8 language; /*0x10*/ u8 pokemonNameLanguage; /*0x11*/ u8 filler_12[2]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; @@ -402,11 +424,12 @@ typedef union // size = 0x24 /*0x04*/ u16 species1; /*0x06*/ u16 species2; /*0x08*/ u16 species3; - /*0x0a*/ u16 species4; - /*0x0c*/ u8 language; - /*0x0d*/ u8 facilityAndMode; - /*0x0e*/ u8 filler_0e[5]; + /*0x0A*/ u16 species4; + /*0x0C*/ u8 language; + /*0x0D*/ u8 facilityAndMode; + /*0x0E*/ u8 filler_0e[5]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } frontier; // TVSHOW_NUMBER_ONE @@ -418,6 +441,7 @@ typedef union // size = 0x24 /*0x05*/ u8 language; /*0x06*/ u8 filler_06[13]; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x1B*/ //u8 padding; } numberOne; // TVSHOW_SECRET_BASE_SECRETS @@ -426,12 +450,13 @@ typedef union // size = 0x24 /*0x01*/ bool8 active; /*0x02*/ u16 stepsInBase; /*0x04*/ u8 baseOwnersName[PLAYER_NAME_LENGTH + 1]; - /*0x0c*/ u32 flags; + /*0x0C*/ u32 flags; /*0x10*/ u16 item; /*0x12*/ u8 savedState; /*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; - /*0x1b*/ u8 language; - /*0x1c*/ u8 baseOwnersNameLanguage; + /*0x1B*/ u8 language; + /*0x1C*/ u8 baseOwnersNameLanguage; + /*0x1D*/ //u8 padding[3]; } secretBaseSecrets; // TVSHOW_SAFARI_FAN_CLUB @@ -463,6 +488,7 @@ typedef union // size = 0x24 /*0x15*/ u8 unused5; /*0x16*/ u16 daysLeft; /*0x18*/ u8 language; + /*0x19*/ //u8 padding; } massOutbreak; } TVShow; @@ -475,23 +501,23 @@ typedef struct struct GabbyAndTyData { - /*2ba4*/ u16 mon1; - /*2ba6*/ u16 mon2; - /*2ba8*/ u16 lastMove; - /*2baa*/ u16 quote[1]; - /*2bac*/ u8 mapnum; - /*2bad*/ u8 battleNum; - /*2bae*/ u8 battleTookMoreThanOneTurn:1; - /*2bae*/ u8 playerLostAMon:1; - /*2bae*/ u8 playerUsedHealingItem:1; - /*2bae*/ u8 playerThrewABall:1; - /*2bae*/ u8 onAir:1; - /*2bae*/ u8 valA_5:3; - /*2baf*/ u8 battleTookMoreThanOneTurn2:1; - /*2baf*/ u8 playerLostAMon2:1; - /*2baf*/ u8 playerUsedHealingItem2:1; - /*2baf*/ u8 playerThrewABall2:1; - /*2baf*/ u8 valB_4:4; + /*2BA4*/ u16 mon1; + /*2BA6*/ u16 mon2; + /*2BA8*/ u16 lastMove; + /*2BAA*/ u16 quote[1]; + /*2BAC*/ u8 mapnum; + /*2BAD*/ u8 battleNum; + /*2BAE*/ u8 battleTookMoreThanOneTurn:1; + u8 playerLostAMon:1; + u8 playerUsedHealingItem:1; + u8 playerThrewABall:1; + u8 onAir:1; + u8 valA_5:3; + /*2BAF*/ u8 battleTookMoreThanOneTurn2:1; + u8 playerLostAMon2:1; + u8 playerUsedHealingItem2:1; + u8 playerThrewABall2:1; + u8 valB_4:4; }; #endif //GUARD_GLOBAL_TV_H diff --git a/include/link_rfu.h b/include/link_rfu.h index 1e434e8303..88f95b1701 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -109,7 +109,7 @@ struct __attribute__((packed, aligned(2))) RfuGameData u8 startedActivity:1; u8 playerGender:1; u8 tradeLevel:7; - u8 padding; + u8 filler; }; // Constants for getting/setting information in 'partnerInfo' of RfuGameData. diff --git a/src/record_mixing.c b/src/record_mixing.c index 5d75f3fc89..d6edd078b7 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -59,23 +59,23 @@ struct PlayerRecordRS struct RecordMixingDaycareMail daycareMail; struct RSBattleTowerRecord battleTowerRecord; u16 giftItem; - u16 padding[50]; + u16 filler[50]; }; struct PlayerRecordEmerald { /* 0x0000 */ struct SecretBase secretBases[SECRET_BASES_COUNT]; - /* 0x0c80 */ TVShow tvShows[TV_SHOWS_COUNT]; + /* 0x0C80 */ TVShow tvShows[TV_SHOWS_COUNT]; /* 0x1004 */ PokeNews pokeNews[POKE_NEWS_COUNT]; /* 0x1044 */ OldMan oldMan; /* 0x1084 */ struct DewfordTrend dewfordTrends[SAVED_TRENDS_COUNT]; - /* 0x10ac */ struct RecordMixingDaycareMail daycareMail; + /* 0x10AC */ struct RecordMixingDaycareMail daycareMail; /* 0x1124 */ struct EmeraldBattleTowerRecord battleTowerRecord; /* 0x1210 */ u16 giftItem; /* 0x1214 */ LilycoveLady lilycoveLady; /* 0x1254 */ struct Apprentice apprentices[2]; - /* 0x12dc */ struct PlayerHallRecords hallRecords; - /* 0x1434 */ u8 padding[16]; + /* 0x12DC */ struct PlayerHallRecords hallRecords; + /* 0x1434 */ u8 filler_1434[16]; }; // 0x1444 union PlayerRecord From 17052d454764e9f0a43cb257da2cc173bda72176 Mon Sep 17 00:00:00 2001 From: SphericalIce Date: Sun, 18 Dec 2022 21:05:37 +0000 Subject: [PATCH 20/62] Use the ITEM_NONE constant for the registeredItem save block field --- src/item_menu.c | 4 ++-- src/new_game.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/item_menu.c b/src/item_menu.c index 4d3d365e5c..d19baa4ffb 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -987,7 +987,7 @@ static void BagMenu_ItemPrintCallback(u8 windowId, u32 itemIndex, u8 y) else { // Print registered icon - if (gSaveBlock1Ptr->registeredItem && gSaveBlock1Ptr->registeredItem == itemId) + if (gSaveBlock1Ptr->registeredItem != ITEM_NONE && gSaveBlock1Ptr->registeredItem == itemId) BlitBitmapToWindow(windowId, sRegisteredSelect_Gfx, 96, y - 1, 24, 16); } } @@ -1909,7 +1909,7 @@ static void ItemMenu_Register(u8 taskId) u16 *cursorPos = &gBagPosition.cursorPosition[gBagPosition.pocket]; if (gSaveBlock1Ptr->registeredItem == gSpecialVar_ItemId) - gSaveBlock1Ptr->registeredItem = 0; + gSaveBlock1Ptr->registeredItem = ITEM_NONE; else gSaveBlock1Ptr->registeredItem = gSpecialVar_ItemId; DestroyListMenuTask(tListTaskId, scrollPos, cursorPos); diff --git a/src/new_game.c b/src/new_game.c index 4ecb670c03..ac3842e0ac 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -44,6 +44,7 @@ #include "berry_powder.h" #include "mystery_gift.h" #include "union_room_chat.h" +#include "constants/items.h" extern const u8 EventScript_ResetAllMapFlags[]; @@ -181,7 +182,7 @@ void NewGameInitData(void) ResetPokemonStorageSystem(); ClearRoamerData(); ClearRoamerLocationData(); - gSaveBlock1Ptr->registeredItem = 0; + gSaveBlock1Ptr->registeredItem = ITEM_NONE; ClearBag(); NewGameInitPCItems(); ClearPokeblocks(); From 09d20bd634c2134c4c73b49e543668626d1fe5d1 Mon Sep 17 00:00:00 2001 From: SphericalIce Date: Mon, 26 Dec 2022 11:30:12 +0000 Subject: [PATCH 21/62] Rename ball_display_unused_extra --- ...y_unused_extra.png => ball_caught_indicator.png} | Bin src/graphics.c | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename graphics/battle_interface/{ball_display_unused_extra.png => ball_caught_indicator.png} (100%) diff --git a/graphics/battle_interface/ball_display_unused_extra.png b/graphics/battle_interface/ball_caught_indicator.png similarity index 100% rename from graphics/battle_interface/ball_display_unused_extra.png rename to graphics/battle_interface/ball_caught_indicator.png diff --git a/src/graphics.c b/src/graphics.c index 8a6bbc88a6..bb4d779ade 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -365,7 +365,7 @@ const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpb "graphics/battle_interface/hpbar_anim.4bpp", "graphics/battle_interface/misc_frameend.4bpp", "graphics/battle_interface/ball_display.4bpp", - "graphics/battle_interface/ball_display_unused_extra.4bpp", + "graphics/battle_interface/ball_caught_indicator.4bpp", "graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent pokemon "graphics/battle_interface/status3.4bpp", // and are also for use in double battles. they use dynamic palettes so "graphics/battle_interface/status4.4bpp", // coloring them is an extreme headache and wont be done for now From 701179eb1f2e49d36e69a43ff74e496872bac829 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 26 Dec 2022 21:05:18 -0300 Subject: [PATCH 22/62] Documented missing use of SPRITE_ARR_ID_MOVE_SELECTOR1 --- src/pokemon_summary_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 4f2b571312..e4d6a0acac 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -3759,7 +3759,7 @@ static void CreateMoveTypeIcons(void) { u8 i; - for (i = SPRITE_ARR_ID_TYPE; i < SPRITE_ARR_ID_TYPE + 5; i++) + for (i = SPRITE_ARR_ID_TYPE; i < SPRITE_ARR_ID_MOVE_SELECTOR1; i++) { if (sMonSummaryScreen->spriteIds[i] == SPRITE_NONE) sMonSummaryScreen->spriteIds[i] = CreateSprite(&sSpriteTemplate_MoveTypes, 0, 0, 2); From b0127428c6c7726684ab4b6d938f32cc1e73ef75 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 27 Dec 2022 00:04:46 -0300 Subject: [PATCH 23/62] Review suggestions. --- src/pokemon_summary_screen.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index e4d6a0acac..49d3387073 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -107,6 +107,7 @@ enum { #define PSS_DATA_WINDOW_MOVE_DESCRIPTION 2 #define MOVE_SELECTOR_SPRITES_COUNT 10 +#define TYPE_ICON_SPRITE_COUNT (MAX_MON_MOVES + 1) // for the spriteIds field in PokemonSummaryScreenData enum { @@ -114,7 +115,7 @@ enum SPRITE_ARR_ID_BALL, SPRITE_ARR_ID_STATUS, SPRITE_ARR_ID_TYPE, // 2 for mon types, 5 for move types(4 moves and 1 to learn), used interchangeably, because mon types and move types aren't shown on the same screen - SPRITE_ARR_ID_MOVE_SELECTOR1 = SPRITE_ARR_ID_TYPE + 5, // 10 sprites that make up the selector + SPRITE_ARR_ID_MOVE_SELECTOR1 = SPRITE_ARR_ID_TYPE + TYPE_ICON_SPRITE_COUNT, // 10 sprites that make up the selector SPRITE_ARR_ID_MOVE_SELECTOR2 = SPRITE_ARR_ID_MOVE_SELECTOR1 + MOVE_SELECTOR_SPRITES_COUNT, SPRITE_ARR_ID_COUNT = SPRITE_ARR_ID_MOVE_SELECTOR2 + MOVE_SELECTOR_SPRITES_COUNT }; @@ -3759,7 +3760,7 @@ static void CreateMoveTypeIcons(void) { u8 i; - for (i = SPRITE_ARR_ID_TYPE; i < SPRITE_ARR_ID_MOVE_SELECTOR1; i++) + for (i = SPRITE_ARR_ID_TYPE; i < SPRITE_ARR_ID_TYPE + TYPE_ICON_SPRITE_COUNT; i++) { if (sMonSummaryScreen->spriteIds[i] == SPRITE_NONE) sMonSummaryScreen->spriteIds[i] = CreateSprite(&sSpriteTemplate_MoveTypes, 0, 0, 2); From 214718110a839aef50d021964b7eac6e2d3c7c6c Mon Sep 17 00:00:00 2001 From: sbird Date: Tue, 27 Dec 2022 15:38:13 +0100 Subject: [PATCH 24/62] [doc] remove mislabled metatile attributes from WriteSequenceToBgTilemapBuffer --- gflib/bg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gflib/bg.c b/gflib/bg.c index 4b0379de01..89f5038246 100644 --- a/gflib/bg.c +++ b/gflib/bg.c @@ -1053,7 +1053,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt for (x16 = x; x16 < (x + width); x16++) { CopyTileMapEntry(&firstTileNum, &((u16 *)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0); - firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK); + firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF); } } break; @@ -1064,7 +1064,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt for (x16 = x; x16 < (x + width); x16++) { ((u8 *)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum; - firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK); + firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF); } } break; From e2d47a07f5281ac1d6a78942ae1416bdbd152aaf Mon Sep 17 00:00:00 2001 From: Jaizu Date: Thu, 29 Dec 2022 12:28:44 +0100 Subject: [PATCH 25/62] Fix ANIM_SPRITE on regular builds with BUGFIX. Dicussion about this being a BUGFIX define instead limiting it only to modern. Credit SBird. --- src/pokemon_animation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 9a95edf4b3..a305851aa7 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -901,7 +901,7 @@ u8 GetSpeciesBackAnimSet(u16 species) // as 0xFFFFXXXX instead of the desired 0x02YYXXXX. // By dumb luck, this is not an issue in vanilla. However, // changing the link order revealed this bug. -#if MODERN +#ifdef BUGFIX #define ANIM_SPRITE(taskId) ((struct Sprite *)((gTasks[taskId].tPtrHi << 16) | ((u16)gTasks[taskId].tPtrLo))) #else #define ANIM_SPRITE(taskId) ((struct Sprite *)((gTasks[taskId].tPtrHi << 16) | (gTasks[taskId].tPtrLo))) From c40c7e7e6591a97814d1a5831faa4d09a8d0984d Mon Sep 17 00:00:00 2001 From: Jaizu Date: Thu, 29 Dec 2022 16:11:17 +0100 Subject: [PATCH 26/62] Fix breaking modern, correct labels. --- src/pokemon_animation.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index a305851aa7..baeb70578f 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -901,11 +901,11 @@ u8 GetSpeciesBackAnimSet(u16 species) // as 0xFFFFXXXX instead of the desired 0x02YYXXXX. // By dumb luck, this is not an issue in vanilla. However, // changing the link order revealed this bug. -#ifdef BUGFIX +#if MODERN || defined(BUGFIX) #define ANIM_SPRITE(taskId) ((struct Sprite *)((gTasks[taskId].tPtrHi << 16) | ((u16)gTasks[taskId].tPtrLo))) #else #define ANIM_SPRITE(taskId) ((struct Sprite *)((gTasks[taskId].tPtrHi << 16) | (gTasks[taskId].tPtrLo))) -#endif //MODERN +#endif //MODERN || BUGFIX static void Task_HandleMonAnimation(u8 taskId) { From e88139d1b54cf448c6ed73baf2508b61a9593364 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 29 Dec 2022 11:22:53 -0500 Subject: [PATCH 27/62] Add fix for Battle Tower cloning bug --- data/maps/BattleFrontier_BattleTowerLobby/scripts.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 4e7284fd06..e99c7f88e8 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -411,7 +411,13 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge:: special LoadPlayerParty closemessage delay 2 +@ The command tower_save ultimately calls TrySavingData(SAVE_LINK), which writes data in SaveBlock1 and SaveBlock2 +@ to the flash, but not data in PokemonStorage. The SaveGame script that follows asks the player to do a full save, +@ which they can opt out of. As a result the player can save their party and quit without having saved the PC. +@ This allows players to clone pokemon and their held items by withdrawing them (or erase them by despositing). +.ifndef BUGFIX tower_save 0 +.endif call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed From ca46c22533873a1d08fc74cb176961a9e7236a64 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 4 Jan 2023 08:14:34 -0300 Subject: [PATCH 28/62] Removed SpeciesInfo array defines --- include/constants/pokemon.h | 4 ---- include/pokemon.h | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 0e2113abe5..d0e6094483 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -266,8 +266,4 @@ #define SKIP_FRONT_ANIM (1 << 7) -#define NUM_TYPE_SLOTS 2 -#define NUM_EGG_GROUP_SLOTS 2 -#define NUM_ABILITY_SLOTS 2 - #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/pokemon.h b/include/pokemon.h index 5ee8b8ade3..ab102000a3 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -295,7 +295,7 @@ struct SpeciesInfo /* 0x03 */ u8 baseSpeed; /* 0x04 */ u8 baseSpAttack; /* 0x05 */ u8 baseSpDefense; - /* 0x06 */ u8 types[NUM_TYPE_SLOTS]; + /* 0x06 */ u8 types[2]; /* 0x08 */ u8 catchRate; /* 0x09 */ u8 expYield; /* 0x0A */ u16 evYield_HP:2; @@ -310,8 +310,8 @@ struct SpeciesInfo /* 0x11 */ u8 eggCycles; /* 0x12 */ u8 friendship; /* 0x13 */ u8 growthRate; - /* 0x14 */ u8 eggGroups[NUM_EGG_GROUP_SLOTS]; - /* 0x16 */ u8 abilities[NUM_ABILITY_SLOTS]; + /* 0x14 */ u8 eggGroups[2]; + /* 0x16 */ u8 abilities[2]; /* 0x18 */ u8 safariZoneFleeRate; /* 0x19 */ u8 bodyColor : 7; u8 noFlip : 1; From 3ee3d6e3469c366c8960d23dea408355902f3d34 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 11 Jan 2023 10:11:11 -0500 Subject: [PATCH 29/62] Support reducing png bit depth --- tools/gbagfx/convert_png.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/gbagfx/convert_png.c b/tools/gbagfx/convert_png.c index 4f1b39e6dd..a5fefbd8b6 100644 --- a/tools/gbagfx/convert_png.c +++ b/tools/gbagfx/convert_png.c @@ -62,10 +62,7 @@ static unsigned char *ConvertBitDepth(unsigned char *src, int srcBitDepth, int d for (j = 8 - srcBitDepth; j >= 0; j -= srcBitDepth) { - unsigned char pixel = (srcByte >> j) % (1 << srcBitDepth); - - if (pixel >= (1 << destBitDepth)) - FATAL_ERROR("Image exceeds the maximum color value for a %ibpp image.\n", destBitDepth); + unsigned char pixel = (srcByte >> j) % (1 << destBitDepth); *dest |= pixel << destBit; destBit -= destBitDepth; if (destBit < 0) From 3009cc7220dedbee237b962693eb80db317b096e Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 11 Jan 2023 10:12:16 -0500 Subject: [PATCH 30/62] Colorize door animations that use multiple palettes --- .../door_anims/battle_dome_pre_battle_room.png | Bin 488 -> 432 bytes graphics/door_anims/dewford.png | Bin 436 -> 405 bytes graphics/door_anims/fallarbor_dark_roof.png | Bin 432 -> 384 bytes .../door_anims/lilycove_dept_store_elevator.png | Bin 345 -> 298 bytes graphics/door_anims/littleroot.png | Bin 426 -> 391 bytes graphics/door_anims/mossdeep.png | Bin 411 -> 377 bytes graphics/door_anims/oldale.png | Bin 434 -> 397 bytes graphics/door_anims/poke_mart.png | Bin 419 -> 355 bytes graphics/door_anims/slateport.png | Bin 425 -> 387 bytes .../door_anims/trainer_hill_roof_elevator.png | Bin 344 -> 296 bytes graphics/door_anims/verdanturf.png | Bin 451 -> 403 bytes 11 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/door_anims/battle_dome_pre_battle_room.png b/graphics/door_anims/battle_dome_pre_battle_room.png index 6e4e7ee183d55c4016dfef13fcd70218f9b96294..114ed3a0082cd8568ca3705290f443474e11d16c 100644 GIT binary patch delta 418 zcmaFCyn%UwL_G&H0|SFHKhq>2#aJBV?!>U}oXkrgCn3Nm#PvVJ|Dd3(DN~l5-Fx)^ z|Nr-{KC52S-F;ETSNCcP-1AcSpJe#|UNf5d=H@I+^=p>QIl6bw zy{l9Hznik9{)Oclpk@C&T^vI!de2UZR8D*LG}Z~0{3(Gn71#mny}osVDE_yHTpXDyO|F<$JL*8NRv8H67Xk*{4?kL z9cS9t{yH*`iMN?e2}C>+nX!^#gKU9t$nWWQL);V_=C51uJ?ZhKxUx)r<_jemPLtXk znFSBZKRidL0-R44$rjF6*2UngHPp$7BEi literal 488 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=0wfr|csbMpDVB6cUq=Rpjs4tz5?O(KrX+87 z7Y2SSBfG^w9(#$WuPgf#Mp0Hx>lX?qd4WO#$%%etAR34jfEWx?4=`V4U|?kMba4#P zIKTFSV&7o{0oDsE#q?HQ>3*}SA~NGFlk?e0#a}E=SGR63OH3A-S$S^5XWOtjUUwHr zsra9axc~1+>P0S1@BKA*^W=YC|Ni{F=Hoh>KQ})7{Iexn#$B-X%G-PVN*90IZpl?Q z+M4TnImSiKcXO+7q|qdgAMARpvkT8OxEVx;owtb=D?Vwo#<(gbZBFIU2(i8E<=<4k zN{AiQOv@j1O687^*1>=+Z5om&uD_N0@|S;dee zmiM}7{mUAQy3^gMioifoEpd$~Nl7e8wMs5Z1yT$~21W+D28Oyuh9L%~Rwjm4rk2_U l237_Jc4_QSP&DM`r(~v8;@04Ay*~mJ?4GWEF6*2Ung9awu&@9C diff --git a/graphics/door_anims/dewford.png b/graphics/door_anims/dewford.png index 86ac1fe4a673c8f452782bce6c52b83df0a77ef8..708b52ccb9034b6f1b37c1138bd45b7c5cc4de91 100644 GIT binary patch delta 390 zcmdnOJe7HZL_G&H0|SFHKhq>2#aJBV?!>U}oXkrgCn3Nm#8pBw=>Px!_ny7md-mC! zE%%z6yOWZt9lf$N4Wo+peoI>O?%lH`_s%w7-I8^7PEhgDCAie@-P;UN48rp}i}3heLeP|70=8v-~Qux7MZ_*7!R& zP5GN~-0^(vI#tKT{~U7Hxz1bhyjXX}m#td_TAfmEIEnC0?6+}xvgwzl&z1A1cR6&L zu`HBIaGoG6y1>--LBn0^Uz*R(?w=x{F+G$iVKHaa5s$|DEZG!=N>if^F`0ksvL-Z3 zDfJ&-fA+Yg@{@+x<6EA8No(K7;P6doGy64L<|lbIk<2rKGxuw+X0ZNJw(-r5e+GPN zd?5vPyO#XiAvNRwoc`H$HO#M##d`V5{3(wi@4J-3ezr5O-9LY1TJzTE;=)>yi))G literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=0wfr|csbMpDVB6cUq=Rpjs4tz5?O(KrX+87 z7Y2SSBfG^w9(#$WuPgf#Mp0Hh!J1psWPm~f$%%etAR34jfEWx?4=`T^GR}CqIEHAP zKYPJi=#T>kTf(}ASTEZy^V@y8o?CNfo_fd?=NEC}ut=1av31>K9l^RC(_X$~H@jkF zYVV-*g#A%Fiw3t!_HkWqgY5dRXKvl@j1bsq=~LX0>UoCoVd?_W$i~9up?jXBa-O)B z$F<bbZth@M&4-`bbbWdDKC^b^NEAw^zX^1f*rKfxPB*W%i1RW zsOWmm`=3Xq^_Lw^?sYvL*TInSm47&GsSJW}LluRP6u(R{)DFTr;D zC)RiF_-tQz66i1064!{5l*E!$tK_0oAjM#0U}T_cV5n*WnyM!Xs&HwU}a#y haX!-uMMG|WN@iLmZVi=_F1CS!(9_k=Wt~$(699v#m5BfV diff --git a/graphics/door_anims/fallarbor_dark_roof.png b/graphics/door_anims/fallarbor_dark_roof.png index ec43e37f985cddb24a1ad810a1cd47e42dd8a699..0785945d3ce6fa5569ca2e4a60e48d66f3f59154 100644 GIT binary patch delta 369 zcmdnM+`v3RqMn19fq_AppJ@`1Vk{1FcVbv~PUa<$lMvt&;wqsTbnn@cEk}!|%n7P) zc5H6$PD-kF^vcpSjEY*brupc-|7U}q%`v=JtuQA^v-s!|p!#Re&YnHH1c;_|7bB~O zh_6}G4HPdf_KJ$K1gg)ix7?%!wCtRxi(`mI@7qg`LWdN1SOeM|Zk*us+WFtm*TY-U zpgAhMuRidJsANXcw_5KV#VID5xzcKVJ!U(QeX4B zrCF{~<3hdt*W}&ZBQo|K|1B`x;18?lf_MheVy16QI!jq^J4Y68ZSG(aYqNST_VfGk zU%&1*SAF8zDwJ-mvq1Nr$gH0-w|yW literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=0wfr|csbMpDVB6cUq=Rpjs4tz5?O(KrX+87 z7Y2SSBfG^w9(#$WuPgf#Mp0Hh`PoUkrGY{M$%%etAR34jfEWx?4=`T^GER89IEHAP zKYQUc?;!&owg+o2i0)uo-WQ;@czTE}qxvP@Ijjzb!VmH;ymNZHV=c#d;X{*_`WLRc zvOiMfH|zG3=IwKCrySLLY_?OkIB#;Mk1vk*WR< z)3!8mF;urs7dAiAsQjnFxS+NEl={zJ{e$`^#5PGDXVQ$}ntA8o(vF`e!qUO_QmvAUQh^kMk%5tcu7RPhkzt5|sg;SDm9e3=fq|8Qfu>b7 fC`1t&a`RI%(<*Umh)92Y5EOi#u6{1-oD!M2#aJBV?!>U}oXkrgCn3Nm#1%*f1!b*SviIKAXaE2I zZ{EA4`|Pu`&;Fl{3i{uibo8j<|8JJv)&Kur-CJC|7pNGbzPr17%a$cT^;hp*UGi@4 z+5cC!-0Plmwfg^(>a$a-o40HMD(k*_@9ev8-|N3|ZvyfvJY5_^EP9_#+Q`?Sz~iE+ zv&&$`|Nm<*#Tir`J<+wtA?TjNrPHl*IoK~M-jSESsMx|`xU^zFuj3DUG1pB~k{64w zRth||u`s3asn4Dq?nH+lS1d2j|L%O5an?j}4~dL(%G^^HcU{}IRc3lY=h>_Me`=oJ fY!$fw*Md=G4WIT5t%75{Ag6n}`njxgN@xNA_Kt_= literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=0wfr|csbMpDVB6cUq=Rpjs4tz5?O(KrX+87 z7Y2SSBfG^w9(#$WuPgf#Mp0G+{-7yS7663=k`w*PKr|3505KS(9$>x-WE6V3IEHAP zPqtuY<=MTEftz{VGd+=n#68VSZPw|E0tXL-1jogxfB#TfY1uS!+O+cbZ#Qo-sWNDo zcCWfS$$G-acd{Lf<%)OCG7H=BJ5GrKD*7gNWXE(jemBdO#+2%x)*8tZTKZ*L>MSB8 z3fdD}_!(wi4zp@LVfqbdxoU}PL`h0wNvc(HQ7VvPFfuSQ&^0jBH8Kn_FtswVurf5& oHZZUeIwZhlH;S|x4`AC7#G0cv3IboFyt=akR{0G;P$^#A|> diff --git a/graphics/door_anims/littleroot.png b/graphics/door_anims/littleroot.png index 8c1ca34a5238a2854838d7f42ebb7aa620a0bae8..599517ceb14a8816cb5cfcec6afe040b11b68132 100644 GIT binary patch delta 376 zcmZ3*+|E2fqMn19fq_AppJ@`1Vk{1FcVbv~PUa<$lMvt&;wqsT^#A|=XZP-1y?S)- z(KXG@-AP&1j$T=shEYqdKFivB^x3^RXOC8ISyH{EJE{2S5-jSIpz7zG{gyQ6-T!CR z_tq5e?Jk~^RSZ=Bss6!@Pe9AAdb&7qd_c%}m15 zd2B6AQ*;k3Q`jn3H0=xDBkj*qHXHU_nEgpX{u1}^WjROdWS9Ht!wWcK z0)Bn{?f7ePce{}Gsi;H-@e}e4kF`12We*(wEXsV&?{~?`ke%$aniaWnHy@j{RNYyj=J6WYCB5Z& zQ_SxD4!p(k-tiX8TG=IAAFnNC)2U7u7EsGx&ZF>Khhde3)|>{9je8!HxkOJo`_y3- zgHkK2(3ykNyp`K`Gt9JPompf1;o#0mJJseZ?C0lNA>5$6BI#vgDQCD=hqlR+$=i=B zYXt36+SDV$>1B8OMYvr}somYi=Na)&r+ez$QU2!ePOv(G_hG)>A4a=^TK+@bn>c{J zQ7v(eC`m~yNwrEYN(E93Mg~R(x(0^2Mus5@ z(oGJ8FbD-;lLlCo8#wnr=14pJ;ZeJAcCyg;MO%vRV5sASitvGoAW%oxB?7s61Yujd zu&T0Xxi+wyY93&s*~9hhfb#@p)d8Fm+xs3g<0qQ^qE$R-fZnM{liw~xjSAF>NIz|# zkWpU)2IPRC;$x3`TR!TbVL%Je06GH$FsD5*!6#R{4y^qxl=B53fjCrgKmz$N3HewB z2I8^!b8pPY%{=~r-g$@C#)!inM*BA~oo@~E0G8k;^dukj1?m|)W*b4qTmS$707*qo IM6N<$f^es&=l}o! literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=0wfr|csbMpDVB6cUq=Rpjs4tz5?O(KrX+87 z7Y2SSBfG^w9(#$WuPgf#Mp0G+(Lzu(mN*-ChUaidjU z4zI{0%l8J?1o=G}IyWZYU}-q0ZRYx=iAUe@kIcOdHw7zdC39BW8l9Lvar0-fM0f6% zo)a4bl6n%jE*0{Bz5FP8L+9NKs}ESFlx@(Z%K3B{eQOQ|K2s3K`1u)AMxkg3z#74|?S*7?zi=5?YuUnbAvXIOMzcE-6te~*}X zDmM~i!;igbIC=OHL*YgR(a&+r$u6f%*-jkz#u>SyeGz8{)2Y9cLT|-0Oexp;AUB0& zTkYb-ZoUl8ht8jOf33fhds3T!LwLY_^9G5fPdKUrS?s4>(y?Fufi0_Cy}_jCuo|BN z?`K6L(^o5s4_7StKcj#0?;mWxPFio#Hho;cTm9MZK*@KBGyf#s$h|wmzK0=uv!3+5 T+18#we=>Nw`njxgN@xNAJwLNi literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=0wfr|csbMpDVB6cUq=Rpjs4tz5?O(KrX+87 z7Y2SSBfG^w9(#$WuPgf#Mp0HnG5sgJia;TOp%>o-i?Jv!u0h*-&c9}IA&5ULT)NSUl{x(I+>Quts_D0I^2<<{uVTKY zx`Z+LVmipDswJ)wB`Jv|saDBFsX&Us$iT=z*T7KM$S}mf)XK!t%E(CDz`)ADK($!v eGm3`X{FKbJO57Sk^cMMp0?^ad&t;ucLK6V_V2|Gb diff --git a/graphics/door_anims/poke_mart.png b/graphics/door_anims/poke_mart.png index 2d9b7d3190853e309aa905fc601b64f9f860d7ed..12a1760690c400f4f00d0fe9f4f3da4c0a70c3ee 100644 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=!3-po`I#mGDaPU;cPEB*=VV@jWCDCbTqQJv z{{R1f@7cS(XP?d4a<93$J1ME!(JM>SFsgX(x1=@i{_kymH>LPqR?=C=pyH!TaH-$B zw;7@yL@v1()P2;ecnwf}+Q!FMfp%^5ba4!^=zTlMo9~bTkBe?oZl|%syLz8P7H6+> z23?gsv+BKOkZ`q!jv%Mvgj!AoyXc9&Vn01PHVPU%bum;?J-KJn1;w+Rr*+;rYw#$_ z1^xfz@Wn~di0fVJ2l0s&`gUis`b$}7T#b9rnS4!p(dR4bhP@xmeRSVGZ44$rjF6*2UngB4cqhJ64 literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=0wfr|csbMpDVB6cUq=Rpjs4tz5?O(KrX+87 z7Y2SSBfG^w9(#$WuPgf#Mp0HH_PokEkZytGM87f+4a5pS3n^C(%jyAKJt8Xa(Q2BWdwIkql~G0 zfXmsMSHE8~9jOu9d0s+#AJ5_Bx}z;GSJ~fQzN)50)FG!<{$0&9j;;&G%lGv+itO`m zGrRNmt=;M0HSPb_Z>>GXep820Wa4b|fELrASC-e#TO&1nUi1FiK%h5NOI#yLQW8s2 zt&)pUffR$0fsui(fuXLEVTggLm8pT1fw{H;kTl@dqMn19fq_AppJ@`1Vk{1FcVbv~PUa<$lMvt&;wqsT^#A|=d(YnOJ^O6V zmV3?3-APH+j$T=shEc_Pza_1C_kVBmyD7!@vXag^1{EJ&0#X0$*}Jo6?;YK8uex~- zT>aUzQ`St0x_9;6(JgzI%vsW$wFanuZ~bZ0yFkk>db&7FzqM ze4lOfXYlHzBpNaJNG(aeSCt@haOV`JumJl+-lxkg7}y`MX_`icD`tf(=vy(#L4Iby z``m|YDGi4v%%9i)wdN*|2cHeYxdnUHGe|65+P+rv#IYd0)6b^pEy%H8P!(_2V$;}J z)6r7%hV|H4i@)x6e9t~|e+ji-vw!KM0>0aId=9x4@?Tua4)(m6U2}oG;*rU#>&N6Q QfWBk!boFyt=akR{0BoqL^#A|> literal 425 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=0wfr|csbMpDVB6cUq=Rpjs4tz5?O(KrX+87 z7Y2SSBfG^w9(#$WuPgf#Mp0HHYezAr=|CZYw`53d3)2A_gru+GIm$m+BLJGs{5XGNG^|wYG5^w&?WVc-z%IM80I=3 zHtJh^uJP0lhSL@iT{({#en0MLe6lvQaCU~~46Su+yQDc{?mdooERu|A(`j^ES1fwr zfr!S1?KX=YCoMdbZF9yjY6H`{hyJhJAGHhV1UUa_;}>VPU8tDDq)Zxy65e?flZ~{#NVf=gzCYa9Ofy`PECx-!`1j7p%U)_5VfteO8lhU!yXn1whZJ zmbgZgq$HN4S|t~y0x1R~10w@n14CUS!w>^gD^mk2Q%h|F11kdq0jnC}Q!>*k Wacf8{=UxWXz~JfX=d#Wzp$Py(5st|K diff --git a/graphics/door_anims/trainer_hill_roof_elevator.png b/graphics/door_anims/trainer_hill_roof_elevator.png index dc9c6bcee9d61e7f6113cf804b819a9220ef2b28..a143b8c59084b49001fad666128766b8934557c0 100644 GIT binary patch delta 281 zcmcb?w1R1ZL_G&H0|SFHKhq>2#aJBV?!>U}oXkrgCn3Nm#C1*cUPrI2>gwt(TbBI) z|Nq{-|68`)Yi?c>H09`;v)?SUy8ky9FZsVEs=GSr=$0u{x*_V5lDg+y1u93VPg?Wt z=(lH6?wtiH^P19Zm=*Q^=>KosM_<+7&bbS;tjyEJF~p+x?IcI81_K_J$zehMbqD_c zzq}-HLu8kGr^S{D=X7r`wRO<%RCO?Q*gBVv&szX%>p+puAtU7FbBTx&gr z1wsxVKh{OW^tHAf5-!tuekN(t+S<>W|LS^PZ~u5V;Dmkfjhyqv6;`bWDyZR1IwQPh@Z@K^bE$lS zK}EZI4MTSRl?B%R(>4L^RxNRjC`m~yNwrEYN(E93Mg~R(x(0^2Mus52#aJBV?!>U}oXkrgCn3Nm#8pBw=>Px!_ny7md-mC! zE%%z6yOWZt9lf$N4Wo+peoI>O?%lH`_s%w7-I8^7PEhgDCDmK@&iTK$`re$Vz15a; zqL9_EIr@Linl)(ZbLul=a)6dS^mK6yvFLq!=`3Hf0uRFjHK)!KdwRatU%RPvL4Lcc z-1M)9e(^fqcJe(RmA$H#m3`%3kJ_)+GA>KrO8n-!$g+U5Vn)MR77<~&Np{AJv2ic# z{?$92n^`c~VOe6V=^Ex21?SjX8miozbL12S+uH&8{L z?e`u07Kc*MF`^y?lx!pXKo`lRsZhW$7B7p)9Y zwcyH{z0rGvWG&}p@3b}UZPHhJx&+$urzRxqxKS|MFeKCd-t7H%{4bs_KeNBWD5_ik zq1Td!@j!y>|F13c*)PnP@b}Ma3pb!QRZCnWN>UO_QmvAUQh^kMk%5tcu7RPhkzt5| usg Date: Thu, 12 Jan 2023 10:51:20 -0500 Subject: [PATCH 31/62] Add some missing PARTY_SIZE usage --- src/battle_ai_switch_items.c | 2 +- src/battle_controller_opponent.c | 8 ++++---- src/battle_controller_player_partner.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 0aec2316ec..798c014c22 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -751,7 +751,7 @@ u8 GetMostSuitableMonToSwitchInto(void) gMoveResultFlags = 0; gCritMultiplier = 1; bestDmg = 0; - bestMonId = 6; + bestMonId = PARTY_SIZE; // If we couldn't find the best mon in terms of typing, find the one that deals most damage. for (i = firstId; i < lastId; i++) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index b3554dc5af..8246a6f80f 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1151,7 +1151,7 @@ static void OpponentHandleLoadMonSprite(void) static void OpponentHandleSwitchInAnim(void) { - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6; + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; StartSendOutAnim(gActiveBattler, gBattleBufferA[gActiveBattler][2]); gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; @@ -1635,13 +1635,13 @@ static void OpponentHandleChoosePokemon(void) if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_TOWER_LINK_MULTI)) { if (gActiveBattler == 1) - firstId = 0, lastId = 3; + firstId = 0, lastId = PARTY_SIZE / 2; else - firstId = 3, lastId = 6; + firstId = PARTY_SIZE / 2, lastId = PARTY_SIZE; } else { - firstId = 0, lastId = 6; + firstId = 0, lastId = PARTY_SIZE; } for (chosenMonId = firstId; chosenMonId < lastId; chosenMonId++) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index cc134b92ea..b8ee6692ce 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1540,12 +1540,12 @@ static void PlayerPartnerHandleChoosePokemon(void) { s32 chosenMonId = GetMostSuitableMonToSwitchInto(); - if (chosenMonId == 6) // just switch to the next mon + if (chosenMonId == PARTY_SIZE) // just switch to the next mon { u8 playerMonIdentity = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); u8 selfIdentity = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - for (chosenMonId = 3; chosenMonId < 6; chosenMonId++) + for (chosenMonId = PARTY_SIZE / 2; chosenMonId < PARTY_SIZE; chosenMonId++) { if (GetMonData(&gPlayerParty[chosenMonId], MON_DATA_HP) != 0 && chosenMonId != gBattlerPartyIndexes[playerMonIdentity] From cf14c1fd13fbdf8a34cc26d2124a0f3f322cf703 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 12 Jan 2023 11:40:15 -0500 Subject: [PATCH 32/62] Colorize mirage_tower.png --- graphics/misc/mirage_tower.png | Bin 847 -> 904 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/misc/mirage_tower.png b/graphics/misc/mirage_tower.png index 69ac6a51e0a489816dee46c4be43ea508f6edb89..c851953d2172e58c46a094437167f4e60ab5f26e 100644 GIT binary patch delta 892 zcmV-?1B3j}28aic8Gi!+0060?>_Y$m05DKYR7HEVy`2BOd)}N{y?Z&FT7!d&Vq$wi zN@^)FTCBzYtgNi==A_=ugVnTZ&74wm#iaQY`3;h zbrDOzCkwQvHJnU^p5R7V;kjR1Nw2D~PKALyPoOZ%YX4)kRhr$dPRvnFr? zHw}cEGNpv*1E3QR+=A}rRvKDJ(*Z;;wTS+^1t)aU;w9kpWo$g47P7%4My3TboRS9* zt8_T+aBN@=(SH!0eG5p_ejja%5Td9DrkliHQ3@?U`lEqKm}>0hfd=@5!^8o~N`1h& zsxmAo3#$nkFes-XjG1AkXq+kAD9KJ?)!>Oe=-x3$ze z{%E1nIw|%^fqR0oCMW`e>j5~9 z0q9v~0}rJ&u@*@6{oDphK$Z4zt)m8_SoH$mdI7i)e*=3G0xO)mIY8`Y?ZMh(1G5*P zq_yUJ>3>iL0%KYpsRgM9S~A*ZLUj%*;g>+2g5nopC3V&Z0O|Z3d{zP96+22c;LaOR zaz9T!f@*=vsRJr7f=Nx~L@OSYyy{qB1;04Xy6KW&x*%9C@B%@I?WaphXS$%2mUNT> zx^f7C^8+ju4_@&U;(0qj%740`m7`cfd!#9%}^OfgBNNV_Me?rIbg& zP!Nn=UHZwD=?w}eE9g$a(F#s*1v&pEhl~esV+vOWsA5CuBcXH1jtPRbI1KQBpBU5a zU@d(-4}c!LY(nblRUnW0hZgU?a(sCO%rC(q8Li?=FgyMMj5-IE9jO-7DJZIj6>ch& zzjX&X$4!U89%x$M?smKFcKeae=e7Z!i|qzux0Ia`;j@QsN(dfDSC`>-giRP0vL{Ui z9Dq5!B0000%hCKMS372W0Tfak6zB z>Kg+-*&Qgr(2(0MSV&D_Fwz3Rwr~Qx$AB+5G_Xs%VDc8sWq&xOeJBn!9N`Q$HI#-j zrG)4OU@{MG1U>CW8E7C)dr-VKqWJF-E}^p#uYpUS*X9<~fbMN#p&C&AExGZqO#9mo zqZ$@a^kL{nK$>>vXhxJ!6dh3QCcZ0DXaLd=H5|*-;4C+^z$;uPE^y=EJMLAev86B+ zs08crk>F?+kbi^{w3bpSkVyzbvvE)koBbVSG;e5DZq-iiP!gqTLWZ$Nku9VkNv zAsCX(LlVdkG~SIABr*;gz)3?$@M(7npam%_5lLB}T1aoYa8yN$i=QXNI9xu_X6l7ZlIDK5K8+JY(@a~94rtlxzD-)z>~iOpH=0a$^|7`xyfs={Jh(G1ls_$ zQw!8!1b@eX+KDP&MXu`DV6pq)2r2d}g8iCcwZ(D4qS9Qd-fG7bv1WRKhPX zvTpI#Z6RJa3#9z_YpNU_a{=9YbfH%dH-S6)dMpt91bjpo5(Ew+ZjZ`AOmGrG;b*; zst)d}HvzxZKaBYK*~OPP!1fZ1v%xaI1iR56K-rgIHG<^NM;9!11A+p|-veFamkxm( z)3*MaPN%ck>>FKUq6}^?W^;_`ioY2V?me_yLU28Jx(pA4=X-`Ve<$r3uCYs=YM4y! zCOnhLCx!?5jhZ|7ap!_z&Odi^`lD1zX{|H5p8Nk~C{e{-qUoCM{Ra6)HqO_BxvBsF N002ovPDHLkV1lX0bcz4~ From 68f97d02f4c855520ccdc82a75c7a3364a5dafe6 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 12 Jan 2023 13:17:31 -0500 Subject: [PATCH 33/62] Colorize menu_info.png --- graphics/interface/menu_info.png | Bin 1904 -> 1976 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/interface/menu_info.png b/graphics/interface/menu_info.png index a04c981d5d4b4abc92491723d7f17d38186e8628..031611a2a6c74783fd1fd6dfe93bade9dd3c4f91 100644 GIT binary patch delta 1925 zcmV;02YUGM4!94H7#auz0002=;F0+N0004VQb$4nuFf3k0001xktH;Ldz^#r?(P5p z0M*sKtfYJYgM02V0NybW#W5)W0000000000000000000000000bIqjx|NmlQV%62n z|NsBy=H>tZ0PgPY#l^*xl$8Gf0JH!A|HZ{pQvWeAw8h2$s|-4A000KoNklrxnKtB>#2I^dpmmtna z*}kznJv}`?Kfk=rwQnsiXz%$&ESBxt13Z(6*UR>I*nfOH=_!}(?*MpwdkYp5K-Rvw z1XG#8vVD7iU@aOvonBw3+TTNPI=zLsPq)7VAjqQy$lAA;)9EpPnmf(4zXc&TSGHGK z<+ie~igR~Wac)-?=kBZ0vcKQg?cd$i?eBJV`+;EZ0Shi%=O!2cA2-TEtpwl!3oiHz z`dI=9jr-U`HKPz9{5t%p!riH90U(M8{UwwDK5dp?3V=C!t}MV_m1$Z4)>!29bAX+e zovs;xRQwSsAjKhn@M2Lzz;4Jx00iJgl>q2<4#O@B0h!=9#50W6QwS1(Ir*s&um?B< zV-Khk0M%>=?vo;bA_V)(LqHCzg&=u9sC!ZAE&%jQ0e~T~0A%NmH(3vW1xPpyz(*GV zY@$K{04lOFDy|s-T~1xRG62Elv12C%q$RguXx?MdHT5BXz@Hw7{`gS5$||m_igSmm zIJd2ebA44>_Pefb|8S_=-)`&n13}mE$klPJqlL1E0K|IKtf(+R=-9^XT#JPi_Nk@V z>}iSG0#N?$v}TI{l*v2+j5cjKyo^Qq2n2v*p#U7NjKa?Wa4gCYbQ%H!Fb;tNBo7>lz_9WXrxJid zkOOpO2z)&RZ0|6$>0o�VeMPRhXzJ0a6|}7vUjw6x;D&2|$lMx(gte*p8iC*a}dA z11c&)pdI;kz-GD&qUU+Z?}F<(uG+DrTLI%*Q(sRdZ@&K?7g+0K13^1?4i}Aj=Z5DPwn>_0tOHl=KyI+ zfbQV+q7dxKHoXjpnjhDJUsH`jz}G+#g5>?6xMw~DQvmvYM&6fT?zR9ap_c&MJJ>0~ zR0zyw3jpYSFmDLbD+30=3qJO5XyKx_Vdx!yq`)951BiR0W@P~Ca`Sd?)bsN|12ZG}$5kUD8AqU`7lLBl&0cg7*==NA+fW4&AeU{t|zyq6q zWhM3{1PK7t#fZQm0FV$!7uOIVZrn>I(=R_`0GZffECc|vxz6Y?iD+t#6AKJMFqOQV zq7nh{C;$>zP?cS3eBL&e7C=%umLcVKV1Q`ycr;NmQNzQt1u~n|2p}mX5CC~{&mQuJ z1b{sfBC<_g=zv&zpiA7|3I>4o$|w|nfD$*QbeqwsMCV6Wa~!B51vCT@)kE>BApu~E zf1nKks7q@gstqzrq@B;}_S-{kYx^pzG(S51_E$`wLE`!=NYnmq_uF4`ef|s*2)=#= z2?X|AbFQfL^a4R%GZ&R~TpfK}HWp3T|0j6h=jYe2e}e}C!EThQv-!X-y{Np{X%_ILvfdBx1u-&pU2GBsvcpz8~V%GfFuV(FhV6(sjZW+M*Z7Gla zcD*sL0a_lg_W`iR+RR-r253kt8yf&TPoR-NJkthfKL0PZzsf4BTqktT%BZz$2+Mbm z%I@gwffgLWn-Q2ZI;ZtT_ERPX&SF`+ee!ualw9i5fL`Cx!FZIBT`~89#W&k`X`(4*S!vS&>%;0<%fZher zx`K6Y-H~1IZQqhZNG=E0oY_zA4ZQD2+_FQgvdSudja+p5PwX`ZPr_!BLg`~*;)3}=3!s$^XVijhRsxKl?3VzTckQbFCxG4QS`U~IERMk( zKz;vfu7Toc^kjcw0+rc=vu_6QF1Ywuz)$uU0;rork1$&%%IwP3wsM00000 LNkvXXu0mjfhs%0X delta 1853 zcmV-D2g3Nc5AY6<7!3pi0000n5PbLm001zNGBkfMk0p5k00#R>L_t(&f$f+(ZyQGt z$1hJia6*J|F9rGlRsyQF6M#r*rBO=BK!CG>0G2DumF3D{8YyLn08;NXt^y{G$!z{JyLaU6iFRl=LBJtzANTm(%hOYti|!xlW{#eAdcg^561P(@-QxadH2z{o*nQ_aYX^Xo>^A>g)6TM`0RRdrCb@; zGs`>0l`l%4kL%X}6t6pgt7n&TsZ^ey5Og(zsL$^l)Sf}+4$<|pXjKLc_(i^+-T#(L78Ts^DEhEq0EobEO_v4J*iAsUg z0x1U)2NIRwVQmy`{E!3$V7X>54*7rZf(2mDEu-L7bB^N**tA{zY}Wx0=k1aPyZqa@ zCJA^2tR}I)Y9w=<%SHF)RHg(_y4BW#ZngQA0uFI4AAlf$^RnLD0ag_d^JbSgH33(- z;#NB`0orrzP!y=)I*aQBU?u^vn3x4gxd`tuKx5qv;(?`c-|~f<1?)&?ft<9deX~tB1waQEba5c13<6z@ z`$RRJ1?u9L%)%=iDU_Tey~>rte$JKW5=G&lyj9G|$5$&Ec@pM_D4dpJAeBJE{1C

K7fu*=OW* zeU}pqIRHB6k{diA-V^|CZ%kJ;IK`hAu%RV@9caM2rcb+l56}d0J28Ph0MC7+8rV}& zA0g%e(&SyT{RH3=gmoHJnf3=&gMwv|Qxy{gAS!!+X0+WtajL> ze}#n8+zceDTdv!o<%WM$+!(q(qu&_H&T3U&C-mWE1`c4kX-Ae%MyvoI>F%Y$3|(Je zB7iZ&YE=)Cyf1h_vVKSa4I_8vBUB1NUkK9YBLVEm>x>IJ2ROmCD9p&4pa3HfwqgQ_ z30!X=zGMsxSLK~ZA}$3;);nPxg9?+Ry#9_RF59m&)zzeWg9LxjY#!r&Cp2O@8M$!- zKuvHORJfvmzclI%0QE*)2T)9C44cirFo z0Qc6WN@Errzzt#rnU?zG0v?fHr+S@+N5dmJ8qyJo3Dl%xzlu-*(eVfyjYt83gpL$C zPR^0Scn@7UblrcPE6*j0!k4P-dg0FW3v0C~B9hOLSqWEh)8yK-XU_}GW-Hp3Zv$Jl zw=D%;P_YcfD#2nYtqna{T&U$dsg(eJ{jK&B;^R2lPQL|cKIp~b)v}iDO2YvR+_+_o zEN{nvpTDh*y7wu<8?}BQ;Kyhw0D-Z|1^_hTs37+>^3#8pj8uys?>+rx@7~ja0OZR6 z%f%>qF`k-qAA!}CMy%?SBqUA&B!KVkJ^ewp2v73F1hnjFy^cg!M_P1^Nr0%70x!o(ANtINcjROD~aqa3fP~OKn2PJD0^J4F$qS`$^oou zXwrZW0M-LoTbBXI1Ey*)X#fX+LIRK%mVYq@0OWth8G#P Date: Thu, 12 Jan 2023 13:37:59 -0500 Subject: [PATCH 34/62] Colorize cable_car/bg.png --- graphics/cable_car/bg.pal | 67 -------------------------------------- graphics/cable_car/bg.png | Bin 4982 -> 5151 bytes 2 files changed, 67 deletions(-) delete mode 100644 graphics/cable_car/bg.pal diff --git a/graphics/cable_car/bg.pal b/graphics/cable_car/bg.pal deleted file mode 100644 index d543b4cce9..0000000000 --- a/graphics/cable_car/bg.pal +++ /dev/null @@ -1,67 +0,0 @@ -JASC-PAL -0100 -64 -0 0 0 -230 106 189 -230 106 189 -230 106 189 -230 106 189 -230 106 189 -230 106 189 -255 230 139 -238 205 123 -222 189 115 -205 172 106 -189 156 98 -180 139 90 -230 106 189 -230 106 189 -230 106 189 -0 0 0 -189 255 148 -156 222 98 -131 197 74 -106 164 49 -82 115 24 -57 82 0 -230 106 189 -230 106 189 -230 106 189 -230 106 189 -230 106 189 -230 106 189 -230 106 189 -230 106 189 -230 106 189 -0 0 0 -213 238 255 -189 230 255 -164 222 255 -139 213 255 -115 205 255 -98 205 255 -197 205 222 -189 189 197 -180 164 164 -156 131 131 -131 90 90 -123 65 65 -230 106 189 -230 106 189 -230 106 189 -0 0 0 -197 205 246 -172 189 238 -156 172 238 -131 156 230 -115 139 230 -98 123 230 -65 74 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/cable_car/bg.png b/graphics/cable_car/bg.png index f268ea9904e86f2b1ea298836a94fd7f687b4f93..6a21ca3542e74b01481f2ce45543d6bc6dc736a1 100644 GIT binary patch literal 5151 zcmZ{oWmMDwv&R3+E?rB52!eEXcP!nYga}JX3DO-)3Ahp>DXFx?f^;mQASJLg(jc9( ziqc%)bMLvI?w#|T^UTco&3u|qlW1h1NlJ8&2mk<5Z7p?^e~thE5I_L_m+5gOXZ$me zuZgBAP&;;i?_belq-O^E=i6@REw|3?|54Y!H)l`f_vR7j$={cIKCGFa z`=)yswW#QjXOs>6NwIQSE#j!l|qz4T@|0WpXP< zUFYo2CD?b+NXo%BGkZZ_cY)jA1Me(oB+#o z-he?+q zX*3jhjMy2Y4$z8)A_WQO0}w{6(s>7;o<-61VE5$bz`BQ5!Or!2{BekEy;T2D&Q3x> zabv3OH_I!DqE}QnAB-{^o>n|hjuA6-u(@S|fESc+2IMD0%P7+O2S^pg)sD#GrPz08 z&ce+|O7-u&4&G;el7X^Z&SMcS_c(=X+!+5|7 zvPk`f2!;xg#;en)JEkIinjRoSP-oz!OXY48LcK<-R*GDdYy+>+_KLg;1^z(Axfi;; z>3Skwdc4vEl7*iyY=RIiun0xX| zWC2c{P92*`0oZ6_8uElh2!Ibgc^6!Rr!&N1UYTp|3Pnim25Y}CQ4EiXg45QP8EFxb~9--InLUs;}1 znfybe?|zpot3qhsRPf#BD@nv*6;cg#89V!6vv9LB?THdj&yE=O*><&N#3J^h@h9Q- z+LTtPf&-S1IPc?IS2^hf4>m;?7rh;%I4uNXaN_uElEJME9?ku z48QlD;5MGc04qnRbL4fPT{W7&6&3(Vjlyr4ykdYVjQ`>ak&>h48{et9okOCJRLg6C zSML&2Z|Fa=&(aS`X#r{g%1TItACiDM%KE+e-^XjGrDwu_aPD#a0Ece#QC#@D%HHwDU> zp)sR2xT=BXLHqkLfh7>-g7x3@(|Fxi=`FhGbh=;c=_|Imo<7kuPHx?M($I1$g;ts@d7LH zq~Q1DqqfzOW1z>wU&#z|tm$7=U=ukp^NKQKwea9=o zO$r(?HklVJL!kp7pEh(YEddF9z^SMwpW^JrnLR4Wrp(19JP!_N7)%C3pI2#r}2Iv763uJb;!SP}` z0i1~N7KT&7%!l5JXHr5QTYe*I?SZld(&f;)BhL9FV{IHZ<$gYjf&%ztyjnP^N^cD; z2xfNAEuk_Ox7k~^ts~a%;-(su*!CKW|%n5Ec z@)1-Z+|Z?z8Z$rX-yHDy@_RR>qk&6~39mTRbS9ak;M@JD zS|0%n@F)MfPyBD0tBcr$vfb8-ng%jhuhE^VxU}da<;Om$bv`fiILVd0c~#OY9s*ur z+wD1W#P{~OZ#iV?B-Mf;!O&+yrn@1)r7z-4$kHki{GEo44{0X~) z`Vjpz6PfGlY*WisVL^)^FF#BT5|rA-e)0*gPNFfU;^D}fFbfss?UQIcV5JLik`&bd zk%`i*jEx|B>{6K`NcI`ovwlg8r0kw7B%81}>H&l1&Xu&A4v@qyDl*aRj-L-+g{Th4&OMIPh@h*)S)^Yx8 zkVk@>Hf~+rm8A%8t=_M;wq&JteaOKMm(6P|*85GMYZ_G+WprZuCcy!>(A%)n@Z+~n z3DfiwC_OB|VQ-iCA-OB!C&_{*ZrP$BK}gyd@;jk#bL<)M!g2Hwmn4oKbaZj_dm^x8 z`83-^_f6nLe2kwP1bAmQ#pI+xLteK_PAEplbzPn8ZSrD#JttI^Mvp`t(wIHzmsH$t z?KcEzSQz9@NNkWP*$_!JFFN)5y3@4MS4-x>*gO$eES#z~yJ zMx+MGu4$vePVs%cAyKYgeg3tMbA4R~6KcN{BtRk9WV;QBb&6cn+R0 z*QqJJ@_m0vC=A;NVmOLc6R49BVd^Zymod#c<1a^ zWx|%4+rjj6O1jSJjV2=&r7v)e0m8(o4i}&%@wDJP${5+p@CAPe1^7V{e(|2v#}WFvlL9nzBRpgocBQz#yfz`wyG?GL-?o&kCHs~ zFT)$5Z2hMzanN+GI!xjO0fb>3KkdkEIzyh;ON zB$?1{tZ#2@uCJxxkK}qA=TBsPvz_v#BJYj%`6zj64N3|qDrTK5nO$S%gWZ2&7eVv; z#6C*pI+N(+#H+v@Ris;4+Sm|@Xe`cPFUTMVY8VCJjE*H{R{0DIPgJv%={1YL*Q5bG zGvRvLpF*Zw>{gQBrg!6IPan*XfBo1Bf20AR33d#6!^Oc`bl88xf}n&eXe%^hl8A(H zJ)6BS>|D{!_B1KVq^}RP<;y1*7(v3?%6%JAZa$l>7^jqVF?JWJW&(@S*0hOhRw}OH z2Tn|deRG4eO!-i3a+-ms<8YQg!c(_Tb%Xht=MvB4Ys8LkFI69*1fu>+oBC~e5}`&T zlEz&d3p={c!*-TDzq06}8Y`1jWbF3k8&>tvl zDw<@DoGPTP#MQ4-WHL#(ot^?wVG2GPy7rX|q9TQi!m^{;t0gv`_j~MXH?GGfb`De5 z6UT`!<$uL8=hsIMKr9=zLqslm@$6-rH4|^W+Rq^QEs`FK`wTPX{ z@0OY;$D|(+G)EwRQX^(7!hu4@|ot(DZn%MhLYv}C1_;S$0%YW zV{aiBGf&a?fV&2GGkWY#^e~WBE=`%+AZ66W@;}J_yh&2`Ky`Z3( z6iEPLb@dcxFW0C>J<>~tO0(3hGf0Bspg{$2GTk<2SfRqqH01sqBDrtEAi%Gb%y~+ zxDAJNQ4~k-t7|Z%>YmG=5WQPjkdk;buJX*2%BZ%P9sTIGhuoeo!1Ph>)4TpcDi;LZ z)qr&k$^`6NwL0u&^R1JmLe>RjjSgFdc2`qa^Ic4Sc9UE#1{K}dC`2uw_u=_P4?Tyw zCB>DSuC*+{WKP;%9u(7k`*#9}59OcNBnwJuP`6!90|!LjF+Ji%(X?bcSMGy>33{f` zmV4q7UQgei5Wd46?0Q87kgQqdR8iJ(bU&T-Z^o&!d4}A*aq2%g!D&Surrud06fQ#q zdXlk12qK$Bzs~k+VlOI0c~&@jZ)4LEkjy>YGj;wEKJx+y%Wgxpu$0xI%5L>Z8~Uia?DFMj_lsNg_w_k~xpIiA`#j(H&^&wC zZ+5kW!~17N)*?XDlKqd4?CDnmQzp0eQD!NFQgFn{-0-ZgcU^A+3^n(CWR;zpr@9RY zi+AsW83kC?2GG)440k^^+|>A+ziB%XV6s>hyiS4~vwDJ|x%k+eycLN${}^r=1Akxl zD7uZqHgF&VZ)v^%5ku{#Jqz0my1p4>OcRU)0;A^ti=*LH)w)1TT7AJ8cJh(gN(IxirBQ!c!m)EDGR+#gzoR~;Y_&L)vd?EmW^h{^9MlPB!&?+3h$Kr^%aIFs z?!ermXkMzWifVWGNMIph-Fr}0k_|y!X;gd|T&Smvywm1ZpR}{{x!amE^+b;wZ-@er zb!Q8lMzvoXhk05nVPUw6Hx}tiHP<~z9rLV{14v}ho|(=?f0JN0H!(usqW>)30pm@F zbuG~ZNlIW+@8ah=IxNPAy_CVb(N_|6sy}~>V;4|SO+LDc=`^IzDGu>kOF{MiTOia_ zPm0O)kS zx6HSMds+nch~Qf-ALU69_W~F0_JCDdn|S-v1@O-i)RuoCp3cR}NmtG?VbPyUom-(6 kj#W(03I2~`8`5jKOOb**=dnJ=|9s4}VFv28s_^Ll0+eXMeE@ZvNr*KK@k4{a=K4?o07nHEeV`$OMuk1kB|TIvNZbi_+ufHPw4%1 zLEj#&=J}sIDU&}+0GcU&KL;SjNnF@Z6< zJ)Qvk`uF{xl`Txvd_rJ3h$STUX$%JV@57jtz%m2?@8nnpAI9Sko1B{b8}DEV0@d{& ze@qm>uSWp?bH)(PHUsdk^^*_=px1k65N!LGp91K;Yx6|A*XuG&2iKkkGXR|)CUh~{ z?mL6tFW&*vcN}NXeF~ufuzQZv>)Q0@5E#z~mTf-|z<$FMdOem+M@s+{ zG&iT;Ou@Rk0tGfck~_rFdkZiaRTmVLbRgJfrCP048;xbvg*b@Fz!|U%dbT3a?<@Ew zfQ~aD65wmMuW0GF%Cx$@ZpRSlk)78fSeI=K?-Bi_Nhlg! zHJvRQn|R*fZ9%PPWXakap{mY3I0C4g8;x)Hcg@;|Cfo7AFyzTc+ zoq_-^m;$#7i*|(tNuGVvE`~9hEy8_^JzpIk}@jI1!e7ErZZ58(%08gQ6>OIEmniVwO67Dk)aK}Pr6%Frq zfBCMf)E*-`-MTn_3P5)(L}Q@KI#c^oRYjHdc^X#B=0a#d)ub-lG1J^L^q$-ZZa7dp zQ4NHRbj-cNK;QPL`mnjuW&o;9(MW%&3ibVue$(~gISN+$4M~AYAu3F9w=gheU0GnB zqrlbrmCBnW4Af;PaXYHM?)6lydlo>Yybjp{S7cZoNUFZ=QSpz`oo;=awqbF~qlE@^ zgVN<${l2ZrR4V%W{jUAK<1|$J1VA~D%lRHvgltoT9{U8<@z7+4?;9En!qRz{Yhsi^ zYS$#jF4H2{>h!gF*8-@N*QSEG3!DxQ=L%PO3GBlFG~6$!l*cvDRSQKB?wgb*82}}+ zGSGe#fX=(B00BUUYeH4-GnE1RDygN`rY)0pE5(?y%SxkLvVMbGSqI6#db_~&aRJfm zHQbF`mCUEhpt3AIqJiz5LRi(*S5#xwI-PGR)%{Q1&7;Z-2bECG?Lx`rv{JR78-5#_ z<=72(Q_lq$*mPom2o54I%qa>00UXvguv;AdUJhY(x^yShd8ZF=o|6g=0r-v#cdi0DDVt}eE!p@QjUp83Q*;1I#y!{E;g>(<&wl6*1`W5wFrF_GIg` z#Xi+ggN74M>%zX!(eRR|zI(+%5Z=*hcldmhQo>sZqF;Xu)OKtW4cU_Z_rks+dm!_q zbU=-(s80P^mSw-UTRI~1f%NMOeUt9<-DT2zywToVweFHk4;A)ua6T0y>VtJa|4UxR0wDOOw`mK z4go%&8Cl;qJGgAEnb{#|krE&< z`>6mtZ0|l-x*i`k+2<+{I%a9~Fq28}_>g=q0OHSjlMj2E@IWYZ;UU~)F?BrTlHaob zdz{H=CS{rg4|?4|S~7`)8IgLJ@AEal2n81&LYZeW#$sVE2?zjzl!+jKWRgZS9TxzQ zBqXh1zTIPFFw1~8TVwtP05T22e8)hud@X6Rn5?{HmSWTc{TgPED$n^6(U!}Zybp4g6fZL1!QV9U*hvEwXq(bH?y3=a~AR{;5?s6%8 zf0Ii;S%86uKKfH+5a4ZLt>tQx17y1gKn@1@C*TNc6G7>pmmvo)rJ#0Aod+ITj zSkC0kT8oLyX=^w8eV*S6+E?mDTj?$4x6(`8FZ*qtr@kaYNt7f)P#=$vx%g?bb9+N^5$PBt7vnbf4R$VB{2XYFNr2w8F>lz5G67QEa-*EforhM zgIp}IapC2A8ZCS;5<78oD{?VW41C?^%9Y@aSdj#PT!5Lpxy7rW%~nfnoc8U8319yQ zUK84=aQ$Vz-DkW@sQ{o?+O?01H@Dy=7H;ZpS#W+31lXZmd61YFWe`ZP5ZspvjO2ZQ z!9>p1t10xoo@Fo!&lRi@7=au36Z#t{2quxh&Z2m=R9cZjh!{#uEFT>c%!jsVEJnJa zfK`)5Fn^QpNx5V{5&{Wl;u;sSm2iVF#Q&k?VSAHlE}^R}%L#(Yr}=W7M}dp^FmPBR zQ-J1UXe(ddywj=4-sT6PfIHWQm|4cCez*7rWr* z*3X&2^(yo&vWYMfQ;gf@@-|ze3#4w=kbK~SFady=h`xDX5DPbfwtP1T;%J$=kp+8} zVD=>!Ike!*m6H4#aU;g4>1IjtSV0Znq9hFcFyTH(D)cw0=UHsJp*LN{V)|7C!ehy0 zk_{4Mrh@hinNPoA$C0-n6+lCg>w7uu&muEG2aGcSKu7{%$&>8CRQQ3ILmz?o@-2mB zCL3sLv%#W-MQW5QNGP17(5cUIBFVE#GeQ7jaQzQRWx3tKeBgMbm5gjLlB6>W7QKig zQa}>>B&SIpLvUComthhoP#`4cA>I)8C?T~Hg;1`@B_k_Ytx_@F=i6`CLl(s>dA6QB zTL&S@I0*xPN{<%E^&|y5e9F-0dBoZh!lU{5HjCqF1|0B0gpV5V^0}3 zJaj)N^z~-FknSXcJNwfJqxRW8OA!B3=-!{EA|uIXD|dlec?t%CIG$ zZcfg?VH7Ts-25{R6!sjlhB@2@yI>AOfm-JOus)~pJIbOinFh*?EgU&HLj)H_D zdP@F{n21Fzj&NQG4{-N8NIC!-5rnCesnRNlgBz7yaB-i(3?)-YT$nZk$Ow!lkkf9N z&sH80NYDqRAV7s7&EK;1tbv9g4k)HT24?N{9R1L9t>xrK%)rZcI|?r_f=x~UWWY(7 zOlY5SF(G#krhAK`0Aehuda~XlGC-sWB_J1bu#WGA)BFxGZp##ANS@fk8oq?>`OCdU z%3lL3fD<7cL1Tdz`AHZpDR}ZmeSyTs0WV8E_|tqX*@mD*F}KLBR*1i1!^srRCrI*M zBIXpzV!{r@{u^!LE|ih)Q@F#c;GU@kn{%b0{Iuodih6^3yl6SiH{^aUn%LgXZ+G+C zfWC?8D!?lP2-FAHly_jWIXQ90XKFp+LC43lOfcK0q znIvR#M+Io2L@yTk+J!SmAu9mh=EuHLriHJhDwmZLQuZVO_ym;+a1w%r@gYv6zDI^F zf~gM$+y#LK2*@W8eH36w^&ByPd17a-3&@zX@B6750XwBiOB+UDskb=FT>Z(N$@~^X z1X-<5_7d_U>>>mgxPE|Y&r^nBsf~wTwhDQJ@Z@BMk1!aQB+KCuvtnJ+P_T7LnO@>6 z2HX(8S3C|~%7e*jLls|1ePPJs7%XNYY|{w}O*2Reh8H9dV(cn=RZYK#295XSbCFey zQC!J!z(a2=Olq2fWx8>ILi3egwHo#;SeB(e`LyL&FZ}GdH`O+0I2aHs#o^S zgH;%f2UMhLIxU7Vgkw~bM4()v(#&@=Tz#{`gGTj>V>d&Tmj%#8u|C*Gg|@RR~iAFIajC$C>K`@)=$r^V<3w55&+lL z3`C`+&)kEhmR1aY3gB4!1wi~f1nXG(rqQ{=vjFI2|8KPaN`R5`@pRbzxaMLl!2Q^9 zP7ubpI4mLV$K&$L5dgYI7<@c`go}VEz7K~5-XQ=zn>=)m5X?o#QIqZoaO4a>mH^|* zP_^2}!};o>B5}`vL$itkP|*7EXkP8(!F-;eNQ_4c5QrZMO9PC{`D0#86Eqh`nu5YG z6h^}m;A1gg@0Sto%ZtN9fRUDK0WcaBWA$3-bjIbyg2J$ZI4S{fp%`4ORbHx47*!A( z7>o|c9#a@rC>$^-$JP-b+o@6@yb*yF0D2wGU|3ztFwnN3F7pWRJ_2AOs!R3PP@t&o$n3JP6Y=kh0ZSPA$SAz`gRe z65(F)(ZRY7;Q-*?WCeq8&oeoRaz_n96+jJF5nUnZiQ}T<6oCO0&-<}i$ROx>!*SU& zF4oc$6aZBY_v3OQhii!<1L+>VPHUN=1psevR9%RNs(@?~RFRqVObtu`eZ6m;LYyK9 zjTC{ANlnK7H6KQ{=r96rEAy$jpjQ}M z^c;+l@JQ!P$CNo{Yo@X?vkV)`&YA%$d8`uC&^d^`Bb_p}5Jpv1Av-IeA|s4W1GlTva<#%g?1V@hbmGbBv*t^y3I6tpG2q#ZCg6!0?v4j5F*!JlMsUItGy7`>Rl34@o- zK4tLY`OKjA^sqAk=7HS*9Kc|ppUYK`meOm{_(4bgSPQk+=Bby;1MsYc;_*lIU|82Y z9BF=oV*u)&pg&|#JeJ8n)U(YGfm-?@n_7TF2KpCVx)}!M5zu-D{IvEd1KTbcm`8nT z0jiIp9y2gc;F`x!p9DB&V4f{{F$4WeutNH@b|Zu8;gdPhGAEu3-7?)ykD-nL_)snI zeRKGl>bBACNdQ;>0l=L5VsZZ4Vy;^wfIdX?&Do+k7S_MImrnxdgG~3Q0nBM$ppS@; z0d~5bVW65mgARE205Hh>gq;t>2u`sWz@Kk!W2Pi;d26#xJL07*qoM6N<$f)|B2 AQUCw| From 863779afbb7513f38864db73f33705d57b21e15d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 12 Jan 2023 14:55:14 -0500 Subject: [PATCH 35/62] Colorize rayquaza_scene/scene_1/clouds.png --- graphics/rayquaza_scene/scene_1/clouds.pal | 35 --------------------- graphics/rayquaza_scene/scene_1/clouds.png | Bin 964 -> 1076 bytes 2 files changed, 35 deletions(-) delete mode 100644 graphics/rayquaza_scene/scene_1/clouds.pal diff --git a/graphics/rayquaza_scene/scene_1/clouds.pal b/graphics/rayquaza_scene/scene_1/clouds.pal deleted file mode 100644 index 4b1a354ce6..0000000000 --- a/graphics/rayquaza_scene/scene_1/clouds.pal +++ /dev/null @@ -1,35 +0,0 @@ -JASC-PAL -0100 -32 -164 205 180 -82 82 90 -255 0 255 -205 115 0 -156 98 16 -98 82 32 -49 65 49 -0 49 65 -24 57 65 -49 65 74 -49 49 57 -74 74 82 -98 98 106 -115 115 131 -139 148 148 -0 0 0 -32 90 115 -131 131 131 -148 148 148 -172 172 172 -197 197 197 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/rayquaza_scene/scene_1/clouds.png b/graphics/rayquaza_scene/scene_1/clouds.png index a253f47ccdb36e4d9e4d1e641fe07d8d48916ae2..be49741039c54d7224b4ada639570575e58eca48 100644 GIT binary patch delta 1018 zcmVPIO;@vXN2Yqa)? zQ8DYiimMNkt3C~XE;EE;3CvIMHE|};l|^D9t;ixt&w?wMOfP$u6%$DCmD4U1FlOjli{bJ3yY+Gfi5J`Jb@P3chnR`kt&cv zilhqTtWzD0+mf$-S44{cJ!SwOcXr@XPOEn*S?&b;SjYb7s(I?iLx z7T%LeC!~#ku-lLSL(o}W&B}e6E9eUa+9~*C;q2HjQy^2eOj%iW16f2Diq*kJPoOO^(LnA<^a> z+)E%%B#!JqWFcy%AA@!Uxt&Ey-5uU5$o7ZXb|buhShbOkb1MfR9M6pjy*=EUMfmH- z)?VgFgFXjgKj#G-!`t6W5(R6<5*Rv5kd8sS%Q}@f>^Y-a)Ij5hyvfra3^GtcWYyqy zeHx2yPJ6MxGl-HkQqls==KZYz*@BnWktt}9T=S-M}lOdZFq8WSje^05R_ zh@RI~iwAX{a~3fNoZs2^w{igbJ;(|qf}j>_v52#6%ba}Q0X;ff29SCV*!lebiqhAQ of_@D$fqKqt(No`_f^JLDUt??Y02A01^8f$<07*qoM6N<$f(fC{*Z=?k delta 905 zcmV;419tqh2*d}F7!3pi0000F?;;2Q001zNGBkff?H7Ll00U1+L_t(YiKUg%k<%~` zhIJPgaC)|xxe{&$3h)fj0nh=^0kl91v;a?eMaqMoB|qGAELRYz1^9PYa%?BZF~iPX zoY?zmSO2coO2K}^%ri!QH~9YwQ~w18SDp^z*)u!?bs@CI?1#8u>@eCTbial6px8Y7 z>^XnXl)U$Ufhb5$(O5~TBW9SggtAXX3hWcSb*<3|YY{c#w>O@`!EL85)zc-vpv$+I zB3NT##;+jGc|QXINoJ&30)&-w^-)&zL3V9d5MpQ}7E)UH_oOyMk>ZCzRdux1m0;Cr z0ou|E!Ywj27lNX7Slj7RSTehcWCI~Nt4)8mXezOYTih*p zX`cmyIIKq+rLH7$h*L@_ROl0o_Cc-0+r&2&C#p>l30TmaskX9}o*@yRWWXQNQS5&t zN^y%~jdU^_Xh2(eX~`);JwoaMMT;Xv%SUPnO&ND^;Gpz$@;0b?>MB=%@|FO8fXS*_ zDru3PdBQ665k?E~o@7=3Ec6~mD$rSRoCP9r>NIG2aiFp~cYjUz%C&8 zyRP#=DhH)_G?2TvUWMSS9iN+#tG$1PUcuxi9?%_v;5-ayikK3$%0;Btuod(c2520o zJi+J`2cE0Vye0J#wu0WlLQcbw6B$~PM%NWcY&R=|u}ZCoi7Zq7-=J;1W_OXDp{qqL z4nJTKn~Qmz;xwz-sM6jvFkAZALYT7&Jv~s)Lq2(i?7q`DM?tqVkGml0-_L)L>F_YL zmODA{OmCEXd_)2#9gmjEdAxuw_t>i!u#`PbBm^A&0%{22sUdFxzB0sb%~6Iu9lu_h zYKFY0@vL>dGSs=2ryYinrKGn|&>c>=v-Qd%mG=w(<1;Rxo*^<WDG~ zzIm&Z95*s=O9$LhXOvSR5R`FkJ0#5_REV~UVY-A$uQn@bm(T&T&H8v0zgx9}e!*7I zol=|H2-Gj2pRmB$BmWyUL*I)np<)jl3Cc|)PVLjs!y2MUXd-{e$rrg9`c|y^HEI)S fo&N=Nw}k!x<@mnLz0${a00000NkvXXu0mjfYKN-X From 12cbb0b30f790b18aef98078b804d2cda76c55b3 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 12 Jan 2023 15:15:48 -0500 Subject: [PATCH 36/62] Colorize and combine birch_bag/birch_grass --- graphics/starter_choose/birch_bag.png | Bin 1304 -> 0 bytes graphics/starter_choose/birch_grass.png | Bin 691 -> 0 bytes graphics/starter_choose/tiles.png | Bin 0 -> 1928 bytes graphics_file_rules.mk | 3 --- include/starter_choose.h | 4 ++-- src/credits.c | 4 ++-- src/save_failed_screen.c | 4 ++-- src/starter_choose.c | 13 ++++--------- 8 files changed, 10 insertions(+), 18 deletions(-) delete mode 100644 graphics/starter_choose/birch_bag.png delete mode 100644 graphics/starter_choose/birch_grass.png create mode 100644 graphics/starter_choose/tiles.png diff --git a/graphics/starter_choose/birch_bag.png b/graphics/starter_choose/birch_bag.png deleted file mode 100644 index 86bfbbbc0a3aae8d4bf4b8ba8f716030c82606fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1304 zcmV+z1?T#SP)3j1-8jW1bWru}qWPLyLd2gPSq|>oimo_f_ zuhl(v!`GjaKXP5S{}~d;u2>C;9_N4UlaE}rED64%bliq;QoeGlWk~cmWl0jZAd;BH zM+Tsj=)v}hSi2Aohnpg|zEA?=EYWL9Uh(bu6*^jZmkenwE)nTAK#ZRqTlv20j>3AJ zbN=@>f`hl&1-M6UKk$dtjN`otY4!mH8U^$b;rqUpNOkqes|H{NdAk7b2oW9-q(s$! zXWCF$HyZ%E1400VgxUP*56u=(GT2gp27pBEe!GSqi(M}oSOR_V)mJOr3BUq88Z-qe zfJtyds|h`E0^TTS3RD39^$vjSpf@VZCL^NU3e5`(e; z!yv2x5v67qPkdSSL7wN}kY8K{ZaEW!K`Bs%oUjJy`o6fm|6QJ6=J^dEuBxFb4UAB? z4mg2N#l7Fc=Hg$T-|C?nXaf)^LsMDO{D zrhpDjsRal%;lNOkz4Wv}ScPKzzj2HXi6Tu{nhMxUUl|Ai35W?CqB%%T7!pbX*~x{e z0A)ng5hy@RXb9h#@6~BULmCA_;y@~tgbQ(92>`%>d=%9Wp)*CIB=}gw!YCr2$9Vl4 zk%xC{MBr;!9|L$9h>s<~U*wlJMiF-e2t!8Yj}#)difH{&=$)B_Lotq8VIKG-##bsK zQz9E73~CQ!Z}XrCco_cD=;I|`c@a?t;aJ6mLG6XqW12vTEJ7dU#hs8Ml)>gDfLa2b z9<37&ONBe4&X7?PUcxsKmY~$d&<|wajNGyML^17^BsBkRTKc%u*uKAnFM@}ITVrN<~#G9-Z`b$pn3Xa z5<+Y*rHRTn`)>d?oZdsJr%xpzkOFHwy0$n1GLH4Xdk+NNN+AGOQDA3U0y2((84w<; zx#ep{#~`rn^y_Prog?AhtVS5~n9;P=Up0XP;dEva7<7Qq=RGRuh`&jI@Xt&Ueh~$5 zco4>ueJap|%}f#=vjj&Mj)48NpMW9=z*CkL#XWq-afn-5h$s9tEJfJN-alq%1*`{| zr{fj@695yv!OaT=z&r}w`J$N5F`i{=AbDF0ZNPF_6d$v!e1T2cTG%wmvR@}$ zO%fK+a)uV*t1Rn$`R8QvHdb%2mJT!kaslEkj=(-cycGbeDEMA~F8>SG>pV$S634y( O00003>oKi}AK{;A6AUPoa{{a900RR60|Nj90{{a9008(>7qZZ)T0006$ zNklPzh`p7x#jll-CY4tT=+^YL1v@9 z?E<2_`^Yr`4pYD>_iwoX`me46V2rCT$pN@hh7AB6l6#h?Vpqa`0LEUjFOLHr%`w3J zRHl!BPZP3{%_f7NsvZOnYHFt2T*n0<1$gz9R+WVA^>Xj4c5 z-M${8McP_vnZd65XTa!O+2s{r9LP({VkiJyzpsw~LJIJNfHd2=0{qtfUjU3mibopQ zv`fDLD1LLKp8!mNjGC=p0Z@o|V89#DDyA2El<`TT8h%N~>u>>(QypN46-S$G&<(rC zgC5;~1B^~Ndl*x9D}e4k-VgON0PQOQ0(i(NPzR4={R|KvFx5j@h&Dukf%`ImWR3E{ zDqy3&AWbQl`_&A@7(e(H(CV+sQ~+)RpqN=tn( zTS;}mcB3!{d3(9aLngZc!j6G4<_Gx=pahX?1Xz_%k2=770%nM0VlarA`UD_vdyk|A zP%UAM`6sUc5G#;1J2{2T4ghulAsRvQ@cWYhO2-)bXHe$=69t3(->L$xxZ;W{uDD_q Z{{ZqzPeUcM&X@oI002ovPDHLkV1hGXF^~WN diff --git a/graphics/starter_choose/tiles.png b/graphics/starter_choose/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..175b30f9d16529927759e4b1ea91987dda8981dd GIT binary patch literal 1928 zcmV;32Y2|1P)C00001b5ch_0Itp) z=>Px#U{Fj{MRUcZ|J9WL#aiC1TD_cFlyg#pQc5{mVoEVN0Ah;(F+tVU-khA2Vq$Xu zQgZ+R0E^yp#paZY-gE!|0CT-!Vw_S+dqFu`F(5f0|Nj90{{a900RR60|Nj90{{T{R zL23^eRR916)=5M`RCt{2nCo_^^mJI?yGQ0n=7w*QPlwNH+J!=Rorb}$SSx5>B9G*%fvT2Wkv&>DwOnfw}q zQ`Z#NAZP&i&C{=ahaFv=R97C<=b*ne@sRBwtVRzb}0yu{H_*)iW1u%VR?KOm0KP5nh z(*VK#M%5Wo{S2Urpj)+0Fo^OuH5)Sh0svfm4nW1@mTcIk-!!Fu1Az55OxwR{OoGtl z`W1qb60VwS7C`&QBb)xa@1+e+K5?Zf5tPgZ1J(dk(_n@RLu0-%dJ`B*>6ZzLsS-f7 z2Bhy?<^`^2eS9H?=7@d)04q?n0Q47UvC=O6Z~l)M(1v_sG&w<8hzzI!D7tVNwQc)F zzxNE~#i6X93#kkQN@vA$=K)oRl$v z(ZPmR3w_>Ow>)gSwhBCGCm=#*vH1l^#E&46Wy2uwTy^)|rze$-z(m|8QKh`?wa zEkK(9TVIZc}<60RV}u>k9%nc_{6ADn@lfFP0+#@I5 zL9-(=l7 zLKnPb9G6Fej)vOGl8Ub>IHrCfm!(S6;fUaBmPk((e zLdqcY`KhcEzo5MUbe(_f4FHUg*q}uI`bK?h0@U{i1W-qC{^P&ly7_^CCITbqpRYQC z=KACM@w&?ZhcI}A!2<+@PNvWOce8$k(0zSH2v8sGyWTI?THmd|AS?i+-5Cu36x`n~ z^rZ%zIYy2Ip^LRCV)@VjCsVBgIEF6PUI4^x@7e@d1AqYW9)5ffPc#*Vs|~mb;Ppv6 zTZw%Coo~QB4v;p8q`Q=0|CI@_0YLo+{~P0kB!WJ1}+Ql5zU>jpM zfEQoUP64i#z-Fm$i8H{S({=$^nfl&Q=lR$?r~+6R$fEoabp|+MK^*|bamgQYbfhb9 z0hr$J!|DXEX+hMC6#(l14$BjO>w?&Z>eR>pT<1-we_TBPz_m8|IDRKEasW#soJl?a zkOlK3O_;^;S_#nlEAkA01hWlk1IlbG=cfSB!k~XzJ^(--kPUwZDDzwyGzEaC`#?05B7P9VcQzKai$ShsV|j|{2<@q=Z5kZ0VZCX_yx|e zvJ>os3lBG*@ech2fcnr1fGKGNECJ*WM;B*b1;8oW~{dj9YpS*cMMeV27?yNg$eyD0CNDCD0N=iTpiX6aVG%& z)j9ymenyJ1Qi$mUfUWib1$E!d!hB*Sh^i6vRU|a=2!C;0vCJJ5?l2+I)8~~DAP!Yfi5bF=< zJHW`ht?3HDxCxMg(81*TFTnn!-306dm_2~o>r6`>P5_K&0jBU` z-JO2^%K&zHL4XO@h3Rhs2o&1UQ5**N#3w%SiBEju6QB6RCqD7NkN*HHZ{Wd!Af%!I O0000$@ - $(NAMINGGFXDIR)/cursor.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 5 -Wnum_tiles diff --git a/include/starter_choose.h b/include/starter_choose.h index 7a4f6e967b..1bee42a2e8 100644 --- a/include/starter_choose.h +++ b/include/starter_choose.h @@ -1,10 +1,10 @@ #ifndef GUARD_STARTER_CHOOSE_H #define GUARD_STARTER_CHOOSE_H -extern const u16 gBirchBagGrassPal[2][16]; +extern const u16 gBirchBagGrass_Pal[]; extern const u32 gBirchBagTilemap[]; extern const u32 gBirchGrassTilemap[]; -extern const u32 gBirchHelpGfx[]; +extern const u32 gBirchBagGrass_Gfx[]; extern const u32 gPokeballSelection_Gfx[]; u16 GetStarterPokemon(u16 chosenStarterId); diff --git a/src/credits.c b/src/credits.c index 4156e45ba4..94bc0c4a6c 100644 --- a/src/credits.c +++ b/src/credits.c @@ -547,9 +547,9 @@ static void Task_LoadShowMons(u8 taskId) ResetAllPicSprites(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 8; - LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM); + LZ77UnCompVram(gBirchBagGrass_Gfx, (void *)VRAM); LZ77UnCompVram(gBirchGrassTilemap, (void *)(BG_SCREEN_ADDR(7))); - LoadPalette(gBirchBagGrassPal[0] + 1, 1, 31 * 2); + LoadPalette(gBirchBagGrass_Pal + 1, 1, 31 * 2); for (i = 0; i < MON_PIC_SIZE; i++) gDecompressionBuffer[i] = 0x11; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 877482728f..d632c553a8 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -196,7 +196,7 @@ static void CB2_SaveFailedScreen(void) DmaFill16(3, 0, VRAM, VRAM_SIZE); DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT, PLTT_SIZE); - LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM); + LZ77UnCompVram(gBirchBagGrass_Gfx, (void *)VRAM); LZ77UnCompVram(gBirchBagTilemap, (void *)(BG_SCREEN_ADDR(14))); LZ77UnCompVram(gBirchGrassTilemap, (void *)(BG_SCREEN_ADDR(15))); LZ77UnCompVram(sSaveFailedClockGfx, (void *)(OBJ_VRAM0 + 0x20)); @@ -214,7 +214,7 @@ static void CB2_SaveFailedScreen(void) ResetSpriteData(); ResetTasks(); ResetPaletteFade(); - LoadPalette(gBirchBagGrassPal, 0, 0x40); + LoadPalette(gBirchBagGrass_Pal, 0, 0x40); LoadPalette(sSaveFailedClockPal, 0x100, 0x20); LoadPalette(gTextWindowFrame1_Pal, 0xE0, 0x20); LoadPalette(gStandardMenuPalette, 0xF0, 0x20); diff --git a/src/starter_choose.c b/src/starter_choose.c index cbe0c7ee61..67f762d801 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -51,17 +51,12 @@ static void SpriteCB_StarterPokemon(struct Sprite *sprite); static u16 sStarterLabelWindowId; -const u16 gBirchBagGrassPal[][16] = -{ - INCBIN_U16("graphics/starter_choose/birch_bag.gbapal"), - INCBIN_U16("graphics/starter_choose/birch_grass.gbapal"), -}; - +const u16 gBirchBagGrass_Pal[] = INCBIN_U16("graphics/starter_choose/tiles.gbapal"); static const u16 sPokeballSelection_Pal[] = INCBIN_U16("graphics/starter_choose/pokeball_selection.gbapal"); static const u16 sStarterCircle_Pal[] = INCBIN_U16("graphics/starter_choose/starter_circle.gbapal"); const u32 gBirchBagTilemap[] = INCBIN_U32("graphics/starter_choose/birch_bag.bin.lz"); const u32 gBirchGrassTilemap[] = INCBIN_U32("graphics/starter_choose/birch_grass.bin.lz"); -const u32 gBirchHelpGfx[] = INCBIN_U32("graphics/starter_choose/birch_help.4bpp.lz"); // Birch bag and grass combined +const u32 gBirchBagGrass_Gfx[] = INCBIN_U32("graphics/starter_choose/tiles.4bpp.lz"); const u32 gPokeballSelection_Gfx[] = INCBIN_U32("graphics/starter_choose/pokeball_selection.4bpp.lz"); static const u32 sStarterCircle_Gfx[] = INCBIN_U32("graphics/starter_choose/starter_circle.4bpp.lz"); @@ -402,7 +397,7 @@ void CB2_ChooseStarter(void) DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT, PLTT_SIZE); - LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM); + LZ77UnCompVram(gBirchBagGrass_Gfx, (void *)VRAM); LZ77UnCompVram(gBirchBagTilemap, (void *)(BG_SCREEN_ADDR(6))); LZ77UnCompVram(gBirchGrassTilemap, (void *)(BG_SCREEN_ADDR(7))); @@ -421,7 +416,7 @@ void CB2_ChooseStarter(void) ResetAllPicSprites(); LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20); - LoadPalette(gBirchBagGrassPal, 0, 0x40); + LoadPalette(gBirchBagGrass_Pal, 0, sizeof(gBirchBagGrass_Pal)); LoadCompressedSpriteSheet(&sSpriteSheet_PokeballSelect[0]); LoadCompressedSpriteSheet(&sSpriteSheet_StarterCircle[0]); LoadSpritePalettes(sSpritePalettes_StarterChoose); From a12432a0f328cc649eebf8271b73e87e3aad86a0 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 12 Jan 2023 15:26:53 -0500 Subject: [PATCH 37/62] Colorize crusher.png --- graphics/berry_crush/crusher.pal | 147 ------------------------------- graphics/berry_crush/crusher.png | Bin 2151 -> 2496 bytes 2 files changed, 147 deletions(-) delete mode 100644 graphics/berry_crush/crusher.pal diff --git a/graphics/berry_crush/crusher.pal b/graphics/berry_crush/crusher.pal deleted file mode 100644 index 13ea34e59e..0000000000 --- a/graphics/berry_crush/crusher.pal +++ /dev/null @@ -1,147 +0,0 @@ -JASC-PAL -0100 -144 -98 172 180 -255 213 156 -255 197 139 -255 164 106 -238 131 82 -222 123 74 -213 98 49 -197 82 41 -156 213 189 -123 180 156 -222 156 255 -172 123 222 -255 0 255 -255 0 255 -230 230 255 -65 74 90 -156 148 172 -255 213 156 -255 197 139 -255 164 106 -238 131 82 -222 123 74 -213 98 49 -197 82 41 -255 238 0 -230 189 0 -180 180 180 -139 139 139 -255 0 255 -255 0 255 -230 230 255 -65 74 90 -156 148 172 -255 213 156 -255 197 139 -255 164 106 -238 131 82 -222 123 74 -213 98 49 -197 82 41 -197 213 246 -255 255 255 -238 238 246 -205 205 213 -255 0 255 -255 0 255 -230 230 255 -65 74 90 -255 180 255 -164 172 172 -98 106 115 -123 131 139 -139 148 156 -148 222 164 -156 189 222 -197 213 246 -180 164 115 -205 189 148 -213 205 172 -230 222 189 -246 238 205 -139 123 74 -74 131 189 -65 74 90 -0 0 0 -148 222 164 -164 230 172 -180 238 189 -197 246 205 -213 255 222 -238 255 238 -255 255 255 -65 180 238 -255 255 255 -0 197 57 -255 255 255 -246 213 0 -255 0 255 -246 238 205 -139 123 74 -255 164 106 -164 172 172 -98 106 115 -123 131 139 -139 148 156 -115 156 189 -156 189 222 -197 213 246 -180 164 115 -205 189 148 -213 205 172 -230 222 189 -246 238 205 -139 123 74 -74 131 189 -65 74 90 -0 0 0 -148 222 164 -164 230 172 -180 238 189 -197 246 205 -213 255 222 -238 255 238 -255 255 255 -189 65 255 -255 255 255 -123 123 123 -255 0 255 -246 238 205 -139 123 74 -180 189 189 -255 255 255 -0 0 255 -164 172 172 -98 106 115 -123 131 139 -139 148 156 -115 156 189 -156 189 222 -148 222 164 -180 164 115 -205 189 148 -213 205 172 -230 222 189 -246 238 205 -139 123 74 -74 131 189 -65 74 90 -98 172 180 -41 41 57 -213 213 222 -205 205 205 -238 238 238 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/berry_crush/crusher.png b/graphics/berry_crush/crusher.png index 6e43adb27bf0226c4d175b9dee89bb4b0566856b..03c23f8b57ce792562a425a3bb29a7b84da5ee97 100644 GIT binary patch literal 2496 zcmbW2Yfw{37RUSE8wd%K1dM{pBRoVN3iue2@Jdhw5fK;_bP*yW;3@)+utpQ%5>OeV z0xA#(1awdVF~%`GH4sF6K{SdfK#-^if(${30vUptSW~q%TeZ8jwO!rk^oM`{&i{0O z=%0dv{0#65@c;mW4gTvwwHf`k^bl?Q{3chWP0+zmKOewIH;iq>?k^4^>6hW1sD_op-{-> za{m{7t87xE(I^y?5{c}udW}$1R#g?f_aG~S%ROIozOSrE)Tb2-%MMCJ=Vg+r!9LNX zLc(PQ1Z0S`ezZ+#HD!ZULWQVxQp@U7XcSs9UHC16RyS>&lmTstKTm1f{44)pk?8;9 zi|AUghQ(t2lPna8zEuSO;{Q*+*5QBhuf2bJdpDV^Pa=^h6bfxS|9xN!Cbch%ZQQVq zzJ*!T+TD|XnM%@S=qx;PwewZ))4RWog6ZH^%*#C36WI3z-+V87Jftl_CAg( zH-l}x@gy_-{%YEYN?lpGFJHQ~4&pnQOH;lakqkUTFzF*cA6&&;BCsk}uo5kJJ4sMd zCO=>09qsr&MUJyNK{1lfO1D}?&MAa)3QHc?rB5np*Rl%<-n4Mv? z)%f;T?RiWXnm)bHo1IX}+#pVT4qGsER+r${&}Qx54Ovo}0?ay7_Cu#=Q{Ib65BB*i z48D!N8i*U?e0&x=cQA2vnvqJ8X{5K8t)8_}dC-b&TGX2yq;;_cmZ>{?7*|?R zcy)FF^44*z3bkV86vBG(~dx%X870Yc%S+6=IUA&6vc}E&qpy~s4Oeb$#-6QpLy|U&T zQ#vsibM$>-OdBvBzc!IetAWVIDJQ9fEVy z#4yff8Ly2nk{kdyXVC+GPL5Nz_tQhZ;wnifpRen(klsDn6M}_@BB84yUtS95LZ^C>@EPDf~zy zG()924s!D=`cNfya9oH%G4&X8!RSoSb5E-eP_llY*Y7u+AUl{J2#nYt7F-60ZF&a{ zOiD3)L~d>w>kszK4POh^G!WP=D)?f38!%0$dH}s3e-g>g+8}uD?pwpwiFhoi9bcmx z*3orkl|CsEflN!HI_}GNR$Q(f*^CVg^hkZlTuv!&%s4`Jx$uO$WH=j8Ith|x_a64d zr>tzyb6M{Gk5uIWk6t`cpDI3f5Tq(Md9-(ArL}?FPo$izf?MyP&B)};DvIZsJ#U%` zyET5P_}G&z-TPJ=2GkzNDlCMSAe#IDX{=^dtpSY%-b*~pE< zX=4RMJvnhHkTQwV4l5K52L4UXJmh{Kkql8vN|uJ96bop23h4&UA*)&<&bABH$&KB9 zU&qE$do2i0298UeDZi~W?gg(NnoP$7Rwy~i0E+v(d&yI&F5L35_^t(Ky2$* zw!ge_A;0AP=e(l=a?^c(Y%$>RK^+G4MCmi>*yP3pk)1M9j1)z7LAS;X-o%4Ac+JJg zPAHEEsxKdQMnSZ&AcbZ=bFO>JL3-CX3AlA#r_pneJbfJ2xr z=pX(Vb>`YWQF@ld^)Jps5<8gy7=?6?|lJZ~o-B;BzVYo0@| zIS;8Mz9Hyc77l_rF=kmebKwXh^en-q(+>8h@4|9sGT#vbUFX!zOJO|hUDBTN#yi7Z VzcTf}`n+#{{RZElb$lNN=MON2m%IP~ delta 2102 zcmV-62+8-r6Xy_+7!3pi0000n5PbLm001zNGBkf5kx1zP00;6(L_t(&fu)(xZxcrp z$M@8nklDymudqgG;1YG$3gSc)uX5qg3r6LTsEWe|T&abmcrWBoq@wkul|VvSSE^Kc z%39)7QI++nm6}7$Kae=RfzlpK)u=||5cj?LwKKc3jzizYWM|%IzVG?X>>FbkS@Unx z&k28DGYGcs%z9|c7MRA}H{bV(-7$R~V#1ld8K6B_)&RiWoSY`(!F?F_JPqI$9Sw-Pdi1paSM-GZTbvKpxfZSshM)6FqQdaeZ3eKZfPTLp zMJYh(yO`%7{zXlmV#GfgnEBO%}N6< zL>$22DFBl&`<(he(EuWv#ApPdTwaJ}e;EL~Gireeb=*p%-UlRxiu+j{N757lfC(Nh zP=*Pyq`?^ait*`WqeDd_>_;FI04z~iAf=SVV5A5ffd38vKypR^5Txf&0dee#ePg5u zqX9Li!T>Hu;N;<(aR3;Dw^DyDqyJB?%MoODVK@!|C3uy}6#;PF3K<|GhT{QNJ=eWL zBA|duMSM#`$`}E_7#fW)k-!0Nxok)VjNvE%NLXE6y?fP73>6fH{gm;f1l4Ml0C=tj zprGL^1edOy1~3I_Kmir_DuIh13t$XTfl83#KRO;zc!LVSsu=*O24;Wx0He@gU-#W= z7GN0vp!?s(2!K@gcdJ*kfXNI1KV^Wjb6~ux01DO&uLRuAU&A;*T;S2ExXTPX{L{>5 zx6_pjk_@Wm*?RcoH%FBFsgCf6Uf<9HeqQxfFfdDm(Mr)0T2Ok{LB*~6aZF%FM^QjpxsdfZ~__u@G2xJkN{>Hzy!#IEP#dp zxsU)+tO|&E9&`Y-d!!gl^CK0I2uMUI0Q|mjeO66ov3Q09I&^>ioj6V*GJq~F&vw(C zJI?@^1Z8>ILKVPm+iw)vj(Hok<8FF+?hTd)Sj8_IgBU~*LyiEP`l~q7VPYI>7mC>z zGPr>USd%udaF7Y(fOg#02g(42Yj6Z^Zt~_cL2y9yJQ@iw{;gK8Qw1D>4HXBF?oBU& z17_e1{A4o-6a;@58GH`_tw=AykR()_fox3yC_uZkl|wKj2}?^s#sr{+X&D7T3G@!3 z1JvOXrza$U!po(lEWzMeY|*Ta0DuI1yXpZRD$o)nK;dW!2?rVgB%#H>*>)}f2=o=N z1JqH$CM~dBfKgyg!a*7UF%Sg-CA9MZhG?Owz7(e322J8!e`UW{EU|(Jye=Il- zu(%JV@uzRE;{f1G1SdGjAH65Z4*_|AeX*SI?3y3diXchtAN|^&pYd8i#5r99dIRrrZ zg_&^xs(|?f0Dpcw24Jxx03ZN=*-HS$q9j4OHzinai- ze&INP5I`cZ92r3Rg_+TSMdiLA18^d}Cu9NQZY6(3;L{>tfZ>n;*gatsK)o+8fWsZc zJz-`vK-?DyV8$6HfaIQ_2P~@h1q8@RlkW-n0AB%I9;yIA&;wHUg)~6EC*%Os`vQE8 zO6AG-1TBC%Zp65su*KhfiSO}XP@XeQG6OCa_!|2P&LVu@{9w|C-eJZ89RYYsUVTFV z6rq2N-AcuA$aNPSNsp)nZ0vQh<;50%ck6q6bsowJjtBGr5OV-&2oF!BVB-ZyhnFed z5h$Q}G6g*ZLXgwaV9Y;<45Dxlel z4)J$fUNky@_}P#EIs(uZ0NWlH(31htJ1BpU0Cfp4wt|f=twM18w*D>(7~m}eymwL1 zqky9{K%)RZa{+@t5m47EVB5LJwsTJbY;+mmbJ&BB#WF2E&QmbQ&xTwDe^4I4 gE4_l`Y)C8k4;`7^UT|+M;s5{u07*qoM6N<$f`>qh_W%F@ From 3a253ece0f93a34c41b2b4af001888b902df2c37 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 12 Jan 2023 19:04:49 -0500 Subject: [PATCH 38/62] Fix some colors in crusher.png --- graphics/berry_crush/crusher.png | Bin 2496 -> 2502 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/berry_crush/crusher.png b/graphics/berry_crush/crusher.png index 03c23f8b57ce792562a425a3bb29a7b84da5ee97..6a57360a7198fa6c05d0b7b7a6eae754c4d11618 100644 GIT binary patch delta 1980 zcmV;t2SfP46UGy;?E!zpNkl_ww@6c?Dk-(@}f^AS%5x!h9`A z0ciRJKp7GMkzWMR@gzaz%CS5kPSE-85HR^sfaq8luLWAq=T}u-vxKg~4RBTQfUc`w zUby^efFN*P===tF@c}@@(|zyl1G5Vv0FKbrGXG0#KwkHqAaV#I0o@N>CE~?uGXQe) z6Zw{qSU?Lpf1`h7ew_i3=gV08ORDyoAU3L&-%SH#etP?72|D#nMh703?+ZGeU&oex zM!qNLRDN8r@P|QhOX90}?Gidze{>U}ma;yUACTbok&AC!KohL4ZNH&Xgw7shQFI_! zE@J>3&k($LQQun!NVP2_@BkgJ&cU*3N>KUoENB5%(C2>xbQA|r`PB!i$``bd&j|Xq zOrRHSdk@f%cpx-()Heno1XBQV{}~0;OuiD>ReqzpKmxP?0cslmRh3WR0FBCD{y?=< z0>1_1FtmV(0OA#a0$Lv+^SyW=RCpi*_})@LP4Z>a^gfz5xX0uE4rh&Xx($gfhzbzNHkBhdZN288jNkOtH&pmzD$yP*29T!#6}<&Q+Z zJD~)E8XtdONj?vdC&@5>nacM8zMy@N=f?q_L4TeDXzHeE-``{LF@O=kUw%HE39JC} z-yMMt3;?i#){L)V1+a=BSuEdoiK1&q59F$BXMmGr1QCB@V+a922|@s7^gaDP6MzNX>uZ>81uI#%+wD40YB|)Ix3^bS4nU5n-sB5Gg3zp> zZW9QzTsD8e2~U!?0f0*qu$}^h z`5YkwfOi2{cz`cp^Fu=p0Ht5hxp)j>*oW1l|K1NIfE;!u@ zME(v7B*3&_Dm$#>F#!ll0){oYtlUnv1x5Kss6qg`x*EV>1ZCTA*SaBq-mFlqGr#=b zMn4Su{a$b5;dn3we_MTGiU6eGR1i-At9~y9dp{o;0t5w|&bAM;079_m1qgv12rxL- z9e@o8_F+CnsIq_+0FH$M3a~wh35df1Obd=>gb)BdxbCkBfUN*IvN-~i_fbmlGta0Ke`03bLbK|r94 zG(b&|#iozEDI5S?hy4&-O=FkREI_;s1n}GAYaIEzD^>rHdN^QY;_;)#lL7JcHPpR; z(NtbMNxugGf4O$m+#-Cu%~m&~vj8KrW2ZMC$HT4gW=03Na1Ow4zKMr<8u4!#AQBz| z67e!tJm6`-cAEyI*CQIZvn#UyBR>T*#o_F=nF#%x)FLk*8o1qtfc0j>rV1xURwhycur@%w=sz+a>md;>mlJ^{%0qYmJ|AD9V9y)Phu zt$9U@0QCL9T>yOZLIJ&t_W|7dff7LSeSrn^e))j#{lE+WjrRaOEdmG#1%UMXf+;}k z{Xh`_fAaasas>$T5rBU`kPY}3muQB$B$;XX@pQG1{D(t7YA(X3 z;{^cc0ATxT0Z-_F&eyFMW!?*Tfa4Q8Aojfhf1C{9L;%O*^E#mN0iXt&_W}qY*7mdx z$YXyr`(6c__W}+eSN5z9==?N5%~kX&jJw$60{$SiAPpdZ69?FA9}Q3^A0BY}DIMSe zLk#fn4(R-o4=^qG86EHdHwPGgQU}J12e?iGvN~Wsmji~Y1q=lp@Gr;X#lIYnmpEX& zauC1(S3cc>t#`gN+aFf$a=(+}0B{4MTd?)ccV_#efXU?w0M{D={2v|AEx4}(;fMg> zZovY863pvBd_)RxP5??ekQ`A2kb=Sv1osKW9T=||a4qTpcb_oTf&T!;o19zKL$YfC O0000vsF;Az`mLL}yM$LB_4Vf!vFSQI z;_~CgJ+B9zKWt3+7{km>ppDKqJbHfZ;x7B#Y}s>pz2pX>@um#Z_uRVusV3n==H;*P zA#2K>?TQdqM%?wd`z}+gtvKNqLq7I?JbCxR_|n^sZniY#58>>stE7ynfS6lR5ccG0 zC5CR^z+Gqd2we$^UU*oy_lTKTaVPknB}CWw0<$2-E_rx9sfEl|nZdT+6uOz-P&sE@ zqb)0o&r|NMg5>t*%H*%dJ4QMYLfW{`M>jl^2CND{rzBcP_R}Fjx;#(g9px~btRh>T zVKI~o%H38GOA4Uu0_l^=^cHxZQnTVG_4pDL^Nf7_I&x=u58+-&xi-O^rS9%;@K=^5 zu47L<6h$h>wCsw%9cH|^H)n>#xed#il{WQ%^f+ESIsIpWZh6kvYE3$!GAmp(1pmRS zs#rJ`V8Bkv_U%gJ-TyBn@Z2;t=(~_$#(GtejU!19*`&6zRos!b`!Zq}S4vZcn4+AK zP-%&Mq|#@j^=SXPw1@{2UYt#XY0BR6)V07;f@IHk+R0*Pa&f9A^D|6V!i184YlC)g zOha7lQ8nq+7P59(cC!+;f-^!1l!GU*_SwO-;P*>S@X0**&_$;L+eP1@+XtUgN9WGR zdy5jvgj?~%F4%%cTrZ`#bI^rVgQJ$Lh5)mkeHQNJ5>3V`N!rLGi*|#-moS1)v&@ zz*Yf2Sriazq5uZ%yPv9$;B@X^VfB*?Uq3(Ea2Y=i<3oFRm-qyI)LV9rH$v8Gvx-Yk zZd;PHCO`;e#EqQ1EQN<-R2Zxf?=eGcq^zmNW|L)*mH0GsA7t`94rX(+AAN8L-;TI8 zt<8ft%BKyF=`hAf2koON-%r>Ay_(8O=YC4XU!P~^4;R1ut;A(=GO^4QGySFRsgam) zt50N?ahoZy6HrT(J ze%%O}`(3+Y&vj6Hz?`?y4@|eUuh?a(m^gDlrukROhSOii&Y#_J)iK|p)M>9rh)oQe zlv$I!MRQd7ldI6HRvD46c?+t9j^5;|C)zIE>y3BNSz-*q92+i(X#+;nH)nD<6%f;? zWCLy_XW+hz=dCS`eJMP3ga1;%T5O_3$AE((Ca%k`hY0BekP072-H4C;+9c7(wBX(l zdK$vpTH)vngpWwpD=-dch73J}bY{B&{xi9^18Ndo$cFG*u-X$hQfRJOl2Gi$-O+H7 zKU}0~p%Z&m<@p!DnKuV?fsvC}UY3CxbJ%ed&OvdQ?7T+OMjcNI0OE_-5kE(V+53mN zAwS4vbWASSabC{t`_>;qf=4^BL+#obbj51dLEkFjq{> z_jh?&eT0(q0yloY;|STo@<6~4eKaWo$7}{Zp!&u#f*etqTgLi>gN9+7fO`#9)U1K8 zR<{AuG`1(u-QiEC+ga-e8%Ez7vreRtK;^W%PH1=U4OcySA_AF8BfDEv`%8-|$Ad_L zfu5-^g=<-b^(T)roi9JjTsf8nSUuE^HBGJk{A8CJUFWqP|4CIJ@f@Jg^w{_*^mmY| z-tO7noq@K2oGE&CM*h7)C>xhK?M=XR`p|_C1lE~|7M5B;iwwkoM@$Oy@TRMihp>&-W+lEZB zPB*N%5SmkyXmFG0B|uF~A(`gn8BjV)G{8)Z8!Vnc$_>LyRhZM2ATYB~f}DFhpLPm+ zIS<3V1)&dgIVzeb0e5p^Dr_(sEDLCE7U=^{A+F8g7uz3blj{5YexQ?+sRI_&XCtSTPOQIOj0V8#R^vH7 zNZH90=tFT|qE|i#%LNK?-7<;gIoxafBVt?a(*E+!^@}gr-7>Ih1pUg3zztlI2+AAL# z3BZQlTWp!S8~hyFbt|_jbGsvtRc@uv!dytk-#T?lF41W2i@DS(Y^{#)I4S8zA4#%I zd!8!9YLRnjDboE48Hk1UnmJ3`prH=hc85 z;b^tlDk^Ye)euuAMR66oy(yCYav-R+#uvMwH{w<{U2Xsd)`Wpzag15U-5fZafnB89 x^w`1v+yf->eEJ|Y&}~W8(qvxiz{>XIcityG^vY6?Y{>=xx7ByYX1Nbf{0|_thw%Ua From 52e00ac60381154239ced10fe255764c573c5b05 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 12 Jan 2023 20:51:50 -0500 Subject: [PATCH 39/62] Correct colors in summary_screen/tiles.png --- graphics/summary_screen/tiles.pal | 131 ------------------------------ graphics/summary_screen/tiles.png | Bin 1633 -> 2213 bytes graphics_file_rules.mk | 3 - 3 files changed, 134 deletions(-) delete mode 100644 graphics/summary_screen/tiles.pal diff --git a/graphics/summary_screen/tiles.pal b/graphics/summary_screen/tiles.pal deleted file mode 100644 index badbfe53b3..0000000000 --- a/graphics/summary_screen/tiles.pal +++ /dev/null @@ -1,131 +0,0 @@ -JASC-PAL -0100 -128 -180 180 115 -74 65 57 -255 255 255 -222 230 246 -213 213 189 -246 255 255 -115 106 98 -98 156 222 -74 148 189 -57 148 164 -32 148 139 -16 148 115 -156 222 164 -98 180 139 -49 139 115 -0 106 98 -180 180 115 -74 65 57 -255 255 255 -90 106 0 -123 139 32 -255 246 205 -115 106 98 -90 222 123 -90 205 98 -90 189 74 -98 172 49 -98 156 24 -238 164 255 -189 156 164 -148 148 82 -106 148 0 -180 180 115 -74 65 57 -255 255 255 -172 180 172 -205 205 197 -246 255 238 -115 106 98 -238 222 24 -213 189 57 -189 164 98 -164 139 131 -139 115 172 -205 222 123 -172 172 148 -139 131 180 -115 90 213 -180 180 115 -74 65 57 -255 255 255 -0 0 0 -0 0 0 -246 255 246 -115 106 98 -222 24 238 -189 16 238 -164 8 238 -131 8 246 -106 0 246 -172 222 222 -139 148 230 -106 74 238 -82 0 255 -180 180 115 -74 65 57 -148 32 172 -189 106 213 -230 189 255 -255 255 255 -213 148 246 -189 139 205 -255 230 255 -230 180 213 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 98 90 -180 180 115 -74 65 57 -255 255 255 -222 230 246 -246 246 222 -246 255 255 -115 106 98 -255 205 74 -230 164 98 -205 123 123 -180 82 148 -156 41 172 -230 156 255 -197 98 238 -164 49 222 -131 0 205 -98 180 106 -0 0 0 -213 213 205 -255 255 255 -98 98 98 -230 8 8 -255 189 115 -65 205 255 -0 139 189 -255 156 148 -189 90 82 -139 246 255 -24 164 213 -255 189 180 -213 115 106 -0 0 0 -98 180 106 -0 0 0 -213 213 205 -255 255 255 -98 98 98 -230 8 8 -255 189 115 -238 238 172 -164 164 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 0 0 -164 0 0 -255 255 255 diff --git a/graphics/summary_screen/tiles.png b/graphics/summary_screen/tiles.png index 2f9f8db855b60a1e9702b81b5ab03768adb106d4..915742f1a7c33bee007aceb40e878185e45753ba 100644 GIT binary patch literal 2213 zcmZvddpOhWAIIr2U;hOJw-onM|Zc z5GI38=gR##A~z17%wZdHm|QuZE@V5hnSeoG;HeCdz$PPViH4`j6Q~k8Rpd_>IMTU9 z6(13C`5aC#g98?LflwfkG^!DmhF8gnGLf5zPv^5!*-U{%o*)o#*r`G$Rkpxuy45T- zqSo+oqDo|_;^S1QI5h*P1#&r?qh$E2f&uc2=a2;=hD<5a%z?-_Y7tw4C=sPl_RC}; zGU?O>f6csVwfxt-h{RvXr%MtNguxuHy+FxD8tE#&qdXNz=t733TqcufoauDB5{E-X z%uNymutf-$BccYg)d-O@F?*);#gga@#9{o9!oGADx_!EI~p4C6}^R`n&5p@$K?| z^GX4}_V-O&|7abbX=zTZcj%KY64(#rMxsJ1t{#8$$fjlJN1emh9G#jwMG4!IrUP=W~}O%dVA*J5se zVP(z{n(D;>Y4qbu?LBwfUNr2sf!kc^re#o`ue-PflVz$a4${}d62s81$Dg{qG*dK` zoY{q|A_bz~4U=%Ys_KCFo%miVcJ3Jd2o^oplzqQ>J~6V}+;%4BkO zq*k=@T;@AmR&n8h36N}OiB=3;D!TRD4?)`!#dDqu?|NEOr1MI>qBmtL2YRS?vFkH{HEnOE6{=2a{H@(YIdbY*H7^0ZlXo!$xEQ;*R6y~i*!M>R%23hP z(Tp(k=w}e)ku?>hGs+~3D@pK%rQo2gY7kXdU%ydQ*#5;Iz9EOQPIsn zX~k=i?5qd(p$%UR>|eWS8?Z$AE>i5NmtKcTE`+B@BPg|vb-r88f_t|+ga19g!|AWU zh-Z>bA#Z(3mlNmgZcog)k~BT14lH)vT0(SB+ezVyyjCjLHypgxw;~3l#Xa*N` zdt~aYp(tiAY6~xnpi68F;dKspQ0YVwVLL4@Yp-7R-KffP=y!@F|0>TIWQb~QqSrl% z)#(-mtZ$YAoq;HuTK}V^7#kO`JxnxDL%k0QwK|1<@c;-`z*6n7OZt+ z3_NkA1@{)ZI)Rg{%D5qic~3O=H;(1wFKa3|E&gK@Y@zWWz%+O;fKoR<{8YVe^}6JffMzf0$o z=1Eq`(q?GJGH9-&UHAJVP}(3zOvHmikYiZX>aw(K(7`Bc=k3vu;@RGNNdzlU zyb;ZlYhwW?Fyo>1Qn>wFNH*8yO}Go3)Y%TrCFi|IucM~uUIk^bDgjDNIEF5LY*DXu z<+L_%sA@@R3WvU}ORg`8K;^q{O*NJluD)_)1|8!OwApf(DUU69ygdr7vnmy{*S!8u{! z@%fjGuMo{KA1fFM>oU0$?z%((?Yw!IGF@L_!FhTavm0d6(EX3&b3a?{9TBO=F@5FOe&68$J z%f22+{q%DXNHY4nJzdwXA-`prtei8R08vU4F@UymUjXRWwMk2h{vqoGyEeAv9swMB!JczBYYJ916Mp`C Nep`0>RCv=;{tx$=2_ygj delta 1580 zcmV+{2GjYa5#bDw7!3pi0002U(dUc+001zNGBkf338W7I00rzxL_t(oh3%L~l#32sNuE@s?% zetv(E&gYBN8MX}^;1yV4emf_d6#)GH9Imh6bX5x&S`W^hH35DExOZU=-z$2s^ngVJ zU<~)>wE*kELjc=&5PYfA$-aS zX@sBwn|m(@@b#bon0E%OeF&?5fO`+PY6JxTIsgoZ@)xl80sMgHAZMKbSy?|{;TfL~ zzJc8VP)Kb6!*+E)8o7EH@VOJ<`t|ke+l$)^1l*n8ovv5w)mDK0%l*r<@!1#w$2)(= zJIlp#u^nJOzl5PhfFRge!u+-waPI+E{QzqZSY6NOdr)6Ktf1{K2;Rbw`@9*D`g)L> z{mU2TZ2Tfke;uXAJ1^7a;$;Vb8(FK=T<;lk`@y8pmfpRE)8{OWLuayRh316JHozHQ zcG}1QPg?*7Il%J_aP#iwT?QDo0Azm-FeCtK0X2~W#4Uhda)1K@z)A&E%77=YC$RTbM1KjOq1c?yIeag;P#Ulq+1#; zFmQ%*kU^@a)2W{R5q7X|0e~+T0n-!+)9@#-_pr}!hl|+^_xG^RaDNZ`EUX3S>7VI? z0Eg+}VRHBYKynC{KA;cSPC9>B+6L%q6#!I*lQ&0+KEcH!IAX8aDZJJ?IeK%#GY}g# z{tx(X0ia4K*d}<4V2iMBM7n5n%ib;BN(MTTk=vw%lZF;q0zf<7k}?!E03EqaYx{-r z_ia1hidp~=2t9=tbpU9$9+m)MC}Bf}WB^{&dLUJOAE-#Et|8O`pgDhz1UixRcIka= z!4PV*06i|XjHSX0XC(l(NPAby3cxBrc?HychO`oS#bgg8M@|Q%0M2&>zz;aZAR-5_ zIpprK{Uk&=1owbbOjH7R1rQ*P%4ww6DFg(FJOG211rMru1ff_R*bo2^m-|3(0Dw>m zA?Qj7GE+b;Af~&hS*w4TJiz8xWeTvmD4Ar1z+=iPMrMF6Mp}vdF^5hzzl{K|0~wVD zWLH353x(i10t5>Mf1*zavE zfJrgOEg?)`?vSeDVN%R-TNb1(+ckiEj;k{Q85Ihw6g2?&GL`zuSodbd^5GW*n*g*p5H#_}ykMu=kY5Tk188v&yNRDyiB5kOeksuALFE6vKve-t=tNCK z7z#B}ZrnF};1+=JgH&);m_(s~$pDW+wF9!wa%sn_i4gFjJx;a(h=^8#dID1sXjygx zP$Cczqb5)X*auSLv6BZvxp~2cAgB}h*aZ-C|ML;l=d&QgXcK@Y1Xh4sE5^$H*P4nI ePZdq?{|yvEohWR9rH1bS0000$@ -$(OBJEVENTGFXDIR)/pics/effects/unknown_4F6D38/0.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 11 -Wnum_tiles - $(INTERFACEGFXDIR)/outline_cursor.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 8 -Wnum_tiles From ee3f5033b3471409f2de82f4c061ba2a015f6650 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 12 Jan 2023 22:30:06 -0500 Subject: [PATCH 40/62] Colorize contest/interface.png --- graphics/contest/interface.png | Bin 1680 -> 2573 bytes graphics/contest/interface_audience.pal | 259 ------------------------ src/graphics.c | 2 +- 3 files changed, 1 insertion(+), 260 deletions(-) delete mode 100644 graphics/contest/interface_audience.pal diff --git a/graphics/contest/interface.png b/graphics/contest/interface.png index 5e3b404621a04aae4ac2e18d06d2b1c363a86fda..f4ad5b8544c4c457bfff5d7d81605d181b74de6c 100644 GIT binary patch literal 2573 zcmd^AYfw{37VeuThDX9f-U@|c5uuO_tcoHgya@;~ix5yWgTup!NI-O)2wn+-435Ye z29Z}>!oUb30y>HWgJX=Z05S#@CB#7@J`fRzh=#k@nJTwxYpV9&{@Je6r@OvB=R04Y z{?Uc3h+t!qEeQZ%92ye9MpyXrG{B;MT2t}?U7$>Mupemdv3~&o7O=vj0#Oh_5Uo}# zm&-*W5tG3N2nqoPQ&1!jve|Men<-=_FquMOk(wuwpz)c4$~cC%NX`=^FoXh{S}KwV zd6^QnMC2XED{60Ivx{hmR;m_Kbvm_Dl!@>%5pVBG03>RJCqig!v|y%A&Cv2bmzGN9 zD0M=DfWhQZX>ot(K~Lk}NEvS=RIQNmIgAPr5t=6X>v$ngZcX_&xg0@?5EUpAArgkt z`%58|A2sw)r;Af683@we-foTF7v-$1tVHLZtw2N~M38{?0PO~f{14()h^kU8QX^V{ zH1oge0Zpj1Kc7tXS)N>u`u`Z{jZoQNKn4H;0HkP^0YDf45dcJrGN2~-%YJ@I{D0V3 zS}$D&0O3k#03+(#%JFh#+V3G0#jh;`%oNXFnY}hwcg^{IVeZNW6z_tPzI>T0?yIE* z(q|_}mb0rt@l&tfOYsgv@k8@RX+5vq4-V=R)Ad{8ReMFXOQIDG_%-t{UqtplsIVJy z#>dX}r6CzlOy>+d3qREEfpwEgr80nt4L1X4$)V$;D3SYkCCNy@yi-~9H z)_%mL7;aktM;Ae|E{ux}Ha#{*4*X1jIjlc+b>K2ku&eH0a3}V)ZaZj4=eLx9kY$w- z`*=X6D)BY79P6OhkoG*=aVE#JcI^Z38&%}dDLrhK-)1B7sO&v0k#|HTg3|AC9?sMe zmqh!zqqQ1$Y{w(nPX5+MV>24crsC%rP}K5^VVIU~I203>2U2eT>|0p9@@`p`4UqEl z0^qRpJ7FFp&MeYd;sKcZ4-?s{32-;bKbk}j(UpMBt;IM>-ic6;axp`7IiGd`>S^nh zn~90(J-}sZO^Pu{+z!Wjj2^i5URLz@%brk*$usT~8Y@;D`9!8j`r4Nw)KOiT8-5+b=V8$!oR&%J(hz zO&oPl@_O+NNF4DSI4~tucl`(|vo{!@IGOARFV>6>JJ6e#CwK3zwiK7T7X|+ESl@K4 z`6}(h3VWX*&PiQOPI>>nSy#jHo!($B`;eNP0S2#Nnxe^#swD$O@?^HvVhfITHuYpO zRueXp2FT<_g(5gbM7)_(Rug4F(L%@db3T3J|J1v$bFKfB>J`S_x_##4_ycR~AeNhb zJM#Jd6e!MwUN9a*n4^l3zt`WW#dfI^K@;7|w<`ep@ zX?}w%kzSFX;eN&zh-#g|v4-0inQ2UUnD{PLMWV0L6JUu$|90+if`{1COg7sMIC)Hv zbgwu3Ni6K?vk7qhxMZ4489{s71?smO`ERVPiNu3h&YFX;rwuqhV|{oe(+2zKqs%G< zQ}4U34#Lvs$vp(W)v!u&%Jz!s#-2=VMUKvwB}U%0X`~K{$jC@WOZv3&yslf#wi58p zTllNU)islM-c|@y(HPE?wSJfm-$np(kfu1?B^PHa&Ad7bqV$b!_*(b^y!|)?EW5h! zNzipCH^|MH`xM)dceRs+H+flMJD30`o+AEu$;$>D!m)zbcbqpRLY>wec6!I|@eg1- z8T5+cauYR3w%CHTceQR2m@Og5t_Z^N(moJ*+U~B{I%nuws0DnDTCb1EXl*P1>u8Hk;T8(13 zHZhoxq(g>|TcU8R9Sc4=hP!n)W^FW)&F4}Uv<+bgcXVnVj{z(qiB&3kClhQ!&w84)k%L&(}#)Rl)D z_u4O<1DbbRjruAV-yb>jkmFVQ>QL8a)gtUD^jazO=iSLog>ynxM3}}c*ga1iJqASc z6M)-Kx!QVhBp-accr5a^X}910<%~ox25T zaaOvBB0rioBJ<>JwWFG delta 1676 zcmV;726Oq16p#&&7=Hu+0000ZrPCGw00vh{L_t(&f$f;hYa2%t!1W&(l@LnOHZVpQ z1R>zHuQg2sz4Z{YITR|WA^8JLVH_O-%_UOlJ=sPWYA8x3m4gkXwWLdPiYnEI9F3z-Yt`h>pMt|Y_CDQ^|pJ#rMqc(F% zxw)$bKWtV^Kj8vA$$UzsAmA$l=(UZ60ggyUi(7+ob0`%r;HM;t3-Ba08{l`TmI81X zJR){xf)C2gs*;)?phN?@wtY2a8@s)LT_WX+KmeEHQvhR*!#>lB89;YtfR+Sa2%qo} zG53AUF9-#&27fDpytyQj$1u{LYx*P*kOaWMvaC1Yr(=j~KaogqzRmfeKC$1;b|F$w zWufN-wEvg@z=_+3>O?@c+vQoTWKRMxi6j6ML|7J>K){3~j3nmdBm*e90QL}&#Dp6G z29^+Sh!Dp~A^HiyY3UX(&Hj@rst{ zE1FYhsYKQ9W+B!}4I$3(Apm3P52FI;69HpUZ~-R8c{n*&qKD90J`u;CnOpyw4#-hy z!dn6?Teh_dM?`>(LXOHP95S{IfMsjdUXBisdBBH>qyQkX0jtZ)_UbGq95T)s)9Zn8 zYk3tln12D_lfWpLLHH@Du{aqel-WR_&2pZy{RxL6HOPaY&fstb!2JRC1rOjT3~>06 zee;kZ=J7zR4EkcO?*Tjs1vn4#55MClurvlj06=&Euv?DOtFs_=yXlBW;}_-H)w z{ybkDlb!eTWAgRe1H2?1RY*qy-Xm#vBtL>WO|}S0L-%_G+$I}jeE}XI>x68$0p!_5 zT{HmZrP&tN1R7=lID3785(-r~pt>sok9N~lFCb4gZZCLEAnkTE0Hsp^9qt9757HyR z7Jo@gCxYP`Ko)`l(g)y24X6<211!+|EIt4mc7lCyTEH{XR)vs@+6P-we@4=7z&Zqw zQ0W729`xEBRbVwD;2dM>CF&7lReT>~3UG&RK*?k6&4d4TEu4Bei<52jyRY$4)Z?9= zysGqMKzf~0ZW}hceI5WfQZIx16#(F-)_?H2(WJeB(-*J?HbfrNNOC=8fwt1cmO2{SWA(srr^iHB!Kb3b7nr3 zd;p>W*Va-KOlS>1uUZfh)#D0KZX>`B1Gqo&%%B1=cJ{_~Fg+Cv@S5WWNGIBIHh(BV zQUQRTN`wgjw-bW^oc~(@@PPqbO@*6)-vb7q6Unx(>rb-laLnSwsHqHqvI@Q{Clmnl zAQE7h1H+s^0JhVYb3~aAP@0Oc_Dp6>K9PXG)eSGEw_r`V{UQj!7~UwYE{`U*7%nQf z#&HC|d%+T!zdUd1AwbI3cynimkpA-nj&txoOEzT2J78ip6Q0umZZ3{x%LO_Nr zUDkjrZUEe+ZdAVnZA${tcG<$HACS510ho!ZZG+}zHBq$y@&m{s2>=YEpaEbJ8v_KG zV4OHKf#HZ3Fq0F(gE|i)0*n()7@5iw3AjS$Em=GOe@B?@RK*MpITCLf@w&(*$i^2ePn0UY8fFb~J9ODD%aZn(F1_*HK zI9F@HrQ*?jFcILuT<-8lQGf6N_ymar03S%ew2#eDC&F7}Y=8`71JVH7H~@$rK=Mwl z3ek)MfK+bo!AAj_QH=$t-7D@9^8}PwCCbfCo$+8gNsF@osd0HxKU8jUpsc{eMn;04)@ob#P=% zfDC~n>!^TpziE+Sd`gXcTa60X)1nhe&xb^c3iw6Kj!fktpb-;rPXh|k0Y7VzfNEV4 z3dL$nKur<~kPI;a@KA%@NIu|V0_3J5+o%AK6WtOKFnZp{1e{LZ0p0=L0sc3De*mR@ Wd1kL; Date: Fri, 13 Jan 2023 00:46:02 -0500 Subject: [PATCH 41/62] Correct colors for frontier_pass --- graphics/frontier_pass/bg.pal | 131 -------------------------- graphics/frontier_pass/bg.png | Bin 4011 -> 4506 bytes graphics/frontier_pass/map_screen.png | Bin 3333 -> 3655 bytes 3 files changed, 131 deletions(-) delete mode 100644 graphics/frontier_pass/bg.pal diff --git a/graphics/frontier_pass/bg.pal b/graphics/frontier_pass/bg.pal deleted file mode 100644 index 2bfcff098b..0000000000 --- a/graphics/frontier_pass/bg.pal +++ /dev/null @@ -1,131 +0,0 @@ -JASC-PAL -0100 -128 -57 74 74 -255 255 255 -205 205 205 -164 164 164 -123 123 123 -98 98 115 -57 74 74 -230 246 255 -98 41 65 -255 255 230 -230 230 197 -255 32 32 -98 164 222 -82 139 197 -74 115 172 -74 98 106 -139 98 115 -255 255 255 -230 255 222 -164 164 164 -123 123 123 -98 98 115 -41 57 65 -57 106 139 -65 139 197 -180 230 156 -148 238 131 -131 222 115 -82 172 74 -106 189 255 -205 205 205 -0 0 0 -139 98 115 -238 255 246 -213 238 230 -164 164 164 -123 123 123 -98 98 115 -41 57 65 -57 106 139 -65 139 197 -189 213 205 -148 180 164 -106 148 123 -65 115 90 -106 189 255 -205 205 205 -0 0 0 -139 98 115 -255 246 230 -246 230 213 -205 156 90 -180 131 65 -98 98 115 -41 57 65 -57 106 139 -65 139 197 -230 189 139 -205 156 115 -180 131 82 -156 106 41 -106 189 255 -205 205 205 -0 0 0 -139 98 115 -246 246 255 -230 230 238 -189 189 197 -156 156 156 -156 106 41 -41 57 65 -57 106 139 -65 139 197 -230 230 238 -189 189 197 -156 156 156 -123 123 123 -106 189 255 -205 205 205 -0 0 0 -139 98 115 -246 246 222 -246 238 172 -164 164 164 -123 123 123 -98 98 115 -41 57 65 -57 106 139 -65 139 197 -246 230 139 -230 213 49 -213 197 57 -156 115 57 -106 189 255 -205 205 205 -0 0 0 -0 0 0 -106 131 238 -139 164 213 -189 205 205 -213 197 131 -246 222 164 -172 131 131 -148 98 106 -115 106 148 -106 123 197 -197 230 230 -139 189 131 -106 156 74 -148 222 189 -238 156 131 -238 246 255 -0 0 0 -123 148 189 -65 74 106 -106 98 115 -82 90 180 -139 123 139 -164 172 189 -106 148 131 -180 205 213 -156 156 156 -213 238 230 -255 255 255 -213 180 172 -222 230 238 -213 205 156 -0 0 0 diff --git a/graphics/frontier_pass/bg.png b/graphics/frontier_pass/bg.png index 520c34b3dd9716fbe9b1632a26830aeb4241945a..9e7c59c97054b118279d7effd8831303a198a70c 100644 GIT binary patch literal 4506 zcmZXXc{tQx`^V2`##qL_HFipNAtK5$q^uz-l6`NiHL@0;G1d?jmA+$5_GPj}Wi%=w zYlK8hDJgq23Ylm6UDxmVJ-_QY|D1E(=XKxr`+Z;6`QxP7*_d&o#n1o%ZVPi$d*%)U z00DL+^JJ}XJ(sybczZJwP&Xj)jd_OctWO`;v$SL|82$bIrKP2@v9VrWcxGgd&hSz) zW-#XF<~kWNGG3+A_UWCL_!>(uT)G#Y$C>e(L}HE?4v)*h#ddbi&81U_IFe<~G-a7YT&6Rad~6QI*b;~H!rMDH zrN^e1)=+Rc#HRjHraI;vnA00=s+pc!W;$fTMf+=s0PuEOm>QpsA}x`)@t<@BlJ{m$ zJgKA#RdQ+{wdf8#^y-z4PyF`J6lYvd!vUhf#N<;cfsCDEv(Ogjn`!g&5FPT*+!HBS8&YjqcnAtUAgPmS!05;#4-n$F@?(7$mnVw3DoH(yG~aps zG-vgx-peQcDo5M2+7>L++A|_urLnGhPxzq#NfCsqEcf|Gk!aXpV(g2~;-f0>g?l0s z6Uw3PkzCZV0F0gt2Ub#2LiZ?kVO|QP<<@dG?gb1kZrVN@Oshu*OEE8BL#*5>IGB@) zkv%cAlyE!hB7D2dGc7n~=eyApU@yEncvr|nPpn8d5mzlpGsCIR8x}pqRAkn931P-&3tkvP_aJ-)ElU`oluefl} zQ59)bz>!()2BdP&!KW73AHNC)S%JP;tR7QGOzI#t5&sWhwrnk48dM+H=xO%11D$>g zDG?p_<7xLVLiMszBYtl#WhPa}Q+DS>&$dmp*4n_i5Unf=rSbat2IGA1*yPf!$xCXf zNRJ(Fml<}x%EIrG5II@Hsa9&lOC}7`l|ir0rc8=m>cBO--00^eUqjkSMMat82`=7m z1QD-M18mb1b#W{j7P@N#-MC9&o>h%?1PZxm%tmePm{)^4iJEGn@$OX8)mxnVBGxn0 z_^_JOPVhem!U;$Zg-%yKt?+;vT9(o7YHuZVK<)@M#w%of3SMcqxXge5`#wLO_@JlQ z!YGTEsG0MA;JFvX-a7({%)H$)p&ba;sM`%7|P(`(^yHg#< z_?2daSPdZ*y)$3E2xCl&B$I`P4w5sv0J07LGiLq6?O;O^;#tv8L>N}?i7*+ehZ5X0 z3|TWcO_N$#xM&KnxfDDre?2acOCyKl>i|*-tnW9mOv;a+o(=ihUxO6@>s}fLBk9OM zG1QX>7%g<$a)p2>A|FSR!Jhq{TH$ z%5yWGE|k6hPzAMrY?;9D zDL(-(5eis(fO(*1@gK9B`@0exu#?<*VP@(P9U*qG5b7qlDgIs*Id~SaM3SRG0~eAc!+l+Z=CZbLrsWBNc_bqYB1f9>m|%a zZ4>y-`stXxN$8PO+mymkJKEXw%;bhFs6a>j%3F9wM|}5&?LQti^JTK$u_i(GreLE5 zXZz!o(elWNPU`hW>FW5Wtk0&T5Jfsh79)o@?xWABlXp|%YcCp|V{r|EZd$P^SICfTEpRdwkxm< zZ<~eI$7^<|s)t4r^tPm233`)U>_r9K@$+OQUpBpEZ0yWUt>RN2gMurR4^s|4wB!r- zCrWUebX|u><gF=}+s!DSz?JK=4`P__ z)I4TOGkWW+xSmq}^f2&icU8Bj5cilIVSyK|$D(W2j8}f5WO^GKuARF*YR{j?nyq=nfDDS(w-5jmsCLKd z#e>!hH8mYV)N?9!O;XLL$K+tcFB}@HrKbayd%Q(Z8K|kmfpLA z^`7p;t``>OEGy$KAbF`?^)PU{dTixaZ|Yo_I8bcnl-ZBZunNF)6rG8tG{}z!=6{`q z?%4y&UuP0tG%k{IgSf^6Py^8s18=JV7N*NgHmwO9bvg>6wrja@u?hD z(xYbZ^LwDQ6wO;?+|OU6e5rmLBX^u1kjMkKAQ`AC1TNMu0W@XWF}`i|vwzCE*QeOJ z#gJGr5%9MCG!Q9Y?L}~X;pem~EFP}$h{v2`hu;*)QuR{06|GXQ?__{8-Wj0I>j7Xw zPjza%HvclxAKbcPG~Nz5|N zUgyvU7aX{dyXQrEjBM~+Q89xNx>T6Q-B1M56cXqz; z6uY(4nTV5sEQkU$yC;fTAUjG3+(S~g@PQJQL$(hcb>YNASkRA(X?z`fvIjUFQv$23 z;EDt*kSN{i;gB44(O{KHa})f51=;tLlZMx$5^Tk=T(c#H2oQiT5lQ-9>A#0NOUC!| z(raW)I}Pf_o;l?g|JYqB8gl;8*|*g}#hhD1r~`C^nD#?CVfgXLA~KAFQZZ^|b9NN}f(J zXN7%O9(+%LV!m?jfr*MLT7s{KIj<{1tskQ_kvA_oc$cB~(3AmJ=n?hHFUDIicv&GG zH;le9q45$oI3&R^kLXiD=xSmuKv0r!;Xdxugd^!Y1$g>-4)$JiL1N7+(QGm;A={wB2F(JIk>1}TJ*J``q^Yk|3~HZ9JX@rB zp9s1slTtv!Nf-4|L}sGm(lJ;0XFi4E%_4BJfL1}S-|o zi8w`anesAdZ@g_8kU-e4s_xxnjVI8=5eH$&9ipN%iSAPnb~ z+!ccIXj^@{cT>%wyh_qv-chTkWZKbHSuBSpm@NPotbHu4*97GbEeOA+49Mk;aMP<# zHvHysYml0YQ8G!iZZC%pYJBECc47lTwlx654~kvB{T5&Nx*RZbkc#J(DZw5Fqkaty zXqCk{VV=YaFc7WA{TO`Z)_*r_qIN7>pCwhvjt>3GYzwmwU@tO;6B2HKfTpg8DGi7E zyuCm$>U$MCB=c=Vz~R&HlIQ22zxflQD#{*qsZsm6g&oj5#Sau!x=~3M{v^3$w|ZhP z09;@2Wj3r8lzK|6ZZvFh%-v4zF?P&X5=>!OfQlJ=1pCRNZ6WyTURX5vv5LcNMI>Q7 zy=|4tarTi`0%rx1BuWc{ez>8+b_J2T4_U(-=S(cU&|GJ~`M2lUU($h(e^SC%rf%*1 zaOj(3QELPUliS}=?KsF5ReT{t!87W1o{@{UNl9@<3nmz!nyHN{Pa&- z-==0bLD4)b?M$2~O3|d6ct=ce)PGlWlvwc<3&(@Vd;z2{2 z7W%?IufycWxM{X`e+}%Fo<1y1YcA%cZEoJ>EHT}!b(Cz$N3WVJytRj~xUae1uHY;I z1Oz`EAw@eaYGL|$c&cqC_(L=`+~K#f@8Tw3<)e8AEV6Ga_vAH1qw`IK7IMd(K!m0g-Lox_WU$1k})*B<+jll@(GcBaX zFE+0AIYQz}ke_AZO>_z))z=Lr(5I;J2j9g`>$jI(Kvz>G1|?g7^DB3^TL`>UupSGJbnV8BuEeArrxj?r4%&!=>)-KA!y?qANc=i+E{ty$|U%Vi1`D zD4V>?g@TuePYaHofTy?F3Jd;b^Z|oS-lo5W^>f%hFU00^C|q5RQsnK{tWVdVlSDwx*>FT>#=t^9C&bgei+3vG;(JpX8D~Gl{=B=hfUf3)>z$Tt!g;9ergea zJaWJ?HnS|Ty?3TF=tiFKz-Cg?;AbH|D^kmJ$VF5H0ioqwDj4;_BLXJR;J5#{X;lAC zv(sN0;|=d4WyNh*)>Gn~`u?nLH>wjt-*S?7qo3^MUo_#!Su!UWjox`GsIYH`mv6B= zVEYvGbBX@B^4C&x>W9P90510S<9)u@sDGL}61k8vA^2u!%aeXuzbWqSRShv`qdr3k-dgEhq={=ueW>Sv R9P?`rERNfl)|q%D{0sTmG=KmA delta 3976 zcmX9>c{J4h_kVw8%+N3fjV){0mn_MaFm_ooVLWy-ND^7HhUPyLZR&6lZ`$`-+LAOQf^Cj4&gHI1Aj zN2z?3dEx-zbWWI?ILF@WEuaRAeG=_=sK;fc2^s+3Ew-F>kewP^v=(5Gn=dJ6Ls_L0rUs|CbUtdiZ_27t$#OKkKd%-@_txS z_Ey&}%JqbATr)2fWi1WQHHXv!q^9qaYhRtk#EHqjP4?7e_p*_Ae$=%cF8U zUQi+qBX5Zi0t~#g;Y0@dMKfcuSqIqCFUUoxObR4=9WgM0ns?qc`-0VmMqgk!_>zsS zl!!)-#K^e;#nJtE*g$SUI4A6Ou0JBBt4xUMLSCH5Hotd*^sKv z<-RJ@XTMXcYW~O(`4;?m1_YQBV%=q?r-Dmw$q!oEuUQe2MG*Pdg=2dUz}N#%^uT{O z#W~PdjgT9;y9<@P7b9J)b@4jPsIaN7&y}3w1tRJ?n1&zJlVZfTkwNaw);cE%JYb6Q zJ_HS#cefs%pW@y2+a1JV}g?|2>0vC$CHA=#*DmzQS%9Csoaf(FJ&<%tZ zYmp3162J5PJEZ%ABueOA=UHz|tNNil2C#j2tP`Y6jLA%|}KZ z-$92j^@j3z$k0FvmcDon?fPa_nGZB&JitV~DY`#nJR&;~TevoJCOeXaSe;gW6-Cdo z3ySp_Dr$ROIk{3+_l`tY>(H%HY*zkfvw(_#JF`H%4-lDrR24AiB?~B z-r$MV2-%dJkW6Jg;3y$|A__Kdu)q>`TBwgh9b^*_zRk)bWvoEUE^xp;2CA2z1+<2L_lo4eM<$Z&s!HojWga<)Ne z1aZn9jR8V-ucL*ahU;)88r%g!wN3OZwPB;sq8zAUFt)LaaJBAv=g=Bcs~)edB8{Qj zHa~t^?FuT59F6p~H+kIZouO;^6Aq-4o5 z$3T@pP4DhDW$KN~5#@&>po`i1CS1}v)^>4oE|>Sy(~@0sTFbBO)wp947*XcEUF^nG z(3U#daY!ChCFfj!y1b#B)-dO2f96jen}_ALl^vymmHcczUZ%?(RChuVH_A&rS5>3c1W%WYxDas8 z%BOP>Mhekt14j^lr-ST$fG&cXasHLb8mC7~!0P)-7UTU7!M^;3fhw*VLqtW{*H=un zw5W&sn2k|Vs&5nPxe#XtGeyhzs7vh0nc(!xwR8}zqDnr)&6{H9c84Ovd56*{ek5u; zH#phs*gdY7_ZyG$iqJEW#4sc6miH9YtBa|EV^*6U2e&UoPF}IsPl-RR_cLcQ{FKPG z5;E_%*q7qH_LV#-oK_Sqcji}-wQ|eZogtQ=da=5L!oyS!RB)A zIdqs;7F;amcFw44G++K^;x&<*8<(prGKC-T--rwnciLn*Zv{MW*VSbiQvd$5>9OF9hpNJ5 zFN_UV^qp|ABKQSr(zngkZcmv&iApNQ<)@Dv07veg6^66+WAgG;7CAAG+_dc=GdEz4 z`xQ2vjQn@pi0@eG)s_`J{HbVsW-3}<9II&Kobe^;{LPNlG-ObWqBO2E#Hbc0 z3Kq>^N(ZU6YQ^mSWRVZUKOyW4PgQ+huS?kHRD&MQH}iad{yv?*e#K9r7!B}UZDE2B zsUD4n4nC*eb_@HdCuTk~hgFP;aFud;zO{)Ihg1n7EWc>Lj*s9!YqzWl#+G6}9D_j2 zC28;?eDq-2jA|2u;O~mV5n_^US$}@0-Qp)g44pOHECbn$FpsHmjA1)OfxU z1%7t4>&lwJFL&32@Y1{*3UE2mOX8lAi$>*ZaoS(_JF%T&PQ?uo7k|EyJRI#mS7>$s z5pc6V4uu~vO7r>>qz?5&-fZT)Rm)5<;s|!A$a11DJ;xIscHDq9ARZ34choF*;qld( zY{gKX{q(y_E&Je;afPs#%cU_IfJOCCZty>5%wF@K9jd!qX=fc#T}daya}7VWL5bP3 zL;T?5Q21)R8BKEhtNPeODEmaFgFCZ2Tfq}EPC*lKs_rQg%d*}@l6#r9zP~frpy2JK zV^907EGi~}8GnTzsgR_;a1Rr1>%Esc-W>1iFZ>gC&d9)lk?GG3Hd^uiBGM&uX1+$Y zFSWh{Yxntqdld1f8#~|6<|A%g&IKc$n44+@ie_<20k<8k7qt2H<-NmAPg!?XZUm~K zlz2f@IpE73a&KB_vmZ$;e(qq2-E0+Xh4_Z!T((Bc+6E(ssfr0X6PvF^IvYBcO2lK& z52D8fdD@}4sjm@=cYgT|TdyMMXU()CNpE%ELfWV|2ElaO-;s06;ujMTh9~|U3=6Q+ z(&!R(e}MRL1uM1vS;7rjSVS@L?T#1uNcaThO$z}FJk&C;@FFPD<5|J zrtc+3E5Nc~#q;ot3`--tM>CqPHy#>RtFiTzo2?p2O+Lor|4sRUTTKgJRPei(>{Z3h z*Fjr%lpq!iRNDCjSmmvACsz3)OGOCt7t9U;u@o}Hx`H;GP%;i)zqx8$r=3??uXH$b zG~d>wplV|rkH`3wai`cG0!~EE@i_vi>7w+bPR*^O2)zrv&`}jc!cK=ngc2DTXQ|$_ zPNEv`S7dW<{Sh3O7eU7Ct54m8`+!(S7dqVub-z&!E*3uJY?5l*jh;;HMPYPQn_~B` zBq)gqE3q5bR9#qp)A}c+5+!~i1-D#d0)W*YX-r3*!4zism)~J2E@t68dux4I3a~$L zRfr0Az-&>@8+8PoSe&`VHEwUlmh%WTu#*0rcENM5A6rWQ{T~=>GR4RG#0Vk$rB;Tq zp!T%N@qko14{0QC@l+C-XAVW&7v8PH=PWH^dJnO@GRz3@Y@9VvouFN4)FXUvS`)wX z{(A~je>9@bpkHn?VV2j46*nykuCIbEx0r=_AhoOeKhQ3J!#s<+=Ml~(WmwA^h1D2b z7_#f$QhNGi&8FpDMOHt?K;fciOs1{; znQ_jdJyr6|Ldae)d!okwCkhnV=S@-EM$E!fa!0@@sT1M2~uMJLEoHT!IN>2ViVtyvZ diff --git a/graphics/frontier_pass/map_screen.png b/graphics/frontier_pass/map_screen.png index 5d2b4467f9b6104ca53f28af43c733ddf488f001..64061d45a9649733f8d14f73c874f3f0aab120a1 100644 GIT binary patch literal 3655 zcmZXXc{tSF`^V2`7RHRdvL(qwl5MmxPh==rl59O>DKSYSOesAK`HV^1P_jOunl!Y@ zl2KH{h(Sb?OeGp)d8Uz?lnk z0HEUTw!>E*Vfm(Dkn(fr_<4~$K=Hn=&Y+@Oe@uRdy*>S12p%3wOG{l{T`U%hN~MN} z$ICNf*;2Tf)6$YyEaoj48iuokz6_p6e7Q$BnGqf@=fz9He|R&36M@WdV({4F;#?`6 zE{yjr_aJlruco}CoR==i1XA(;@*F`|E}KQpr8>n2{U^U96U)ScuHqmz-AS(JpZa1B zqpLWcP4_J(oBby*lgWijIUHWGe38xm&HsN=?(4sKp-fu-zj|b1hFD-D;1P=B3IFhN z3uL;K!4hz~x&%DBOvoyy({sbg@#I`GmB$l{85}yf*dtfSkrvaXvL!iB&E+_Gkjdfk zzCmmTmBA|KkaOwmE`eN~d=B#I3E1UAu~hC*4l|7(&;d|B>Au6sKZ@2>*mr!~LKD7r z?`~mH&Zw>mhNj*#H@Lg9bd84U_cTraoRi%h;-CEu)Y1JiS08vz8v=;pbj|tG#GcoSiJ|y_$Ksu_baz zGx0={DQ0l+hVg28a)Vh?gV2>;hG2f*yU>D58j7M_&DI?V2B~(WMfQ~qg;F8R3qnKiP}KU)sHFmM>Q^N;6(Jc7?_3>9 zaY%h8mCk4pS3JYvuPl%X9B}v3oqSB#ZdxOsBq9%uo_axt71wgLZ^|Vt(TW;!+{*r$!{dLzK4bUc=Y4N{Cnr&m))t zvsPTj*o>;^bJ~7kLQ_tQ&TL}Pj7_sm%HoO6;p^HqpFU^Su5CS^I-gX=euFewX`i0z znJ8$O`ZFl^YbomlylGnN1w!3f9Zostx8vdEuW-5Qoo7?Yr~m#KU7ViS9rc+4bI&{8sbECK68)0k7s;{>2RrtRT?VZ z$E_CU@v@~_A|iaN1_+ZkioM}xorJVqV+Mw`AQRoA=WDdkMl+7BeoHgqN0%JHgdB!? ztpSlzOT4inIre%WIMKZKK2otM^HOu4iUC}$4#p27-UTxi!*FNT7N^-KV}$25WcSg4 zyFIdLK?7W;#cy4OfLm`N^y%mjoaj9w_8Mc^xu{hb63yE(E1`EppIl<71()2wV8K2Z zk|;v$?WgYSZIg**ZxMQ6{>z6=FVD3Yx(qp)4MpQG15YBj zxdMX8i9tB`D2Q1LSAvG1u;vy;csmLb8SyWpsMhyQLCIQp^Ujsk_xf}K6kzPW4xbJl zqT5H|;yU23qpwDCvb<6DBC2H&x56_Hwi%RThN@r$g(z~V&| zRHILBi?HD#?6~U@#7k}>Tg>AY7bBkq=kzEV`)`>KsFJnMSSl}v?C!iq1lx31UqBQ0 zp5HUVbkof}Oae(>Is~TUkv!jpsHvJ14A*&zM4*H_=D*CNxahcQwP(4B?L=mzTG({~ zZ@5x5+Rq5lV+{_+l1(7yYte(NXswElz_d%vzDE>rcy8;|YE7kV_g&VIJ>9iHOd%DC zC}7>2JAirm;*$XfEVpE%vlcj2Sc72uLU(G36)9f)3{ArQsr;DTFGS>?%%2kc z@L#W^AbetnPe+6`#rO9jDnKBfSQSi$>{cu*ZTe$77_p9!iM}w6^p&gZejR}>Zu)q) zR~b;4sY(+PkR1py()J7t4f&LPpIZ?u-mqNCycHM1hx}Iy5`2#C1VyFL3Bbelp6re0 zB9wlfyRB4K$3>wqw&3ua(%47tM>5P%ZV5$5R*#&hlG3Mdygmu6mV-}b3M`YSXI2+B zM%LDG(cTDSB(WmYHK&nVpH{C3Nb3P(OD6!b2R%gZW|Q=&evBxb7V=cpqTViN1Ze>R zRDgka`QR@&lCuK%_Kz{O3)z}LlF#o8z>&WGzHYYm2bMd$M{NbaX`{}^TYK@{F=dKn zIurJPd=&-6l!o4oaEE#l$|t;Wxsz+CrQ_}7+ExVakjCRY1Ynql9vNNLRplV@;(O`R zKcYtLYC#A9=F8In_?*@eT_cW*hWdj5xQAwHYE3%7!&ttMarawoy9*^Fb}C0ZbRKj_ z^fgH{fTC@7`f7X=jP>suSG+X1k!U^<+hV&Cgh*p9-zMzYcg|;LD`su5huPV_zd+aq z<=`#bdeaFIJ4f1jZgfrEc@Ia=wB^y56*ilL07eZM3KXoi_|_l@7a=~dUwKeBYXnQV z>g04@Pk}L|(aFjo*Y5{aIqwbfe-04&S3zEH3CP4$IUTyHmhzY>$1 z-ah-lUh|LlkZvTlV#4S0A@|6up6Dbd`pYg4E1@0Ws z#?`eVPCo!8D$kvv5<9TpJ+B5^wT!5a1l%&01O+%n_!995?Hyy&5>8_%gTKoG&q-%m z33%C&pvV@h-DSOR5qm{n4j{R|CRj?5h_KQ$2hyV1G7Usa&9i-|&gl@=d49{l0rvI> zO_#nE*KyrlczLhy@=~`~v?4Z`mf%}FrKjFMLR8&8)?fmPUm57|o~zdOzs?{%nZt8; z#`XwyzvB#Iy&^H9H&YgX={^N*42SGk)XNL?o>?0!KZLw3`(+pVA#t;TuG``>#j1Uu zHNX6feTv`@`y`A#s=0Qqd&7hIqqld55N+g-K>vnAy#q>?!2XO<2xn-Sebj~Pbxy+9 z@$Zo@!LOTM;Yz-i6-MQFllJW7f z75{=eCU%6gb#@_W%8B87@rHy>x5w@Tj+^MMpr5{Vz zoVeh(fC^i)5)Iyf>CY2uC21s;n0j}VA+T&E?MB6If0|8+k7!f43_e$cx-a|UJtT`T zxDrZIIQmIzZ0nzGXKi~D%SYqd56%lw(r=;FT&sEtY8O6xx`6oaB8|DgAxs;doxuT$eZZyHz@l)*Q87 zf6z1*jfDk<8EcQ}afg3p9apc~lBGr&Td50*S427bHsVGN{rTz0#A_G#n4hjOHggV- z)^gLg9``t8c<_~eP2kF>jtZi^yKD|VH%6Vc1^83R&^jxf#}3Of9gJi9I`elxVWzn$ zvzo{g?1y7xDbr@pG^q!3D2j2hIf&79IzGYs@ z+1%E?<$NRpAK*26C2Gfy`_@LfZDZYmD$jpeEAaaX7D@QsZ)pW{Kf&YA)$F+o!R3ND z0fBv2b69eMk$KvSjJc_GXK8BMZ0XADvrQosMtjlKTum-Asa+x#aBM;+sYP0ud|Q+w zRBo>36-rSvG$vvWg}dt? jZk}pbTy30xWnNJu|6oveXxn!AKLohDcPx#1ZP1_K>z@;j|==^1poj5Fi=cXMF0Q*Xn^R5pwPI;$k4!m@YtZJfPj!-XmDtd zXn4TD;NXb3fM}RVkl48Bn1JZ;_>P1B_W%F@32;bRa{vGi!vFvd!vV){sAK>D3|>h@ zK~z}7t(gCB6XzYr{VzQ3q~Wa%io0&W)<(m8DTOH7uwyiuL|Wra-9)MmbB9Qph?U+2 zu~LQ7;Itc)Gb!ant7>IJovUy^poNgLhqh@T)ech&q14x_<&LBkZJ(%wbi=86_W3;b z+!qIvO5Hwo?DO3{ujl=FKA+F?JeL3({U7ZA2q+Um;0r$SsDa=?13%qhpT<)SctG*S zvbdub(7-=y0Q@ZVPT2yX4Nq~kN03%azMEO ztJNz)yyz(Kns~T6fWK0Duc&+>uf_%9T8#_D1&A1m_ICiv9-yHvK!l1qH!g9Z^tlIE zS@pT#0Z@XN%jy6a@foWN5Ju{|K>Yw(*9BqNpdP?EzZAe5`xh0wfH&83!MW~t!38)4 zA!fd!@&ILf!e4F-{2_L1DWJh0Z^sbePbLB2b4I{1;ewkm-vDyi=Yl_-g$oS7 zmjKEQ%K+ShS`I+`09xyUThhz9Pz#{7fWoo>G0)cmY!fcHfvxL8*;yz=xatE$%X)yN zvD9vtH6}F?MgV-Jp&(I000HLm0=mHq(kFMrNXR2 z!S>}8{iNh5xU8xQymuy=rxVsRw4Ln}fVWuHDpfLi6$7+c1WH(H(NzEd2_p4$Vuuar zp6#2l0XbF)&jH|e7<|~C^8*%b09RlR7_xfsBPIFRx}7_$Sb|CtO>_zc4>16+4_yT! z8gSNh6^tLS_R+c9bnA%|$%GZ_o|UA&nNFcV06@VuK2p2Eq|`4#L)KL=u9$yG%-v30 zAJe0W=@>--briI7z%@`1S3PS30OrA=)S>55fq79%wo2D43;^vEJEGSRFvThWU;rqx zitM$Q+H?+Bbx0dYA;8Fg-cVjS$rZHEN`3IYW{0s#8G1}Dc2bdjfFc40QrrNLHRd<$ zY?-tbNC=QP;4P~{Z$s(K(IS&&>DQui6sgVB0ibG|BAYh741j`xvU8~5a=V1pHj9Aw zr;62wc$z{KWJPfR=cOM*mS;=9dhpVgh!uX$000_SV71zLnFK&2VpSga7(^cZDJqcn zYiO?kKvjE~Y38ibBC||m{6K!pHUz{HeIQ_6v@0O1`-;^yy!>AW1=2wJJK+z*;Sc}{ z=X+SyFs%~IAci6L6f4}S0N7z!-LcM@X~@KbG-*{HJamYzTJ;VnkcNZV(?=sl<16QT z5x`8InwBxH9I!kEiGlRyqB==-nY`_6s->9lQtDwD-OmsaH zk0C&>B*#2J908Hk^KaS!2&9qA!62C9&lW9dAay7V28OoYI^T ztYk3W2)MM3e!N`(re?a?Og9g4@yy;)0f-NdBA|;;s@4gvfFm*)69#ee4f?U8U}{#1 zN_`cWZgf4qcSrzQ_m4_3bRimz2dpzZu3IB^yaAAFR}Z=hO0WT{j*S(;01)f%k9PF$ zYTY|3?QCvtUZ+UO08aLN!u|;oz=a{>)WL(O0MG9!MWjd-wQ&V8Njf|vAwaE6U)J-m3=(0B`~GW#<)$>{DF9C0oJa-=Tt+lYG{{ID0*yjihz< zhmqAs6a=)&gDZNk9!+f?2;r*$N`?B;9x=pMU(GnryhR`(96N;DRYs>=S507NT+m8`NR(*)^tq#pqTWJT{( z>P7hGfT!Hu$rWWdeMA|T_Cao{4j`W^2G%mxO`l*lexw0~X&M09tak@A5=`3wQN%aZ zL81-i+pIV9XSB2cOcpbN_E~7&Jxk-{0XUT=jVshP>#9ab2mz4hP>q+PE$oW{_&ro8 zX5K8waFGM5=Q5c<$2=;SXYnUdK{}*`j%~HxBe0VJdl@1DWBcj(IRL=#!?0?OnHOAu zQ7oc@4z57vfJQ=ACerMOwae0UIF80&smEOKGG08hqM2r%RW7 z+bD>_DT+6t6~4%vTyz1CLbe8yEg3k}H^^K8q?~0zb8mO*n=nB$0=_&g$`=5z;Z!>S zztA67IDp|c_R@*ElrN6NSsow<%8$&=E0PIeiWH&1JRI2Ttw2T=O>Ek);a%-{;Mk6#X z!$WqB3zap@4`}HCz-hKPb(1Z!#kI|)F&Kj5xkRS~%aS=k#(S~@8UXlq55rP?{f6$u zS!b}~=@ASg9&HA?&c;jt7_F_lx{^s$&|BC`LIHe;Q1C}luoZVCo~hzNdzA}LlO!w&OsF6Ykb>bNs4*~L(XnK3O7R(&W64Z zIq=azD2j=YWfbz#FaUyDs)s)z!XSdI^NB>O@2NpKvpom%FOU&HAP1e$kT<0)YQPP}4^2SNc^eEA=8kv;PATB;ixnqV$#qf`aK#qYLmgSCt-(;0yXo z|2`6lL$K^Y5PqN}m1QE5M P00000NkvXXu0mjfh_36A From 1707f82992c83b5662b22faa43cc44c29bf49585 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 13 Jan 2023 12:51:34 -0500 Subject: [PATCH 42/62] Combine/colorize status graphics --- .../battle_interface/ball_caught_indicator.png | Bin 103 -> 158 bytes graphics/battle_interface/status.png | Bin 0 -> 531 bytes graphics/battle_interface/status2.png | Bin 198 -> 531 bytes graphics/battle_interface/status3.png | Bin 199 -> 530 bytes graphics/battle_interface/status4.png | Bin 198 -> 530 bytes graphics/battle_interface/status_brn.png | Bin 176 -> 0 bytes graphics/battle_interface/status_frz.png | Bin 177 -> 0 bytes graphics/battle_interface/status_par.png | Bin 176 -> 0 bytes graphics/battle_interface/status_psn.png | Bin 176 -> 0 bytes graphics/battle_interface/status_slp.png | Bin 176 -> 0 bytes src/graphics.c | 12 ++++-------- 11 files changed, 4 insertions(+), 8 deletions(-) create mode 100644 graphics/battle_interface/status.png delete mode 100644 graphics/battle_interface/status_brn.png delete mode 100644 graphics/battle_interface/status_frz.png delete mode 100644 graphics/battle_interface/status_par.png delete mode 100644 graphics/battle_interface/status_psn.png delete mode 100644 graphics/battle_interface/status_slp.png diff --git a/graphics/battle_interface/ball_caught_indicator.png b/graphics/battle_interface/ball_caught_indicator.png index 4eb765d280419817c27b4e149f4585257f9e152b..5473d53df88cda1e6ef5096507e75e2626a2f21f 100644 GIT binary patch delta 140 zcmYeF$2dWgsU@79T2!^XxyN9 rg!Ke}kQrY>f~i?*0>kMh28J1T*(#FzEG_{xF?hPN`MIofN@xNAH#9Z8 delta 84 zcmbQom_9+$j{yi&rtpLTDLqdY#}JO0$v^gI{jG0{zrOjOv5vlf^!W`{-&cL*$$md4 m^8AO_XIB2_Nx1pnfq~&ElVn!@@)ZX`CV0B~xvXJJgW!mrwI~dz z=c1>JV~EDY*8ZDg;5i6He;!Br@t37d4|0&(7U5tj>A0p~uCwU*=;@P! z{$}_k?`;Ux(p#{6@_Xs!^O%c1eEsoy$AW1(|1L_ktJxV%o-}FA+bRDU*D+1E%3qT$ zeStUS;`>5J+sHr7!42itSscBtOUXnyGg#X+)_H$*U&(sy@ugndYrl6an5gs5u+61# zo}}iTrbN9*6-?9E3#P7kF0J^i!Efc~kJk$wjU)dg`|&+2nR(^QV$0s*#;a>yFkIWS jL}&)*1>LRk_0r#&tCuEjE<9<-0}2pNS3j3^P6JJgW!mrwI~dz z=c1>JV~EDY*8ZDA0p~uCwU*=;@P! z{$}_k?`;Ux(p#{6@_Xs!^O%c1eEsoy$AW1(|1L_ktJxV%o-}FA+bRDU*D+1E%3qT$ zeStUS;`>5J+sHr7!42itSscBtOUXnyGg#X+)_H$*U&(sy@ugndYrl6an5gs5u+61# zo}}iTrbN9*6-?9E3#P7kF0J^i!Efc~kJk$wjU)dg`|&+2nR(^QV$0s*#;a>yFkIWS kL}&)*1>LRk_0r#&_n9W&Svc*K1}H#0UHx3vIVCg!0Nbs$<^TWy delta 182 zcmV;n07?Io1jYf77=Hu+00004mWYS|0050iL_t(2k&Tf%4#O}ELvt3+<^A{UT{xF_ zsr-?u0x422G9iJ_qK_B$dD_QGgCg_@fv6%SY(a!t!Wc3;ao^$$Q3hYuR~(~p%B>4W z8L$tBNX{I);lSb4IY{d$O>m8&jV%u53xL~w k@l2;ew0fed|M7KhZ{kGHh!0zlr2qf`07*qoM6N<$g7~vgH~;_u diff --git a/graphics/battle_interface/status3.png b/graphics/battle_interface/status3.png index 8a0db03219f68682e79489bcdf96576dcf1d7c14..d0febfb17c501b1f65d1e835c79d7dfede349004 100644 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^5JJgW!mrwI~dz z=Ypq;V~EDY*8ZD<%nBSXbD!Q9(m4o3|4wr*4>w5^nb5AS7GT$-Fm1;<#qQ^8y**FW znJhQVKcFQkec|${=e?ol87+TQ{jt!l6TiaOUB5*wa8A0L z(Dns0yKm$j_{6YI=<8><4$B3hS+yWb4w0NScEf?(sdJFlUYcNxp^XIx>jl8=J|^EMbDQDxbTB~FK9gG=OHS;gKXTKL l|ItdPLX=%4I%4cQw-JJgW!mrwI~dz z=Ypq;V~EDY*8WaGW(5wGxr-URH?RQF@AqnZ>MphfI*9rEEU1xi)G3_nEOtJ6`lKm; zGyIb8HG~?OEm%JFy!7gM%tar*{wR(Ku+;e%$knc7XEb@zq%|+6{AXOpG(9T6CtLUe zU&_Vzg^pi0{9s?s@O~9%(~?!D78}|a%62sF^1izI3d7^Vm&asY+v=^575kszyU5~v zk4m1SvG~Tj4Nnb1cKNLOeR0k)y8{_vTNtwCg8nLP gWw^EU+2i$v_RbqK^w{H8oC1Z1r>mdKI;Vst0B7a3!2kdN delta 182 zcmV;n07?In1jYf77=Hu+00004mWYS|0050iL_t(2k&Tgo4TLZZ13duQf1NIXlmXtm zyxX)PFN%01lv=fX#NdPZoFtkN<_13`py_7rn8F|xLT|Ut8=a?U5*hFlz2gvtlWA2@ zqr)zaVR44-g##+7a*dsTU@yphIyY~8abh3-(HkHB k4@Wy$B7N6r3){W7FC06mXXsFlRR91007*qoM6N<$g7}6`umAu6 diff --git a/graphics/battle_interface/status_brn.png b/graphics/battle_interface/status_brn.png deleted file mode 100644 index 8f13fe6de2abe74b24c359a6d97cea8f0da4b004..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^5)79ueX>b%!%OSShwa kc$Y!;w*&20H{1PK&%c*ffBF|=r7n;~p00i_>zopr0Qc5ETL1t6 diff --git a/graphics/battle_interface/status_frz.png b/graphics/battle_interface/status_frz.png deleted file mode 100644 index ce10db3e4e87d50b5b1c888914653d28f262603b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^5);^_VN=d_!M1|*P78<9QIQ-ygVpcgQv((tj%7JqS lkH=lf4U7t@0n8J6*%(ygjI@8Sf0_ld$UffrqJv0mNwFwWTv!^)c43mh;Td9qf+kUQU diff --git a/graphics/battle_interface/status_psn.png b/graphics/battle_interface/status_psn.png deleted file mode 100644 index 700e7038a1a86d05fe6b88104f66e0bc4f1d3b7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^5{#)>t@Kn4H+ diff --git a/graphics/battle_interface/status_slp.png b/graphics/battle_interface/status_slp.png deleted file mode 100644 index bcbd16d1db11d28f3b458a3debf8747baa4933bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^521?gwMlXb$xwehLNa7bz@v k+#~(AY#~dK6X&j9480=8lP{FBCx9&SboFyt=akR{0G~)aRsaA1 diff --git a/src/graphics.c b/src/graphics.c index 9619e471f5..580fd31e90 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -356,19 +356,15 @@ const u16 gBattleInterface_BallDisplayPal[] = INCBIN_U16("graphics/battle_interf const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpbar.4bpp", "graphics/battle_interface/expbar.4bpp", - "graphics/battle_interface/status_psn.4bpp", - "graphics/battle_interface/status_par.4bpp", - "graphics/battle_interface/status_slp.4bpp", - "graphics/battle_interface/status_frz.4bpp", - "graphics/battle_interface/status_brn.4bpp", + "graphics/battle_interface/status.4bpp", "graphics/battle_interface/misc.4bpp", "graphics/battle_interface/hpbar_anim.4bpp", "graphics/battle_interface/misc_frameend.4bpp", "graphics/battle_interface/ball_display.4bpp", "graphics/battle_interface/ball_caught_indicator.4bpp", - "graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent pokemon - "graphics/battle_interface/status3.4bpp", // and are also for use in double battles. they use dynamic palettes so - "graphics/battle_interface/status4.4bpp", // coloring them is an extreme headache and wont be done for now + "graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent/partner pokemon + "graphics/battle_interface/status3.4bpp", + "graphics/battle_interface/status4.4bpp", "graphics/battle_interface/healthbox_doubles_frameend.4bpp", "graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp"); const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); From 387ea563fc81c643bf1807ead870272785da6c06 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 13 Jan 2023 13:40:13 -0500 Subject: [PATCH 43/62] Move FRLG trainer card gfx to own folder, fix tiles --- .../trainer_card/{one_star.pal => bronze.pal} | 0 graphics/trainer_card/card.png | Bin 970 -> 0 bytes graphics/trainer_card/card_fr.png | Bin 1467 -> 0 bytes .../{two_stars.pal => copper.pal} | 0 graphics/trainer_card/four_stars.pal | 51 -------------- .../{back_fr.bin => frlg/back.bin} | Bin .../{badges_fr.png => frlg/badges.png} | Bin .../trainer_card/{bg_fr.bin => frlg/bg.bin} | 0 .../{0star_fr.pal => frlg/blue.pal} | 0 .../{two_stars_fr.pal => frlg/bronze.pal} | 0 .../{female_bg_fr.pal => frlg/female_bg.pal} | 0 .../{front_fr.bin => frlg/front.bin} | Bin .../front_link.bin} | Bin .../{four_stars_fr.pal => frlg/gold.pal} | 0 .../{one_star_fr.pal => frlg/green.pal} | 0 .../{three_stars_fr.pal => frlg/silver.pal} | 0 .../{stickers_fr.png => frlg/stickers.png} | Bin .../{stickers_fr1.pal => frlg/stickers1.pal} | 0 .../{stickers_fr2.pal => frlg/stickers2.pal} | 0 .../{stickers_fr3.pal => frlg/stickers3.pal} | 0 .../{stickers_fr4.pal => frlg/stickers4.pal} | 0 graphics/trainer_card/frlg/tiles.png | Bin 0 -> 1629 bytes graphics/trainer_card/gold.pal | 56 +++++++++++---- .../trainer_card/{0star.pal => green.pal} | 0 .../{three_stars.pal => silver.pal} | 0 graphics/trainer_card/star.pal | 19 ++++++ graphics/trainer_card/tiles.png | Bin 0 -> 1139 bytes include/graphics.h | 4 +- src/graphics.c | 16 ++--- src/trainer_card.c | 64 +++++++++--------- 30 files changed, 105 insertions(+), 105 deletions(-) rename graphics/trainer_card/{one_star.pal => bronze.pal} (100%) delete mode 100644 graphics/trainer_card/card.png delete mode 100644 graphics/trainer_card/card_fr.png rename graphics/trainer_card/{two_stars.pal => copper.pal} (100%) delete mode 100644 graphics/trainer_card/four_stars.pal rename graphics/trainer_card/{back_fr.bin => frlg/back.bin} (100%) rename graphics/trainer_card/{badges_fr.png => frlg/badges.png} (100%) rename graphics/trainer_card/{bg_fr.bin => frlg/bg.bin} (100%) rename graphics/trainer_card/{0star_fr.pal => frlg/blue.pal} (100%) rename graphics/trainer_card/{two_stars_fr.pal => frlg/bronze.pal} (100%) rename graphics/trainer_card/{female_bg_fr.pal => frlg/female_bg.pal} (100%) rename graphics/trainer_card/{front_fr.bin => frlg/front.bin} (100%) rename graphics/trainer_card/{front_link_fr.bin => frlg/front_link.bin} (100%) rename graphics/trainer_card/{four_stars_fr.pal => frlg/gold.pal} (100%) rename graphics/trainer_card/{one_star_fr.pal => frlg/green.pal} (100%) rename graphics/trainer_card/{three_stars_fr.pal => frlg/silver.pal} (100%) rename graphics/trainer_card/{stickers_fr.png => frlg/stickers.png} (100%) rename graphics/trainer_card/{stickers_fr1.pal => frlg/stickers1.pal} (100%) rename graphics/trainer_card/{stickers_fr2.pal => frlg/stickers2.pal} (100%) rename graphics/trainer_card/{stickers_fr3.pal => frlg/stickers3.pal} (100%) rename graphics/trainer_card/{stickers_fr4.pal => frlg/stickers4.pal} (100%) create mode 100644 graphics/trainer_card/frlg/tiles.png rename graphics/trainer_card/{0star.pal => green.pal} (100%) rename graphics/trainer_card/{three_stars.pal => silver.pal} (100%) create mode 100644 graphics/trainer_card/star.pal create mode 100644 graphics/trainer_card/tiles.png diff --git a/graphics/trainer_card/one_star.pal b/graphics/trainer_card/bronze.pal similarity index 100% rename from graphics/trainer_card/one_star.pal rename to graphics/trainer_card/bronze.pal diff --git a/graphics/trainer_card/card.png b/graphics/trainer_card/card.png deleted file mode 100644 index eab827246486e0896e1a177031788aff632c844f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 970 zcmV;*12z1KP)V!Zn9;Bc000A3 zNkl7S z01L(%5EhikAQgU<`iT$VUbv{5hwtH>&U{-##rhH7z?fw;X@-p z(>OqCL4tC_=q%XhCFniq34{eZp9f`l7DiF$+3j3bms6IP@S>pgUq|kx`*a!$sESTXt3!pxVsQzOBIBCH~P{kIm?C_lgWJbYe&{+#4 zQCQ#RLsn<yv!rzZ+nQzbVCDgCP3&0M)@d5}JfMEMN7Fh5;2weMl)3fd zmr9AO1-@|0_C?Y^#sYM}n_MCR;D+@Bt{ea}B9{lSu3mfZJS?Nu0`$PiM4F!ieAjcL z-vVgiEkuCYS}>`Q1?+vU^WuW@Q2^rC1q_ixdk3&{pft0(7m$kcCnXCdYQxo&Y8b%y z+1tMhHZ!=?`BYAI*GvT5n$YdGN7T+=4Y#nH3fNDzkOjcwXbWl>O&*|?L4eOf3v&T; zVo;+#0NTKum;|`X<^K=>`oA5T|2e>J3Sb5L1m}wZD7^ps0P&JW{{gQIz(2t)jW6L`jZy;m_(A9SaD9m^TuM0&P{?Nhz<=uBq!dE7 zczb~BLCO|BLLA)tR^1BmHMa1K03pSp#Y3uFDG&m8s;z#n-r?I6fU*F*DnN@7+-rc) zr5Y-`790TLlNhwBts{`F0cbyG04@HcjsV;$z~QJZsM5m`-XBj|IO-qwohanJ&|Z`U s=;!+!V8SrI3Sd$yqb5xz)YR$x2Rd}Eei#`R>i_@%07*qoM6N<$f;4EoO8@`> diff --git a/graphics/trainer_card/card_fr.png b/graphics/trainer_card/card_fr.png deleted file mode 100644 index 2fea60d09bc33f50d0b67f27f8287ea270d00a0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1467 zcmV;s1w{IZP) zNklc!=;+G%3_xQu^^~f@^9$P`? z>Sa-stHPSrdgsdDx-#>{zEa1o(;th)7gv9))Nfuu4R=~8Q#uR$uGDvzr8T`H0S$qQ z0PU>;7nwC95E1yPA4ahI{{+r2A;GKMm=WMQoahN^qTmUj#C>uoyLv{0I0B{A&=p7U zfvk5+29Z4fU`*CALLC9MZ7=^R3Xt^HWYp(X&O^yM%=-ZIA6g$!o4$Cbbs%t+RRULK zWfcJnP`NC(Iwr_}s04hymS6~iclsh@0`@`fMv`@`1y4X3Xhbv!v_=UCE(C$ABa8uo zwgsbm0w*8|T$qAP459#nZ8L!saCMmnhyeUx1bF>75}=Ou9rg4CTM(3XIdkqe68uH~ zkM<$H&1=CD5P}q_BY+bjfOadOZ5~*HvXua90RjpWPYJSC0=x$ToQ)v(xf20dtq26a|&* z0wSi#6AZ%shT!XalXKZ6te=835pe% zIUfX37;r2`V(|JYOly1qkK5<{D0WG!fJ-^&dGCH>r&%CyGr6fJP#pUWp7)|Z9Su@I z=7A*WyVwu#9EkC=tWzes6}T}^IX(`j_O;M=v4@bz%44*(E@vL{w?mHBkS=% zZ$$dr$@5!`oCuuQ1bC>{A5Wg0kqA7O+p>HvH9n~3GVzVf|6{R4Q-STae8vaWbm{lR z2jPNKmz6Ny2Hcha0&NAJQ-T11c_velM^p?!$ryCglLVUp!1A1?0;L-~Az&B0&%};& zVgz_QFak*!-GDH0qlQH zfc(&ui9CLd0Iz-C4$@Q($4>=X*8=Z}T?K9$2vnm$>vGQXTVpF8f}Uqpo9!errF7H4 z(_A#&bwmg}#%-A}yw9b;Peme7#BCC}UO%+S~}>Ue#MgUtUG^eTKVY zAOOTzz+>0gRYdRzFGm88)!8slgm71s0%jwy0yccEjr$vcTVc2>3W2$g_3FGrl44Q}90ccd_h5 zP)$J+6o^8a2Z=!CMDGKi2Rh9IC$QJVTBs)&x0qN9^-eBrIG|9^>L VLWzQB#S#Dj002ovPDHLkV1j^0q>umr diff --git a/graphics/trainer_card/two_stars.pal b/graphics/trainer_card/copper.pal similarity index 100% rename from graphics/trainer_card/two_stars.pal rename to graphics/trainer_card/copper.pal diff --git a/graphics/trainer_card/four_stars.pal b/graphics/trainer_card/four_stars.pal deleted file mode 100644 index 4e1d56b549..0000000000 --- a/graphics/trainer_card/four_stars.pal +++ /dev/null @@ -1,51 +0,0 @@ -JASC-PAL -0100 -48 -139 98 115 -246 246 222 -246 238 172 -164 164 164 -123 123 123 -98 98 115 -41 57 65 -57 106 139 -65 139 197 -246 230 139 -230 213 49 -213 197 57 -156 115 57 -106 189 255 -205 205 205 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -106 180 213 -41 123 164 -0 0 0 -0 0 0 -98 98 115 -255 255 255 -230 230 238 -164 164 164 -123 123 123 -255 255 255 -230 230 238 -164 164 164 -123 123 123 -255 255 255 -230 230 238 -164 164 164 -123 123 123 -106 189 255 -205 205 205 -0 0 0 diff --git a/graphics/trainer_card/back_fr.bin b/graphics/trainer_card/frlg/back.bin similarity index 100% rename from graphics/trainer_card/back_fr.bin rename to graphics/trainer_card/frlg/back.bin diff --git a/graphics/trainer_card/badges_fr.png b/graphics/trainer_card/frlg/badges.png similarity index 100% rename from graphics/trainer_card/badges_fr.png rename to graphics/trainer_card/frlg/badges.png diff --git a/graphics/trainer_card/bg_fr.bin b/graphics/trainer_card/frlg/bg.bin similarity index 100% rename from graphics/trainer_card/bg_fr.bin rename to graphics/trainer_card/frlg/bg.bin diff --git a/graphics/trainer_card/0star_fr.pal b/graphics/trainer_card/frlg/blue.pal similarity index 100% rename from graphics/trainer_card/0star_fr.pal rename to graphics/trainer_card/frlg/blue.pal diff --git a/graphics/trainer_card/two_stars_fr.pal b/graphics/trainer_card/frlg/bronze.pal similarity index 100% rename from graphics/trainer_card/two_stars_fr.pal rename to graphics/trainer_card/frlg/bronze.pal diff --git a/graphics/trainer_card/female_bg_fr.pal b/graphics/trainer_card/frlg/female_bg.pal similarity index 100% rename from graphics/trainer_card/female_bg_fr.pal rename to graphics/trainer_card/frlg/female_bg.pal diff --git a/graphics/trainer_card/front_fr.bin b/graphics/trainer_card/frlg/front.bin similarity index 100% rename from graphics/trainer_card/front_fr.bin rename to graphics/trainer_card/frlg/front.bin diff --git a/graphics/trainer_card/front_link_fr.bin b/graphics/trainer_card/frlg/front_link.bin similarity index 100% rename from graphics/trainer_card/front_link_fr.bin rename to graphics/trainer_card/frlg/front_link.bin diff --git a/graphics/trainer_card/four_stars_fr.pal b/graphics/trainer_card/frlg/gold.pal similarity index 100% rename from graphics/trainer_card/four_stars_fr.pal rename to graphics/trainer_card/frlg/gold.pal diff --git a/graphics/trainer_card/one_star_fr.pal b/graphics/trainer_card/frlg/green.pal similarity index 100% rename from graphics/trainer_card/one_star_fr.pal rename to graphics/trainer_card/frlg/green.pal diff --git a/graphics/trainer_card/three_stars_fr.pal b/graphics/trainer_card/frlg/silver.pal similarity index 100% rename from graphics/trainer_card/three_stars_fr.pal rename to graphics/trainer_card/frlg/silver.pal diff --git a/graphics/trainer_card/stickers_fr.png b/graphics/trainer_card/frlg/stickers.png similarity index 100% rename from graphics/trainer_card/stickers_fr.png rename to graphics/trainer_card/frlg/stickers.png diff --git a/graphics/trainer_card/stickers_fr1.pal b/graphics/trainer_card/frlg/stickers1.pal similarity index 100% rename from graphics/trainer_card/stickers_fr1.pal rename to graphics/trainer_card/frlg/stickers1.pal diff --git a/graphics/trainer_card/stickers_fr2.pal b/graphics/trainer_card/frlg/stickers2.pal similarity index 100% rename from graphics/trainer_card/stickers_fr2.pal rename to graphics/trainer_card/frlg/stickers2.pal diff --git a/graphics/trainer_card/stickers_fr3.pal b/graphics/trainer_card/frlg/stickers3.pal similarity index 100% rename from graphics/trainer_card/stickers_fr3.pal rename to graphics/trainer_card/frlg/stickers3.pal diff --git a/graphics/trainer_card/stickers_fr4.pal b/graphics/trainer_card/frlg/stickers4.pal similarity index 100% rename from graphics/trainer_card/stickers_fr4.pal rename to graphics/trainer_card/frlg/stickers4.pal diff --git a/graphics/trainer_card/frlg/tiles.png b/graphics/trainer_card/frlg/tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..5d2b11467f5ebe70e0b4c78f90343c9d56821ffc GIT binary patch literal 1629 zcma)6e^gU-6#u@r_u>r{=Z2s-bL2Krz$lSlt-~{ZGn|76aiOk>iUm4A6BO|Q8X_ta zryx$5v6s!KKI<&`XP+D~8N8rL8=I_=)D~yZ@E|8=d&1S=Mve#&C zv$9LBQmG`8G;?pkr7rpBDuYPT<(H-)%?%_;<~A6uc@mKSg$6l|?2V4@y7Znx-qzM8 z5{dp#-YAdml`MIaH@AT<6|m~RVZGN{|LlL$TLV8XAFc!d<%b8Yj7iLHIA!;25yw-*Lew#9$pAql!+qE8flE9n#>G4~ZOI>mA=NpDVEcZi83B4SGhv|Qt^6e#0H zHFP18d6sBD;hb%^;vHf?St&&Z1+u-=?F`^K;a+@x9OCEpX?M2l_r?Y=q0UrRl zgg)d%MB;OpRkOfFOqET?E+B^U;&Eu|`ohIvIt=hmS~mj0N>DX!gQ;G$Waep%TcAa< ztOw{0y4I%X<=&FjsHz{-6SVdj_6(vHAig&r`e2<`2m$Q5&CaBzf7RGAgayrS&o(u5 zjB?>k_5<~RrzG~MTacjnAD-OFqKDn|x7B@To*G=^we#ge(syf5(!6U&DTHv5%|C`jaFF#`{z7Ef&%798`kH3o6ae!nT!bOW$F~2)K^{f5Oja=4JPZJ zS{{}gVUN&LtAc5v+P|{9`8VT#%=wZ|N z8KW@Ia()f<^x?}iAN1gTO$pGoxWAbss?*f3XrK7X!c@{1m0ROoJxTdN~~ zp}jbb>gVLCN18-qatS?>8@L45hdb3=_&&o?;)gm*2O^zP7JZCwTwfdo<=;*4laKs# zJt}wNKn1{cbfxk+qb7!$&T|=rM|s{l7tG+~439Fv99(loakKw;lFtl-(;#djOCLVh z@B4wQn{*eeM|?5|;oH+mR2h;WU^>VaExx4-RO-lziNs`B)fB;MtZn2>_;`I_8E6Vu za)@p>O~NKLhjd~bv~1TbgL{Uk31EahwJIQ#nz?u*BArfi)bVA9^&ab^m+!r?;q6St z?1Qton>oV_nu4d+keCjC+O6V@{Ms9Ol(^%Z* zAGlc%iq$t~vv@ z$s1y$@$<+~%oQ9YX3=oSnMi@Z?(<|w-658p*icDSY-9_kF0$d0Lfe7hLL~ke+}YfR zx-K!Tg*MqrZ9Jgj;@Nj0C8%=Pz|Ltwc7S9ky19}FC?Z_6{zoU8#41rtO^~@c$~vXFvdC0~IK{tdeG6 zU{3UOaSX|5d^T|uIDEGJpIyv;r^V!mO8%O|1NSS_-ox`5t#hAib1ew=hEVj-{a4> zGkTm~&n}@A9l)2cPL6%Th6dZVIJpMZcE%c?eG~X5$n!~Sh%ad?-Kf`@7hWN5@<`r^{s?R^a*AH;ldUww6dpm0ay~K`upQNs_&2S?_xQoIr)6HTh-V2{&=*acE8MA{y;m$n% zH-$cVN3Wc`r6TWl?bHSR+BbeztPWg%ovkV4z0>*1+Q<)4A;Jp`AD?GKfPqbeAB0#rl73n>FVdQ&MBb@0Nw8BE&u=k literal 0 HcmV?d00001 diff --git a/include/graphics.h b/include/graphics.h index 8bdc85dc4a..45dd9175de 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4949,9 +4949,9 @@ extern const u16 gContestResultsTitle_Tough_Tilemap[]; extern const u16 gContestResultsTitle_Tilemap[]; // Trainer Card. -extern const u16 gHoennTrainerCard0Star_Pal[]; +extern const u16 gHoennTrainerCardGreen_Pal[]; extern const u32 gHoennTrainerCard_Gfx[]; -extern const u16 gKantoTrainerCard0Star_Pal[]; +extern const u16 gKantoTrainerCardBlue_Pal[]; extern const u32 gKantoTrainerCard_Gfx[]; extern const u32 gKantoTrainerCardBg_Tilemap[]; extern const u32 gHoennTrainerCardBack_Tilemap[]; diff --git a/src/graphics.c b/src/graphics.c index 580fd31e90..eff0dc6fda 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1374,19 +1374,19 @@ const u16 gUsePokeblockNatureWin_Pal[] = INCBIN_U16("graphics/pokeblock/use_scre // trainer card -const u16 gHoennTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal"); -const u32 gHoennTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz"); +const u16 gHoennTrainerCardGreen_Pal[] = INCBIN_U16("graphics/trainer_card/green.gbapal"); +const u32 gHoennTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/tiles.4bpp.lz"); const u32 gHoennTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg.bin.lz"); const u32 gHoennTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front.bin.lz"); const u32 gHoennTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back.bin.lz"); const u32 gHoennTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link.bin.lz"); -const u16 gKantoTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star_fr.gbapal"); -const u32 gKantoTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_fr.4bpp.lz"); -const u32 gKantoTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg_fr.bin.lz"); -const u32 gKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_fr.bin.lz"); -const u32 gKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back_fr.bin.lz"); -const u32 gKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link_fr.bin.lz"); +const u16 gKantoTrainerCardBlue_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/blue.gbapal"); +const u32 gKantoTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/frlg/tiles.4bpp.lz"); +const u32 gKantoTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/bg.bin.lz"); +const u32 gKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/front.bin.lz"); +const u32 gKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/back.bin.lz"); +const u32 gKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/front_link.bin.lz"); // pokemon storage system diff --git a/src/trainer_card.c b/src/trainer_card.c index 04b8f686ab..ef7cf8fb3a 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -162,27 +162,27 @@ static bool8 Task_EndCardFlip(struct Task *task); static void UpdateCardFlipRegs(u16); static void LoadMonIconGfx(void); -static const u32 sTrainerCardStickers_Gfx[] = INCBIN_U32("graphics/trainer_card/stickers_fr.4bpp.lz"); +static const u32 sTrainerCardStickers_Gfx[] = INCBIN_U32("graphics/trainer_card/frlg/stickers.4bpp.lz"); static const u16 sUnused_Pal[] = INCBIN_U16("graphics/trainer_card/unused.gbapal"); -static const u16 sHoennTrainerCard1Star_Pal[] = INCBIN_U16("graphics/trainer_card/one_star.gbapal"); -static const u16 sKantoTrainerCard1Star_Pal[] = INCBIN_U16("graphics/trainer_card/one_star_fr.gbapal"); -static const u16 sHoennTrainerCard2Star_Pal[] = INCBIN_U16("graphics/trainer_card/two_stars.gbapal"); -static const u16 sKantoTrainerCard2Star_Pal[] = INCBIN_U16("graphics/trainer_card/two_stars_fr.gbapal"); -static const u16 sHoennTrainerCard3Star_Pal[] = INCBIN_U16("graphics/trainer_card/three_stars.gbapal"); -static const u16 sKantoTrainerCard3Star_Pal[] = INCBIN_U16("graphics/trainer_card/three_stars_fr.gbapal"); -static const u16 sHoennTrainerCard4Star_Pal[] = INCBIN_U16("graphics/trainer_card/four_stars.gbapal"); -static const u16 sKantoTrainerCard4Star_Pal[] = INCBIN_U16("graphics/trainer_card/four_stars_fr.gbapal"); +static const u16 sHoennTrainerCardBronze_Pal[] = INCBIN_U16("graphics/trainer_card/bronze.gbapal"); +static const u16 sKantoTrainerCardGreen_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/green.gbapal"); +static const u16 sHoennTrainerCardCopper_Pal[] = INCBIN_U16("graphics/trainer_card/copper.gbapal"); +static const u16 sKantoTrainerCardBronze_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/bronze.gbapal"); +static const u16 sHoennTrainerCardSilver_Pal[] = INCBIN_U16("graphics/trainer_card/silver.gbapal"); +static const u16 sKantoTrainerCardSilver_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/silver.gbapal"); +static const u16 sHoennTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/gold.gbapal"); +static const u16 sKantoTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/gold.gbapal"); static const u16 sHoennTrainerCardFemaleBg_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg.gbapal"); -static const u16 sKantoTrainerCardFemaleBg_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg_fr.gbapal"); +static const u16 sKantoTrainerCardFemaleBg_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/female_bg.gbapal"); static const u16 sHoennTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges.gbapal"); -static const u16 sKantoTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges_fr.gbapal"); -static const u16 sTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/gold.gbapal"); -static const u16 sTrainerCardSticker1_Pal[] = INCBIN_U16("graphics/trainer_card/stickers_fr1.gbapal"); -static const u16 sTrainerCardSticker2_Pal[] = INCBIN_U16("graphics/trainer_card/stickers_fr2.gbapal"); -static const u16 sTrainerCardSticker3_Pal[] = INCBIN_U16("graphics/trainer_card/stickers_fr3.gbapal"); -static const u16 sTrainerCardSticker4_Pal[] = INCBIN_U16("graphics/trainer_card/stickers_fr4.gbapal"); +static const u16 sKantoTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/badges.gbapal"); +static const u16 sTrainerCardStar_Pal[] = INCBIN_U16("graphics/trainer_card/star.gbapal"); +static const u16 sTrainerCardSticker1_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/stickers1.gbapal"); +static const u16 sTrainerCardSticker2_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/stickers2.gbapal"); +static const u16 sTrainerCardSticker3_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/stickers3.gbapal"); +static const u16 sTrainerCardSticker4_Pal[] = INCBIN_U16("graphics/trainer_card/frlg/stickers4.gbapal"); static const u32 sHoennTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz"); -static const u32 sKantoTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges_fr.4bpp.lz"); +static const u32 sKantoTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/frlg/badges.4bpp.lz"); static const struct BgTemplate sTrainerCardBgTemplates[4] = { @@ -256,22 +256,22 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[] = DUMMY_WIN_TEMPLATE }; -static const u16 *const sHoennTrainerCardStarPals[] = +static const u16 *const sHoennTrainerCardPals[] = { - gHoennTrainerCard0Star_Pal, - sHoennTrainerCard1Star_Pal, - sHoennTrainerCard2Star_Pal, - sHoennTrainerCard3Star_Pal, - sHoennTrainerCard4Star_Pal, + gHoennTrainerCardGreen_Pal, // Default (0 stars) + sHoennTrainerCardBronze_Pal, // 1 star + sHoennTrainerCardCopper_Pal, // 2 stars + sHoennTrainerCardSilver_Pal, // 3 stars + sHoennTrainerCardGold_Pal, // 4 stars }; -static const u16 *const sKantoTrainerCardStarPals[] = +static const u16 *const sKantoTrainerCardPals[] = { - gKantoTrainerCard0Star_Pal, - sKantoTrainerCard1Star_Pal, - sKantoTrainerCard2Star_Pal, - sKantoTrainerCard3Star_Pal, - sKantoTrainerCard4Star_Pal, + gKantoTrainerCardBlue_Pal, // Default (0 stars) + sKantoTrainerCardGreen_Pal, // 1 star + sKantoTrainerCardBronze_Pal, // 2 stars + sKantoTrainerCardSilver_Pal, // 3 stars + sKantoTrainerCardGold_Pal, // 4 stars }; static const u8 sTrainerCardTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY}; @@ -1425,19 +1425,19 @@ static u8 SetCardBgsAndPals(void) case 2: if (sData->cardType != CARD_TYPE_FRLG) { - LoadPalette(sHoennTrainerCardStarPals[sData->trainerCard.stars], 0, 96); + LoadPalette(sHoennTrainerCardPals[sData->trainerCard.stars], 0, 96); LoadPalette(sHoennTrainerCardBadges_Pal, 48, 32); if (sData->trainerCard.gender != MALE) LoadPalette(sHoennTrainerCardFemaleBg_Pal, 16, 32); } else { - LoadPalette(sKantoTrainerCardStarPals[sData->trainerCard.stars], 0, 96); + LoadPalette(sKantoTrainerCardPals[sData->trainerCard.stars], 0, 96); LoadPalette(sKantoTrainerCardBadges_Pal, 48, 32); if (sData->trainerCard.gender != MALE) LoadPalette(sKantoTrainerCardFemaleBg_Pal, 16, 32); } - LoadPalette(sTrainerCardGold_Pal, 64, 32); + LoadPalette(sTrainerCardStar_Pal, 64, 32); break; case 3: SetBgTilemapBuffer(0, sData->cardTilemapBuffer); From 9c34bc2385bcd4020e9161a13586fe0fcce28726 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 13 Jan 2023 14:43:36 -0500 Subject: [PATCH 44/62] Colorize picture_frame tiles --- graphics/picture_frame/beauty.png | Bin 1422 -> 2191 bytes graphics/picture_frame/cool.png | Bin 1920 -> 2746 bytes graphics/picture_frame/cute.png | Bin 1238 -> 2106 bytes graphics/picture_frame/lobby.png | Bin 719 -> 1520 bytes graphics/picture_frame/smart.png | Bin 2287 -> 3230 bytes graphics/picture_frame/tough.png | Bin 2030 -> 2746 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/picture_frame/beauty.png b/graphics/picture_frame/beauty.png index 72e9d0ab760a339fd6a24e812ed4f1a328325648..2a9c2d644c4e50641762c87b78707e402172e215 100644 GIT binary patch literal 2191 zcmeH|{Zms{8pqGQN#G^~xI_X0LBdO1S`b2IQ9#U#yc;lNs3|OkkY%j3qN!Px3M&_a z@)8wX(yA+^DH|0PD%HD4m0(=W0xPMkHM_XHn5spV+PDf!cv(3cr!$?M{S$Wf%$)Pg zJoA~)^PT6HQ!mXB%x@C7kyijN*J5M?J4Q3!;{#iNP0N2mBoX3Xn>2 zQ=Cl*;pF6`)oL}H%_K=030IY2AI4f(iH zjZf%eASr_r8fAxCXKtB*lTMq(Xdn$*gI29kW;%INXC)10(r6?tBstk(goX*IowJw2 zNhP#sA*r<+jFuKNoP+uCuX$K*fLaog7HD<40JO%#$#Q5nI?X?h{xAQJ&DTjLoT)X= zw9qM$$)Ldim1d~3Li1!M%-2Az5t@I>|DSxO&aNTtM(f;97=+HXlsn=7pa1O*)NStk z1pu_9jAT*n_A29p(LI0LfCEKT>45v7PPZ(Ny-}Ybv*^|ZhanR%(txV2vfaI(H3-5VAv`cD3iXtejthsCIg{vb)mCwGc=M&{VN-ye1Pu5id# z%e1N1PmN6Z`AEsR$bud&3 z1C>n0M~#nT+_p=q{}N{cK8rse-}R7UE6Gnr?`+n;pt!Zrh z9-PYH0It*xsH)aqw5oV|9;i(0Ivs10+pr{n3?T!Rz1_5_E97Y`@|=h$Vngdg`Y zx2Pzd{+-5k>h0}FAG$}tEc>f(o1-3-`Awf8E>XNyTrXrtbn=z+w+b493cRDt>(CDA zh6({uu`=)1iQE^5N?tYJJ_;gMdlQqcH`f41LAtOd=#dLi6_fXyRqPLBQKAQ$BU558QTX2Xm#>g3j%`W>T5_0^rPT*RW z1;kb9asqU(vdt{5x)1hUFY!!f>KA4}1c$*#r*>dd;b8yg{lqkDw!(9{iLvvl%dj7T zvv7%~uMsF`!}K2@NVf;>Lx6%6AtDw|Z~JE*_|SEPr6OutNU z7jC!cNrcqf+uciu9Y=C8rTAc8AFWzO;|L>dSa66A2d$J4^gjJ?NG}1VGfi&yj+_|b z0~6z|8beqtEa!5#r1n4Lr`a5wB{m+_$+AoIiBc z^zBD|a7*=Nz0X!UClr6ssk5C{?CR&4ru=VXkwW4*KHDNhu3`M~SOu2N$M~tHzyQWQ zf=;c!^{McLkaBJQ7_ltji}9IPFVb-o(|v0sab> zUL9x)Pmj6KyoBU>ZrhSW-$9kvMu|{9U1YHhwO^q6t3r{rJLda2;}m*0mi!N0;VT|L$rjGc|<-FSHR?6*7bGE(Ki8~LknI?fH| zY_qL|0*}b1BtWc~ePa{5dUU*`^5y6B?BNK)%XD?rpcg6})}LKE?4u(@%91npFs?;NX+`uj;nd8PFGGe0)q|fRRE!&0{M_SI zlrgK};H7425t@gvmy&XhWIo*6Gr#epdF>fidngY4;{HsYPjslPuRQM6-gtlt1FcB{ ZNMY_bvQM_J;JyATGE%aWzYr^`{|&Wh-zNY7 delta 1416 zcmV;31$X+75snLx7=Hu+0002p$W2rL00mV^L_t(og{9cPZ`(!`2XOui0*c1Y5Fq^n zG+1c6b&=e?sMxWas4aj|loX0WfS2&R2=FFqFyN`+70n(fOQ!@jtGR<|AVXz2u=y{f z@4frMyW>$((}%!{EZ#@o_jn>i2OpuTmP+D;DjbGX$xl69Tz^)8z=rF(_$So$Bdw0( zF+Cd&k1e43!1=3603VpH)w%|zusos!VK|@!Kf{mjzYIh8$Jeu}TF({&n5oeBtMy2& z|6v-B5s1gbV+4lB@kjzt{4QNj6Ah>i0Eh;%qG=pb52Im^dg!a?_{i_rW|nH;RY~=? z4J2@2j2!>~bARlq=lIAs5PPG6KOS-Y?c4!msiqR6_(ipTQQd3c7ANrF0%I|S@K{Vi zJ;z6W@nSq#-*XM%V*^N{h=6b~K%fU1dSMjN-dRu6$$DDt2H*z)@WTX(yXj_jH!XGm z5SajIf%ZZY^}=|J$1XQXRgGuM9e_PV0VD~vuz`4!*?+DUlCcCZL5Lp>04PDRN|OnD z*wq5AmI+`lBs2q&pe#3x&B}7u5R;gIL5RCCp#+fx;LJbn14I&#`#=He)3bFWecYoI z@K8Xl{s)jzz58T9UQW(F889v=k=j201;})*)?)?4`vZ@quGPB!$nOudUDo#kbojZL zV~XJ;ynhZriR(E|v@b5^Ur>>LAvY2%%?V)al(ES{VgMrreCq)!4J`6Hz)42|V-sj5 z_@)NVxeS0+C#Zpe0UQy~eP$()z!?Fl*aBW4(f}-cuL0FTW&=^&4qy)*nIgy~a7IH& z1rQ6sI17W`*TxXKGC_s_2cVP9#T3&-0iU~oIe$fUA_R~jAUaS0^`M4e0Y^&csu|>R zhVnFc0P{5TDZ+CjL<kz1T~n@LbG6 z1IA~m5g{~tNQ@8!a6m{L<9tK1+@3z6DUFp(B4Ds ziwJ!S*xiHi1~Eo}Aq04q)=}0}14f z2#qEfa|Mhr=n24%;1k^Sn9&Dh%r7+8gAhmIX9|EG&YcJ*p?`H?y&R2({TgUAp?^m? zX}tNVcvS+IPt6{(#?eOE?~=v_knbU6nR5`_Q4VAa63}xvJ!mXH%dEl>sR5V~@cP&Q zGPmZ~0{~Y(z?r3Ixi};qY2YdM9k69N&Ee%}7!=+f_NqBcO<)hUb)7fYOM%4*Tz@&j_V=e_)PG=#02B_pZN2#ndjQ}@N4WH5I5gLr zuP*S}oQ;CgiqM)tuh-{cfyYYV$`Jf>(D@hq_azk!0uE(SP(lyIZ+t7U;Pv|D68}(8 zTrVlYJPt~XaPrF*!Pq>U!}33sAON^;F5Y&Y@HSy#{0`z5x~^Zt-PZhNP=A%s#L2H$ z+$n3dT)%unOaH>V^rBe8_kuYK@GmhpZ|zgjteo1fmqXoLzZSr=NAm1*(YhX&-&T0f zSl+x|z-b8ZwuQhgL{8(w{ItA!-=S64Fa!Z$8|AH<@r8Drdhgy;I<1x$P|+XCU!k>1qc zN+w&x=|!Xpn^?f*bF;Wv%+z341aixZ-eKyE#fF(M|HfzzAf=D z&powLswb(zNK~K$uIy7f=kJSy$~X>PCArbyl(vbC!mKj^sq1f zwgzq?;T>+^&?FPRK$wh}K5JDU-wD+{tcDUTsIx|;6|N-PY+J)}xa zhPbs+`rUxqFtK?7JJ7+QZ_?)xl%hzw;CD>+^e*qGhi$Z4g=q<0-6uw%sk=~4(x_d9 z`!RY;P`bk(<@*CcL}p`9C2ov)vm$r9wT3^MSGq|RUAC#LYtLM`bf@I>sVa}d=&CDy zZ78^8>8Sbd==O(8;IRozgp6W6V}#mO;K?G5ulC9JgHxd0jFEdLxVs+tFPzdWQlM6C z;!#ktNK4vhWXi|JJG|8Mf9wE#!FDI07Dk5DVQ1PSHe1M#FvY_{5KY@Towaav&N%?m zMTa-%3zev9BcBVuCd8xqwFY3J=7x|Ub8wt+do^WhiIAAF$7BY5@aQezo6hSBvA;3r z-T+NtC23kD0?IvQ=kf6*101M$5R4xv>c^IK<@rxl5!|O2O!DxjR82Iot%sGVF_$ET z+5=R(f@!aY=1Af-RnN4ua5W7oZoV8p+dg5b&uv~nQsZ!#?L_85DP0)@ zr9-RQugT``&@trtQ}F$C>Vg;(&YB&KbF0+&wlCMs7<~y`vpef5$zc_1-icq;eHr_9 z{WCJLtcQqZZ?&Yl86Y`b8E0l%bqb`nN2m-@@rIGM$E{EY&#R%Fl+LA@E+4T zm!DrC^ccWU<`r0?lJIoaJ~c^Na_8Xc;a&}M;s;?=$FG_j*C%gYa-%gXOg>Y2DL3iwgs`Ka=st_9{#=_Km6y)SZHlmz83h+ zptO3Ra(VI{d}O4WH^;x+R!6fe#IOpE4NlS>)6Xp&D65IDV(gCglaVnq8_me)Rn;5^ z4rLQpy2RI2)e`g~lj`7FCm*Xf2E&6yp>rh*eY#vF*+{)d{hsETCX|a&K<5tG=?l-e zr#5A*l@m@7H7NLpMwe6KJk55M;6g6u+su9}CN5{`5fk9=cK-6U6N1>l2OT;uYPvl; zcwV>9uixQ?`v7I%_dGgvXXI(;xdvM*^UcXC6mtzde8;W(*Jay&k!h%ZvDSG&>uVc6 z-advwqgo5RrsbAY!EY&LIc#o3*F%Q5i8UjpzVO#lD@ delta 1917 zcmV-@2ZH#z6@U+r7=Hu+0002p$W2rL00&1&L_t(og{7B2Z`(!~#`#$e1PBm;7NcK) zbwI!fywvL0Ez*{ORdt3S+!}ZB+;qr57!W|X_XV;A0aOSA=Pu45xS~QR_Z8Cj&)xB; z$hDguY*9zv^SkGHd8Ekb3pDdUlT%4;crm0Ve?IZ8vMoZuu7C3F?cYP+ej@dBI;P&m z#q%D(v{j`I1KKO!>TL&5ARm!~;qa6k`~n|8d^a4zU$uQ@%=Y?s23$MSpX%*Pr~gq+ z#|W5?FP5wwKyf~o@-@86;tLAcd{n`Wc9ksvu z00{%9m;eA!$A1&o$8EI(+dB{V<1^|%{&oPc&4rRdtKJ%@!Y2>-h!xl$0>)g0;d8En z>*Kb1`)Yi-{Zx4XZodM^(TD)U(^CYTfQOUeXhdsgt6pDjm3bTh9|VAp5U_64?z&Oy zM*v`%01$!Jf*hR;r(+!ZZYPZyU%z_<&@Unbq@)Ntuzz=X{a6G!wg7Z6#7hGJh0J8rcVcazVof#c9;Cq z0T12QpMM0%abzQ)rN)#(Xy~@k)9}5juv1lVjCS!M9w&rC+qJ(X&vpWaa^gOM3ph98@n!wK0io^l5^Th@*0N1{qL?R$q3#kLd49Fay zv<3pbh=e7aaR?aa-9qsRAcW7w24Luo)gyojiy4Q|Tq&+10#=o)As%Qs0FEX-0W3jL zh=0`h(F}lvn0h7}z;RyB087vmLUS2gJPos30u0<9G63H?y#){f>jEKCE@O+v&k%5f zVKkSp!~j%4t9JlPpb*vqe9&5kb>xU>00M-15y>nd%rHdi&UYVR4RBPak7Xp~q$5Bf zA%wOkT$cnWAd9vJAOIH7>2ryI9s$ZgBY!bNx=9EyC@BGQ6}b%b1duic5+sIzq3Ahn zV+3THduV_LSba>=$gFwDL%4`bBG~HsJJeH+>I4hzSwe zSyP~eQX_!Aw24}1(&wQZ0AUYvWJqXKgQ`X+x-D9T2-PUm$ANpA6K-kYo|Pwn1u$`= z+p`kCC0>6U&PTVjK6QmL@>$aqCVw@Hjcx}sQ<_An1@7v=4s7hfE)bN^w*Y8G zgZkX^yUF=-HsRIe&(VI70b!$c4S)gYW0tS{eD+#$>maL~U@e?0iiQY=V1z*H-I0c&~oAIehWPcSM1$0)RnF*f8 z+}Q5zv9U)1-U`fUH-{5<0RLEdbj(`H^}}@OZ>kTs^ZQ2z90gF=Rth7FMkUe+dKmDf zIR@za$B_ld8GpDvmg4AXoZxS8Ba3-)KG@tR%S7Uhwzqz|A|6c4YZ`xn zWsxk!hr#BBm=`d==4a7|7E-X3Sq@Vss)#qL8DvQV-y4VcdMU5`uY#Au(nF0n&vYB# z3k3uTb94y%%WzBUpu4vD`Dp?0wMb@d5jUdV3za2$Q3we(@yVnJhJWMbEDq(6a4$g* zBlCNBEEDGwIDiBNRXRijcO)-2%L4V_Ruu?H@Ea0fMSP8jLU~K|T?*90pt#9mW3pIf z^k4!iN#{z3h$xg}Wx+n_;VmO?aDO2bRB2`jiq2Soi28E0PkOK&gOHw$@+PB)DaPa&3kUlJ$oUeOrRKWvy}YC0&=StPEYA_r10}|Qcr|?&!ga$fQZP+ z$-dQNfOx*l+(SNp=QmADP!18Xob6jZ8=zV7ypkJl!4hl?Q+C;_aVY{lbtEPb*u?`i z`I`p>8^b=O$xzSN{TvGyV;{GQGH?h_P!7QMou1c6UN4<#?9VBK4dDnBBXah=-Wu3{ z5Z(K>cu|KI906lQUccgFduxEU&v4IsDuT689}@lnSuGR{*Ij9400000NkvXXu0mjf Dw`6rO diff --git a/graphics/picture_frame/cute.png b/graphics/picture_frame/cute.png index 38e6ba209a9fe52b8ce8eb197fc5788b9a062dc6..6d689c918d10b2613332589134a42ae0d808ab20 100644 GIT binary patch literal 2106 zcmeH|{ZmtC7RS#efq(>aDTRQ<^-5c;j0mxGF={mlQ3MHMfCXdKG`iYVrlROBCDz!UK*S=@Y-z(HN+}>v40$$AXF8qz6L$8@Jm<`O z=QH2)o%74{c|v@&*Mdb00Kh9|vq<8cr1Pb^)0}-l9;?wgunbAG5H3IDi~!IeAueg7 zQ$z^aY&MI$%jv0*Y#bz{(q`X%=QW%hyLR34lIK2Q_c*v$eV@9X*&#V8-|7Y=4l0j!`wKFYp znn)zbU_f#+(piw%7K@~6q%|V*FZqAX$Lhw^)R@sS{R@VW^DGJ{{QvsjzJO-SKXw4n z{~aR|Bz>qd7v4QGMBt~6_2g>{a(p`0oy@DelYBTo>e-C4^aI}kaowH#_mtwhQWE(@ zcy&eOb$?XWcm26k-}J+0zu7#H_3f0n=K&n5$(?Q-Sn|8I)`4p~dtH7gTXKqNiV#0~ zQcNd%BR7RL4yY!Te}bKiEWU!JXV^!&3+B1e-z$vqn|i+)VPLKEU-bg>rU3Il#Lz2D znQLKywlf;CSn2z4=S6T7IHrGvb=`yu^;3(>;#3{s>$-*=ePEAoe!7HKt2mW) z--UXppQKsAO%eaa%Y&}^2YDy0f%SkbfZwlF8P-{_k!34Zbkoh;sA-vFi}SJ~J{ z-(bgJ=!U=S^*vXZZVAC}RCm*x4@F;ddY6p2 z6=@G(>0{jy|F$FE!{x(}mO@?H(Phxzn7b#b3amontEG~B=qF&?Nq7E<HY_!W zwDP2!Q?e*fn^+)((V<6Rmy5c2tAnuv*B7mTIu08iZ%?SVZ1(O9bcL0ya9GzF1gS(T zgxzjFM>P37e>*)W7H<_r()K3R`O(2oH5XbW2I6cL4qJ#s_O#pAXRI1e7)jgi!dKjy z^`6jPrDJ#Sy>{0PX9HmQauq{U-xRs5jY;af1?u^&pZXcwfBRimAXZ)~Kg(IQS{kEN zD7?t!9l|$ny+z~8iLp!B%8(<8lgG|gp2S+OgI$t?#rqS<6Pw86b=Ui(Wad+Q7%4@a zD=W^Y=2q^*#HByos`xq-6E5Di%VVfi9NPA-W47D7f4>FStTRnq(=R0II5o+kaE4Lw z@qn;&`(v!NhSh1hfwR>rvVQ>mx3c`wOTf2Wt9>$n zTfRI23*tBg3;y9>Z~lm5{wWWy`~I;0R{}mNqhH#m8@2wg+jJuU>1GuPz$!{_5WrPF zhKFUS0m=goNJ3O{o5tY7&1wNY{He~xSUyI_^-2T2bfB*`AmbBL;Q0yZ)VaU`Rl&c#^XzkU@RUP=uRqX)>6 z1ORau3c!Nfu!xfca_6vIMTccS4d7n@;9nHL9+$`UZMDt&$i@L8*U+9*IeA8_up+9y-;^8sUReHNf*O6KUY@`BF&c|a{D{tBQF9|8~; z^qs2#yMOH%V7nawRJ$z#1gxsG2hE;!X7*0pu>~<;?<>3$08*Tw0bSR0`yoJ`=W+@R z6i^r9Bu4`voy_y9EiBF9D>q(JfOt%W>pj3uJU~2F$~aP0TMNKkz+HxqgZ0t?FhN4< z9WDvLP9IQb*;{#~U_$^_Yzcr$tmi@epBIx{DSt2Lo)2sU&`1v^0czJg00RRI0O#c& zpB+Fw254XpbPOb*eeQb)fWZiab%jUKyMWIT-N6OOj0$9$jA{tbs5}wL88AD;CIB$8 zBe~9I0@}WRRudZqKo@2KIDvQ|39>Bb0!T46nCu07EP&rVNbAw%>;lX#40I3Lr__-P zFn@Vq00cA)pfMoA66Yl2OYI#rs$t+R5be}>5n#)&1pp92;f#X-np(_mQP`1GAK@`C zaFhoCXlNI70oW7O8Sa@*3kBFa0Gbh2x#6*HF99?AB4!RdN+g$=7AXLo+E};X9YLaA z0;p?5)HRuBGKi){UIy@AIfI~?ZUZm|wSU`pCE9Edi7d?g&>?`$1nig#_-bY1B!Eb+ zp9VC)1F&}&tGOTG9xbM!ZIlMoZhFAO<^jNf!mC9ql`X72uaPP4cLTea$W=C^0f1f3 zQyKy&1D4MTPv!+Ge>wh8v;Qo49ge;7{n;2i#@)-H+))BLEeHrXL2> z@JFif0rD=>yYO%|05t}<1Az9SQ2@Er1P1{p_xbq%U_T$gQ_TTjsmnhcR;o8cfWmVD zOP!`N!<_AW0Awl+A`f_jiDVU%dPk9S^RRFLCheVa9(iGtvq>TqV{hvh0VI`20bcji s^X1*5o&b!fa1TdgFc)B&&$R%pAH^s)X>n9aOaK4?07*qoM6N<$g5+u<8UO$Q diff --git a/graphics/picture_frame/lobby.png b/graphics/picture_frame/lobby.png index 2f04105ff04345d802a975acd3ae6cb6d25a7418..bfa6c0dd9ed545053c8bafcd9c202df2eed52613 100644 GIT binary patch literal 1520 zcmeH`jZa%u7>Cbov4t|A3k7PY=dm*3GK=;? z3vLu;#KMX}EP6o@7#Us^-Kv*uSH4!VfVY_|cAb+>hA9h3MOHmtvScy-3C5GW=S|)` zdCo6ya?WOF?G4}wcmRNajD2Y;rejRS`LdbYy|ucYX$Y#?n+h&W3g-Y|gKXuYbY=)4 zbh%tKO;Z#_5Co3nMx#-u)1fG;R;yJil|rGAN~I!^h|lLUe114EDEN3j--7ZTMkypz z(4kZJqDHFK0bPvEYQYKIfE!SqI+NiEBTe8GVX+Waf^hX(Ant$$k6Qy>YG^e;!r;a& z)>aC7V1D8n4>dS65RkA!nsEV0CqkD7x-E?P(bNC(KN_wjaWJWMOj^iDR4Rz$P)$K2 z4JlV9%-2DK1yYam|C7%&x^;xxLVF%#5Hf4gF!2B9zrBGo`}>Xnz-r4#Qye;6Gi&^JPECa*tO}UX3Hk(obu+<$~M)V6UdN^HubZDPq=HgX5%vV`@Vf_l|>+jUSL z`z)d_*2iFR$HMD`S}pXFO&s&@4?i4`0cD5)EXNBlhdtEy7a>Rv5HqFZ4p~_h>-E7v z?_!C9NC|i4%}rdgXx)tC0ro-AaXVcZ7lENX&)8*Ah|J%-=S~{gMD`&7id-7|}bvAj5QYxu!$WY?$<-OwA3PeI2tv-d%aAe`IOQgzhZ3f_ulvx{87q zK=?Hi8Z)tNCZ3c;HwB%uFEP z;^A6(xGgXD4{lx$TNwD9x8s?T%7m58@AR<66Ry_M_a$9Ptcy7hE5b&DlTPev?$Y|m l7aBiFuA!0I#g##|bC;?8{Epa2>GNxUF(W-I?Luln_1|hr-k$&f delta 707 zcmV;!0zCcj3(p0R7=Hu<0000h+HZ{j001yhOjJex|Nrjp?%mzp%*@QYySu8Ys+pOY zh=_=HcXwuHW>r;HL_|b0GczJ0A`uZ00001QfV@Ef00LS`L_t(Y$HmsYZktdP2XOKR zy|!?tDvFm*84yF|bm)>7pweBuWohRw?JJmg^aAZujuK(I|Jpx=W2non5c+CZVF9W;+ z0{lFo=Ym?p=YL?U*6>pUIAfKU1boSU|0DEfp!x`a0QPaK0p1Si`m^^HAP+Z12b@s{ zhE*W%0)$x?8i6~wjR~NiYrxF+6#!90z>9bn*MQ%0dZz{OMFIHI2z>P=v;(e}0k{MW zuxtmOHnACyTENQzssK)t24F9zLR$gk6>M98biW*GntwQR6%awt2HY=&tp)rXh+2T% z%3ienA)RB>Xq(s<37xA0hID^gJ%DUPygC}l$H~X1xAOr&X`ld~a0u`?=Sm~(TQg7{ zX#@<$MXYPTNHb6!ssyx+^(LS;)_1U4a81AR3pTKhZGeP<(?4oU2{5X`c`)Ic83^Sx zzL3*y0Ds=jE3SashsSPd?+PsKO7Pg4b_V#J=0P2h4S+;I)`9aT0OvvR%`<@OPXYH% zz&${^PP1?`7jz7Qj=;kv=I(O^lQ;Wh^RP)e0sk)InPHrW9)RfxVLE*PX*%-%0)3Zo zf|pYxj|Utn%^m=LJ_1ht8L(??)1l4g$E|~bOFUBwA)QNpU_4?8^tpYOU=c7pehK3- pmf$?j_agxO2R-Nkh)TL%_ZOVP#WB{~cnSaj002ovPDHLkV1k%HK1=`r diff --git a/graphics/picture_frame/smart.png b/graphics/picture_frame/smart.png index 93fbf373f5857a31dcf694445fe08d4fb460c226..4c8c4fe60562999737e939a016bed82980d439ef 100644 GIT binary patch literal 3230 zcmeH}`#02k7so%}8DoaT6v-_nNh6oi#XXJO?_+RCD%T_>jNCb62FXZhIubHELq$j? z>7wSG8sw6S>B^YIpyU$Cb-vG>=d5+svz|ZUSGN_A#RVdh><@st7i!}GAOX?E%U0ZkVOS^>@_0Nhm&<0e zSu7TV!JyG-WHLD@D2PNNSy@>b8XDqoI4l+`=KYia-3rU{!?uvIe1;*+Cc%7K&@D29 zTgr!pVzurT7Mn$9(aE$RCo#`v@YpOayQPKQ&1MU4wZJSsOrM`jhJ`_JHyvivCs{4s zrCfL(_A~v9hm%<_oei_QVV+nEz&uk}m<&(0h?V~y{a^ZjH~(_N7rUm3-NIrK5(#Fp z;26YNKW=`Aq#AOHW!J256{?8z41{682Bi`SAYhW{V`+Z)Jst~~^Rl#8Q{ zmDllfZt=&YUK1?kl(XkSL*q(~%t=dce3aF)sHcI%DO?)U%ek!^zt`p@o%j+=ZV%VVM#B_=|`aHN7omP2Uil#T3PXM;?%6 zs(Sm=)zw}Hcq6L)eIh0H^b2Iu;wRe5^wGZMrKDqttBImlU}AN}0U)W{BmxGc3F`k& z?e~!;%AC&5&cz?7U*kY3P!Nm{x?NSG)b6oolCFn+w456~RSuWbNrY+kE$tq0w$EnGxoJ_5gfas6G3O0;n z`aD&IV$j6X=r|`(jlOCq=|C~1ER_$cPm?sMEmwV zlrNCVDD>EA^U{(VNK@`0O`l<+P2%q$o9|*>r}X`DG;;iPxKE@6ubw|GM~^)yXxlFv z^)lZgb$r+uvXISyl2#q2&4FcJ2AE&+NJDaVbUf5KBD$kQz%A0jwUu8o0%B&TBS010 zq+`9cIpLgYjD-U!1v}Ak*bvQBl1{l>ddW1eEDH*y)C0Wr9_HA?KN^iUMGW*<%Xdn zkCUUrg0Os|OAUy$JDf!>Kv4j0>%Qg;C7T+v$oa;Ehnv!u?y#~aa$iTEU|$r0h4cA1 z$4Az=(S$m|mkak3jv0A6$0bls*o~%dr||91huZ>m^%<&?ic_1pXmpFwG-aC-6w+6` zOZ5Ay(#(S)WMiBZz_vaZXzG-5RVjN4F=@dbvJ$`);YE3AV^uGCMehKLxNi(mb}Z z?jd!b_=8y@6&G8`w|8R7qHfFt^4-%^DLTY$OS&X9*#gdb?7LuPhe#sd z3q=z~s3Dcrwm^+qrCVI0LRS~u{S>>bqPv)jk-%M&&*3?0nakn)gR;9CTsa1usiq0i zqcfS!gWft%Bo$@l93-QpL$o<(C?68(x`DXSml_hd5q6AE-_`L$Yd@e(74WHX`L<6FoL(N;urZ_%d%C!^pmu!->h?^Zl=jX3aBlBS zh5H6Fdq35K+tJN`L_EPU<+R@J$j zkKK{>o<&uxGE4UQSKhu|Kg;GkP7zx6S_Jjgf-m-&^%FT|1)= zXXPc&CS( z>Kjp)A(LdB891bH>eS;MKb|#EWDCw-PmC7f*Yl)+tE~TFpR*rQUo5AyiuZY}Yra@z zTf7)hlwmwPhZ@lf_;UYfaAUTnwMTianis|Fef?LBU@StfkoJR%F+0xk zV^qL{q?$5SU-N8u{a`36ec)=vg7&eUtFN&yC873+3au8LZT8W1QSn{wj4H=|hvj}# zhpCRXltFHdo>N!!1w)%C`^Ex!;u{E|H}?$p*0Cq64%2u3dsVIKobWIv-Z4AGWS@iQ z_N`AVCx$Mb*kh;}<7Je_RN&RMF-z82nuOeF>iEpgeJ;b930ze<>773Z*oAtP_?)Fa z+l$km!3IHhsE&bkQtBUesvv@qX%(_SM$foqc<~3k%dPhw{;7P;Nl=fq%Zu-4 zg$sr^{+!)x6$Sx{%i73G*+n+&v^tt1k$=c=`58oc5Kw4$xg>D%peZsi zC7y_fgCDH5uL&fhzHW5ph{9U4IM3>57IYm0B6J~wj%L-3le3QC_FEgFOnGtKM*ln8 z)u8F^IPniQKRgtuOmrdle#dm%?DM7y5(mEJL(Le%4L}6%KF=k^2&Ud;n=?D;Gt15& zj}g?cvJe%){$SwH|D1Ra>HDmv6N9V#uGdh$AbF+XlUs}4${L_HZFB}MU;3KzL0%!$ h6Q4YFb2M&Iu0_qvBqjCf;$N4eqph1w-GKn=zW`Q|1>^t# literal 2287 zcmV>($EJ4?$xCqF{uW1CZYdag`Tm9-{ds=-y!8L`%kD7&y2pq61UTI9J~sd~@yWhEuq!|r0Rot9 zjJ@nObqvoB_jC+@EI-q`__Tj>bXWndl(r9>fF2I)QUnOVJnogB>0R6$<@rqo7-r4LB~c(A+PwP=2O&@#gEV_OCyS3PA5WfF5HS(6ns= z?4gFeCS$sHt`83PuMhHv0eH~>ywm~k>EPz*(*ZmHK*<__A?RM{vAt&Zn8rpocAkHA z6g>dgOkx4(^>hd~_TJw9(L*8hjtzhmG-+udKr4Xxp}pT+Jrn|Y8wJ=4J)MI>fl|0? zj+A;RiM_4{*iGujo>ssN04tw82EYu!^g#(ISI=)Y(l3v&60ica`4<3QYm0w3z-%Yq z|878SLt$n6{6B!#mCbLDOF;MWfJ{|3zg;i+#{+(CTYnTleW4K`1^6-m=+}->Yt43V zr<-FDkk0Vt?#MI+ZJW*n-55&%HM<9ZchGr8_`0Zhwgt6tM5@Pb&9BIDhM2T=bH2(* zaXkvFn1ld}lNw-_E0y8xbQ6$jcas}^B>=tvA%l3h9y>?(Os65OGKB9XfFyvb0L6!X z?A8=$fP&IWKt^(ly3fiaD&2L9VPA6ErIOiFtD|U@$zh=ZWu{s#=BCP|rSx8uXW=j$ zdFQ!Gqj5z?%QF4K3+Mn!fXP6iKwHS8_}g=(5=dsX<*-~^QJl2`*aEoYxZPGNN|Ujf zIu&77nbOzPl$atb*02>t^d?m3j{*XWRT7anoN$;XA^lbpfq(_oYDwBCa%Dj@QR*jW zc;=6T7hSC|nk{L^PnWA`AtpwSDmRV5zj>>1?8^rHJ{txOyL8hhEa$ zc$&L~g3~8)e=5a0;kMmYRq-MkHBrSnEN+|+Cksr0a@ObcUVg}CtC+v)q~n5nh(MoC$)e zw*$!4a>ZNZ3Vx$4+!M2@0{1+5h70HkGih4tbzMZCWi?U?sGz|b05+{A%Z%rtkb(>L zZd@gCxnpH|0?s>PxjNHYSkaIW~vCBI%ro6Zam=-=P|w1eipSFs^wYpdXlp;^;y2dz(t4~#5~hN zwEfe@G@2ajR=oD`StP#*F2qb}LNXF9+XjC=YtOFdmA`D|xE&}1V zalHpK>_~g66I#PhBEec9CK)G|E{R?}s_+lDPu@ysnqNO3y zlAiEHfaT`YZPX?>WumVFpArWq3i?dz3E(GmlobHWD1tzYIwT%%L^OI_NEk#kca%^J zWM(}gKnaKbsFOkiWFWk8r93K(G>|_5MfI)u>qUa-YyczzA|t+TiJ_VMWPs{B#GCcuLvtn0tmf7|eB7^uZ*S4Qvg1H*sA{s)iuW>Sf}PICYN002ov JPDHLkV1jt$FA4wv diff --git a/graphics/picture_frame/tough.png b/graphics/picture_frame/tough.png index c7db2e3be6dbfde3f158230a05d18e7e0fefdb82..4efccc288e4e4ebe2c8ed483e4fd3c016cab4c23 100644 GIT binary patch literal 2746 zcmeH}`#0448pl81?{}DSA7YS^K@nw#+(|Pcm!g_Vxx^%=lscw{N|?TkE}E2G6Iv-l zqf}z5NvO%V)wXR>%w`j*(72ZSCHD7BXRo!_S?5nU>pW|Ho@cFRz1I7AuV;OJc+$28 zc&jNdRR#d4`TBU$~EB0AR1 zi6~<6>T!;we5b{|MMD)2&D77;j4|?GOj%zDH#UQ2|2#r$y4zA&}6$c2(Plzkot9krJzTAp^e`0 z2h!w!rz0u=uUHoP)6NC)f)cQSaNowm&u1w%Z>-;_z3n#3&Aqm1&K?rwF6)_$`uu$- zdJX3g03h<13;Rup0l32e-=YWsO^zUu>`~j~%wC-LpIbBb968y#u)Yg!4-CN{k=;@M z^kty}7A<7CtW=x?k+N{|Vgb~;BM}C>jFGK6qu|9$ zhwssb+Gtyw1|+kkvH~(8-El+jbw`Ki9NN0|6kUyX&Z z6Dp}T2{1B7UA_e$W9F^YpJgZq-unDI6sj@1D3dg4c`}RJj8<3AZ-SU4ThwK1XAqiO zMqFH24qVlaTDHeg;G7MyVCE;!mIHXJx-D9cnV;6cCmqHnXQ1kXy>lhVFxe-JojPlR zexcc+h2eykaL-X~9e&%IF$Hj1FV`$5T0jIrxA!2Y0sr*S*TXLS=~KQ|<<~-^xo+u` zhHzLK`$|Bkz1TQuCFiYZTywAOJS)x48{UVib`l95-WhJdUiU*`Rqg!RSFq3tjzJTX zr~rYZ(Wj0|RlJ?-pMSRMU1g9_2ZZJ2{(R6b91dj=aFT{4FnevJB=atw2)jn8H1|4s zqP4h|-Qh}!N)-cDxST!f^=+eG9(6x_V@1?g6RPlZfJ)P2V~{=1Bt^#16!HA|Yt+@* z`R;F0&R7ZU&v(5o#FMB(iZ>t{mFXZt_v1lsJ^F1(>$7P{0-^gKT0GNmR)YD8J`uW) zsX(HI1`S4NMrLsiL-g*_Or2;5+MU#S56FV+gLgq5>h18-v6aGZ>3hD(ZC7TF1wTK`62hh`ym4mbiZ|I z!mh)VF#i@P00?~m6q6HrXx({6cTsXdpK6CeGsG<4$`Rn!r3^!yC*_GDVEiVi?tpM- zW4Bl8XU!I6PVJ8D)TENocmgBPc;}Oe7;ht6%vN8hwq!)%4=V>{Ygd^6#Xa>CDAIkm z&17Om%|~Rg|Jm`#?w5Uxpz8G`Pf%i%>C?!LK`*F59W(o*?R!TbJwx<{o?LrAugo9_ zp;>b5_%*5--YIF%?9s8Eh~oS`!+J7W;&CH^-|1+fkWoB!e0gzS+oXbIjaLrhUwqY( z;PPvgpCxhElmfpY*(!xnLSU#IU%qDOWXl$@JM>$U`V|s1Q1aB#cq{19f1(>`l)}z; zHI0V)L97X>z*28B1^jYC_Jutwz%(FLD?V8ix$A7XxeUlYR!2;6PhA>6*8Js0OB78@ zWl-6g>;9Ah=lr9na=F?@VqE3*0z!`i?h(L&i;2%#4fY0tkEz|g4)cB@EmHiz!0F?vF$rt=ZcU4{B5Ns||sc9)f;ddYvDHhEtHJ4A*gGV?P2joeB+e-1pIJ!E9gjpu3S; zk0MP2?KDN0%A+k=<@JQ^6<++SU{M!5lEBUPCfH}|1suZrC-_jMM+Dj%iaI|?k{&a( z7RvO6gll6G`@=FV*5Z1$GXzhOB|ij=3Zc8csVw^dmyGxVWld zz6$M=KwqW!fvcji3<$I~uNzEWna2L~>QI&8_yq}W9rad1D${J$pDj6Sf-2n zp!W|Gbh!Rvv%~FPrNCtvqX@CwU=3&FrEr>&_@rxgO6d}%fmfo77CZ(nqw#GMwKYj; z(A2J6#|F1CzmuevYTAyM?1{OgO^}$c=t@wovFti=*$&yTJo{oKAP`w*X#6+NOW&6@ zXlSlROB{#E6@_4ay|P!KLB0PX1Z!^Oy zsM=L}uGIO&WlfU}6e5W0Sd#5&juT#PbuOK5$_~4!&p5}xQO>kAm>)=oZDdc!Bj)gUXNx&}7T@Ei z0B$yi3Gid!Xn$4#xl9}*0|AJSTk(BPz~*v!lK}n$;@^C?2Cxy6%6r2-7YCN_65tIS zc)t$VRToB&)P?vSKi%_OyOqu;K9Q? zQ^00kp#4FOQW>|!Y6{aq;_+7w7F6l0ewKoYto?Y`7%xMbwbWkDw6`pn?Gk;-0fec!xDWZfjNgzOivwiuZs0dhS zJP6J_6aXD96+j94WCge^6M`2B#Q*}%>|8pRF!Ru9ZNo;%p{baINWd3Wcp-qyw@pzA zzyzGk&&0VNz|#>mp@AwWQb3FNY`+bX!ypQfRXCFzbQNWuINfRv&Q=nNBEUlgJ^}y& z>VHxsh}aHLuL8URJUkFU2$zxr0n7jfx%1cV8~|9}as^=m0RdFlS`iQ?dtTD`N_+v} zOdaD?09cx^ZVdnzE7~h89~4jwW-|(KYXCxEo26iYvejh}nX3SprU1uM*4qLBZ68o* zAryVUD=^{WIkpb~r2*;$X!-z6xC2ZHz<)x%7CKAVrwjxDH|q}2l2H0pK{S4dN~vL55Cv30TABimNXJtofkQd$rjP)Do+(zU6*EWz2(U^*el$$umB44F zN+qH%KxPA=CcxpB1ZX@7hiYvXkF6pCy2=)Sxj3gi#r!HiogKPU5D4&X+J9@dVS*&k znt*_lNllOOU+6#z4bYXwc10&vK9(IkK;Ei5?E zK99DYcA8zzct4n$35}TWEPu}>gF=2D6q17i;!$%}cdf!McLNUqb2tj2TGRx*gzvdX z$PZgwtj^O}#hXFa#n%E@*gDXJsQ^xAFX8*~0dgR~;$LKGd=(F`fdgP_he6{PQpl14 z4oZ;#7lnMny!-J)uoeV>TOLnLO86Ck61~qI(}acq`8r!4dkXNY5`V5DAV>}ZIBakb zih#*V@V;{|NEozh5(t>0m6!<%kosR6s0nd%z-DnI67bW>Oqe*u)yx1M0Bpduu}{L@ zK&#?N?lXaWIQTE8M@qlAH##nDu+TE2NE+j-90wg8T3f)A5kctSY%5CO$( zY8sxw1fJoNzM9}dGJiddC?Nr0gC6ZLVJ64Jv8RBPF;<$Pdtek;CC-itk%7p@a@l;;Ghi*wYKPICK>aDzT+rPdYm&p#v0d zmJoIBPI;oRDU2CmJ;4wvVHF@dP@6FUPOoM#XN>u=CCKsDus>Vit@KS1>`Z zTUS|$c)lm0Oba1^{efM|n1rn+qErIlS9_vA8im`_f$wsd?EeLN`BUar`N(Ym0000< KMNUMnLSTX%_kp+o From 9be0818b789daf2a31d6d8f2f7242941db5507dd Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 13 Jan 2023 23:29:50 -0500 Subject: [PATCH 45/62] Fix intro/scene_1 tiles --- graphics/intro/scene_1/bg.pal | 259 ---------------------------------- graphics/intro/scene_1/bg.png | Bin 6611 -> 11311 bytes 2 files changed, 259 deletions(-) delete mode 100644 graphics/intro/scene_1/bg.pal diff --git a/graphics/intro/scene_1/bg.pal b/graphics/intro/scene_1/bg.pal deleted file mode 100644 index 95145b854d..0000000000 --- a/graphics/intro/scene_1/bg.pal +++ /dev/null @@ -1,259 +0,0 @@ -JASC-PAL -0100 -256 -0 0 0 -24 90 0 -49 115 0 -65 139 0 -90 172 0 -164 172 255 -164 197 255 -139 213 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -148 205 98 -180 255 131 -164 238 98 -0 0 0 -24 90 0 -49 115 0 -65 139 0 -90 172 0 -164 172 255 -164 197 255 -139 213 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -148 205 98 -180 255 131 -164 238 98 -0 0 0 -24 82 0 -32 90 0 -41 98 0 -49 115 0 -57 123 0 -65 139 0 -74 148 0 -82 156 0 -90 172 0 -0 16 0 -8 41 0 -16 57 0 -123 197 16 -180 255 131 -164 238 98 -0 0 0 -24 82 0 -32 90 0 -41 98 0 -49 115 0 -57 123 0 -65 139 0 -74 148 0 -82 156 0 -90 172 0 -8 24 8 -8 41 0 -16 57 0 -148 205 98 -98 172 74 -238 255 238 -0 0 0 -24 90 0 -49 115 0 -65 139 0 -90 172 0 -164 172 255 -164 197 255 -139 213 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -148 205 98 -180 255 131 -164 238 98 -0 0 0 -255 255 255 -246 246 238 -238 246 230 -230 246 222 -205 238 222 -180 230 230 -172 213 238 -131 205 238 -180 180 156 -213 213 230 -205 197 213 -189 230 115 -156 213 98 -222 230 222 -115 172 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -156 246 0 -65 90 156 -49 115 255 -82 82 82 -98 98 98 -115 115 115 -131 131 131 -148 148 148 -164 164 164 -180 180 180 -197 197 197 -213 213 213 -230 230 230 -255 255 255 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/scene_1/bg.png b/graphics/intro/scene_1/bg.png index 0419014633adf519c21f104bd331389787d37570..df9f920ba5e37d6a4dbe1fd697e7a6a4ebc77a42 100644 GIT binary patch delta 10599 zcmV-tDVWyNGp|^X7=H)@0001e&y)xN01}9LR9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3 z004N}t(j?(<2sUr|ML`c1O&DKj)T=~ZZOB6&ndmy`gNOiTUStA4Q%@{7#=2>iHf& zc)t96gXiz_^Y`Z;U!MoDeNXg#;d}a!bY(sM9@oAnO7Zi&egA&?_kAP(ay#GexW1?T zp8U_hvr~*+IA4lSJjqhvXVX=ZzEc|fHhx;l9Hg(2sObCC{=Rlk{wKxz@#v4*h4Fnp z{a%VE)b9cHkAE6{pSSYI^XbQB;%_UmpI83vg}cKIzyABBcK7af@A=%_$dyXf=X+Cs z-OBrj11F_S@7pS0&UfLlzh9lN#w{*7w&~{NYdzL2QtfNmwhg;>-rvg>OU&^^=XZ=N zruVr9htF#{KMDtcTfH& zUq4QCub^ud+NVzWZEzH(S%x~NpB%*tcE2?(Z++jd=NH_BUmBY@Q+dnWxWN(T=M=Np zPi&>P&xzwo$WQnn(tLkUz+$*|VKJ8IK&Y0ARSO=Yn^DI`e+Da$z<$yJD{wY| zITr9)d6iX{ueSOcJMOd@|6R8~yY0Tmu>+J&K7ZxZQS1I2oqN=}Z|DB8Z-3LZJzhmg zZ-0X{g{o;t7h=0<+*U7xXffSmg?H7izgHf9wjR}U(>)cyUFMG`A z9!QQe>F_oRCDxZ1rZTlc;DO}?j5tK+SgSbUDX8h>P+;@-Ad5!JiaB6usDE3U&`@xEKb=WZse znU}@9E7X#AKX=y&j%KSna)mbi(W3x3W=w~*r%s7OpC>Uw>x@$Kw!S+hw_7(=zPE=n zmydDakCEw7+^0P`*Oo!-ar&HCk`2e9oHn*GjfquPPj{VpGUI2rNr^0mtCElC-G5G| z7taMqb9z0?XSf`jb7Nt1b@_^U>>l8oSj~AmspZUkZ953|6D=NK=>ClPX^K(Jz#@I^ zo01=vaFdL|O#6=Qh6K%A`vQG&vwH4{4p0y}8|Qr5Rj0$HTj&>Kajk-ApuaEYU(}JJ z*ScuH*@@enNR~A*4~ne}8Bv4F+dti5j3`fq8RU8`U-g5r&|#-mU?VLvy(? zaFkBEW#`3P*M2%=z$Kee1ZuYL)Eo9-oVfhFWt?M_$V*(8Dz?74q=S;F3)k6u;q3Ea z1SsgmKW-=hxkcZ+FTZPfvkS0w;#(Kg!Od3>DRBZ;$@1vm?q#vQ{M6eV&3~3T+#!{k zKBGa!k@P8e|5+dA2&T;N)4W}%*D~rejt@|aJ%A?efo^!Ah4S9uglt%_ES~<(w%*}h zl3ew5HSjiyjeeiCCPg^Iw*l>X15iGp)p=?I&F~Pz0H5^I;2{84HSz6efSLO>@A5Ji z?PsZUp9xHr8|Iija$9yBPJfWbj|rk?V(8Mwmzd`Ny^63Z9tnYQUk?cNo!Tm!ON7~P zX|y&|IX9~PHUMNzt0Tud7wxa`ndM@vN+t{nY&e5wZj3dg*H`<@(QK;MHq#n!4(4Sc=lj^ z$I-c<^@b!^6pL?%Hkd-1k7B*ePr3bUJ`^=S%|J?l%~M;ES^Mk$vu~$R0$D{7sWwoD z{MIU9#(H#N@&)ZI9Di!a0Yyyd@pfw333Z(`1*$+*ympwRH(+xpgY*<&z$H~n8#=jG zwiZ*%gZH%06b*}65%WGx{=40jwTUxZz$-3(6G)_f}Ia1(=m&?MMNPtq#1(W2>dhUDp6pc-54m=U}s}IY3hR3rliRh zJR;3*6UEIkBnvvRi^D*d8Wlf}=Ew_xgbv{Fd%88BIFs22&{!TXTBYe7rR{(%#TrE5 z5qbund&3utC4W5JRM&$tso&LX1e}TN5$hjmHR_!&bb{wdX$IBivl}3MV52%dQyf1Oe3+%<7(=K!du7lEIe%Pqi$NpO_aWpb=aTGcHm7!1PvG+uz)y0kcUmE%n!vY zGHQU4=6`SnHyl(t2d%)6^cG9&!a7$(>MNcS7Ci_G+H7It5nKp*hF1Fa2^&T_EfB~% z+nzMAr|pyJ^psT^SPhu-thC8R7}kx%i}fN|gsg;MajUEL93!YAVgY+Jrckpzaf-N6 z>AQR~pg|n8{Jd}|`y%)u&N80KsPw_Bc&r63ZGTM}BW%^oD@C~EU_B6o#Tbr_$`tGj zLzsZY{BY#zbw98u!qcGW4Jjv_496;|gK3JnCI65N*2Qq>D8bAT$}4EonjyVf*u z0DrF4G<`!;fj>meQja%MxD)bVii4#VU7TRrmPjO*yPnZ*9JHIh6fD81m3Y4rL58dL z)8Pa_xMXATP_b5Q)0hFzT4U#Sh%#1>LH;Gf>dbaJa&R6e$qGxCYc0?lHQS)8B9Tx# z%aEj5g$zkSa}MA#unT!T3foR~p~9LETz@zx*E7Nvj(H<)c*ZLCm|-i<%KRm48X*Il zEi*RJ7>vYo=yGM>$Ui&Hw_@q#;)fNmiOFf{unG2}5QFA)-`yIjHx1%sbPB22++u%C?Clph5tsV^LFp zD7|JHmU$b{3;?4`M+&66gWMRzbl)sJ4WfWiz3oThQlf?iiNy?6lC9&Euzxq3C1gY* z$Ypa&wZppPdO};o3@8LK(DVSL}mtYSj&y3p{#iXQn=aug{M8;`!s5(Xqt z$-u~nanPl^2ykVnF8(`uo9=*P>Z^yXJEt-fkkuT`z0a9E)Sbc7!3uA?$ zB4#YX0R~7NTwP{vlP~VPwU4KU0HocBBWU-o&0qwfXJ|xR5wwGWtmj>D288gfEeR5V zGh`Cy=2z73H*s<`6)0@h8|HR zqfG-!gmjn~Qbq!w_EYU?~a~4}I)8L}x1%g7=6vPk-kU&IXaw-{TO}KOL3PuaPtEo5Or7N#<4M=rvkn5zgBo_8m!Yi|!cDLuV%?1LGR zgDM0!2#Jxvr+?T^18WIk*DA|xvN80VtYc3)#7S)e#@wUbobgMjbY${2MU3bh)3ktR z9lBTTj%@*AQ>6hzfrD}juJ#-e4z`wBHIWt>6Et&YEV4l=6=N5%Iaiwzej`E)NIK+{ zpbTaKRbBBxoC6}qyZdHjkZD@TP0#4a-H1?KDL)ymo<-%X1GZ zw3fz`7%gaxltb9FAuX?s97UeQ+ol7J=z&<;4JUc6gD>jU@SIjNxo$dqYyX56nT5U37g4a^R(;?OFf@R2pMT zJE1nf!+$+4*Czw=-f%KR**Q@;Na?}L60mToOLN33M=A&E+u9uiY!~Pla$`R9kpX7M zwV62+XaxaqHfDsOA%8j4jm^5)63Y=aC98-MK1z$K5jmY(D@g04f!CVsMMYBztA!G}dgB2YLqgx_I zIKtn-BZe6l)Fif6>e-F|xOK`E&x0)z0+f1i4H$k`&^n|j9MQd`m=1rmiXIeBHjTK; z7=Ob_#Ggasu`n1*(4nLjX)B!Gc*KdWiFi zvF_Nmp|nE0N1dOBfd)9}Pb88o2rX04COn~y_`985KT9FK*~t2Gj587ndVj>FlZkn zG=&WrU!)joieUR}O0KZWG^%eDh z|3>{ke_Z_;JwQLC|4RD5|NUoK5BwtiSJMAY`tt!q1NK-pm$jv?x3{<3bv1x1_Q0)) zunfTU&DibcGAseW)d1akvif8X8$1lNfHyh$$Qo9{CKjeM8` z09xMx;2_ME_dWndU=gMRxVatf1KcR`1Jh% zM&Aw);{m+#Apn$Rcdui|`P)$Nz##c64dB*pX&S&=vo0k8+cz=7xjfS^n%>qc1>hBK7`@#U)Gzijg&%7@K@b1ze zOTa(xvjcdDreqob(8+|qY|r%~O#=|@Iqs__f64p200B2yKhaHgx4Yf#ZvGXLI$bsG zd4OLj`vk97uvfVAx;((uwb!Kqt}R;_;AflQRd>wm7=WwVzKYo=`1w}wtPW_HW!8Od%P|0AbjeF*R+*U&$hjn#I4t#&QrJ4rCDlleO|ll zmcH}x*I$#VL+b|s#9EK~^*U_t=Vy$4fA)%-&YvD2MqD?42*CCF{~?Rjc4B|n_F0o6 zL0YMgI?>^rjU5-DcYHjBy8V_smw}$vVNkQ`^MHLFW=|~8PH?7n!Jay$)GmO>8~}O;{_6lJ8-ZkT zO4HuGZs&e)-;1()>w;3hYC4Jol%3u$9fFeH4S$M#2=Bm$bTCvc(I`>2Eqe z{L<`4dQ@sGI*vKaJ~L_#z}~)%0O)Ue07~jd~n>Ae=rszRC7Ulu_yllt=avH*e*OCLI@afRzV;s;c-ivpaybp48p4G~ciNQG2H-U%c*SiD4?vzwj>=Lb!1+uS;gN=0__C>Bs0Yr-pfRo*z zz+u_;K?*>QMW#SUKqXSKMxx}K937!zCDZYz>d}|e=}ToQGXtnnDj^Z%tOQfQ?RL6v zz!C61cQ7u?>SXq6s!Z<|qyVrq=dHH-1&oh{f3D0r4J$S$v;aC12V?={e1Timf!=$qJyv!O@PW|e-yy;^K<U8}xnhJq1F&-;?F@a(c$70rf8_uZ1ALL`u9f0C!2+nsuOWbh$IQdk5h&yD zQtEFu85@srb-+nZ(SgXiz#(uZfHWJ%I;bc%008pN`2sUW$8QokSpXqcx+AcTL0p}v z#mfeas*pH2vjH|wQiVw*W&tn41)5$g4;$A5Y-268sdtCe~M9I z?wD!%L9Ns`8=8`_XtP$a%t-TqbSs+$fV{ljZqW;cy1Rwd`Qu?z6q}6JV<)>1Ljax| zDFD#1FzMUvwxnO=N;BU8RIx=<3t0J1TXXp)5dcWjqe4OTc!7j^!6|k zBn*pXPP1;Dm1E7#w~7RULpC0If`;q^_?f04-@jLUFs}6MAZc7yL7r3laaJsAuM&mO zz}~R{hg_DRlk0z@PvcP{0XC8Jb5jnss>fC3+iCl9IFzy%>?tef#GPKJe@1P0~Y{9X>w+FEfQlu z0US)lgQi2)ZDe|2_1{>4jb50rHK+oRvvht^D;WU&o#P@AYzr~4p(?c@033{3yUv-J zrVTm!L6w*|OvvpRfp$V6e;IQvWcKOx^w5^#G!iL|zRoG(8G%kdNCw(3%XG;#qae)$ zoH!#TOOYq4e>U<4DjrS=aFBw# z4-XHy;(P*qY<&ec7kvVic1ejK9srH1oibJNwmD7-@*Upf4`3S!K%I=00Q?~<5}m#@ zCliwath_Q5rQcMfwnR{A@6(2unjKV_6nfVJ2$BJ~{8l*|3!<4PZ=o9=HWzE?0y8PO z*nJa`0-(Cq>XRnve44k^AaoUmj;PE?m013fF}q(u1|{ShT=gRFgW^VjV9ILX%qnjR1QF@Tz=#aS4Q39q5_bU;s>Wh)3Px2TDjhP(D7w*$WB_e90_K*iPL<0El4k>TbxNa;;7P{3+($r=JI~|F=)~#|UR)>is$dL2%W`KR)Bq>Cs<+|;vRM_S)`3)`d8qDnXmeHB z^S2sde?|adI=< zI$p*1rv(YvNjm+xB6}_S+#l?6E>p#;nC&uze}Z5#A2i~+YF;BN>>|kR0Wk%EbJ)yx zg>KdMJh$mGt8rSI19(Gl0s{YGv#@>}Kva|KHxYObG%g_-`C-#8zqZn$83bbdCtXEn z$DW#RVj$Ce%2xCMNCeTcS!!$R1guR6-y3Gpcdtzf5==S__I5yY5 ze|HEPSCLIR1o%ui>F;^77!Q!3?k~eL0SNbloK-kn#&kqTzo}jY<^rRg5I9~y8gIS8 zVnTqB@4KtEmW=i^1A37i8(`u_WmAK$;foIK7OQ;0%w*KYjFk00mr z`Q_!*Mi@WwE&JUYeH|k4wjRe|^~nFY*m9FZQaT2?$d3PpAKTk!C+tG6g|Q z>NT#Vt^AXhfdoko@D@UI_k5nc2f9rLs94+quKoamsR5D+28}*J{Q(Qb{uqeXKMhzf zF~tx-r2e4QTD!F#gqgI%D>Knx=qv%Fz6(l-FhUQ&NM#Se_ix`q2uz1WWD4`$`ZXEOkD>Uj>^4)zSd1>boGo$^AIx>;%DPFBJx1w>KUx z0?-_8mmuiga!9QP12&Sor#;Sde?12pxM|Zj?cz_Th(}{oz4Jcyg8vXPv*nI%>Dqv7 zA%ykyiXwQ7Q#d}{GojrGUj62>CPcs}gohz+>Cx(b?~ZDaKy>+`id+0N|17Y+>mdlQ z(fXHvB6^YO3B`y?(F4)9`0nV9gmYe1Feq^O-#I}DhD7>Fx5|9ioAW{cf2#k_yn#8_ zna5}ZzUrQR!PCL8*jFpB4$z4(-O&d!OxwT#43qmfwKt~k=fsd0K5-w~5sg0>xojGV zFm}<_V(20mc=3gZu+B(G`Qw55?ok*)>YomjH>cYi0wL1bo5r?@y7gTIk!Bs+mLgu? ze8yWOTgdfC?>arKuL#5te+%^dF|WhKq54>Y|f#TDTQaZw0kH!K3B6Lc=O%Sb4 z((R2%MUkv;KHV6ne)LE?6u#wk|JhLyt$s|3fjIq>mUq^8KKWx}5DM>EaQ}rRjWw<> zLyxIh(67(J{?tQotkTo42SBit@2X85%|CSlnCtZWE~pY+rKzL&fByHkH<(0%ydS~a z{LuT`J*U=9 z?2o0>Aam;g(-$#&f8e8}Jr{s7fPVcc#9LRO3JuV!KaF@xO9S-iPpIAsbpYr-2QsaE z^MW^VZtj75^ruumH?O!8-TKqZ_gwNP=8`{Ki`Jh`{_I$!{$%p5`nl`s91%EeIhD3l z@7(bh)3yHWF|)Mn)gL2&4w&fQsH}#1|J-9jL~YfIIQesue+d!4SsnELd6@aN;X6Az z^+!vGg*)}d+0~y~wKoC<9K|bccPD&X6jhpKUHUEg^y3dbU8d#xD%ME-OSt`ltM`AN zbC7!YyBS0yoF+R#>1YQ5gcztEgOfGCxWd!=e}Row4_fCJWQc!h`5CXF?f8xk6rbud z#6t+gB4?6^e}8q{0xp>QVo6Gcg#kQ6#c}}Q6FiFmbPkfU1N0BjvjXr_GC@Dg2oQ0W zaZZ596P?|I@_Z-zTfMNbew$!&{o~OcQs89easd4otTqXj8-?u0)}!X8^D(Rm;F&8f zKOe}lHLj+c=1Qu0AhH#0b%4A5&Fr$U{Wk#As{_|%#u=on{ZgC2t>Zw30@&`k zn7h_BhOnPv1VA5ItsT^v#&ZC)0|#AEuL8h($p^6rKph0AmjkG4UqCDlU@M3&Y%2hm zRE2b1e-@y{u@V5U7i$94cYs8I=cNFi1Io|O_VM$40P25wOnT~${D)7_{|~ul&rJg2 z1&FrVz^(+~(yR?YE_q%Rz{bg%04z9G19;YHvL--WWX`_d(C3OJ0G>@vTN5DEBMSqx z(_?7>Dif;$xM8^t0E>pz05rmC`;i)9RRD#se=@-H>HyDofIGnb1j*g*cDK9T?QZ{c zTW?NE^YIn`e~S436s=eF{;>bA=`{Ubv~N9t-bW}oaE|N z0UYly1yFkd>O}!+7oc7kpl$%v>j3!m>#1{$-LdVq0QLL;S#1Wo+UkbSM~)v+c#gXx ze{J2-@KFHluXuoEY>)x6&Xx}asF{=90JFJH;Wm#4YS-TmK;yszPg;2=YqkAVa{y{- zD8)tr)U8K;fZ@`80Cn>b&Ejenaf$AZ1gM*Nh6)eisw002ovPDHLkV1jy4 B^mYIM delta 5863 zcmXY#XFSx81INF&aA%x7vd*4KR>(MHDw!ugfmk{GD66u zjIu}B{C^MrPe0GzulJ+(r^b3zp2&$tA^-q*s~LoDXkunSfb1!TSF|hx^Vah1-FR&L zKUCa9A=B_LZ!l9S(6&8FH6upe8XtNuj(cZJoQ!n(R?fumkWZ2^zKc$m(}c_!{x#C z+6tG{mhtkP7Vykx{T=^bfn+CWiojq^JAhg-_(|ZKL~({a5T4@45JE#+o8G9DaA0sO#14qDLWlIi2tLN@qu6%yQM-iCV~o{Imlxq)w=@OpG6kK8SA zT}Ah3(h;KufaNm{;3*FM40v;UIh6bqBBD0aKLDnM%s+NaAhM&?CQ@-ztne-{Gk*@y zM_Dr#mcm&0^v;szt)oT1g|Tqk{5&)`Op8P@AR?`s-t0-ls0TF^Emm zSQOoQ)0_ZhKYPc;VSt7bR2V9XD`Z2F1iFusXceEKBmgJ!z6o2pUIGj*r1iqkoB6ph z)vh8hEvKfQUV1u=6sM}eUVq#Nrue|qHw{>gr0fi`{>9!?D)5ouj!t*+liHp0YjLdf zYZs?`JH__efpz$Al{n=>2$_R(@DNWP@ zQt03_t1!r2iR%)lS&+2Hw)@W4zw_LAP*6Gr#Qp{s&`*W=)qR9YwY8r$$gHdR~ zFBZqar%8uFG@E*Lx0x8vo|bA*uCsX`UCs8kHS-M6sm;||QA;zhHQMiGhkGU(cS6@H@DY;krzyVo~li8tzMcXs$Z>?b|>tF zgWLYSBQ`G%)=jBaW39n~Q@KCiXO~ofhkKq`Sh(-io|5m~t*+F{2tmJKK4^p26E*4^e(SR(vT!@QkiQvF zh!raoLrknuD-vzMp>TAZj;|s{3@+jc!f^`dYudgap|+9pc#HW{Pm(gCDow@Gs&*+H@v{ACC9OJx%c3}f8Xt(%G^=ukJ@a>q!>+YGU>|$ z=JBa1ummf(c97@u%Y;yTnM#Q+!c4L*q9o zZAeK^1SsO!zZb#bRxgjaSWwXARO-zMiQau3mr2xLo^UILrEk_pO1nKtnOY}R z0QkvbmFd)8e`cx` zio1m`jf{^>3Xpx4O)?L{Q;T>MCN2t2ZvT-_BlRCU1=Ts)C#( z(FUwp@JAYcM!0Vpkbl~jAR?Z)Cf;ZrVpF+eOYJKIiw5{lNTVIxd+&I_3g|0Vm7k5; zY()pqc>Yx)A_8JpIyHZYH?Et*QbuIX7bnv_bQ!K^?`bN3zV0SOUx6cej6Y~`8W&AY zXtfxd^Bgk?bd;bXQ?3>(pf^@P6d+8_6Nbzs;G};YjIwES{6aX;rT%sf3YosrIj8XA z$Y7|Ar|#y*xjY5>_dR(nd@G6rVe}{{TetEAhYTx?_>5C@q6!Hv0Jg-QD( zuEgvm7c}(!%~~_iXO#1L6qdSyfLO>xNOxCE+t)cBSRd8Qd!w9yZ}olBQs*|TXuI_{ zfe#w|1n&Plf&)t064~h!NdnYNWJ5<7cpS*W!~22=0&b)VY@Dyl=beHh;QJ$}fAS*l6vC6k_4vK^_ zlwUQ782uH@{l2wsqF`>;tz|7J#bqrTpb)a9?|o&5ljf`J@A6r0{`)HP%d2|uwK6pf zfKKJTQ=Q_rDy@cNenkc@$Eduv^2@Vd+-{ixi#jymR)jAyJ!9v+!Y;gJ@JFNw#-Yk1 zBuB}Bw??>bb2v;Gws_#lCP`A?qrkobeN%qx^@}t6w047SchA0c8pZ>4oL595Sen+H z{{TG!`J&xX)MU4|>|U!js!$svz^py-b&=F`<)=&K#BTf5-g`MLXhML==2K z_;2P<>w*5nP~PIKes*^PHoKcS4pHD&2&2G{i==8VkwTY}?7K`fQ~*}3WS z(LhpYHcL4X9;>D9koVByc2YaJAKVkEs7pARvNnO|h5Ifail#^UctzgK4{BR-aFH2< zeSLIqBto+DqoEFtjPi426N`47xm;|%P%oc_AlM~|iUZ|+4^8>+?UXlVeLH*bQkPo&&Dx14U=Ul$VG7RrUigKH+tjWfvSdFEJ_+Z1~eEYAN6) z7udRI>^bs{)*W%pjWMyxxR|D6)>&)EjM!op$I#+DAA%d=*v!AXT;exHE7L-{*NCpM zvg18)$?JO0;c9C_t)P;uaL%w5_h<59UWrcEwhVaod3__LxE-(_;}_bZ78D^=(>L9W z?n%DGvTRxEI&a^`G{=7fWM551qBJkvlPvRmyEe6Q6>n|4(YSv0`>1w87mOG%i%tIv zjOOJ`Kg!~iNNW88o}dQ8_OQZZ&DJ z14(t_-SOQIRPLz^u;-xKf4^6*bzLxdk@*_!V=!{?b2yNlQ8U%A@KA;IFJ`*HxV+eFb6-WRWO27&>~mdEkYh*0p)W}+PO`c z-`iy4YkTi0&r-AZ!+ z<;8*NZ#o~;-&_UC#0;eO$4OswR$hj@r_y`M?%f^G9@XTwGIuZ`(?B3J-Ca?#1;&Tl zRDKRx-#~$<6f}tssN&ICdw6=@F~{E7hu!675zv~|UqJnP%i-%yr~AFUUUJZ}3iZwX z#Gmj4?-F149`>@x*BhzE$@brVMNO0 z7T;SCem=N?D3v$G`}$uS7+FyLD{%3L@5s0~0D%B&8w9NcFamn5So_$g&(THdSWoJHC24Ec| zGc{y3@PrM_zjWg@@+uq};nTSQrTQGS;iMyjAGyedN_KWA_sqJ>tm)1DZz z0)uuin`%Ry8Y2+hU~SKCieaw=fVQS6fHxKQ2ukh1=fx}!z`WV&1sl>giAMU z1C^6I6{&@5{iba;TP`99;YQRdRqVc{0a1Rsz%9-ZKz~xz7Amt@DYOO841sPU$V=1I z^{fLkT!u-tUYY)ixcfuWQY36YA%W(PEP`BoNDW8UnPuqWWL`YW$T?vCpo78hlTB*h zQ33=Cs-G!mk-a&s}_*cIO5XKVc>VLrDH^A-K9{7dpL=nnvIBk~>P2Z;wDq0o^s+FF5npw2l?+ z7%OK2`nty_EP9^*MVg+<8xnuZ9B_C!$#7JSMit~l*DGg&$Mk571@T9<&y=SBc)Q0f zxhh72$l#pjS54x`1oapdZEb`b0$$apL1J%D=VBp5_c+Vk<|t|I&rN%6gu9)L<68fh zDFg(I?3)vPmo&&0vKf>WlVUuNz4TPOgVw@W?JnC_8IO|>(^JpUlWJ|=z{_ppTjMln+cWu1;zER4pOSk0L7kZ%M5yH zYS-a^vqCnU*)f#b>~`iJ67IP8{>d(C?d~7rhs2z)_N}wSLPy0)U-V@92H$r3N&Apy z2n%DHNH$xLk48B^umS3nw*9uh*Sj67(Jt4%=MG-R(fy&R0;W%MFL^C58Z}2*m_Q!m zFM?fvC;IXbVok365Jv1u#O3&i(VNBVG0G`lGNlug!kI^uBq%T`CwD7KW+L*TzrS=7 za;hZ&dn6*Wk2DK0A{403Kgo2Kqj!Q{zH`Y(GA>PF@M`HwlTk|(h2qF}W_Lo;`kj+( zK=5SFF-Bp`;bvo-jH?g(47*H^G;1T4VnLgR5Z}Y`pMi3iBrYxe3fP(>bxn?q|(JZ zYKP%vVZs@3zH}7sW~Tw&0%ba9^~xfMGaPPl=gOeLGqR$E{Kq;w(j}Q7+%C3utGVQ@ z@UpFXI+O5~TV^6jlc&w2nj~0>oXM=kFYx+Qt0c2Qq+n+f;`pKjUkP*6Jzeb=j>dO9 zR4_F?Oi`{qv_cWqK8?uuVVHM@6=%xN%KPZ3VZ^dHcq`#Td`a5S6*6AlN(zK8>kFK} zgfr^H#xahhUi$etZNZYz%k(ltzzsW)5t$}R$6vHZ9Nm5XxYDy~M023pA!Tz#I9`_I zC-vevtA%aK_S2kHMp4CMPQk?u76WY_epENM>{;f8qUS~WfOHtZpc?A&5PG>)Q?#2A zHFt>_W^KG5E@x{9lRXnwk$-%o8Pi;o~x^`!f;B5pa3nD^0jZIIrs-S~(C=qh<=h$E*Ih$@mDtHIE-sVL$3 z(~gAZT()<|s2hn#w&9ST0pQQy$bX}jHBlUm&(d*Arj;<8_lg2x`+<*z=DiO4Z8c#h zZ$2$)Vb0wG7YsyTf0ke*zJE8BLcbuRK0Z%kgEnif7}ak$riOHVb^=K6YV1-0IM`Id zO8$1M{Ve1;=B-71i*bZytqiC?2V4+- z?$Fo}4b}hLSPO-5okaHgOq?XYyMRj!X;xY^El+fUJv%AppjlBlo>-o0ss&YI+XMd% zenI!mw~L;*pM!CYTxiX|{G`I}uk_l{gQvlPxi_!v1%Rv-JxV!&e4_@Njy|3KrR;Nm zG8Io#zDuv&3BF=q#G^Vvv&)iUnMlEkM8 z-5u2cdN4MOuk$(|C<6}Pe;}$*)3miI#OoR&uK4mGE}9<$+mjB+@?&rD^ zM2iPBfYrZWfm)Dqz^j93A_rsMVV}_eEe#)fnBAqhr`PWqq}*e!E3BcOSE)IvyhMHF z8ZSaS1yBIwFXQ~z|J)U507Uh3RTOP$NI9>-UNa;A)in>SS?m)2(=9 zH;ryEbelm@#!g^fNigwZ;)y0ufTdkt&?$phupm|od-k$s8%Fx^^y&8Plvz>=)fP(*^|SVpp9L+)0Gi-Q4?S}VzgoXwBcl3<1}+M^l=vKIndb7&r^pG zkO0mC{QiURFBH+Lhl@*ffiQfu3|A09OjH)+2f*MUW?Y4z(5pTy*`Qem-fZN`idqeb zMdC{tXo*uia2)eRR+24}F@~OgnSp+ipIvqn419!s+i2XV32n?cb2kQi2)UBORqy}l2o!U7I zifB=g)`YXpiU|VUsSB{A_~wq0o?bN3y}}p}=dKJ@Yp2V1DN*_9#-#rj#`WfC{_d3S zr?Pd1-rnBF&tNVuY)V$~1zbz!xD#RgovQ&ceE!>x3}s_jS--NDOC?)lFot6el>%U+IW{03pY-E6 pgC0*a;lEVKb{#sxS;=Rx^8#{>Lm4Wn|2^7(q3*RS)!KxJ{{dJV#^wM3 From 71d4b1687a72a22a8e46fea6ea4c1385e2073120 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sat, 14 Jan 2023 11:42:19 -0500 Subject: [PATCH 46/62] Fix party_menu/bg colors --- graphics/party_menu/bg.pal | 179 ------------------------------------- graphics/party_menu/bg.png | Bin 613 -> 1120 bytes 2 files changed, 179 deletions(-) delete mode 100644 graphics/party_menu/bg.pal diff --git a/graphics/party_menu/bg.pal b/graphics/party_menu/bg.pal deleted file mode 100644 index 0b4b30f81c..0000000000 --- a/graphics/party_menu/bg.pal +++ /dev/null @@ -1,179 +0,0 @@ -JASC-PAL -0100 -176 -123 156 115 -255 255 255 -106 106 106 -0 0 0 -65 205 255 -0 139 189 -49 189 238 -255 156 148 -189 90 82 -222 123 115 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -139 148 123 -74 74 98 -65 156 148 -139 156 41 -205 213 123 -180 180 90 -82 65 74 -32 16 24 -255 0 255 -255 0 255 -255 255 255 -230 238 139 -98 90 0 -255 0 255 -255 0 255 -115 90 180 -139 148 123 -255 115 49 -65 156 148 -139 156 41 -205 213 123 -180 180 90 -82 65 74 -82 82 90 -255 0 255 -255 0 255 -255 255 255 -123 205 180 -57 148 123 -255 0 255 -255 0 255 -164 115 246 -123 156 115 -74 74 98 -115 115 115 -255 255 255 -131 197 222 -57 148 222 -41 123 180 -131 197 222 -41 123 180 -115 255 172 -90 213 131 -65 205 255 -0 98 148 -82 82 82 -255 213 82 -255 180 65 -123 156 115 -74 74 98 -115 115 115 -255 255 255 -213 197 90 -197 164 24 -156 156 32 -213 197 90 -156 156 32 -255 230 57 -205 172 8 -255 156 148 -156 65 57 -82 82 82 -255 213 82 -255 180 65 -123 156 115 -74 74 98 -115 115 115 -255 255 255 -213 164 32 -197 106 16 -164 74 0 -213 164 32 -164 74 0 -255 115 49 -197 57 0 -255 0 255 -255 0 255 -82 82 82 -255 213 82 -255 180 65 -123 156 115 -255 115 49 -115 115 115 -255 255 255 -180 255 164 -123 222 131 -123 156 98 -255 115 49 -255 115 49 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -82 82 82 -255 213 82 -255 180 65 -57 156 255 -255 115 49 -115 115 115 -255 255 255 -172 238 255 -123 213 238 -74 172 205 -255 115 49 -255 115 49 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -82 82 82 -255 213 82 -255 180 65 -57 156 255 -255 115 49 -115 115 115 -255 255 255 -246 246 148 -246 230 98 -222 197 32 -255 115 49 -255 115 49 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -82 82 82 -255 213 82 -255 180 65 -57 156 255 -255 115 49 -115 115 115 -255 255 255 -255 213 222 -255 189 148 -238 164 131 -255 115 49 -255 115 49 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -82 82 82 -255 213 82 -255 180 65 -57 156 255 -255 255 115 -115 115 115 -255 255 255 -180 255 164 -123 222 131 -131 172 106 -255 255 115 -255 255 115 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -82 82 82 -255 213 82 -255 180 65 diff --git a/graphics/party_menu/bg.png b/graphics/party_menu/bg.png index c58f3aae98d8e7eb47f33be3d95b71bd78570b98..21d1e5ef107bcf8857da77419d03ecbfd73e405d 100644 GIT binary patch literal 1120 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX=O&z$6gh6XIGu zr}+Q>|5;gCKv~DL{~5aX8t#4ff6kP>Q9<{ri-Ce@pnFQSmsgVGoGIONG|yhG-m)bs z$k9tdK;l2ce-Qfr|Jl3lq$mamw>WAGQ2qa6Lp1e4K~Zq^)n~U@0@Z-EFDd>8bPv${ z;$o1invdSIoN`aIdJB*NB#ZyAiMrYha%9q!prD}tSA+gQrIKzAOsgt{DAJy0Cto-O~ERNrf^o|6O= z0U?N&!6aP0<(&U;^=sb!ufF=uYt30A)qndo<=eBQdq)+BRR90#z5jcsyj#*tK>dH9 z^FiSWaewogET9uX2%GygCOKLF)5$+i7srr@*1OYA=QSG$xbA&*Z_{3{B{j{$9yccZ z`yYQb|JY}RHdpPhT#6DOW_H`obJ0|}d@}0riJMa8eEs2n3&b8QdUaOrz$b?5N6Q() zn0l-P7|!uoZ4gSh;>fR2xwf?ILgU-G5*OZt%FG3NG3)otpCppXo~a_RZoNsvLHWo_ z_h-%O6j9^*@aCD%c0bj8u5P{tR$sVjm%l1HxHa6m!RRsR7Zb}{rX~9v80Q5R9{9@2^x)X^u9V+Q%riD@ zvpx8QmCr!=qAjBi5A%|JAKdu@o;?QQ_>v7@TZ8%Dux(f_vtzCPj$%HY8|}Y}mi~Ie z@K2%JH}n?wq&@#%saQ>5%(&mh*J9WBSn0t26=LUR@*IdaJO5ww1J5DmN8Q;MZSIG! zsIGh$Z#jF_>t@FOMF#)=o^uaS(|J%EdOf^kgPFsQDEWR-%Z%bihVP3Qe)MTQpWINy z(#w26#(`l*Gk-(>>J2HK3{k8rYeo_l^XkzAB zA*mkZ(A===pRncvTi~wxRK>#xoahOUV=Fk8bY}PRc z<1T+%76GQ!T%(3`*8HSAZdclA1ZS=B3IR>Y$m<%VHF{;1%{$fdg60Jpc~%nM2;=Km{zcat2|QR6Sl`; zPNPiUSw9>g3;1ydODks~rMFIjLjdrIrGvB{#DMWLs}NQa@VBG?1-4uMpimXa-d2C4 z8+bp)8wggy0N!gJcZcKdc&t7UfU62?mJS;P4!h4gc0e(31={TE8XkSXsotNeI6yf# zz~yiboL6yKmSq6gKm`q~`M)US|3uzdv4Mq0$}8ln-l}E2TN{JH_$Xm q0wt-*ftw@&UQ*1#G*w&+;2Sr2H`x$PHX#Q90000 Date: Sat, 14 Jan 2023 15:59:58 -0500 Subject: [PATCH 47/62] Fix slot_machine/menu colors --- graphics/slot_machine/menu.pal | 83 --------------------------------- graphics/slot_machine/menu.png | Bin 2396 -> 2665 bytes 2 files changed, 83 deletions(-) delete mode 100644 graphics/slot_machine/menu.pal diff --git a/graphics/slot_machine/menu.pal b/graphics/slot_machine/menu.pal deleted file mode 100644 index 56a9d31d02..0000000000 --- a/graphics/slot_machine/menu.pal +++ /dev/null @@ -1,83 +0,0 @@ -JASC-PAL -0100 -80 -0 0 0 -57 57 49 -230 230 230 -255 255 255 -131 213 172 -49 123 74 -90 172 106 -255 0 255 -90 172 106 -255 164 41 -255 98 57 -255 197 156 -172 57 0 -0 65 24 -98 98 90 -0 0 0 -222 222 222 -255 255 255 -131 213 172 -255 90 0 -222 41 0 -255 90 0 -222 41 0 -255 90 0 -222 41 0 -255 90 0 -222 41 0 -255 90 0 -222 41 0 -255 0 255 -156 0 0 -0 0 0 -0 0 0 -255 255 255 -74 74 213 -115 172 255 -115 164 74 -156 238 74 -230 65 24 -255 164 41 -255 238 32 -131 213 172 -189 189 189 -156 156 156 -123 123 123 -90 90 90 -65 65 65 -0 0 0 -255 0 255 -255 255 255 -65 164 82 -139 230 139 -139 230 139 -148 238 148 -164 246 164 -180 246 180 -189 246 189 -205 255 205 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -0 0 0 -222 222 222 -65 90 213 -90 172 106 -255 255 255 -131 213 172 -0 98 115 -90 90 0 -90 90 0 -156 16 0 -156 16 0 -106 156 246 -205 205 0 -205 205 0 -246 106 74 -246 106 74 -0 0 0 diff --git a/graphics/slot_machine/menu.png b/graphics/slot_machine/menu.png index 08aa5989d66f9d6d13f9bcc69801542bffacfce8..035ec7fdfa783b51c904e99d37d24ac8e690fb76 100644 GIT binary patch literal 2665 zcmZ{mc{tSDAIHyk7BkGKF3=M@utM)1}B0ZI&F4Ia`Rjv9a#-^t4bYOzN-Fjj^Fu z`3r$?)7g833}fLR%qn95Xe0)ME`rC##{NqR>0oS+i2FYdgiI0rZ;5ytoBpsWVHn$n zxnMI*BW>QiKo-R{H8nAr%$S%MI-O3V(L}f?T2wT)WBPQuNO=o+Y(D!D|4|dasZ-dw zdHO#R@uGQX^#09h|D7K&!sv7$5|gkge!K^fG?o%uQ**#tZzTs@s2w0(CoY0&!eT`65}VozlB2EV9!O11L1n5Jj_0bXV*3# z_AI7Srps4VPqtC^htuSN?8ECPJcok7NIH94VtY2Uu-KB;iUq<{HZ}<{^6_K2ITk$L zE1A3#@?D9D&mPH^F*mLG`{sIZheR91nz97PsBbcXS)yA2TQCYf#fHKNazbQ@A`2V= zOOLHGz>x?qnwt`071luDBVhssHbv$-@%VY(vVRJN2eN9ts}L*0Jd zzc#t;^iBg?B~~pC&Q}5yNZS;F#qt3*0ey!=71zS{i*nc@pqTpHev1RV&jHaLrcfx{ z4x?K^)eddWdvVGwuYJ?BqZScoRETnQLN&xeP;m(4^77VW*q?OdQkPZa_6wYL9FNmq zMoA|#fLa|n1MdL3CmJfPXQpYxb*wFLt=*xo<|Tibbi~iDa+-;PFRQGNoo7|j$`wFJ zIBLnT;GqFJ1|@s6vj{B9B)Y)0cl6%`nKf=8fZ=vm>f4B-9UtrC4WxLevg;^{OvkNu zH}Y#IIXu1_Puz@?q-cSH7Sj~$pMm?aoJf2Os)z5cyeNEno7@vD-mb19fAYjaNwa%y zR{>n(sC?-w!PJWkOL$+3uj)e$$h3F^sLDmNU2zRKbMy0ob8|f!$W-g4+|kN}!)@AK#?#*!1 zI~M=GO*J+nXCs^BRr)x;9B0;Rs$d`EN{z$yw0Udar77oqquH!k$|op!;WY;`#js$= zEPw!8<0-!?D5^QyNyVOJJ;sr^$C7XUT0XcyXtXu5A{c>y{_#ee!nv!1XjO@<0c3R3 z^lk#J2F;PALa8)Qx(*o0?MdgsU@LBus|xo(6<| zWc1IcAmSJQ@11D}lk)ABu=yuh=gmPx)I^s~ZA}eK@Ot)JC95r4tN@cbmv9xwM3Xoj z!Fu_~kl@`R{td1l#-3E(mPEQ4!`jx8)8s?)@J8y}6*%bS>0Wd|a0c`~)6xj8PpZm= zx)E47ar#mdQ7%rv)l@-p%vBRts7LX2xNb~9=rY*h;eV_EH`1}VaH0}3+lsUWk6NHp z29e;$tlhnem%DOLNe3AzU~7C59af)VD1yqRb9rCx4Fr;c55gY96e~k1IPOB7UGzm?xeTIU(GBPRy27YKG+k-#9qNlO_~ zH|=JIl$R}dHM~Rxr!V6{091k@?rL4(09~%Bme?l~f-AWkvjtffSj+QLFS=-i?TzMA zVduhOO4VP(D4jUL6;IQatPl3@rdB5OqXbKNp7#5w`qZoB`LP?K=VLbh&RR+3hL8OX z4m5d;97UZKpKnL{#s}lP!8e_~E9RXFyKrzIlGKWbmb)?PaGv3h<_>UW$yXTSNPnpA z>m6-s6f7O4LV;NunMxK|?g&;wD+Ky%43>0RX8?jwVe38)GFZb1yLeghY=bKe(cQ59 z-G5lUh%%wci30eGJUT6cmLB~O5Z%IExryIO(qGa_l!t(w#Sg#lZdpeyKAUq1Pf=E; zNO>8qVx0@Mww_bXmJ=SkrQHi>|v?fB&#w(~9}K6&@~16|$@H zJGIsBc~F2-&D}D@udW+~={-gul%@pOIa850*DiHlG-_E&#DMu;$H91YOvr0cd-w$( zqaM2cY2|e&nkpqP+nvtP5QL)Y++LSFGuX=d-4yYHAETa){-*yB`uvoGSZh7&7oy!) z4GJ;KfQC;V`-SLd;KoX?4b-qajDsf=v_P=hDE8V;WUIMLQC;zu+f%PAXeKx*5lyh%>fAaq?Ktka zOw_(l+GNzx-TO&ojSedtkm}We`iS9dQ&d9wT`c|@OF%*|AmA>vWY>o8y^LxHOm@!P zyEmTz>@xbtY~WH76cIjECOeaw5DKTfqW;iHHFX?ISxj6k#tb>Hn30WDw{6kL1WhlL zpy=cuv}NIM@UtVUD;87y2kY#w#<7v(&0a7bS9A63^nsLP!|1w@yCb)oJ$q_X`}nAl z$qu;}S>N}@4yndf1i_6uL3cP030pb&FL4`s#oDst(#>s|n$W4#Ksf>QcfplgqxL5x zC?}s8LYK3=p}vWP?H4N;aMTwBuD)Vfw|fg$un>4+A<RoK@vH-i z9zb>>$C@BJkV8XQ4bTe1uZ8$k7)~)B z489WLmxIA{4Zz#(u?9qrbJaQ2fLE2VDF9$V*zJA|Ksbc~gHGow0F(*RhnU#(AhHyI z0MG&)rY!`37T^GYbRh{rdXO(jpdOvAk-mQr(DMCfLfrLzUf%2N3i0z^PsOG+52$kC zNB6DoLm{Q&^Vgvut9K2!w&O@js4Pb=e+8P}NLJmA4P0LCS25?y!zb>qUS zfHWx1e{~lA-hNc6R05Fn{GlSurEz}+fUgX0khJBP30(UaB`$69|r%KP)@ z1q+VD(aFx?;8l#{6^=D?rJIPKlRV(oaTpyAULL*0@g0seXIr%i&vid{oX4*FP4AnY z?{lv|g&^KKjt*ZQI8z+oy*y}X0K!6j5(207lH^c#rtVyn~o+ntc|Kz*2yb1n^NcV5c0QE!dj@ zJa2!?b?^VC-F|e5@sAk4!MNsNmQT&z5%fQ~+OD!-8?PmNO?ikV3u}MucUW`3MgRT2 z#vCX>>!0;{INi?NUIk$}z|{bcuLsicDq~RT0svezy*-xlwl{bGj0M#}GyqTAZtiSK zZ#e)$fawQ354DWKoZy*G$At4aQ2<}P2kCxb0G17aR1b0tO{H}4=y!3**SY9ROh=NN zTG|vK=?6SlcNoW`NQi$p^1L{j-sdgD3volfcJH^ssLfN!t>zd&(hrOULmL1&i6eO# zU&^gGYPaKy$;IYt*KPf)-TpETm0ghn@WuIaoyNxoU`x0VHF3#)C_VHe0>q8Y*NAV_ zMt{==NY#-DxWkv_aJrSoz=}uV1c1x^F!CQ?yPen1R*JE{_4I*=|0QwTAJdM)it~`xO5&-wLoFuSrrX)rQWD0;@7*+sq8{4rJ z4_PCql*EOVE#PL4$I`Y@BjHfmx(<@3XHN%ldkH{V~%@eAPn(5fa59)vH(7* z=ojH|JP+_lSj7T9smMfV&jUPV!b%oE5mqSB4B+W{Sjm3^)PZH8B$Nev+n&)UVDpDE z3qHNb0wiM~rH!TrfYvo`cy*dkupp{u0XmICsne*PPt#bZ33&@Xy{H?-1Tsn+igF>< z-}cb8e#l$!YxFW^pKHYoa3Zzi?yljwqgNCj;M=t^$2ZN5d!0qUDFC(y5} z?AbHG+irjNgj>y-uVnSlRGARK3QR4~24q^=3IG;P3V4ecU|R?Qk);k{C6sZAN3MAJ9^-UIlIv8(gAIBS=&d`670N{4K&Vs&WEU;+-0mHGS0Rz0* zsX7>M2qoiGbJCsxR2|F#R1CDk(7}Ce;{v8)^a0Yt8Gv<= z1z^R;ix~U8G<%hWNR9c9!S6L7;14n?h#Trhug-X*+g&G(8o)Hd0uAVNvP!vyr4-QP zAPawBwE58I0YhCE_%6ocr~&+UrU+oZZCL~`DKWpZbt|6-bUOSMkTGDzu?|WB$OIU8 zK_~#`Enpp#xS$FPEBnlXWSa*lKT9l-V++cvHplh?K$KKK9uURqwLm?zGO2?MU>1WF z(rBABW&n<3EMP^NRhn}z+?kkh9=;H8n;L)j21@bvK+9SH=Y;~iF#pL=N&vGMbTYy@ z2PWKmF&HcXxUOy}^*Sx!#r$PXSpXC64el)msFsGU2)IoT-Uk2^vc}-luj;ZS$2{nIz z_VF@+bv?P2h0(Qi$Gw{W+XBGT4B%-M;OR1euu{Oxg>?WK3#@BvT9A)HDPU0yO0$sc z6kur<-n$OoyAnTuhiPs3zyPIDUn2i!7fyxfpP%-HI2R4|^{F^-_zfZWr%&|^_LylD z0B8N6-#G0D0gmScGy+_OU4XyjG-!VSp$0(_;Gg3Dedyw-0X_lv_zis;a0bGGUk(UF zUo Date: Sat, 14 Jan 2023 21:05:10 -0500 Subject: [PATCH 48/62] Update INSTALL.md Clarify that WSL is also available on Windows 11 --- INSTALL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 5f2a1f05f1..01fbd5ceef 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -9,7 +9,7 @@ If you run into trouble, ask for help on Discord or IRC (see [README.md](README. ## Windows Windows has instructions for building with three possible terminals, providing 3 different options in case the user stumbles upon unexpected errors. -- [Windows 10 (WSL1)](#windows-10-wsl1) (**Fastest, highly recommended**, Windows 10 only) +- [Windows 10/11 (WSL1)](#windows-1011-wsl1) (**Fastest, highly recommended**, Windows 10 and 11 only) - [Windows (msys2)](#windows-msys2) (Second fastest) - [Windows (Cygwin)](#windows-cygwin) (Slowest) @@ -26,7 +26,7 @@ All of the Windows instructions assume that the default drive is C:\\. If this d **A note of caution**: As Windows 7 is officially unsupported by Microsoft and Windows 8 has very little usage, some maintainers are unwilling to maintain the Windows 7/8 instructions. Thus, these instructions may break in the future with fixes taking longer than fixes to the Windows 10 instructions. -## Windows 10 (WSL1) +## Windows 10/11 (WSL1) WSL1 is the preferred terminal to build **pokeemerald**. The following instructions will explain how to install WSL1 (referred to interchangeably as WSL). - If WSL (Debian or Ubuntu) is **not installed**, then go to [Installing WSL1](#Installing-WSL1). - Otherwise, if WSL is installed, but it **hasn't previously been set up for another decompilation project**, then go to [Setting up WSL1](#Setting-up-WSL1). From 70d59d6aa93a3a84e7d17e12fd392f00c3a37bce Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 15 Jan 2023 02:15:11 -0300 Subject: [PATCH 49/62] Improve Easy Chat documentation --- include/constants/easy_chat.h | 2037 +++++++++-------- src/data/easy_chat/easy_chat_group_actions.h | 78 + .../easy_chat/easy_chat_group_adjectives.h | 36 + src/data/easy_chat/easy_chat_group_battle.h | 63 + .../easy_chat/easy_chat_group_conditions.h | 69 + src/data/easy_chat/easy_chat_group_endings.h | 69 + src/data/easy_chat/easy_chat_group_events.h | 29 + src/data/easy_chat/easy_chat_group_feelings.h | 69 + .../easy_chat/easy_chat_group_greetings.h | 42 + src/data/easy_chat/easy_chat_group_hobbies.h | 54 + .../easy_chat/easy_chat_group_lifestyle.h | 45 + src/data/easy_chat/easy_chat_group_misc.h | 42 + src/data/easy_chat/easy_chat_group_people.h | 79 +- src/data/easy_chat/easy_chat_group_speech.h | 60 + src/data/easy_chat/easy_chat_group_status.h | 109 + src/data/easy_chat/easy_chat_group_time.h | 45 + src/data/easy_chat/easy_chat_group_trainer.h | 27 + .../easy_chat/easy_chat_group_trendy_saying.h | 33 + src/data/easy_chat/easy_chat_group_voices.h | 63 + src/data/easy_chat/easy_chat_groups.h | 22 + 20 files changed, 2053 insertions(+), 1018 deletions(-) diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h index f98cedbb71..b5875b8814 100644 --- a/include/constants/easy_chat.h +++ b/include/constants/easy_chat.h @@ -53,1048 +53,1048 @@ #define EC_NUM_GROUPS 22 // TRAINER -#define EC_WORD_I_CHOOSE_YOU (EC_GROUP_TRAINER << 9) | 0x0 -#define EC_WORD_GOTCHA (EC_GROUP_TRAINER << 9) | 0x1 -#define EC_WORD_TRADE (EC_GROUP_TRAINER << 9) | 0x2 -#define EC_WORD_SAPPHIRE (EC_GROUP_TRAINER << 9) | 0x3 -#define EC_WORD_EVOLVE (EC_GROUP_TRAINER << 9) | 0x4 -#define EC_WORD_ENCYCLOPEDIA (EC_GROUP_TRAINER << 9) | 0x5 -#define EC_WORD_NATURE (EC_GROUP_TRAINER << 9) | 0x6 -#define EC_WORD_CENTER (EC_GROUP_TRAINER << 9) | 0x7 -#define EC_WORD_EGG (EC_GROUP_TRAINER << 9) | 0x8 -#define EC_WORD_LINK (EC_GROUP_TRAINER << 9) | 0x9 -#define EC_WORD_SP_ABILITY (EC_GROUP_TRAINER << 9) | 0xa -#define EC_WORD_TRAINER (EC_GROUP_TRAINER << 9) | 0xb -#define EC_WORD_VERSION (EC_GROUP_TRAINER << 9) | 0xc -#define EC_WORD_POKENAV (EC_GROUP_TRAINER << 9) | 0xd -#define EC_WORD_POKEMON (EC_GROUP_TRAINER << 9) | 0xe -#define EC_WORD_GET (EC_GROUP_TRAINER << 9) | 0xf -#define EC_WORD_POKEDEX (EC_GROUP_TRAINER << 9) | 0x10 -#define EC_WORD_RUBY (EC_GROUP_TRAINER << 9) | 0x11 -#define EC_WORD_LEVEL (EC_GROUP_TRAINER << 9) | 0x12 -#define EC_WORD_RED (EC_GROUP_TRAINER << 9) | 0x13 -#define EC_WORD_GREEN (EC_GROUP_TRAINER << 9) | 0x14 -#define EC_WORD_BAG (EC_GROUP_TRAINER << 9) | 0x15 -#define EC_WORD_FLAME (EC_GROUP_TRAINER << 9) | 0x16 -#define EC_WORD_GOLD (EC_GROUP_TRAINER << 9) | 0x17 -#define EC_WORD_LEAF (EC_GROUP_TRAINER << 9) | 0x18 -#define EC_WORD_SILVER (EC_GROUP_TRAINER << 9) | 0x19 -#define EC_WORD_EMERALD (EC_GROUP_TRAINER << 9) | 0x1a +#define EC_WORD_I_CHOOSE_YOU ((EC_GROUP_TRAINER << EC_MASK_BITS) | 0) +#define EC_WORD_GOTCHA ((EC_GROUP_TRAINER << EC_MASK_BITS) | 1) +#define EC_WORD_TRADE ((EC_GROUP_TRAINER << EC_MASK_BITS) | 2) +#define EC_WORD_SAPPHIRE ((EC_GROUP_TRAINER << EC_MASK_BITS) | 3) +#define EC_WORD_EVOLVE ((EC_GROUP_TRAINER << EC_MASK_BITS) | 4) +#define EC_WORD_ENCYCLOPEDIA ((EC_GROUP_TRAINER << EC_MASK_BITS) | 5) +#define EC_WORD_NATURE ((EC_GROUP_TRAINER << EC_MASK_BITS) | 6) +#define EC_WORD_CENTER ((EC_GROUP_TRAINER << EC_MASK_BITS) | 7) +#define EC_WORD_EGG ((EC_GROUP_TRAINER << EC_MASK_BITS) | 8) +#define EC_WORD_LINK ((EC_GROUP_TRAINER << EC_MASK_BITS) | 9) +#define EC_WORD_SP_ABILITY ((EC_GROUP_TRAINER << EC_MASK_BITS) | 10) +#define EC_WORD_TRAINER ((EC_GROUP_TRAINER << EC_MASK_BITS) | 11) +#define EC_WORD_VERSION ((EC_GROUP_TRAINER << EC_MASK_BITS) | 12) +#define EC_WORD_POKENAV ((EC_GROUP_TRAINER << EC_MASK_BITS) | 13) +#define EC_WORD_POKEMON ((EC_GROUP_TRAINER << EC_MASK_BITS) | 14) +#define EC_WORD_GET ((EC_GROUP_TRAINER << EC_MASK_BITS) | 15) +#define EC_WORD_POKEDEX ((EC_GROUP_TRAINER << EC_MASK_BITS) | 16) +#define EC_WORD_RUBY ((EC_GROUP_TRAINER << EC_MASK_BITS) | 17) +#define EC_WORD_LEVEL ((EC_GROUP_TRAINER << EC_MASK_BITS) | 18) +#define EC_WORD_RED ((EC_GROUP_TRAINER << EC_MASK_BITS) | 19) +#define EC_WORD_GREEN ((EC_GROUP_TRAINER << EC_MASK_BITS) | 20) +#define EC_WORD_BAG ((EC_GROUP_TRAINER << EC_MASK_BITS) | 21) +#define EC_WORD_FLAME ((EC_GROUP_TRAINER << EC_MASK_BITS) | 22) +#define EC_WORD_GOLD ((EC_GROUP_TRAINER << EC_MASK_BITS) | 23) +#define EC_WORD_LEAF ((EC_GROUP_TRAINER << EC_MASK_BITS) | 24) +#define EC_WORD_SILVER ((EC_GROUP_TRAINER << EC_MASK_BITS) | 25) +#define EC_WORD_EMERALD ((EC_GROUP_TRAINER << EC_MASK_BITS) | 26) // STATUS -#define EC_WORD_DARK (EC_GROUP_STATUS << 9) | 0x0 -#define EC_WORD_STENCH (EC_GROUP_STATUS << 9) | 0x1 -#define EC_WORD_THICK_FAT (EC_GROUP_STATUS << 9) | 0x2 -#define EC_WORD_RAIN_DISH (EC_GROUP_STATUS << 9) | 0x3 -#define EC_WORD_DRIZZLE (EC_GROUP_STATUS << 9) | 0x4 -#define EC_WORD_ARENA_TRAP (EC_GROUP_STATUS << 9) | 0x5 -#define EC_WORD_INTIMIDATE (EC_GROUP_STATUS << 9) | 0x6 -#define EC_WORD_ROCK_HEAD (EC_GROUP_STATUS << 9) | 0x7 -#define EC_WORD_COLOR (EC_GROUP_STATUS << 9) | 0x8 -#define EC_WORD_ALT_COLOR (EC_GROUP_STATUS << 9) | 0x9 -#define EC_WORD_ROCK (EC_GROUP_STATUS << 9) | 0xa -#define EC_WORD_BEAUTIFUL (EC_GROUP_STATUS << 9) | 0xb -#define EC_WORD_BEAUTY (EC_GROUP_STATUS << 9) | 0xc -#define EC_WORD_AIR_LOCK (EC_GROUP_STATUS << 9) | 0xd -#define EC_WORD_PSYCHIC (EC_GROUP_STATUS << 9) | 0xe -#define EC_WORD_HYPER_CUTTER (EC_GROUP_STATUS << 9) | 0xf -#define EC_WORD_FIGHTING (EC_GROUP_STATUS << 9) | 0x10 -#define EC_WORD_SHADOW_TAG (EC_GROUP_STATUS << 9) | 0x11 -#define EC_WORD_SMART (EC_GROUP_STATUS << 9) | 0x12 -#define EC_WORD_SMARTNESS (EC_GROUP_STATUS << 9) | 0x13 -#define EC_WORD_SPEED_BOOST (EC_GROUP_STATUS << 9) | 0x14 -#define EC_WORD_COOL (EC_GROUP_STATUS << 9) | 0x15 -#define EC_WORD_COOLNESS (EC_GROUP_STATUS << 9) | 0x16 -#define EC_WORD_BATTLE_ARMOR (EC_GROUP_STATUS << 9) | 0x17 -#define EC_WORD_CUTE (EC_GROUP_STATUS << 9) | 0x18 -#define EC_WORD_CUTENESS (EC_GROUP_STATUS << 9) | 0x19 -#define EC_WORD_STURDY (EC_GROUP_STATUS << 9) | 0x1a -#define EC_WORD_SUCTION_CUPS (EC_GROUP_STATUS << 9) | 0x1b -#define EC_WORD_GRASS (EC_GROUP_STATUS << 9) | 0x1c -#define EC_WORD_CLEAR_BODY (EC_GROUP_STATUS << 9) | 0x1d -#define EC_WORD_TORRENT (EC_GROUP_STATUS << 9) | 0x1e -#define EC_WORD_GHOST (EC_GROUP_STATUS << 9) | 0x1f -#define EC_WORD_ICE (EC_GROUP_STATUS << 9) | 0x20 -#define EC_WORD_GUTS (EC_GROUP_STATUS << 9) | 0x21 -#define EC_WORD_ROUGH_SKIN (EC_GROUP_STATUS << 9) | 0x22 -#define EC_WORD_SHELL_ARMOR (EC_GROUP_STATUS << 9) | 0x23 -#define EC_WORD_NATURAL_CURE (EC_GROUP_STATUS << 9) | 0x24 -#define EC_WORD_DAMP (EC_GROUP_STATUS << 9) | 0x25 -#define EC_WORD_GROUND (EC_GROUP_STATUS << 9) | 0x26 -#define EC_WORD_LIMBER (EC_GROUP_STATUS << 9) | 0x27 -#define EC_WORD_MAGNET_PULL (EC_GROUP_STATUS << 9) | 0x28 -#define EC_WORD_WHITE_SMOKE (EC_GROUP_STATUS << 9) | 0x29 -#define EC_WORD_SYNCHRONIZE (EC_GROUP_STATUS << 9) | 0x2a -#define EC_WORD_OVERGROW (EC_GROUP_STATUS << 9) | 0x2b -#define EC_WORD_SWIFT_SWIM (EC_GROUP_STATUS << 9) | 0x2c -#define EC_WORD_SAND_STREAM (EC_GROUP_STATUS << 9) | 0x2d -#define EC_WORD_SAND_VEIL (EC_GROUP_STATUS << 9) | 0x2e -#define EC_WORD_KEEN_EYE (EC_GROUP_STATUS << 9) | 0x2f -#define EC_WORD_INNER_FOCUS (EC_GROUP_STATUS << 9) | 0x30 -#define EC_WORD_STATIC (EC_GROUP_STATUS << 9) | 0x31 -#define EC_WORD_TYPE (EC_GROUP_STATUS << 9) | 0x32 -#define EC_WORD_TOUGH (EC_GROUP_STATUS << 9) | 0x33 -#define EC_WORD_TOUGHNESS (EC_GROUP_STATUS << 9) | 0x34 -#define EC_WORD_SHED_SKIN (EC_GROUP_STATUS << 9) | 0x35 -#define EC_WORD_HUGE_POWER (EC_GROUP_STATUS << 9) | 0x36 -#define EC_WORD_VOLT_ABSORB (EC_GROUP_STATUS << 9) | 0x37 -#define EC_WORD_WATER_ABSORB (EC_GROUP_STATUS << 9) | 0x38 -#define EC_WORD_ELECTRIC (EC_GROUP_STATUS << 9) | 0x39 -#define EC_WORD_FORECAST (EC_GROUP_STATUS << 9) | 0x3a -#define EC_WORD_SERENE_GRACE (EC_GROUP_STATUS << 9) | 0x3b -#define EC_WORD_POISON (EC_GROUP_STATUS << 9) | 0x3c -#define EC_WORD_POISON_POINT (EC_GROUP_STATUS << 9) | 0x3d -#define EC_WORD_DRAGON (EC_GROUP_STATUS << 9) | 0x3e -#define EC_WORD_TRACE (EC_GROUP_STATUS << 9) | 0x3f -#define EC_WORD_OBLIVIOUS (EC_GROUP_STATUS << 9) | 0x40 -#define EC_WORD_TRUANT (EC_GROUP_STATUS << 9) | 0x41 -#define EC_WORD_RUN_AWAY (EC_GROUP_STATUS << 9) | 0x42 -#define EC_WORD_STICKY_HOLD (EC_GROUP_STATUS << 9) | 0x43 -#define EC_WORD_CLOUD_NINE (EC_GROUP_STATUS << 9) | 0x44 -#define EC_WORD_NORMAL (EC_GROUP_STATUS << 9) | 0x45 -#define EC_WORD_STEEL (EC_GROUP_STATUS << 9) | 0x46 -#define EC_WORD_ILLUMINATE (EC_GROUP_STATUS << 9) | 0x47 -#define EC_WORD_EARLY_BIRD (EC_GROUP_STATUS << 9) | 0x48 -#define EC_WORD_HUSTLE (EC_GROUP_STATUS << 9) | 0x49 -#define EC_WORD_SHINE (EC_GROUP_STATUS << 9) | 0x4a -#define EC_WORD_FLYING (EC_GROUP_STATUS << 9) | 0x4b -#define EC_WORD_DROUGHT (EC_GROUP_STATUS << 9) | 0x4c -#define EC_WORD_LIGHTNINGROD (EC_GROUP_STATUS << 9) | 0x4d -#define EC_WORD_COMPOUNDEYES (EC_GROUP_STATUS << 9) | 0x4e -#define EC_WORD_MARVEL_SCALE (EC_GROUP_STATUS << 9) | 0x4f -#define EC_WORD_WONDER_GUARD (EC_GROUP_STATUS << 9) | 0x50 -#define EC_WORD_INSOMNIA (EC_GROUP_STATUS << 9) | 0x51 -#define EC_WORD_LEVITATE (EC_GROUP_STATUS << 9) | 0x52 -#define EC_WORD_PLUS (EC_GROUP_STATUS << 9) | 0x53 -#define EC_WORD_PRESSURE (EC_GROUP_STATUS << 9) | 0x54 -#define EC_WORD_LIQUID_OOZE (EC_GROUP_STATUS << 9) | 0x55 -#define EC_WORD_COLOR_CHANGE (EC_GROUP_STATUS << 9) | 0x56 -#define EC_WORD_SOUNDPROOF (EC_GROUP_STATUS << 9) | 0x57 -#define EC_WORD_EFFECT_SPORE (EC_GROUP_STATUS << 9) | 0x58 -#define EC_WORD_PKRS (EC_GROUP_STATUS << 9) | 0x59 -#define EC_WORD_FIRE (EC_GROUP_STATUS << 9) | 0x5a -#define EC_WORD_FLAME_BODY (EC_GROUP_STATUS << 9) | 0x5b -#define EC_WORD_MINUS (EC_GROUP_STATUS << 9) | 0x5c -#define EC_WORD_OWN_TEMPO (EC_GROUP_STATUS << 9) | 0x5d -#define EC_WORD_MAGMA_ARMOR (EC_GROUP_STATUS << 9) | 0x5e -#define EC_WORD_WATER (EC_GROUP_STATUS << 9) | 0x5f -#define EC_WORD_WATER_VEIL (EC_GROUP_STATUS << 9) | 0x60 -#define EC_WORD_BUG (EC_GROUP_STATUS << 9) | 0x61 -#define EC_WORD_SWARM (EC_GROUP_STATUS << 9) | 0x62 -#define EC_WORD_CUTE_CHARM (EC_GROUP_STATUS << 9) | 0x63 -#define EC_WORD_IMMUNITY (EC_GROUP_STATUS << 9) | 0x64 -#define EC_WORD_BLAZE (EC_GROUP_STATUS << 9) | 0x65 -#define EC_WORD_PICKUP (EC_GROUP_STATUS << 9) | 0x66 -#define EC_WORD_PATTERN (EC_GROUP_STATUS << 9) | 0x67 -#define EC_WORD_FLASH_FIRE (EC_GROUP_STATUS << 9) | 0x68 -#define EC_WORD_VITAL_SPIRIT (EC_GROUP_STATUS << 9) | 0x69 -#define EC_WORD_CHLOROPHYLL (EC_GROUP_STATUS << 9) | 0x6a -#define EC_WORD_PURE_POWER (EC_GROUP_STATUS << 9) | 0x6b -#define EC_WORD_SHIELD_DUST (EC_GROUP_STATUS << 9) | 0x6c +#define EC_WORD_DARK ((EC_GROUP_STATUS << EC_MASK_BITS) | 0) +#define EC_WORD_STENCH ((EC_GROUP_STATUS << EC_MASK_BITS) | 1) +#define EC_WORD_THICK_FAT ((EC_GROUP_STATUS << EC_MASK_BITS) | 2) +#define EC_WORD_RAIN_DISH ((EC_GROUP_STATUS << EC_MASK_BITS) | 3) +#define EC_WORD_DRIZZLE ((EC_GROUP_STATUS << EC_MASK_BITS) | 4) +#define EC_WORD_ARENA_TRAP ((EC_GROUP_STATUS << EC_MASK_BITS) | 5) +#define EC_WORD_INTIMIDATE ((EC_GROUP_STATUS << EC_MASK_BITS) | 6) +#define EC_WORD_ROCK_HEAD ((EC_GROUP_STATUS << EC_MASK_BITS) | 7) +#define EC_WORD_COLOR ((EC_GROUP_STATUS << EC_MASK_BITS) | 8) +#define EC_WORD_ALT_COLOR ((EC_GROUP_STATUS << EC_MASK_BITS) | 9) +#define EC_WORD_ROCK ((EC_GROUP_STATUS << EC_MASK_BITS) | 10) +#define EC_WORD_BEAUTIFUL ((EC_GROUP_STATUS << EC_MASK_BITS) | 11) +#define EC_WORD_BEAUTY ((EC_GROUP_STATUS << EC_MASK_BITS) | 12) +#define EC_WORD_AIR_LOCK ((EC_GROUP_STATUS << EC_MASK_BITS) | 13) +#define EC_WORD_PSYCHIC ((EC_GROUP_STATUS << EC_MASK_BITS) | 14) +#define EC_WORD_HYPER_CUTTER ((EC_GROUP_STATUS << EC_MASK_BITS) | 15) +#define EC_WORD_FIGHTING ((EC_GROUP_STATUS << EC_MASK_BITS) | 16) +#define EC_WORD_SHADOW_TAG ((EC_GROUP_STATUS << EC_MASK_BITS) | 17) +#define EC_WORD_SMART ((EC_GROUP_STATUS << EC_MASK_BITS) | 18) +#define EC_WORD_SMARTNESS ((EC_GROUP_STATUS << EC_MASK_BITS) | 19) +#define EC_WORD_SPEED_BOOST ((EC_GROUP_STATUS << EC_MASK_BITS) | 20) +#define EC_WORD_COOL ((EC_GROUP_STATUS << EC_MASK_BITS) | 21) +#define EC_WORD_COOLNESS ((EC_GROUP_STATUS << EC_MASK_BITS) | 22) +#define EC_WORD_BATTLE_ARMOR ((EC_GROUP_STATUS << EC_MASK_BITS) | 23) +#define EC_WORD_CUTE ((EC_GROUP_STATUS << EC_MASK_BITS) | 24) +#define EC_WORD_CUTENESS ((EC_GROUP_STATUS << EC_MASK_BITS) | 25) +#define EC_WORD_STURDY ((EC_GROUP_STATUS << EC_MASK_BITS) | 26) +#define EC_WORD_SUCTION_CUPS ((EC_GROUP_STATUS << EC_MASK_BITS) | 27) +#define EC_WORD_GRASS ((EC_GROUP_STATUS << EC_MASK_BITS) | 28) +#define EC_WORD_CLEAR_BODY ((EC_GROUP_STATUS << EC_MASK_BITS) | 29) +#define EC_WORD_TORRENT ((EC_GROUP_STATUS << EC_MASK_BITS) | 30) +#define EC_WORD_GHOST ((EC_GROUP_STATUS << EC_MASK_BITS) | 31) +#define EC_WORD_ICE ((EC_GROUP_STATUS << EC_MASK_BITS) | 32) +#define EC_WORD_GUTS ((EC_GROUP_STATUS << EC_MASK_BITS) | 33) +#define EC_WORD_ROUGH_SKIN ((EC_GROUP_STATUS << EC_MASK_BITS) | 34) +#define EC_WORD_SHELL_ARMOR ((EC_GROUP_STATUS << EC_MASK_BITS) | 35) +#define EC_WORD_NATURAL_CURE ((EC_GROUP_STATUS << EC_MASK_BITS) | 36) +#define EC_WORD_DAMP ((EC_GROUP_STATUS << EC_MASK_BITS) | 37) +#define EC_WORD_GROUND ((EC_GROUP_STATUS << EC_MASK_BITS) | 38) +#define EC_WORD_LIMBER ((EC_GROUP_STATUS << EC_MASK_BITS) | 39) +#define EC_WORD_MAGNET_PULL ((EC_GROUP_STATUS << EC_MASK_BITS) | 40) +#define EC_WORD_WHITE_SMOKE ((EC_GROUP_STATUS << EC_MASK_BITS) | 41) +#define EC_WORD_SYNCHRONIZE ((EC_GROUP_STATUS << EC_MASK_BITS) | 42) +#define EC_WORD_OVERGROW ((EC_GROUP_STATUS << EC_MASK_BITS) | 43) +#define EC_WORD_SWIFT_SWIM ((EC_GROUP_STATUS << EC_MASK_BITS) | 44) +#define EC_WORD_SAND_STREAM ((EC_GROUP_STATUS << EC_MASK_BITS) | 45) +#define EC_WORD_SAND_VEIL ((EC_GROUP_STATUS << EC_MASK_BITS) | 46) +#define EC_WORD_KEEN_EYE ((EC_GROUP_STATUS << EC_MASK_BITS) | 47) +#define EC_WORD_INNER_FOCUS ((EC_GROUP_STATUS << EC_MASK_BITS) | 48) +#define EC_WORD_STATIC ((EC_GROUP_STATUS << EC_MASK_BITS) | 49) +#define EC_WORD_TYPE ((EC_GROUP_STATUS << EC_MASK_BITS) | 50) +#define EC_WORD_TOUGH ((EC_GROUP_STATUS << EC_MASK_BITS) | 51) +#define EC_WORD_TOUGHNESS ((EC_GROUP_STATUS << EC_MASK_BITS) | 52) +#define EC_WORD_SHED_SKIN ((EC_GROUP_STATUS << EC_MASK_BITS) | 53) +#define EC_WORD_HUGE_POWER ((EC_GROUP_STATUS << EC_MASK_BITS) | 54) +#define EC_WORD_VOLT_ABSORB ((EC_GROUP_STATUS << EC_MASK_BITS) | 55) +#define EC_WORD_WATER_ABSORB ((EC_GROUP_STATUS << EC_MASK_BITS) | 56) +#define EC_WORD_ELECTRIC ((EC_GROUP_STATUS << EC_MASK_BITS) | 57) +#define EC_WORD_FORECAST ((EC_GROUP_STATUS << EC_MASK_BITS) | 58) +#define EC_WORD_SERENE_GRACE ((EC_GROUP_STATUS << EC_MASK_BITS) | 59) +#define EC_WORD_POISON ((EC_GROUP_STATUS << EC_MASK_BITS) | 60) +#define EC_WORD_POISON_POINT ((EC_GROUP_STATUS << EC_MASK_BITS) | 61) +#define EC_WORD_DRAGON ((EC_GROUP_STATUS << EC_MASK_BITS) | 62) +#define EC_WORD_TRACE ((EC_GROUP_STATUS << EC_MASK_BITS) | 63) +#define EC_WORD_OBLIVIOUS ((EC_GROUP_STATUS << EC_MASK_BITS) | 64) +#define EC_WORD_TRUANT ((EC_GROUP_STATUS << EC_MASK_BITS) | 65) +#define EC_WORD_RUN_AWAY ((EC_GROUP_STATUS << EC_MASK_BITS) | 66) +#define EC_WORD_STICKY_HOLD ((EC_GROUP_STATUS << EC_MASK_BITS) | 67) +#define EC_WORD_CLOUD_NINE ((EC_GROUP_STATUS << EC_MASK_BITS) | 68) +#define EC_WORD_NORMAL ((EC_GROUP_STATUS << EC_MASK_BITS) | 69) +#define EC_WORD_STEEL ((EC_GROUP_STATUS << EC_MASK_BITS) | 70) +#define EC_WORD_ILLUMINATE ((EC_GROUP_STATUS << EC_MASK_BITS) | 71) +#define EC_WORD_EARLY_BIRD ((EC_GROUP_STATUS << EC_MASK_BITS) | 72) +#define EC_WORD_HUSTLE ((EC_GROUP_STATUS << EC_MASK_BITS) | 73) +#define EC_WORD_SHINE ((EC_GROUP_STATUS << EC_MASK_BITS) | 74) +#define EC_WORD_FLYING ((EC_GROUP_STATUS << EC_MASK_BITS) | 75) +#define EC_WORD_DROUGHT ((EC_GROUP_STATUS << EC_MASK_BITS) | 76) +#define EC_WORD_LIGHTNINGROD ((EC_GROUP_STATUS << EC_MASK_BITS) | 77) +#define EC_WORD_COMPOUNDEYES ((EC_GROUP_STATUS << EC_MASK_BITS) | 78) +#define EC_WORD_MARVEL_SCALE ((EC_GROUP_STATUS << EC_MASK_BITS) | 79) +#define EC_WORD_WONDER_GUARD ((EC_GROUP_STATUS << EC_MASK_BITS) | 80) +#define EC_WORD_INSOMNIA ((EC_GROUP_STATUS << EC_MASK_BITS) | 81) +#define EC_WORD_LEVITATE ((EC_GROUP_STATUS << EC_MASK_BITS) | 82) +#define EC_WORD_PLUS ((EC_GROUP_STATUS << EC_MASK_BITS) | 83) +#define EC_WORD_PRESSURE ((EC_GROUP_STATUS << EC_MASK_BITS) | 84) +#define EC_WORD_LIQUID_OOZE ((EC_GROUP_STATUS << EC_MASK_BITS) | 85) +#define EC_WORD_COLOR_CHANGE ((EC_GROUP_STATUS << EC_MASK_BITS) | 86) +#define EC_WORD_SOUNDPROOF ((EC_GROUP_STATUS << EC_MASK_BITS) | 87) +#define EC_WORD_EFFECT_SPORE ((EC_GROUP_STATUS << EC_MASK_BITS) | 88) +#define EC_WORD_PKRS ((EC_GROUP_STATUS << EC_MASK_BITS) | 89) +#define EC_WORD_FIRE ((EC_GROUP_STATUS << EC_MASK_BITS) | 90) +#define EC_WORD_FLAME_BODY ((EC_GROUP_STATUS << EC_MASK_BITS) | 91) +#define EC_WORD_MINUS ((EC_GROUP_STATUS << EC_MASK_BITS) | 92) +#define EC_WORD_OWN_TEMPO ((EC_GROUP_STATUS << EC_MASK_BITS) | 93) +#define EC_WORD_MAGMA_ARMOR ((EC_GROUP_STATUS << EC_MASK_BITS) | 94) +#define EC_WORD_WATER ((EC_GROUP_STATUS << EC_MASK_BITS) | 95) +#define EC_WORD_WATER_VEIL ((EC_GROUP_STATUS << EC_MASK_BITS) | 96) +#define EC_WORD_BUG ((EC_GROUP_STATUS << EC_MASK_BITS) | 97) +#define EC_WORD_SWARM ((EC_GROUP_STATUS << EC_MASK_BITS) | 98) +#define EC_WORD_CUTE_CHARM ((EC_GROUP_STATUS << EC_MASK_BITS) | 99) +#define EC_WORD_IMMUNITY ((EC_GROUP_STATUS << EC_MASK_BITS) | 100) +#define EC_WORD_BLAZE ((EC_GROUP_STATUS << EC_MASK_BITS) | 101) +#define EC_WORD_PICKUP ((EC_GROUP_STATUS << EC_MASK_BITS) | 102) +#define EC_WORD_PATTERN ((EC_GROUP_STATUS << EC_MASK_BITS) | 103) +#define EC_WORD_FLASH_FIRE ((EC_GROUP_STATUS << EC_MASK_BITS) | 104) +#define EC_WORD_VITAL_SPIRIT ((EC_GROUP_STATUS << EC_MASK_BITS) | 105) +#define EC_WORD_CHLOROPHYLL ((EC_GROUP_STATUS << EC_MASK_BITS) | 106) +#define EC_WORD_PURE_POWER ((EC_GROUP_STATUS << EC_MASK_BITS) | 107) +#define EC_WORD_SHIELD_DUST ((EC_GROUP_STATUS << EC_MASK_BITS) | 108) // BATTLE -#define EC_WORD_MATCH_UP (EC_GROUP_BATTLE << 9) | 0x0 -#define EC_WORD_GO (EC_GROUP_BATTLE << 9) | 0x1 -#define EC_WORD_NO_1 (EC_GROUP_BATTLE << 9) | 0x2 -#define EC_WORD_DECIDE (EC_GROUP_BATTLE << 9) | 0x3 -#define EC_WORD_LET_ME_WIN (EC_GROUP_BATTLE << 9) | 0x4 -#define EC_WORD_WINS (EC_GROUP_BATTLE << 9) | 0x5 -#define EC_WORD_WIN (EC_GROUP_BATTLE << 9) | 0x6 -#define EC_WORD_WON (EC_GROUP_BATTLE << 9) | 0x7 -#define EC_WORD_IF_I_WIN (EC_GROUP_BATTLE << 9) | 0x8 -#define EC_WORD_WHEN_I_WIN (EC_GROUP_BATTLE << 9) | 0x9 -#define EC_WORD_CAN_T_WIN (EC_GROUP_BATTLE << 9) | 0xa -#define EC_WORD_CAN_WIN (EC_GROUP_BATTLE << 9) | 0xb -#define EC_WORD_NO_MATCH (EC_GROUP_BATTLE << 9) | 0xc -#define EC_WORD_SPIRIT (EC_GROUP_BATTLE << 9) | 0xd -#define EC_WORD_DECIDED (EC_GROUP_BATTLE << 9) | 0xe -#define EC_WORD_TRUMP_CARD (EC_GROUP_BATTLE << 9) | 0xf -#define EC_WORD_TAKE_THAT (EC_GROUP_BATTLE << 9) | 0x10 -#define EC_WORD_COME_ON (EC_GROUP_BATTLE << 9) | 0x11 -#define EC_WORD_ATTACK (EC_GROUP_BATTLE << 9) | 0x12 -#define EC_WORD_SURRENDER (EC_GROUP_BATTLE << 9) | 0x13 -#define EC_WORD_GUTSY (EC_GROUP_BATTLE << 9) | 0x14 -#define EC_WORD_TALENT (EC_GROUP_BATTLE << 9) | 0x15 -#define EC_WORD_STRATEGY (EC_GROUP_BATTLE << 9) | 0x16 -#define EC_WORD_SMITE (EC_GROUP_BATTLE << 9) | 0x17 -#define EC_WORD_MATCH (EC_GROUP_BATTLE << 9) | 0x18 -#define EC_WORD_VICTORY (EC_GROUP_BATTLE << 9) | 0x19 -#define EC_WORD_OFFENSIVE (EC_GROUP_BATTLE << 9) | 0x1a -#define EC_WORD_SENSE (EC_GROUP_BATTLE << 9) | 0x1b -#define EC_WORD_VERSUS (EC_GROUP_BATTLE << 9) | 0x1c -#define EC_WORD_FIGHTS (EC_GROUP_BATTLE << 9) | 0x1d -#define EC_WORD_POWER (EC_GROUP_BATTLE << 9) | 0x1e -#define EC_WORD_CHALLENGE (EC_GROUP_BATTLE << 9) | 0x1f -#define EC_WORD_STRONG (EC_GROUP_BATTLE << 9) | 0x20 -#define EC_WORD_TOO_STRONG (EC_GROUP_BATTLE << 9) | 0x21 -#define EC_WORD_GO_EASY (EC_GROUP_BATTLE << 9) | 0x22 -#define EC_WORD_FOE (EC_GROUP_BATTLE << 9) | 0x23 -#define EC_WORD_GENIUS (EC_GROUP_BATTLE << 9) | 0x24 -#define EC_WORD_LEGEND (EC_GROUP_BATTLE << 9) | 0x25 -#define EC_WORD_ESCAPE (EC_GROUP_BATTLE << 9) | 0x26 -#define EC_WORD_AIM (EC_GROUP_BATTLE << 9) | 0x27 -#define EC_WORD_BATTLE (EC_GROUP_BATTLE << 9) | 0x28 -#define EC_WORD_FIGHT (EC_GROUP_BATTLE << 9) | 0x29 -#define EC_WORD_RESUSCITATE (EC_GROUP_BATTLE << 9) | 0x2a -#define EC_WORD_POINTS (EC_GROUP_BATTLE << 9) | 0x2b -#define EC_WORD_SERIOUS (EC_GROUP_BATTLE << 9) | 0x2c -#define EC_WORD_GIVE_UP (EC_GROUP_BATTLE << 9) | 0x2d -#define EC_WORD_LOSS (EC_GROUP_BATTLE << 9) | 0x2e -#define EC_WORD_IF_I_LOSE (EC_GROUP_BATTLE << 9) | 0x2f -#define EC_WORD_LOST (EC_GROUP_BATTLE << 9) | 0x30 -#define EC_WORD_LOSE (EC_GROUP_BATTLE << 9) | 0x31 -#define EC_WORD_GUARD (EC_GROUP_BATTLE << 9) | 0x32 -#define EC_WORD_PARTNER (EC_GROUP_BATTLE << 9) | 0x33 -#define EC_WORD_REJECT (EC_GROUP_BATTLE << 9) | 0x34 -#define EC_WORD_ACCEPT (EC_GROUP_BATTLE << 9) | 0x35 -#define EC_WORD_INVINCIBLE (EC_GROUP_BATTLE << 9) | 0x36 -#define EC_WORD_RECEIVED (EC_GROUP_BATTLE << 9) | 0x37 -#define EC_WORD_EASY (EC_GROUP_BATTLE << 9) | 0x38 -#define EC_WORD_WEAK (EC_GROUP_BATTLE << 9) | 0x39 -#define EC_WORD_TOO_WEAK (EC_GROUP_BATTLE << 9) | 0x3a -#define EC_WORD_PUSHOVER (EC_GROUP_BATTLE << 9) | 0x3b -#define EC_WORD_LEADER (EC_GROUP_BATTLE << 9) | 0x3c -#define EC_WORD_RULE (EC_GROUP_BATTLE << 9) | 0x3d -#define EC_WORD_MOVE (EC_GROUP_BATTLE << 9) | 0x3e +#define EC_WORD_MATCH_UP ((EC_GROUP_BATTLE << EC_MASK_BITS) | 0) +#define EC_WORD_GO ((EC_GROUP_BATTLE << EC_MASK_BITS) | 1) +#define EC_WORD_NO_1 ((EC_GROUP_BATTLE << EC_MASK_BITS) | 2) +#define EC_WORD_DECIDE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 3) +#define EC_WORD_LET_ME_WIN ((EC_GROUP_BATTLE << EC_MASK_BITS) | 4) +#define EC_WORD_WINS ((EC_GROUP_BATTLE << EC_MASK_BITS) | 5) +#define EC_WORD_WIN ((EC_GROUP_BATTLE << EC_MASK_BITS) | 6) +#define EC_WORD_WON ((EC_GROUP_BATTLE << EC_MASK_BITS) | 7) +#define EC_WORD_IF_I_WIN ((EC_GROUP_BATTLE << EC_MASK_BITS) | 8) +#define EC_WORD_WHEN_I_WIN ((EC_GROUP_BATTLE << EC_MASK_BITS) | 9) +#define EC_WORD_CAN_T_WIN ((EC_GROUP_BATTLE << EC_MASK_BITS) | 10) +#define EC_WORD_CAN_WIN ((EC_GROUP_BATTLE << EC_MASK_BITS) | 11) +#define EC_WORD_NO_MATCH ((EC_GROUP_BATTLE << EC_MASK_BITS) | 12) +#define EC_WORD_SPIRIT ((EC_GROUP_BATTLE << EC_MASK_BITS) | 13) +#define EC_WORD_DECIDED ((EC_GROUP_BATTLE << EC_MASK_BITS) | 14) +#define EC_WORD_TRUMP_CARD ((EC_GROUP_BATTLE << EC_MASK_BITS) | 15) +#define EC_WORD_TAKE_THAT ((EC_GROUP_BATTLE << EC_MASK_BITS) | 16) +#define EC_WORD_COME_ON ((EC_GROUP_BATTLE << EC_MASK_BITS) | 17) +#define EC_WORD_ATTACK ((EC_GROUP_BATTLE << EC_MASK_BITS) | 18) +#define EC_WORD_SURRENDER ((EC_GROUP_BATTLE << EC_MASK_BITS) | 19) +#define EC_WORD_GUTSY ((EC_GROUP_BATTLE << EC_MASK_BITS) | 20) +#define EC_WORD_TALENT ((EC_GROUP_BATTLE << EC_MASK_BITS) | 21) +#define EC_WORD_STRATEGY ((EC_GROUP_BATTLE << EC_MASK_BITS) | 22) +#define EC_WORD_SMITE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 23) +#define EC_WORD_MATCH ((EC_GROUP_BATTLE << EC_MASK_BITS) | 24) +#define EC_WORD_VICTORY ((EC_GROUP_BATTLE << EC_MASK_BITS) | 25) +#define EC_WORD_OFFENSIVE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 26) +#define EC_WORD_SENSE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 27) +#define EC_WORD_VERSUS ((EC_GROUP_BATTLE << EC_MASK_BITS) | 28) +#define EC_WORD_FIGHTS ((EC_GROUP_BATTLE << EC_MASK_BITS) | 29) +#define EC_WORD_POWER ((EC_GROUP_BATTLE << EC_MASK_BITS) | 30) +#define EC_WORD_CHALLENGE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 31) +#define EC_WORD_STRONG ((EC_GROUP_BATTLE << EC_MASK_BITS) | 32) +#define EC_WORD_TOO_STRONG ((EC_GROUP_BATTLE << EC_MASK_BITS) | 33) +#define EC_WORD_GO_EASY ((EC_GROUP_BATTLE << EC_MASK_BITS) | 34) +#define EC_WORD_FOE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 35) +#define EC_WORD_GENIUS ((EC_GROUP_BATTLE << EC_MASK_BITS) | 36) +#define EC_WORD_LEGEND ((EC_GROUP_BATTLE << EC_MASK_BITS) | 37) +#define EC_WORD_ESCAPE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 38) +#define EC_WORD_AIM ((EC_GROUP_BATTLE << EC_MASK_BITS) | 39) +#define EC_WORD_BATTLE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 40) +#define EC_WORD_FIGHT ((EC_GROUP_BATTLE << EC_MASK_BITS) | 41) +#define EC_WORD_RESUSCITATE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 42) +#define EC_WORD_POINTS ((EC_GROUP_BATTLE << EC_MASK_BITS) | 43) +#define EC_WORD_SERIOUS ((EC_GROUP_BATTLE << EC_MASK_BITS) | 44) +#define EC_WORD_GIVE_UP ((EC_GROUP_BATTLE << EC_MASK_BITS) | 45) +#define EC_WORD_LOSS ((EC_GROUP_BATTLE << EC_MASK_BITS) | 46) +#define EC_WORD_IF_I_LOSE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 47) +#define EC_WORD_LOST ((EC_GROUP_BATTLE << EC_MASK_BITS) | 48) +#define EC_WORD_LOSE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 49) +#define EC_WORD_GUARD ((EC_GROUP_BATTLE << EC_MASK_BITS) | 50) +#define EC_WORD_PARTNER ((EC_GROUP_BATTLE << EC_MASK_BITS) | 51) +#define EC_WORD_REJECT ((EC_GROUP_BATTLE << EC_MASK_BITS) | 52) +#define EC_WORD_ACCEPT ((EC_GROUP_BATTLE << EC_MASK_BITS) | 53) +#define EC_WORD_INVINCIBLE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 54) +#define EC_WORD_RECEIVED ((EC_GROUP_BATTLE << EC_MASK_BITS) | 55) +#define EC_WORD_EASY ((EC_GROUP_BATTLE << EC_MASK_BITS) | 56) +#define EC_WORD_WEAK ((EC_GROUP_BATTLE << EC_MASK_BITS) | 57) +#define EC_WORD_TOO_WEAK ((EC_GROUP_BATTLE << EC_MASK_BITS) | 58) +#define EC_WORD_PUSHOVER ((EC_GROUP_BATTLE << EC_MASK_BITS) | 59) +#define EC_WORD_LEADER ((EC_GROUP_BATTLE << EC_MASK_BITS) | 60) +#define EC_WORD_RULE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 61) +#define EC_WORD_MOVE ((EC_GROUP_BATTLE << EC_MASK_BITS) | 62) // GREETINGS -#define EC_WORD_THANKS (EC_GROUP_GREETINGS << 9) | 0x0 -#define EC_WORD_YES (EC_GROUP_GREETINGS << 9) | 0x1 -#define EC_WORD_HERE_GOES (EC_GROUP_GREETINGS << 9) | 0x2 -#define EC_WORD_HERE_I_COME (EC_GROUP_GREETINGS << 9) | 0x3 -#define EC_WORD_HERE_IT_IS (EC_GROUP_GREETINGS << 9) | 0x4 -#define EC_WORD_YEAH (EC_GROUP_GREETINGS << 9) | 0x5 -#define EC_WORD_WELCOME (EC_GROUP_GREETINGS << 9) | 0x6 -#define EC_WORD_OI (EC_GROUP_GREETINGS << 9) | 0x7 -#define EC_WORD_HOW_DO (EC_GROUP_GREETINGS << 9) | 0x8 -#define EC_WORD_CONGRATS (EC_GROUP_GREETINGS << 9) | 0x9 -#define EC_WORD_GIVE_ME (EC_GROUP_GREETINGS << 9) | 0xa -#define EC_WORD_SORRY (EC_GROUP_GREETINGS << 9) | 0xb -#define EC_WORD_APOLOGIZE (EC_GROUP_GREETINGS << 9) | 0xc -#define EC_WORD_FORGIVE (EC_GROUP_GREETINGS << 9) | 0xd -#define EC_WORD_HEY_THERE (EC_GROUP_GREETINGS << 9) | 0xe -#define EC_WORD_HELLO (EC_GROUP_GREETINGS << 9) | 0xf -#define EC_WORD_GOOD_BYE (EC_GROUP_GREETINGS << 9) | 0x10 -#define EC_WORD_THANK_YOU (EC_GROUP_GREETINGS << 9) | 0x11 -#define EC_WORD_I_VE_ARRIVED (EC_GROUP_GREETINGS << 9) | 0x12 -#define EC_WORD_PARDON (EC_GROUP_GREETINGS << 9) | 0x13 -#define EC_WORD_EXCUSE (EC_GROUP_GREETINGS << 9) | 0x14 -#define EC_WORD_SEE_YA (EC_GROUP_GREETINGS << 9) | 0x15 -#define EC_WORD_EXCUSE_ME (EC_GROUP_GREETINGS << 9) | 0x16 -#define EC_WORD_WELL_THEN (EC_GROUP_GREETINGS << 9) | 0x17 -#define EC_WORD_GO_AHEAD (EC_GROUP_GREETINGS << 9) | 0x18 -#define EC_WORD_APPRECIATE (EC_GROUP_GREETINGS << 9) | 0x19 -#define EC_WORD_HEY_QUES (EC_GROUP_GREETINGS << 9) | 0x1a -#define EC_WORD_WHAT_S_UP_QUES (EC_GROUP_GREETINGS << 9) | 0x1b -#define EC_WORD_HUH_QUES (EC_GROUP_GREETINGS << 9) | 0x1c -#define EC_WORD_NO (EC_GROUP_GREETINGS << 9) | 0x1d -#define EC_WORD_HI (EC_GROUP_GREETINGS << 9) | 0x1e -#define EC_WORD_YEAH_YEAH (EC_GROUP_GREETINGS << 9) | 0x1f -#define EC_WORD_BYE_BYE (EC_GROUP_GREETINGS << 9) | 0x20 -#define EC_WORD_MEET_YOU (EC_GROUP_GREETINGS << 9) | 0x21 -#define EC_WORD_HEY (EC_GROUP_GREETINGS << 9) | 0x22 -#define EC_WORD_SMELL (EC_GROUP_GREETINGS << 9) | 0x23 -#define EC_WORD_LISTENING (EC_GROUP_GREETINGS << 9) | 0x24 -#define EC_WORD_HOO_HAH (EC_GROUP_GREETINGS << 9) | 0x25 -#define EC_WORD_YAHOO (EC_GROUP_GREETINGS << 9) | 0x26 -#define EC_WORD_YO (EC_GROUP_GREETINGS << 9) | 0x27 -#define EC_WORD_COME_OVER (EC_GROUP_GREETINGS << 9) | 0x28 -#define EC_WORD_COUNT_ON (EC_GROUP_GREETINGS << 9) | 0x29 +#define EC_WORD_THANKS ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 0) +#define EC_WORD_YES ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 1) +#define EC_WORD_HERE_GOES ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 2) +#define EC_WORD_HERE_I_COME ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 3) +#define EC_WORD_HERE_IT_IS ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 4) +#define EC_WORD_YEAH ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 5) +#define EC_WORD_WELCOME ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 6) +#define EC_WORD_OI ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 7) +#define EC_WORD_HOW_DO ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 8) +#define EC_WORD_CONGRATS ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 9) +#define EC_WORD_GIVE_ME ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 10) +#define EC_WORD_SORRY ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 11) +#define EC_WORD_APOLOGIZE ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 12) +#define EC_WORD_FORGIVE ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 13) +#define EC_WORD_HEY_THERE ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 14) +#define EC_WORD_HELLO ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 15) +#define EC_WORD_GOOD_BYE ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 16) +#define EC_WORD_THANK_YOU ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 17) +#define EC_WORD_I_VE_ARRIVED ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 18) +#define EC_WORD_PARDON ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 19) +#define EC_WORD_EXCUSE ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 20) +#define EC_WORD_SEE_YA ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 21) +#define EC_WORD_EXCUSE_ME ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 22) +#define EC_WORD_WELL_THEN ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 23) +#define EC_WORD_GO_AHEAD ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 24) +#define EC_WORD_APPRECIATE ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 25) +#define EC_WORD_HEY_QUES ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 26) +#define EC_WORD_WHAT_S_UP_QUES ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 27) +#define EC_WORD_HUH_QUES ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 28) +#define EC_WORD_NO ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 29) +#define EC_WORD_HI ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 30) +#define EC_WORD_YEAH_YEAH ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 31) +#define EC_WORD_BYE_BYE ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 32) +#define EC_WORD_MEET_YOU ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 33) +#define EC_WORD_HEY ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 34) +#define EC_WORD_SMELL ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 35) +#define EC_WORD_LISTENING ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 36) +#define EC_WORD_HOO_HAH ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 37) +#define EC_WORD_YAHOO ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 38) +#define EC_WORD_YO ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 39) +#define EC_WORD_COME_OVER ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 40) +#define EC_WORD_COUNT_ON ((EC_GROUP_GREETINGS << EC_MASK_BITS) | 41) // PEOPLE -#define EC_WORD_OPPONENT (EC_GROUP_PEOPLE << 9) | 0x0 -#define EC_WORD_I (EC_GROUP_PEOPLE << 9) | 0x1 -#define EC_WORD_YOU (EC_GROUP_PEOPLE << 9) | 0x2 -#define EC_WORD_YOURS (EC_GROUP_PEOPLE << 9) | 0x3 -#define EC_WORD_SON (EC_GROUP_PEOPLE << 9) | 0x4 -#define EC_WORD_YOUR (EC_GROUP_PEOPLE << 9) | 0x5 -#define EC_WORD_YOU_RE (EC_GROUP_PEOPLE << 9) | 0x6 -#define EC_WORD_YOU_VE (EC_GROUP_PEOPLE << 9) | 0x7 -#define EC_WORD_MOTHER (EC_GROUP_PEOPLE << 9) | 0x8 -#define EC_WORD_GRANDFATHER (EC_GROUP_PEOPLE << 9) | 0x9 -#define EC_WORD_UNCLE (EC_GROUP_PEOPLE << 9) | 0xa -#define EC_WORD_FATHER (EC_GROUP_PEOPLE << 9) | 0xb -#define EC_WORD_BOY (EC_GROUP_PEOPLE << 9) | 0xc -#define EC_WORD_ADULT (EC_GROUP_PEOPLE << 9) | 0xd -#define EC_WORD_BROTHER (EC_GROUP_PEOPLE << 9) | 0xe -#define EC_WORD_SISTER (EC_GROUP_PEOPLE << 9) | 0xf -#define EC_WORD_GRANDMOTHER (EC_GROUP_PEOPLE << 9) | 0x10 -#define EC_WORD_AUNT (EC_GROUP_PEOPLE << 9) | 0x11 -#define EC_WORD_PARENT (EC_GROUP_PEOPLE << 9) | 0x12 -#define EC_WORD_MAN (EC_GROUP_PEOPLE << 9) | 0x13 -#define EC_WORD_ME (EC_GROUP_PEOPLE << 9) | 0x14 -#define EC_WORD_GIRL (EC_GROUP_PEOPLE << 9) | 0x15 -#define EC_WORD_BABE (EC_GROUP_PEOPLE << 9) | 0x16 -#define EC_WORD_FAMILY (EC_GROUP_PEOPLE << 9) | 0x17 -#define EC_WORD_HER (EC_GROUP_PEOPLE << 9) | 0x18 -#define EC_WORD_HIM (EC_GROUP_PEOPLE << 9) | 0x19 -#define EC_WORD_HE (EC_GROUP_PEOPLE << 9) | 0x1a -#define EC_WORD_PLACE (EC_GROUP_PEOPLE << 9) | 0x1b -#define EC_WORD_DAUGHTER (EC_GROUP_PEOPLE << 9) | 0x1c -#define EC_WORD_HIS (EC_GROUP_PEOPLE << 9) | 0x1d -#define EC_WORD_HE_S (EC_GROUP_PEOPLE << 9) | 0x1e -#define EC_WORD_AREN_T (EC_GROUP_PEOPLE << 9) | 0x1f -#define EC_WORD_SIBLINGS (EC_GROUP_PEOPLE << 9) | 0x20 -#define EC_WORD_KID (EC_GROUP_PEOPLE << 9) | 0x21 -#define EC_WORD_CHILDREN (EC_GROUP_PEOPLE << 9) | 0x22 -#define EC_WORD_MR (EC_GROUP_PEOPLE << 9) | 0x23 -#define EC_WORD_MRS (EC_GROUP_PEOPLE << 9) | 0x24 -#define EC_WORD_MYSELF (EC_GROUP_PEOPLE << 9) | 0x25 -#define EC_WORD_I_WAS (EC_GROUP_PEOPLE << 9) | 0x26 -#define EC_WORD_TO_ME (EC_GROUP_PEOPLE << 9) | 0x27 -#define EC_WORD_MY (EC_GROUP_PEOPLE << 9) | 0x28 -#define EC_WORD_I_AM (EC_GROUP_PEOPLE << 9) | 0x29 -#define EC_WORD_I_VE (EC_GROUP_PEOPLE << 9) | 0x2a -#define EC_WORD_WHO (EC_GROUP_PEOPLE << 9) | 0x2b -#define EC_WORD_SOMEONE (EC_GROUP_PEOPLE << 9) | 0x2c -#define EC_WORD_WHO_WAS (EC_GROUP_PEOPLE << 9) | 0x2d -#define EC_WORD_TO_WHOM (EC_GROUP_PEOPLE << 9) | 0x2e -#define EC_WORD_WHOSE (EC_GROUP_PEOPLE << 9) | 0x2f -#define EC_WORD_WHO_IS (EC_GROUP_PEOPLE << 9) | 0x30 -#define EC_WORD_IT_S (EC_GROUP_PEOPLE << 9) | 0x31 -#define EC_WORD_LADY (EC_GROUP_PEOPLE << 9) | 0x32 -#define EC_WORD_FRIEND (EC_GROUP_PEOPLE << 9) | 0x33 -#define EC_WORD_ALLY (EC_GROUP_PEOPLE << 9) | 0x34 -#define EC_WORD_PERSON (EC_GROUP_PEOPLE << 9) | 0x35 -#define EC_WORD_DUDE (EC_GROUP_PEOPLE << 9) | 0x36 -#define EC_WORD_THEY (EC_GROUP_PEOPLE << 9) | 0x37 -#define EC_WORD_THEY_WERE (EC_GROUP_PEOPLE << 9) | 0x38 -#define EC_WORD_TO_THEM (EC_GROUP_PEOPLE << 9) | 0x39 -#define EC_WORD_THEIR (EC_GROUP_PEOPLE << 9) | 0x3a -#define EC_WORD_THEY_RE (EC_GROUP_PEOPLE << 9) | 0x3b -#define EC_WORD_THEY_VE (EC_GROUP_PEOPLE << 9) | 0x3c -#define EC_WORD_WE (EC_GROUP_PEOPLE << 9) | 0x3d -#define EC_WORD_BEEN (EC_GROUP_PEOPLE << 9) | 0x3e -#define EC_WORD_TO_US (EC_GROUP_PEOPLE << 9) | 0x3f -#define EC_WORD_OUR (EC_GROUP_PEOPLE << 9) | 0x40 -#define EC_WORD_WE_RE (EC_GROUP_PEOPLE << 9) | 0x41 -#define EC_WORD_RIVAL (EC_GROUP_PEOPLE << 9) | 0x42 -#define EC_WORD_WE_VE (EC_GROUP_PEOPLE << 9) | 0x43 -#define EC_WORD_WOMAN (EC_GROUP_PEOPLE << 9) | 0x44 -#define EC_WORD_SHE (EC_GROUP_PEOPLE << 9) | 0x45 -#define EC_WORD_SHE_WAS (EC_GROUP_PEOPLE << 9) | 0x46 -#define EC_WORD_TO_HER (EC_GROUP_PEOPLE << 9) | 0x47 -#define EC_WORD_HERS (EC_GROUP_PEOPLE << 9) | 0x48 -#define EC_WORD_SHE_IS (EC_GROUP_PEOPLE << 9) | 0x49 -#define EC_WORD_SOME (EC_GROUP_PEOPLE << 9) | 0x4a +#define EC_WORD_OPPONENT ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 0) +#define EC_WORD_I ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 1) +#define EC_WORD_YOU ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 2) +#define EC_WORD_YOURS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 3) +#define EC_WORD_SON ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 4) +#define EC_WORD_YOUR ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 5) +#define EC_WORD_YOU_RE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 6) +#define EC_WORD_YOU_VE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 7) +#define EC_WORD_MOTHER ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 8) +#define EC_WORD_GRANDFATHER ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 9) +#define EC_WORD_UNCLE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 10) +#define EC_WORD_FATHER ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 11) +#define EC_WORD_BOY ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 12) +#define EC_WORD_ADULT ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 13) +#define EC_WORD_BROTHER ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 14) +#define EC_WORD_SISTER ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 15) +#define EC_WORD_GRANDMOTHER ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 16) +#define EC_WORD_AUNT ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 17) +#define EC_WORD_PARENT ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 18) +#define EC_WORD_MAN ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 19) +#define EC_WORD_ME ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 20) +#define EC_WORD_GIRL ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 21) +#define EC_WORD_BABE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 22) +#define EC_WORD_FAMILY ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 23) +#define EC_WORD_HER ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 24) +#define EC_WORD_HIM ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 25) +#define EC_WORD_HE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 26) +#define EC_WORD_PLACE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 27) +#define EC_WORD_DAUGHTER ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 28) +#define EC_WORD_HIS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 29) +#define EC_WORD_HE_S ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 30) +#define EC_WORD_AREN_T ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 31) +#define EC_WORD_SIBLINGS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 32) +#define EC_WORD_KID ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 33) +#define EC_WORD_CHILDREN ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 34) +#define EC_WORD_MR ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 35) +#define EC_WORD_MRS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 36) +#define EC_WORD_MYSELF ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 37) +#define EC_WORD_I_WAS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 38) +#define EC_WORD_TO_ME ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 39) +#define EC_WORD_MY ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 40) +#define EC_WORD_I_AM ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 41) +#define EC_WORD_I_VE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 42) +#define EC_WORD_WHO ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 43) +#define EC_WORD_SOMEONE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 44) +#define EC_WORD_WHO_WAS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 45) +#define EC_WORD_TO_WHOM ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 46) +#define EC_WORD_WHOSE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 47) +#define EC_WORD_WHO_IS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 48) +#define EC_WORD_IT_S ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 49) +#define EC_WORD_LADY ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 50) +#define EC_WORD_FRIEND ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 51) +#define EC_WORD_ALLY ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 52) +#define EC_WORD_PERSON ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 53) +#define EC_WORD_DUDE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 54) +#define EC_WORD_THEY ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 55) +#define EC_WORD_THEY_WERE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 56) +#define EC_WORD_TO_THEM ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 57) +#define EC_WORD_THEIR ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 58) +#define EC_WORD_THEY_RE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 59) +#define EC_WORD_THEY_VE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 60) +#define EC_WORD_WE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 61) +#define EC_WORD_BEEN ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 62) +#define EC_WORD_TO_US ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 63) +#define EC_WORD_OUR ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 64) +#define EC_WORD_WE_RE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 65) +#define EC_WORD_RIVAL ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 66) +#define EC_WORD_WE_VE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 67) +#define EC_WORD_WOMAN ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 68) +#define EC_WORD_SHE ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 69) +#define EC_WORD_SHE_WAS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 70) +#define EC_WORD_TO_HER ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 71) +#define EC_WORD_HERS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 72) +#define EC_WORD_SHE_IS ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 73) +#define EC_WORD_SOME ((EC_GROUP_PEOPLE << EC_MASK_BITS) | 74) // VOICES -#define EC_WORD_EXCL (EC_GROUP_VOICES << 9) | 0x0 -#define EC_WORD_EXCL_EXCL (EC_GROUP_VOICES << 9) | 0x1 -#define EC_WORD_QUES_EXCL (EC_GROUP_VOICES << 9) | 0x2 -#define EC_WORD_QUES (EC_GROUP_VOICES << 9) | 0x3 -#define EC_WORD_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x4 -#define EC_WORD_ELLIPSIS_EXCL (EC_GROUP_VOICES << 9) | 0x5 -#define EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x6 -#define EC_WORD_DASH (EC_GROUP_VOICES << 9) | 0x7 -#define EC_WORD_DASH_DASH_DASH (EC_GROUP_VOICES << 9) | 0x8 -#define EC_WORD_UH_OH (EC_GROUP_VOICES << 9) | 0x9 -#define EC_WORD_WAAAH (EC_GROUP_VOICES << 9) | 0xa -#define EC_WORD_AHAHA (EC_GROUP_VOICES << 9) | 0xb -#define EC_WORD_OH_QUES (EC_GROUP_VOICES << 9) | 0xc -#define EC_WORD_NOPE (EC_GROUP_VOICES << 9) | 0xd -#define EC_WORD_URGH (EC_GROUP_VOICES << 9) | 0xe -#define EC_WORD_HMM (EC_GROUP_VOICES << 9) | 0xf -#define EC_WORD_WHOAH (EC_GROUP_VOICES << 9) | 0x10 -#define EC_WORD_WROOOAAR_EXCL (EC_GROUP_VOICES << 9) | 0x11 -#define EC_WORD_WOW (EC_GROUP_VOICES << 9) | 0x12 -#define EC_WORD_GIGGLE (EC_GROUP_VOICES << 9) | 0x13 -#define EC_WORD_SIGH (EC_GROUP_VOICES << 9) | 0x14 -#define EC_WORD_UNBELIEVABLE (EC_GROUP_VOICES << 9) | 0x15 -#define EC_WORD_CRIES (EC_GROUP_VOICES << 9) | 0x16 -#define EC_WORD_AGREE (EC_GROUP_VOICES << 9) | 0x17 -#define EC_WORD_EH_QUES (EC_GROUP_VOICES << 9) | 0x18 -#define EC_WORD_CRY (EC_GROUP_VOICES << 9) | 0x19 -#define EC_WORD_EHEHE (EC_GROUP_VOICES << 9) | 0x1a -#define EC_WORD_OI_OI_OI (EC_GROUP_VOICES << 9) | 0x1b -#define EC_WORD_OH_YEAH (EC_GROUP_VOICES << 9) | 0x1c -#define EC_WORD_OH (EC_GROUP_VOICES << 9) | 0x1d -#define EC_WORD_OOPS (EC_GROUP_VOICES << 9) | 0x1e -#define EC_WORD_SHOCKED (EC_GROUP_VOICES << 9) | 0x1f -#define EC_WORD_EEK (EC_GROUP_VOICES << 9) | 0x20 -#define EC_WORD_GRAAAH (EC_GROUP_VOICES << 9) | 0x21 -#define EC_WORD_GWAHAHAHA (EC_GROUP_VOICES << 9) | 0x22 -#define EC_WORD_WAY (EC_GROUP_VOICES << 9) | 0x23 -#define EC_WORD_TCH (EC_GROUP_VOICES << 9) | 0x24 -#define EC_WORD_HEHE (EC_GROUP_VOICES << 9) | 0x25 -#define EC_WORD_HAH (EC_GROUP_VOICES << 9) | 0x26 -#define EC_WORD_YUP (EC_GROUP_VOICES << 9) | 0x27 -#define EC_WORD_HAHAHA (EC_GROUP_VOICES << 9) | 0x28 -#define EC_WORD_AIYEEH (EC_GROUP_VOICES << 9) | 0x29 -#define EC_WORD_HIYAH (EC_GROUP_VOICES << 9) | 0x2a -#define EC_WORD_FUFUFU (EC_GROUP_VOICES << 9) | 0x2b -#define EC_WORD_LOL (EC_GROUP_VOICES << 9) | 0x2c -#define EC_WORD_SNORT (EC_GROUP_VOICES << 9) | 0x2d -#define EC_WORD_HUMPH (EC_GROUP_VOICES << 9) | 0x2e -#define EC_WORD_HEHEHE (EC_GROUP_VOICES << 9) | 0x2f -#define EC_WORD_HEH (EC_GROUP_VOICES << 9) | 0x30 -#define EC_WORD_HOHOHO (EC_GROUP_VOICES << 9) | 0x31 -#define EC_WORD_UH_HUH (EC_GROUP_VOICES << 9) | 0x32 -#define EC_WORD_OH_DEAR (EC_GROUP_VOICES << 9) | 0x33 -#define EC_WORD_ARRGH (EC_GROUP_VOICES << 9) | 0x34 -#define EC_WORD_MUFUFU (EC_GROUP_VOICES << 9) | 0x35 -#define EC_WORD_MMM (EC_GROUP_VOICES << 9) | 0x36 -#define EC_WORD_OH_KAY (EC_GROUP_VOICES << 9) | 0x37 -#define EC_WORD_OKAY (EC_GROUP_VOICES << 9) | 0x38 -#define EC_WORD_LALALA (EC_GROUP_VOICES << 9) | 0x39 -#define EC_WORD_YAY (EC_GROUP_VOICES << 9) | 0x3a -#define EC_WORD_AWW (EC_GROUP_VOICES << 9) | 0x3b -#define EC_WORD_WOWEE (EC_GROUP_VOICES << 9) | 0x3c -#define EC_WORD_GWAH (EC_GROUP_VOICES << 9) | 0x3d -#define EC_WORD_WAHAHAHA (EC_GROUP_VOICES << 9) | 0x3e +#define EC_WORD_EXCL ((EC_GROUP_VOICES << EC_MASK_BITS) | 0) +#define EC_WORD_EXCL_EXCL ((EC_GROUP_VOICES << EC_MASK_BITS) | 1) +#define EC_WORD_QUES_EXCL ((EC_GROUP_VOICES << EC_MASK_BITS) | 2) +#define EC_WORD_QUES ((EC_GROUP_VOICES << EC_MASK_BITS) | 3) +#define EC_WORD_ELLIPSIS ((EC_GROUP_VOICES << EC_MASK_BITS) | 4) +#define EC_WORD_ELLIPSIS_EXCL ((EC_GROUP_VOICES << EC_MASK_BITS) | 5) +#define EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS ((EC_GROUP_VOICES << EC_MASK_BITS) | 6) +#define EC_WORD_DASH ((EC_GROUP_VOICES << EC_MASK_BITS) | 7) +#define EC_WORD_DASH_DASH_DASH ((EC_GROUP_VOICES << EC_MASK_BITS) | 8) +#define EC_WORD_UH_OH ((EC_GROUP_VOICES << EC_MASK_BITS) | 9) +#define EC_WORD_WAAAH ((EC_GROUP_VOICES << EC_MASK_BITS) | 10) +#define EC_WORD_AHAHA ((EC_GROUP_VOICES << EC_MASK_BITS) | 11) +#define EC_WORD_OH_QUES ((EC_GROUP_VOICES << EC_MASK_BITS) | 12) +#define EC_WORD_NOPE ((EC_GROUP_VOICES << EC_MASK_BITS) | 13) +#define EC_WORD_URGH ((EC_GROUP_VOICES << EC_MASK_BITS) | 14) +#define EC_WORD_HMM ((EC_GROUP_VOICES << EC_MASK_BITS) | 15) +#define EC_WORD_WHOAH ((EC_GROUP_VOICES << EC_MASK_BITS) | 16) +#define EC_WORD_WROOOAAR_EXCL ((EC_GROUP_VOICES << EC_MASK_BITS) | 17) +#define EC_WORD_WOW ((EC_GROUP_VOICES << EC_MASK_BITS) | 18) +#define EC_WORD_GIGGLE ((EC_GROUP_VOICES << EC_MASK_BITS) | 19) +#define EC_WORD_SIGH ((EC_GROUP_VOICES << EC_MASK_BITS) | 20) +#define EC_WORD_UNBELIEVABLE ((EC_GROUP_VOICES << EC_MASK_BITS) | 21) +#define EC_WORD_CRIES ((EC_GROUP_VOICES << EC_MASK_BITS) | 22) +#define EC_WORD_AGREE ((EC_GROUP_VOICES << EC_MASK_BITS) | 23) +#define EC_WORD_EH_QUES ((EC_GROUP_VOICES << EC_MASK_BITS) | 24) +#define EC_WORD_CRY ((EC_GROUP_VOICES << EC_MASK_BITS) | 25) +#define EC_WORD_EHEHE ((EC_GROUP_VOICES << EC_MASK_BITS) | 26) +#define EC_WORD_OI_OI_OI ((EC_GROUP_VOICES << EC_MASK_BITS) | 27) +#define EC_WORD_OH_YEAH ((EC_GROUP_VOICES << EC_MASK_BITS) | 28) +#define EC_WORD_OH ((EC_GROUP_VOICES << EC_MASK_BITS) | 29) +#define EC_WORD_OOPS ((EC_GROUP_VOICES << EC_MASK_BITS) | 30) +#define EC_WORD_SHOCKED ((EC_GROUP_VOICES << EC_MASK_BITS) | 31) +#define EC_WORD_EEK ((EC_GROUP_VOICES << EC_MASK_BITS) | 32) +#define EC_WORD_GRAAAH ((EC_GROUP_VOICES << EC_MASK_BITS) | 33) +#define EC_WORD_GWAHAHAHA ((EC_GROUP_VOICES << EC_MASK_BITS) | 34) +#define EC_WORD_WAY ((EC_GROUP_VOICES << EC_MASK_BITS) | 35) +#define EC_WORD_TCH ((EC_GROUP_VOICES << EC_MASK_BITS) | 36) +#define EC_WORD_HEHE ((EC_GROUP_VOICES << EC_MASK_BITS) | 37) +#define EC_WORD_HAH ((EC_GROUP_VOICES << EC_MASK_BITS) | 38) +#define EC_WORD_YUP ((EC_GROUP_VOICES << EC_MASK_BITS) | 39) +#define EC_WORD_HAHAHA ((EC_GROUP_VOICES << EC_MASK_BITS) | 40) +#define EC_WORD_AIYEEH ((EC_GROUP_VOICES << EC_MASK_BITS) | 41) +#define EC_WORD_HIYAH ((EC_GROUP_VOICES << EC_MASK_BITS) | 42) +#define EC_WORD_FUFUFU ((EC_GROUP_VOICES << EC_MASK_BITS) | 43) +#define EC_WORD_LOL ((EC_GROUP_VOICES << EC_MASK_BITS) | 44) +#define EC_WORD_SNORT ((EC_GROUP_VOICES << EC_MASK_BITS) | 45) +#define EC_WORD_HUMPH ((EC_GROUP_VOICES << EC_MASK_BITS) | 46) +#define EC_WORD_HEHEHE ((EC_GROUP_VOICES << EC_MASK_BITS) | 47) +#define EC_WORD_HEH ((EC_GROUP_VOICES << EC_MASK_BITS) | 48) +#define EC_WORD_HOHOHO ((EC_GROUP_VOICES << EC_MASK_BITS) | 49) +#define EC_WORD_UH_HUH ((EC_GROUP_VOICES << EC_MASK_BITS) | 50) +#define EC_WORD_OH_DEAR ((EC_GROUP_VOICES << EC_MASK_BITS) | 51) +#define EC_WORD_ARRGH ((EC_GROUP_VOICES << EC_MASK_BITS) | 52) +#define EC_WORD_MUFUFU ((EC_GROUP_VOICES << EC_MASK_BITS) | 53) +#define EC_WORD_MMM ((EC_GROUP_VOICES << EC_MASK_BITS) | 54) +#define EC_WORD_OH_KAY ((EC_GROUP_VOICES << EC_MASK_BITS) | 55) +#define EC_WORD_OKAY ((EC_GROUP_VOICES << EC_MASK_BITS) | 56) +#define EC_WORD_LALALA ((EC_GROUP_VOICES << EC_MASK_BITS) | 57) +#define EC_WORD_YAY ((EC_GROUP_VOICES << EC_MASK_BITS) | 58) +#define EC_WORD_AWW ((EC_GROUP_VOICES << EC_MASK_BITS) | 59) +#define EC_WORD_WOWEE ((EC_GROUP_VOICES << EC_MASK_BITS) | 60) +#define EC_WORD_GWAH ((EC_GROUP_VOICES << EC_MASK_BITS) | 61) +#define EC_WORD_WAHAHAHA ((EC_GROUP_VOICES << EC_MASK_BITS) | 62) // SPEECH -#define EC_WORD_LISTEN (EC_GROUP_SPEECH << 9) | 0x0 -#define EC_WORD_NOT_VERY (EC_GROUP_SPEECH << 9) | 0x1 -#define EC_WORD_MEAN (EC_GROUP_SPEECH << 9) | 0x2 -#define EC_WORD_LIE (EC_GROUP_SPEECH << 9) | 0x3 -#define EC_WORD_LAY (EC_GROUP_SPEECH << 9) | 0x4 -#define EC_WORD_RECOMMEND (EC_GROUP_SPEECH << 9) | 0x5 -#define EC_WORD_NITWIT (EC_GROUP_SPEECH << 9) | 0x6 -#define EC_WORD_QUITE (EC_GROUP_SPEECH << 9) | 0x7 -#define EC_WORD_FROM (EC_GROUP_SPEECH << 9) | 0x8 -#define EC_WORD_FEELING (EC_GROUP_SPEECH << 9) | 0x9 -#define EC_WORD_BUT (EC_GROUP_SPEECH << 9) | 0xa -#define EC_WORD_HOWEVER (EC_GROUP_SPEECH << 9) | 0xb -#define EC_WORD_CASE (EC_GROUP_SPEECH << 9) | 0xc -#define EC_WORD_THE (EC_GROUP_SPEECH << 9) | 0xd -#define EC_WORD_MISS (EC_GROUP_SPEECH << 9) | 0xe -#define EC_WORD_HOW (EC_GROUP_SPEECH << 9) | 0xf -#define EC_WORD_HIT (EC_GROUP_SPEECH << 9) | 0x10 -#define EC_WORD_ENOUGH (EC_GROUP_SPEECH << 9) | 0x11 -#define EC_WORD_A_LOT (EC_GROUP_SPEECH << 9) | 0x12 -#define EC_WORD_A_LITTLE (EC_GROUP_SPEECH << 9) | 0x13 -#define EC_WORD_ABSOLUTELY (EC_GROUP_SPEECH << 9) | 0x14 -#define EC_WORD_AND (EC_GROUP_SPEECH << 9) | 0x15 -#define EC_WORD_ONLY (EC_GROUP_SPEECH << 9) | 0x16 -#define EC_WORD_AROUND (EC_GROUP_SPEECH << 9) | 0x17 -#define EC_WORD_PROBABLY (EC_GROUP_SPEECH << 9) | 0x18 -#define EC_WORD_IF (EC_GROUP_SPEECH << 9) | 0x19 -#define EC_WORD_VERY (EC_GROUP_SPEECH << 9) | 0x1a -#define EC_WORD_A_TINY_BIT (EC_GROUP_SPEECH << 9) | 0x1b -#define EC_WORD_WILD (EC_GROUP_SPEECH << 9) | 0x1c -#define EC_WORD_THAT_S (EC_GROUP_SPEECH << 9) | 0x1d -#define EC_WORD_JUST (EC_GROUP_SPEECH << 9) | 0x1e -#define EC_WORD_EVEN_SO (EC_GROUP_SPEECH << 9) | 0x1f -#define EC_WORD_MUST_BE (EC_GROUP_SPEECH << 9) | 0x20 -#define EC_WORD_NATURALLY (EC_GROUP_SPEECH << 9) | 0x21 -#define EC_WORD_FOR_NOW (EC_GROUP_SPEECH << 9) | 0x22 -#define EC_WORD_UNDERSTOOD (EC_GROUP_SPEECH << 9) | 0x23 -#define EC_WORD_JOKING (EC_GROUP_SPEECH << 9) | 0x24 -#define EC_WORD_READY (EC_GROUP_SPEECH << 9) | 0x25 -#define EC_WORD_SOMETHING (EC_GROUP_SPEECH << 9) | 0x26 -#define EC_WORD_SOMEHOW (EC_GROUP_SPEECH << 9) | 0x27 -#define EC_WORD_ALTHOUGH (EC_GROUP_SPEECH << 9) | 0x28 -#define EC_WORD_ALSO (EC_GROUP_SPEECH << 9) | 0x29 -#define EC_WORD_PERFECT (EC_GROUP_SPEECH << 9) | 0x2a -#define EC_WORD_AS_MUCH_AS (EC_GROUP_SPEECH << 9) | 0x2b -#define EC_WORD_REALLY (EC_GROUP_SPEECH << 9) | 0x2c -#define EC_WORD_TRULY (EC_GROUP_SPEECH << 9) | 0x2d -#define EC_WORD_SERIOUSLY (EC_GROUP_SPEECH << 9) | 0x2e -#define EC_WORD_TOTALLY (EC_GROUP_SPEECH << 9) | 0x2f -#define EC_WORD_UNTIL (EC_GROUP_SPEECH << 9) | 0x30 -#define EC_WORD_AS_IF (EC_GROUP_SPEECH << 9) | 0x31 -#define EC_WORD_MOOD (EC_GROUP_SPEECH << 9) | 0x32 -#define EC_WORD_RATHER (EC_GROUP_SPEECH << 9) | 0x33 -#define EC_WORD_AWFULLY (EC_GROUP_SPEECH << 9) | 0x34 -#define EC_WORD_MODE (EC_GROUP_SPEECH << 9) | 0x35 -#define EC_WORD_MORE (EC_GROUP_SPEECH << 9) | 0x36 -#define EC_WORD_TOO_LATE (EC_GROUP_SPEECH << 9) | 0x37 -#define EC_WORD_FINALLY (EC_GROUP_SPEECH << 9) | 0x38 -#define EC_WORD_ANY (EC_GROUP_SPEECH << 9) | 0x39 -#define EC_WORD_INSTEAD (EC_GROUP_SPEECH << 9) | 0x3a -#define EC_WORD_FANTASTIC (EC_GROUP_SPEECH << 9) | 0x3b +#define EC_WORD_LISTEN ((EC_GROUP_SPEECH << EC_MASK_BITS) | 0) +#define EC_WORD_NOT_VERY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 1) +#define EC_WORD_MEAN ((EC_GROUP_SPEECH << EC_MASK_BITS) | 2) +#define EC_WORD_LIE ((EC_GROUP_SPEECH << EC_MASK_BITS) | 3) +#define EC_WORD_LAY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 4) +#define EC_WORD_RECOMMEND ((EC_GROUP_SPEECH << EC_MASK_BITS) | 5) +#define EC_WORD_NITWIT ((EC_GROUP_SPEECH << EC_MASK_BITS) | 6) +#define EC_WORD_QUITE ((EC_GROUP_SPEECH << EC_MASK_BITS) | 7) +#define EC_WORD_FROM ((EC_GROUP_SPEECH << EC_MASK_BITS) | 8) +#define EC_WORD_FEELING ((EC_GROUP_SPEECH << EC_MASK_BITS) | 9) +#define EC_WORD_BUT ((EC_GROUP_SPEECH << EC_MASK_BITS) | 10) +#define EC_WORD_HOWEVER ((EC_GROUP_SPEECH << EC_MASK_BITS) | 11) +#define EC_WORD_CASE ((EC_GROUP_SPEECH << EC_MASK_BITS) | 12) +#define EC_WORD_THE ((EC_GROUP_SPEECH << EC_MASK_BITS) | 13) +#define EC_WORD_MISS ((EC_GROUP_SPEECH << EC_MASK_BITS) | 14) +#define EC_WORD_HOW ((EC_GROUP_SPEECH << EC_MASK_BITS) | 15) +#define EC_WORD_HIT ((EC_GROUP_SPEECH << EC_MASK_BITS) | 16) +#define EC_WORD_ENOUGH ((EC_GROUP_SPEECH << EC_MASK_BITS) | 17) +#define EC_WORD_A_LOT ((EC_GROUP_SPEECH << EC_MASK_BITS) | 18) +#define EC_WORD_A_LITTLE ((EC_GROUP_SPEECH << EC_MASK_BITS) | 19) +#define EC_WORD_ABSOLUTELY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 20) +#define EC_WORD_AND ((EC_GROUP_SPEECH << EC_MASK_BITS) | 21) +#define EC_WORD_ONLY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 22) +#define EC_WORD_AROUND ((EC_GROUP_SPEECH << EC_MASK_BITS) | 23) +#define EC_WORD_PROBABLY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 24) +#define EC_WORD_IF ((EC_GROUP_SPEECH << EC_MASK_BITS) | 25) +#define EC_WORD_VERY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 26) +#define EC_WORD_A_TINY_BIT ((EC_GROUP_SPEECH << EC_MASK_BITS) | 27) +#define EC_WORD_WILD ((EC_GROUP_SPEECH << EC_MASK_BITS) | 28) +#define EC_WORD_THAT_S ((EC_GROUP_SPEECH << EC_MASK_BITS) | 29) +#define EC_WORD_JUST ((EC_GROUP_SPEECH << EC_MASK_BITS) | 30) +#define EC_WORD_EVEN_SO ((EC_GROUP_SPEECH << EC_MASK_BITS) | 31) +#define EC_WORD_MUST_BE ((EC_GROUP_SPEECH << EC_MASK_BITS) | 32) +#define EC_WORD_NATURALLY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 33) +#define EC_WORD_FOR_NOW ((EC_GROUP_SPEECH << EC_MASK_BITS) | 34) +#define EC_WORD_UNDERSTOOD ((EC_GROUP_SPEECH << EC_MASK_BITS) | 35) +#define EC_WORD_JOKING ((EC_GROUP_SPEECH << EC_MASK_BITS) | 36) +#define EC_WORD_READY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 37) +#define EC_WORD_SOMETHING ((EC_GROUP_SPEECH << EC_MASK_BITS) | 38) +#define EC_WORD_SOMEHOW ((EC_GROUP_SPEECH << EC_MASK_BITS) | 39) +#define EC_WORD_ALTHOUGH ((EC_GROUP_SPEECH << EC_MASK_BITS) | 40) +#define EC_WORD_ALSO ((EC_GROUP_SPEECH << EC_MASK_BITS) | 41) +#define EC_WORD_PERFECT ((EC_GROUP_SPEECH << EC_MASK_BITS) | 42) +#define EC_WORD_AS_MUCH_AS ((EC_GROUP_SPEECH << EC_MASK_BITS) | 43) +#define EC_WORD_REALLY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 44) +#define EC_WORD_TRULY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 45) +#define EC_WORD_SERIOUSLY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 46) +#define EC_WORD_TOTALLY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 47) +#define EC_WORD_UNTIL ((EC_GROUP_SPEECH << EC_MASK_BITS) | 48) +#define EC_WORD_AS_IF ((EC_GROUP_SPEECH << EC_MASK_BITS) | 49) +#define EC_WORD_MOOD ((EC_GROUP_SPEECH << EC_MASK_BITS) | 50) +#define EC_WORD_RATHER ((EC_GROUP_SPEECH << EC_MASK_BITS) | 51) +#define EC_WORD_AWFULLY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 52) +#define EC_WORD_MODE ((EC_GROUP_SPEECH << EC_MASK_BITS) | 53) +#define EC_WORD_MORE ((EC_GROUP_SPEECH << EC_MASK_BITS) | 54) +#define EC_WORD_TOO_LATE ((EC_GROUP_SPEECH << EC_MASK_BITS) | 55) +#define EC_WORD_FINALLY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 56) +#define EC_WORD_ANY ((EC_GROUP_SPEECH << EC_MASK_BITS) | 57) +#define EC_WORD_INSTEAD ((EC_GROUP_SPEECH << EC_MASK_BITS) | 58) +#define EC_WORD_FANTASTIC ((EC_GROUP_SPEECH << EC_MASK_BITS) | 59) // ENDINGS -#define EC_WORD_WILL (EC_GROUP_ENDINGS << 9) | 0x0 -#define EC_WORD_WILL_BE_HERE (EC_GROUP_ENDINGS << 9) | 0x1 -#define EC_WORD_OR (EC_GROUP_ENDINGS << 9) | 0x2 -#define EC_WORD_TIMES (EC_GROUP_ENDINGS << 9) | 0x3 -#define EC_WORD_WONDER (EC_GROUP_ENDINGS << 9) | 0x4 -#define EC_WORD_IS_IT_QUES (EC_GROUP_ENDINGS << 9) | 0x5 -#define EC_WORD_BE (EC_GROUP_ENDINGS << 9) | 0x6 -#define EC_WORD_GIMME (EC_GROUP_ENDINGS << 9) | 0x7 -#define EC_WORD_COULD (EC_GROUP_ENDINGS << 9) | 0x8 -#define EC_WORD_LIKELY_TO (EC_GROUP_ENDINGS << 9) | 0x9 -#define EC_WORD_WOULD (EC_GROUP_ENDINGS << 9) | 0xa -#define EC_WORD_IS (EC_GROUP_ENDINGS << 9) | 0xb -#define EC_WORD_ISN_T_IT_QUES (EC_GROUP_ENDINGS << 9) | 0xc -#define EC_WORD_LET_S (EC_GROUP_ENDINGS << 9) | 0xd -#define EC_WORD_OTHER (EC_GROUP_ENDINGS << 9) | 0xe -#define EC_WORD_ARE (EC_GROUP_ENDINGS << 9) | 0xf -#define EC_WORD_WAS (EC_GROUP_ENDINGS << 9) | 0x10 -#define EC_WORD_WERE (EC_GROUP_ENDINGS << 9) | 0x11 -#define EC_WORD_THOSE (EC_GROUP_ENDINGS << 9) | 0x12 -#define EC_WORD_ISN_T (EC_GROUP_ENDINGS << 9) | 0x13 -#define EC_WORD_WON_T (EC_GROUP_ENDINGS << 9) | 0x14 -#define EC_WORD_CAN_T (EC_GROUP_ENDINGS << 9) | 0x15 -#define EC_WORD_CAN (EC_GROUP_ENDINGS << 9) | 0x16 -#define EC_WORD_DON_T (EC_GROUP_ENDINGS << 9) | 0x17 -#define EC_WORD_DO (EC_GROUP_ENDINGS << 9) | 0x18 -#define EC_WORD_DOES (EC_GROUP_ENDINGS << 9) | 0x19 -#define EC_WORD_WHOM (EC_GROUP_ENDINGS << 9) | 0x1a -#define EC_WORD_WHICH (EC_GROUP_ENDINGS << 9) | 0x1b -#define EC_WORD_WASN_T (EC_GROUP_ENDINGS << 9) | 0x1c -#define EC_WORD_WEREN_T (EC_GROUP_ENDINGS << 9) | 0x1d -#define EC_WORD_HAVE (EC_GROUP_ENDINGS << 9) | 0x1e -#define EC_WORD_HAVEN_T (EC_GROUP_ENDINGS << 9) | 0x1f -#define EC_WORD_A (EC_GROUP_ENDINGS << 9) | 0x20 -#define EC_WORD_AN (EC_GROUP_ENDINGS << 9) | 0x21 -#define EC_WORD_NOT (EC_GROUP_ENDINGS << 9) | 0x22 -#define EC_WORD_THERE (EC_GROUP_ENDINGS << 9) | 0x23 -#define EC_WORD_OK_QUES (EC_GROUP_ENDINGS << 9) | 0x24 -#define EC_WORD_SO (EC_GROUP_ENDINGS << 9) | 0x25 -#define EC_WORD_MAYBE (EC_GROUP_ENDINGS << 9) | 0x26 -#define EC_WORD_ABOUT (EC_GROUP_ENDINGS << 9) | 0x27 -#define EC_WORD_OVER (EC_GROUP_ENDINGS << 9) | 0x28 -#define EC_WORD_IT (EC_GROUP_ENDINGS << 9) | 0x29 -#define EC_WORD_ALL (EC_GROUP_ENDINGS << 9) | 0x2a -#define EC_WORD_FOR (EC_GROUP_ENDINGS << 9) | 0x2b -#define EC_WORD_ON (EC_GROUP_ENDINGS << 9) | 0x2c -#define EC_WORD_OFF (EC_GROUP_ENDINGS << 9) | 0x2d -#define EC_WORD_AS (EC_GROUP_ENDINGS << 9) | 0x2e -#define EC_WORD_TO (EC_GROUP_ENDINGS << 9) | 0x2f -#define EC_WORD_WITH (EC_GROUP_ENDINGS << 9) | 0x30 -#define EC_WORD_BETTER (EC_GROUP_ENDINGS << 9) | 0x31 -#define EC_WORD_EVER (EC_GROUP_ENDINGS << 9) | 0x32 -#define EC_WORD_SINCE (EC_GROUP_ENDINGS << 9) | 0x33 -#define EC_WORD_OF (EC_GROUP_ENDINGS << 9) | 0x34 -#define EC_WORD_BELONGS_TO (EC_GROUP_ENDINGS << 9) | 0x35 -#define EC_WORD_AT (EC_GROUP_ENDINGS << 9) | 0x36 -#define EC_WORD_IN (EC_GROUP_ENDINGS << 9) | 0x37 -#define EC_WORD_OUT (EC_GROUP_ENDINGS << 9) | 0x38 -#define EC_WORD_TOO (EC_GROUP_ENDINGS << 9) | 0x39 -#define EC_WORD_LIKE (EC_GROUP_ENDINGS << 9) | 0x3a -#define EC_WORD_DID (EC_GROUP_ENDINGS << 9) | 0x3b -#define EC_WORD_DIDN_T (EC_GROUP_ENDINGS << 9) | 0x3c -#define EC_WORD_DOESN_T (EC_GROUP_ENDINGS << 9) | 0x3d -#define EC_WORD_WITHOUT (EC_GROUP_ENDINGS << 9) | 0x3e -#define EC_WORD_AFTER (EC_GROUP_ENDINGS << 9) | 0x3f -#define EC_WORD_BEFORE (EC_GROUP_ENDINGS << 9) | 0x40 -#define EC_WORD_WHILE (EC_GROUP_ENDINGS << 9) | 0x41 -#define EC_WORD_THAN (EC_GROUP_ENDINGS << 9) | 0x42 -#define EC_WORD_ONCE (EC_GROUP_ENDINGS << 9) | 0x43 -#define EC_WORD_ANYWHERE (EC_GROUP_ENDINGS << 9) | 0x44 +#define EC_WORD_WILL ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 0) +#define EC_WORD_WILL_BE_HERE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 1) +#define EC_WORD_OR ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 2) +#define EC_WORD_TIMES ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 3) +#define EC_WORD_WONDER ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 4) +#define EC_WORD_IS_IT_QUES ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 5) +#define EC_WORD_BE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 6) +#define EC_WORD_GIMME ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 7) +#define EC_WORD_COULD ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 8) +#define EC_WORD_LIKELY_TO ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 9) +#define EC_WORD_WOULD ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 10) +#define EC_WORD_IS ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 11) +#define EC_WORD_ISN_T_IT_QUES ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 12) +#define EC_WORD_LET_S ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 13) +#define EC_WORD_OTHER ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 14) +#define EC_WORD_ARE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 15) +#define EC_WORD_WAS ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 16) +#define EC_WORD_WERE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 17) +#define EC_WORD_THOSE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 18) +#define EC_WORD_ISN_T ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 19) +#define EC_WORD_WON_T ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 20) +#define EC_WORD_CAN_T ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 21) +#define EC_WORD_CAN ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 22) +#define EC_WORD_DON_T ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 23) +#define EC_WORD_DO ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 24) +#define EC_WORD_DOES ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 25) +#define EC_WORD_WHOM ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 26) +#define EC_WORD_WHICH ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 27) +#define EC_WORD_WASN_T ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 28) +#define EC_WORD_WEREN_T ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 29) +#define EC_WORD_HAVE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 30) +#define EC_WORD_HAVEN_T ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 31) +#define EC_WORD_A ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 32) +#define EC_WORD_AN ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 33) +#define EC_WORD_NOT ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 34) +#define EC_WORD_THERE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 35) +#define EC_WORD_OK_QUES ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 36) +#define EC_WORD_SO ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 37) +#define EC_WORD_MAYBE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 38) +#define EC_WORD_ABOUT ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 39) +#define EC_WORD_OVER ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 40) +#define EC_WORD_IT ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 41) +#define EC_WORD_ALL ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 42) +#define EC_WORD_FOR ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 43) +#define EC_WORD_ON ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 44) +#define EC_WORD_OFF ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 45) +#define EC_WORD_AS ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 46) +#define EC_WORD_TO ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 47) +#define EC_WORD_WITH ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 48) +#define EC_WORD_BETTER ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 49) +#define EC_WORD_EVER ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 50) +#define EC_WORD_SINCE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 51) +#define EC_WORD_OF ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 52) +#define EC_WORD_BELONGS_TO ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 53) +#define EC_WORD_AT ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 54) +#define EC_WORD_IN ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 55) +#define EC_WORD_OUT ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 56) +#define EC_WORD_TOO ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 57) +#define EC_WORD_LIKE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 58) +#define EC_WORD_DID ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 59) +#define EC_WORD_DIDN_T ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 60) +#define EC_WORD_DOESN_T ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 61) +#define EC_WORD_WITHOUT ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 62) +#define EC_WORD_AFTER ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 63) +#define EC_WORD_BEFORE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 64) +#define EC_WORD_WHILE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 65) +#define EC_WORD_THAN ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 66) +#define EC_WORD_ONCE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 67) +#define EC_WORD_ANYWHERE ((EC_GROUP_ENDINGS << EC_MASK_BITS) | 68) // FEELINGS -#define EC_WORD_MEET (EC_GROUP_FEELINGS << 9) | 0x0 -#define EC_WORD_PLAY (EC_GROUP_FEELINGS << 9) | 0x1 -#define EC_WORD_HURRIED (EC_GROUP_FEELINGS << 9) | 0x2 -#define EC_WORD_GOES (EC_GROUP_FEELINGS << 9) | 0x3 -#define EC_WORD_GIDDY (EC_GROUP_FEELINGS << 9) | 0x4 -#define EC_WORD_HAPPY (EC_GROUP_FEELINGS << 9) | 0x5 -#define EC_WORD_HAPPINESS (EC_GROUP_FEELINGS << 9) | 0x6 -#define EC_WORD_EXCITE (EC_GROUP_FEELINGS << 9) | 0x7 -#define EC_WORD_IMPORTANT (EC_GROUP_FEELINGS << 9) | 0x8 -#define EC_WORD_FUNNY (EC_GROUP_FEELINGS << 9) | 0x9 -#define EC_WORD_GOT (EC_GROUP_FEELINGS << 9) | 0xa -#define EC_WORD_GO_HOME (EC_GROUP_FEELINGS << 9) | 0xb -#define EC_WORD_DISAPPOINTED (EC_GROUP_FEELINGS << 9) | 0xc -#define EC_WORD_DISAPPOINTS (EC_GROUP_FEELINGS << 9) | 0xd -#define EC_WORD_SAD (EC_GROUP_FEELINGS << 9) | 0xe -#define EC_WORD_TRY (EC_GROUP_FEELINGS << 9) | 0xf -#define EC_WORD_TRIES (EC_GROUP_FEELINGS << 9) | 0x10 -#define EC_WORD_HEARS (EC_GROUP_FEELINGS << 9) | 0x11 -#define EC_WORD_THINK (EC_GROUP_FEELINGS << 9) | 0x12 -#define EC_WORD_HEAR (EC_GROUP_FEELINGS << 9) | 0x13 -#define EC_WORD_WANTS (EC_GROUP_FEELINGS << 9) | 0x14 -#define EC_WORD_MISHEARD (EC_GROUP_FEELINGS << 9) | 0x15 -#define EC_WORD_DISLIKE (EC_GROUP_FEELINGS << 9) | 0x16 -#define EC_WORD_ANGRY (EC_GROUP_FEELINGS << 9) | 0x17 -#define EC_WORD_ANGER (EC_GROUP_FEELINGS << 9) | 0x18 -#define EC_WORD_SCARY (EC_GROUP_FEELINGS << 9) | 0x19 -#define EC_WORD_LONESOME (EC_GROUP_FEELINGS << 9) | 0x1a -#define EC_WORD_DISAPPOINT (EC_GROUP_FEELINGS << 9) | 0x1b -#define EC_WORD_JOY (EC_GROUP_FEELINGS << 9) | 0x1c -#define EC_WORD_GETS (EC_GROUP_FEELINGS << 9) | 0x1d -#define EC_WORD_NEVER (EC_GROUP_FEELINGS << 9) | 0x1e -#define EC_WORD_DARN (EC_GROUP_FEELINGS << 9) | 0x1f -#define EC_WORD_DOWNCAST (EC_GROUP_FEELINGS << 9) | 0x20 -#define EC_WORD_INCREDIBLE (EC_GROUP_FEELINGS << 9) | 0x21 -#define EC_WORD_LIKES (EC_GROUP_FEELINGS << 9) | 0x22 -#define EC_WORD_DISLIKES (EC_GROUP_FEELINGS << 9) | 0x23 -#define EC_WORD_BORING (EC_GROUP_FEELINGS << 9) | 0x24 -#define EC_WORD_CARE (EC_GROUP_FEELINGS << 9) | 0x25 -#define EC_WORD_CARES (EC_GROUP_FEELINGS << 9) | 0x26 -#define EC_WORD_ALL_RIGHT (EC_GROUP_FEELINGS << 9) | 0x27 -#define EC_WORD_ADORE (EC_GROUP_FEELINGS << 9) | 0x28 -#define EC_WORD_DISASTER (EC_GROUP_FEELINGS << 9) | 0x29 -#define EC_WORD_ENJOY (EC_GROUP_FEELINGS << 9) | 0x2a -#define EC_WORD_ENJOYS (EC_GROUP_FEELINGS << 9) | 0x2b -#define EC_WORD_EAT (EC_GROUP_FEELINGS << 9) | 0x2c -#define EC_WORD_LACKING (EC_GROUP_FEELINGS << 9) | 0x2d -#define EC_WORD_BAD (EC_GROUP_FEELINGS << 9) | 0x2e -#define EC_WORD_HARD (EC_GROUP_FEELINGS << 9) | 0x2f -#define EC_WORD_TERRIBLE (EC_GROUP_FEELINGS << 9) | 0x30 -#define EC_WORD_SHOULD (EC_GROUP_FEELINGS << 9) | 0x31 -#define EC_WORD_NICE (EC_GROUP_FEELINGS << 9) | 0x32 -#define EC_WORD_DRINK (EC_GROUP_FEELINGS << 9) | 0x33 -#define EC_WORD_SURPRISE (EC_GROUP_FEELINGS << 9) | 0x34 -#define EC_WORD_FEAR (EC_GROUP_FEELINGS << 9) | 0x35 -#define EC_WORD_WANT (EC_GROUP_FEELINGS << 9) | 0x36 -#define EC_WORD_WAIT (EC_GROUP_FEELINGS << 9) | 0x37 -#define EC_WORD_SATISFIED (EC_GROUP_FEELINGS << 9) | 0x38 -#define EC_WORD_SEE (EC_GROUP_FEELINGS << 9) | 0x39 -#define EC_WORD_RARE (EC_GROUP_FEELINGS << 9) | 0x3a -#define EC_WORD_NEGATIVE (EC_GROUP_FEELINGS << 9) | 0x3b -#define EC_WORD_DONE (EC_GROUP_FEELINGS << 9) | 0x3c -#define EC_WORD_DANGER (EC_GROUP_FEELINGS << 9) | 0x3d -#define EC_WORD_DEFEATED (EC_GROUP_FEELINGS << 9) | 0x3e -#define EC_WORD_BEAT (EC_GROUP_FEELINGS << 9) | 0x3f -#define EC_WORD_GREAT (EC_GROUP_FEELINGS << 9) | 0x40 -#define EC_WORD_ROMANTIC (EC_GROUP_FEELINGS << 9) | 0x41 -#define EC_WORD_QUESTION (EC_GROUP_FEELINGS << 9) | 0x42 -#define EC_WORD_UNDERSTAND (EC_GROUP_FEELINGS << 9) | 0x43 -#define EC_WORD_UNDERSTANDS (EC_GROUP_FEELINGS << 9) | 0x44 +#define EC_WORD_MEET ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 0) +#define EC_WORD_PLAY ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 1) +#define EC_WORD_HURRIED ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 2) +#define EC_WORD_GOES ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 3) +#define EC_WORD_GIDDY ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 4) +#define EC_WORD_HAPPY ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 5) +#define EC_WORD_HAPPINESS ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 6) +#define EC_WORD_EXCITE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 7) +#define EC_WORD_IMPORTANT ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 8) +#define EC_WORD_FUNNY ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 9) +#define EC_WORD_GOT ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 10) +#define EC_WORD_GO_HOME ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 11) +#define EC_WORD_DISAPPOINTED ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 12) +#define EC_WORD_DISAPPOINTS ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 13) +#define EC_WORD_SAD ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 14) +#define EC_WORD_TRY ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 15) +#define EC_WORD_TRIES ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 16) +#define EC_WORD_HEARS ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 17) +#define EC_WORD_THINK ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 18) +#define EC_WORD_HEAR ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 19) +#define EC_WORD_WANTS ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 20) +#define EC_WORD_MISHEARD ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 21) +#define EC_WORD_DISLIKE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 22) +#define EC_WORD_ANGRY ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 23) +#define EC_WORD_ANGER ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 24) +#define EC_WORD_SCARY ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 25) +#define EC_WORD_LONESOME ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 26) +#define EC_WORD_DISAPPOINT ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 27) +#define EC_WORD_JOY ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 28) +#define EC_WORD_GETS ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 29) +#define EC_WORD_NEVER ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 30) +#define EC_WORD_DARN ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 31) +#define EC_WORD_DOWNCAST ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 32) +#define EC_WORD_INCREDIBLE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 33) +#define EC_WORD_LIKES ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 34) +#define EC_WORD_DISLIKES ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 35) +#define EC_WORD_BORING ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 36) +#define EC_WORD_CARE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 37) +#define EC_WORD_CARES ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 38) +#define EC_WORD_ALL_RIGHT ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 39) +#define EC_WORD_ADORE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 40) +#define EC_WORD_DISASTER ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 41) +#define EC_WORD_ENJOY ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 42) +#define EC_WORD_ENJOYS ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 43) +#define EC_WORD_EAT ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 44) +#define EC_WORD_LACKING ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 45) +#define EC_WORD_BAD ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 46) +#define EC_WORD_HARD ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 47) +#define EC_WORD_TERRIBLE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 48) +#define EC_WORD_SHOULD ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 49) +#define EC_WORD_NICE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 50) +#define EC_WORD_DRINK ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 51) +#define EC_WORD_SURPRISE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 52) +#define EC_WORD_FEAR ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 53) +#define EC_WORD_WANT ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 54) +#define EC_WORD_WAIT ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 55) +#define EC_WORD_SATISFIED ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 56) +#define EC_WORD_SEE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 57) +#define EC_WORD_RARE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 58) +#define EC_WORD_NEGATIVE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 59) +#define EC_WORD_DONE ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 60) +#define EC_WORD_DANGER ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 61) +#define EC_WORD_DEFEATED ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 62) +#define EC_WORD_BEAT ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 63) +#define EC_WORD_GREAT ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 64) +#define EC_WORD_ROMANTIC ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 65) +#define EC_WORD_QUESTION ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 66) +#define EC_WORD_UNDERSTAND ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 67) +#define EC_WORD_UNDERSTANDS ((EC_GROUP_FEELINGS << EC_MASK_BITS) | 68) // CONDITIONS -#define EC_WORD_HOT (EC_GROUP_CONDITIONS << 9) | 0x0 -#define EC_WORD_EXISTS (EC_GROUP_CONDITIONS << 9) | 0x1 -#define EC_WORD_EXCESS (EC_GROUP_CONDITIONS << 9) | 0x2 -#define EC_WORD_APPROVED (EC_GROUP_CONDITIONS << 9) | 0x3 -#define EC_WORD_HAS (EC_GROUP_CONDITIONS << 9) | 0x4 -#define EC_WORD_GOOD (EC_GROUP_CONDITIONS << 9) | 0x5 -#define EC_WORD_LESS (EC_GROUP_CONDITIONS << 9) | 0x6 -#define EC_WORD_MOMENTUM (EC_GROUP_CONDITIONS << 9) | 0x7 -#define EC_WORD_GOING (EC_GROUP_CONDITIONS << 9) | 0x8 -#define EC_WORD_WEIRD (EC_GROUP_CONDITIONS << 9) | 0x9 -#define EC_WORD_BUSY (EC_GROUP_CONDITIONS << 9) | 0xa -#define EC_WORD_TOGETHER (EC_GROUP_CONDITIONS << 9) | 0xb -#define EC_WORD_FULL (EC_GROUP_CONDITIONS << 9) | 0xc -#define EC_WORD_ABSENT (EC_GROUP_CONDITIONS << 9) | 0xd -#define EC_WORD_BEING (EC_GROUP_CONDITIONS << 9) | 0xe -#define EC_WORD_NEED (EC_GROUP_CONDITIONS << 9) | 0xf -#define EC_WORD_TASTY (EC_GROUP_CONDITIONS << 9) | 0x10 -#define EC_WORD_SKILLED (EC_GROUP_CONDITIONS << 9) | 0x11 -#define EC_WORD_NOISY (EC_GROUP_CONDITIONS << 9) | 0x12 -#define EC_WORD_BIG (EC_GROUP_CONDITIONS << 9) | 0x13 -#define EC_WORD_LATE (EC_GROUP_CONDITIONS << 9) | 0x14 -#define EC_WORD_CLOSE (EC_GROUP_CONDITIONS << 9) | 0x15 -#define EC_WORD_DOCILE (EC_GROUP_CONDITIONS << 9) | 0x16 -#define EC_WORD_AMUSING (EC_GROUP_CONDITIONS << 9) | 0x17 -#define EC_WORD_ENTERTAINING (EC_GROUP_CONDITIONS << 9) | 0x18 -#define EC_WORD_PERFECTION (EC_GROUP_CONDITIONS << 9) | 0x19 -#define EC_WORD_PRETTY (EC_GROUP_CONDITIONS << 9) | 0x1a -#define EC_WORD_HEALTHY (EC_GROUP_CONDITIONS << 9) | 0x1b -#define EC_WORD_EXCELLENT (EC_GROUP_CONDITIONS << 9) | 0x1c -#define EC_WORD_UPSIDE_DOWN (EC_GROUP_CONDITIONS << 9) | 0x1d -#define EC_WORD_COLD (EC_GROUP_CONDITIONS << 9) | 0x1e -#define EC_WORD_REFRESHING (EC_GROUP_CONDITIONS << 9) | 0x1f -#define EC_WORD_UNAVOIDABLE (EC_GROUP_CONDITIONS << 9) | 0x20 -#define EC_WORD_MUCH (EC_GROUP_CONDITIONS << 9) | 0x21 -#define EC_WORD_OVERWHELMING (EC_GROUP_CONDITIONS << 9) | 0x22 -#define EC_WORD_FABULOUS (EC_GROUP_CONDITIONS << 9) | 0x23 -#define EC_WORD_ELSE (EC_GROUP_CONDITIONS << 9) | 0x24 -#define EC_WORD_EXPENSIVE (EC_GROUP_CONDITIONS << 9) | 0x25 -#define EC_WORD_CORRECT (EC_GROUP_CONDITIONS << 9) | 0x26 -#define EC_WORD_IMPOSSIBLE (EC_GROUP_CONDITIONS << 9) | 0x27 -#define EC_WORD_SMALL (EC_GROUP_CONDITIONS << 9) | 0x28 -#define EC_WORD_DIFFERENT (EC_GROUP_CONDITIONS << 9) | 0x29 -#define EC_WORD_TIRED (EC_GROUP_CONDITIONS << 9) | 0x2a -#define EC_WORD_SKILL (EC_GROUP_CONDITIONS << 9) | 0x2b -#define EC_WORD_TOP (EC_GROUP_CONDITIONS << 9) | 0x2c -#define EC_WORD_NON_STOP (EC_GROUP_CONDITIONS << 9) | 0x2d -#define EC_WORD_PREPOSTEROUS (EC_GROUP_CONDITIONS << 9) | 0x2e -#define EC_WORD_NONE (EC_GROUP_CONDITIONS << 9) | 0x2f -#define EC_WORD_NOTHING (EC_GROUP_CONDITIONS << 9) | 0x30 -#define EC_WORD_NATURAL (EC_GROUP_CONDITIONS << 9) | 0x31 -#define EC_WORD_BECOMES (EC_GROUP_CONDITIONS << 9) | 0x32 -#define EC_WORD_LUKEWARM (EC_GROUP_CONDITIONS << 9) | 0x33 -#define EC_WORD_FAST (EC_GROUP_CONDITIONS << 9) | 0x34 -#define EC_WORD_LOW (EC_GROUP_CONDITIONS << 9) | 0x35 -#define EC_WORD_AWFUL (EC_GROUP_CONDITIONS << 9) | 0x36 -#define EC_WORD_ALONE (EC_GROUP_CONDITIONS << 9) | 0x37 -#define EC_WORD_BORED (EC_GROUP_CONDITIONS << 9) | 0x38 -#define EC_WORD_SECRET (EC_GROUP_CONDITIONS << 9) | 0x39 -#define EC_WORD_MYSTERY (EC_GROUP_CONDITIONS << 9) | 0x3a -#define EC_WORD_LACKS (EC_GROUP_CONDITIONS << 9) | 0x3b -#define EC_WORD_BEST (EC_GROUP_CONDITIONS << 9) | 0x3c -#define EC_WORD_LOUSY (EC_GROUP_CONDITIONS << 9) | 0x3d -#define EC_WORD_MISTAKE (EC_GROUP_CONDITIONS << 9) | 0x3e -#define EC_WORD_KIND (EC_GROUP_CONDITIONS << 9) | 0x3f -#define EC_WORD_WELL (EC_GROUP_CONDITIONS << 9) | 0x40 -#define EC_WORD_WEAKENED (EC_GROUP_CONDITIONS << 9) | 0x41 -#define EC_WORD_SIMPLE (EC_GROUP_CONDITIONS << 9) | 0x42 -#define EC_WORD_SEEMS (EC_GROUP_CONDITIONS << 9) | 0x43 -#define EC_WORD_BADLY (EC_GROUP_CONDITIONS << 9) | 0x44 +#define EC_WORD_HOT ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 0) +#define EC_WORD_EXISTS ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 1) +#define EC_WORD_EXCESS ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 2) +#define EC_WORD_APPROVED ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 3) +#define EC_WORD_HAS ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 4) +#define EC_WORD_GOOD ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 5) +#define EC_WORD_LESS ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 6) +#define EC_WORD_MOMENTUM ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 7) +#define EC_WORD_GOING ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 8) +#define EC_WORD_WEIRD ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 9) +#define EC_WORD_BUSY ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 10) +#define EC_WORD_TOGETHER ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 11) +#define EC_WORD_FULL ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 12) +#define EC_WORD_ABSENT ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 13) +#define EC_WORD_BEING ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 14) +#define EC_WORD_NEED ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 15) +#define EC_WORD_TASTY ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 16) +#define EC_WORD_SKILLED ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 17) +#define EC_WORD_NOISY ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 18) +#define EC_WORD_BIG ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 19) +#define EC_WORD_LATE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 20) +#define EC_WORD_CLOSE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 21) +#define EC_WORD_DOCILE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 22) +#define EC_WORD_AMUSING ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 23) +#define EC_WORD_ENTERTAINING ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 24) +#define EC_WORD_PERFECTION ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 25) +#define EC_WORD_PRETTY ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 26) +#define EC_WORD_HEALTHY ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 27) +#define EC_WORD_EXCELLENT ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 28) +#define EC_WORD_UPSIDE_DOWN ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 29) +#define EC_WORD_COLD ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 30) +#define EC_WORD_REFRESHING ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 31) +#define EC_WORD_UNAVOIDABLE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 32) +#define EC_WORD_MUCH ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 33) +#define EC_WORD_OVERWHELMING ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 34) +#define EC_WORD_FABULOUS ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 35) +#define EC_WORD_ELSE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 36) +#define EC_WORD_EXPENSIVE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 37) +#define EC_WORD_CORRECT ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 38) +#define EC_WORD_IMPOSSIBLE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 39) +#define EC_WORD_SMALL ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 40) +#define EC_WORD_DIFFERENT ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 41) +#define EC_WORD_TIRED ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 42) +#define EC_WORD_SKILL ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 43) +#define EC_WORD_TOP ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 44) +#define EC_WORD_NON_STOP ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 45) +#define EC_WORD_PREPOSTEROUS ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 46) +#define EC_WORD_NONE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 47) +#define EC_WORD_NOTHING ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 48) +#define EC_WORD_NATURAL ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 49) +#define EC_WORD_BECOMES ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 50) +#define EC_WORD_LUKEWARM ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 51) +#define EC_WORD_FAST ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 52) +#define EC_WORD_LOW ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 53) +#define EC_WORD_AWFUL ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 54) +#define EC_WORD_ALONE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 55) +#define EC_WORD_BORED ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 56) +#define EC_WORD_SECRET ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 57) +#define EC_WORD_MYSTERY ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 58) +#define EC_WORD_LACKS ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 59) +#define EC_WORD_BEST ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 60) +#define EC_WORD_LOUSY ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 61) +#define EC_WORD_MISTAKE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 62) +#define EC_WORD_KIND ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 63) +#define EC_WORD_WELL ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 64) +#define EC_WORD_WEAKENED ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 65) +#define EC_WORD_SIMPLE ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 66) +#define EC_WORD_SEEMS ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 67) +#define EC_WORD_BADLY ((EC_GROUP_CONDITIONS << EC_MASK_BITS) | 68) // ACTIONS -#define EC_WORD_MEETS (EC_GROUP_ACTIONS << 9) | 0x0 -#define EC_WORD_CONCEDE (EC_GROUP_ACTIONS << 9) | 0x1 -#define EC_WORD_GIVE (EC_GROUP_ACTIONS << 9) | 0x2 -#define EC_WORD_GIVES (EC_GROUP_ACTIONS << 9) | 0x3 -#define EC_WORD_PLAYED (EC_GROUP_ACTIONS << 9) | 0x4 -#define EC_WORD_PLAYS (EC_GROUP_ACTIONS << 9) | 0x5 -#define EC_WORD_COLLECT (EC_GROUP_ACTIONS << 9) | 0x6 -#define EC_WORD_WALKING (EC_GROUP_ACTIONS << 9) | 0x7 -#define EC_WORD_WALKS (EC_GROUP_ACTIONS << 9) | 0x8 -#define EC_WORD_SAYS (EC_GROUP_ACTIONS << 9) | 0x9 -#define EC_WORD_WENT (EC_GROUP_ACTIONS << 9) | 0xa -#define EC_WORD_SAID (EC_GROUP_ACTIONS << 9) | 0xb -#define EC_WORD_WAKE_UP (EC_GROUP_ACTIONS << 9) | 0xc -#define EC_WORD_WAKES_UP (EC_GROUP_ACTIONS << 9) | 0xd -#define EC_WORD_ANGERS (EC_GROUP_ACTIONS << 9) | 0xe -#define EC_WORD_TEACH (EC_GROUP_ACTIONS << 9) | 0xf -#define EC_WORD_TEACHES (EC_GROUP_ACTIONS << 9) | 0x10 -#define EC_WORD_PLEASE (EC_GROUP_ACTIONS << 9) | 0x11 -#define EC_WORD_LEARN (EC_GROUP_ACTIONS << 9) | 0x12 -#define EC_WORD_CHANGE (EC_GROUP_ACTIONS << 9) | 0x13 -#define EC_WORD_STORY (EC_GROUP_ACTIONS << 9) | 0x14 -#define EC_WORD_TRUST (EC_GROUP_ACTIONS << 9) | 0x15 -#define EC_WORD_LAVISH (EC_GROUP_ACTIONS << 9) | 0x16 -#define EC_WORD_LISTENS (EC_GROUP_ACTIONS << 9) | 0x17 -#define EC_WORD_HEARING (EC_GROUP_ACTIONS << 9) | 0x18 -#define EC_WORD_TRAINS (EC_GROUP_ACTIONS << 9) | 0x19 -#define EC_WORD_CHOOSE (EC_GROUP_ACTIONS << 9) | 0x1a -#define EC_WORD_COME (EC_GROUP_ACTIONS << 9) | 0x1b -#define EC_WORD_CAME (EC_GROUP_ACTIONS << 9) | 0x1c -#define EC_WORD_SEARCH (EC_GROUP_ACTIONS << 9) | 0x1d -#define EC_WORD_MAKE (EC_GROUP_ACTIONS << 9) | 0x1e -#define EC_WORD_CAUSE (EC_GROUP_ACTIONS << 9) | 0x1f -#define EC_WORD_KNOW (EC_GROUP_ACTIONS << 9) | 0x20 -#define EC_WORD_KNOWS (EC_GROUP_ACTIONS << 9) | 0x21 -#define EC_WORD_REFUSE (EC_GROUP_ACTIONS << 9) | 0x22 -#define EC_WORD_STORES (EC_GROUP_ACTIONS << 9) | 0x23 -#define EC_WORD_BRAG (EC_GROUP_ACTIONS << 9) | 0x24 -#define EC_WORD_IGNORANT (EC_GROUP_ACTIONS << 9) | 0x25 -#define EC_WORD_THINKS (EC_GROUP_ACTIONS << 9) | 0x26 -#define EC_WORD_BELIEVE (EC_GROUP_ACTIONS << 9) | 0x27 -#define EC_WORD_SLIDE (EC_GROUP_ACTIONS << 9) | 0x28 -#define EC_WORD_EATS (EC_GROUP_ACTIONS << 9) | 0x29 -#define EC_WORD_USE (EC_GROUP_ACTIONS << 9) | 0x2a -#define EC_WORD_USES (EC_GROUP_ACTIONS << 9) | 0x2b -#define EC_WORD_USING (EC_GROUP_ACTIONS << 9) | 0x2c -#define EC_WORD_COULDN_T (EC_GROUP_ACTIONS << 9) | 0x2d -#define EC_WORD_CAPABLE (EC_GROUP_ACTIONS << 9) | 0x2e -#define EC_WORD_DISAPPEAR (EC_GROUP_ACTIONS << 9) | 0x2f -#define EC_WORD_APPEAR (EC_GROUP_ACTIONS << 9) | 0x30 -#define EC_WORD_THROW (EC_GROUP_ACTIONS << 9) | 0x31 -#define EC_WORD_WORRY (EC_GROUP_ACTIONS << 9) | 0x32 -#define EC_WORD_SLEPT (EC_GROUP_ACTIONS << 9) | 0x33 -#define EC_WORD_SLEEP (EC_GROUP_ACTIONS << 9) | 0x34 -#define EC_WORD_RELEASE (EC_GROUP_ACTIONS << 9) | 0x35 -#define EC_WORD_DRINKS (EC_GROUP_ACTIONS << 9) | 0x36 -#define EC_WORD_RUNS (EC_GROUP_ACTIONS << 9) | 0x37 -#define EC_WORD_RUN (EC_GROUP_ACTIONS << 9) | 0x38 -#define EC_WORD_WORKS (EC_GROUP_ACTIONS << 9) | 0x39 -#define EC_WORD_WORKING (EC_GROUP_ACTIONS << 9) | 0x3a -#define EC_WORD_TALKING (EC_GROUP_ACTIONS << 9) | 0x3b -#define EC_WORD_TALK (EC_GROUP_ACTIONS << 9) | 0x3c -#define EC_WORD_SINK (EC_GROUP_ACTIONS << 9) | 0x3d -#define EC_WORD_SMACK (EC_GROUP_ACTIONS << 9) | 0x3e -#define EC_WORD_PRETEND (EC_GROUP_ACTIONS << 9) | 0x3f -#define EC_WORD_PRAISE (EC_GROUP_ACTIONS << 9) | 0x40 -#define EC_WORD_OVERDO (EC_GROUP_ACTIONS << 9) | 0x41 -#define EC_WORD_SHOW (EC_GROUP_ACTIONS << 9) | 0x42 -#define EC_WORD_LOOKS (EC_GROUP_ACTIONS << 9) | 0x43 -#define EC_WORD_SEES (EC_GROUP_ACTIONS << 9) | 0x44 -#define EC_WORD_SEEK (EC_GROUP_ACTIONS << 9) | 0x45 -#define EC_WORD_OWN (EC_GROUP_ACTIONS << 9) | 0x46 -#define EC_WORD_TAKE (EC_GROUP_ACTIONS << 9) | 0x47 -#define EC_WORD_ALLOW (EC_GROUP_ACTIONS << 9) | 0x48 -#define EC_WORD_FORGET (EC_GROUP_ACTIONS << 9) | 0x49 -#define EC_WORD_FORGETS (EC_GROUP_ACTIONS << 9) | 0x4a -#define EC_WORD_APPEARS (EC_GROUP_ACTIONS << 9) | 0x4b -#define EC_WORD_FAINT (EC_GROUP_ACTIONS << 9) | 0x4c -#define EC_WORD_FAINTED (EC_GROUP_ACTIONS << 9) | 0x4d +#define EC_WORD_MEETS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 0) +#define EC_WORD_CONCEDE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 1) +#define EC_WORD_GIVE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 2) +#define EC_WORD_GIVES ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 3) +#define EC_WORD_PLAYED ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 4) +#define EC_WORD_PLAYS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 5) +#define EC_WORD_COLLECT ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 6) +#define EC_WORD_WALKING ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 7) +#define EC_WORD_WALKS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 8) +#define EC_WORD_SAYS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 9) +#define EC_WORD_WENT ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 10) +#define EC_WORD_SAID ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 11) +#define EC_WORD_WAKE_UP ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 12) +#define EC_WORD_WAKES_UP ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 13) +#define EC_WORD_ANGERS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 14) +#define EC_WORD_TEACH ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 15) +#define EC_WORD_TEACHES ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 16) +#define EC_WORD_PLEASE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 17) +#define EC_WORD_LEARN ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 18) +#define EC_WORD_CHANGE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 19) +#define EC_WORD_STORY ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 20) +#define EC_WORD_TRUST ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 21) +#define EC_WORD_LAVISH ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 22) +#define EC_WORD_LISTENS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 23) +#define EC_WORD_HEARING ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 24) +#define EC_WORD_TRAINS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 25) +#define EC_WORD_CHOOSE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 26) +#define EC_WORD_COME ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 27) +#define EC_WORD_CAME ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 28) +#define EC_WORD_SEARCH ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 29) +#define EC_WORD_MAKE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 30) +#define EC_WORD_CAUSE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 31) +#define EC_WORD_KNOW ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 32) +#define EC_WORD_KNOWS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 33) +#define EC_WORD_REFUSE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 34) +#define EC_WORD_STORES ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 35) +#define EC_WORD_BRAG ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 36) +#define EC_WORD_IGNORANT ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 37) +#define EC_WORD_THINKS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 38) +#define EC_WORD_BELIEVE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 39) +#define EC_WORD_SLIDE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 40) +#define EC_WORD_EATS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 41) +#define EC_WORD_USE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 42) +#define EC_WORD_USES ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 43) +#define EC_WORD_USING ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 44) +#define EC_WORD_COULDN_T ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 45) +#define EC_WORD_CAPABLE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 46) +#define EC_WORD_DISAPPEAR ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 47) +#define EC_WORD_APPEAR ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 48) +#define EC_WORD_THROW ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 49) +#define EC_WORD_WORRY ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 50) +#define EC_WORD_SLEPT ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 51) +#define EC_WORD_SLEEP ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 52) +#define EC_WORD_RELEASE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 53) +#define EC_WORD_DRINKS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 54) +#define EC_WORD_RUNS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 55) +#define EC_WORD_RUN ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 56) +#define EC_WORD_WORKS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 57) +#define EC_WORD_WORKING ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 58) +#define EC_WORD_TALKING ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 59) +#define EC_WORD_TALK ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 60) +#define EC_WORD_SINK ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 61) +#define EC_WORD_SMACK ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 62) +#define EC_WORD_PRETEND ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 63) +#define EC_WORD_PRAISE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 64) +#define EC_WORD_OVERDO ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 65) +#define EC_WORD_SHOW ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 66) +#define EC_WORD_LOOKS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 67) +#define EC_WORD_SEES ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 68) +#define EC_WORD_SEEK ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 69) +#define EC_WORD_OWN ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 70) +#define EC_WORD_TAKE ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 71) +#define EC_WORD_ALLOW ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 72) +#define EC_WORD_FORGET ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 73) +#define EC_WORD_FORGETS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 74) +#define EC_WORD_APPEARS ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 75) +#define EC_WORD_FAINT ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 76) +#define EC_WORD_FAINTED ((EC_GROUP_ACTIONS << EC_MASK_BITS) | 77) // LIFESTYLE -#define EC_WORD_CHORES (EC_GROUP_LIFESTYLE << 9) | 0x0 -#define EC_WORD_HOME (EC_GROUP_LIFESTYLE << 9) | 0x1 -#define EC_WORD_MONEY (EC_GROUP_LIFESTYLE << 9) | 0x2 -#define EC_WORD_ALLOWANCE (EC_GROUP_LIFESTYLE << 9) | 0x3 -#define EC_WORD_BATH (EC_GROUP_LIFESTYLE << 9) | 0x4 -#define EC_WORD_CONVERSATION (EC_GROUP_LIFESTYLE << 9) | 0x5 -#define EC_WORD_SCHOOL (EC_GROUP_LIFESTYLE << 9) | 0x6 -#define EC_WORD_COMMEMORATE (EC_GROUP_LIFESTYLE << 9) | 0x7 -#define EC_WORD_HABIT (EC_GROUP_LIFESTYLE << 9) | 0x8 -#define EC_WORD_GROUP (EC_GROUP_LIFESTYLE << 9) | 0x9 -#define EC_WORD_WORD (EC_GROUP_LIFESTYLE << 9) | 0xa -#define EC_WORD_STORE (EC_GROUP_LIFESTYLE << 9) | 0xb -#define EC_WORD_SERVICE (EC_GROUP_LIFESTYLE << 9) | 0xc -#define EC_WORD_WORK (EC_GROUP_LIFESTYLE << 9) | 0xd -#define EC_WORD_SYSTEM (EC_GROUP_LIFESTYLE << 9) | 0xe -#define EC_WORD_TRAIN (EC_GROUP_LIFESTYLE << 9) | 0xf -#define EC_WORD_CLASS (EC_GROUP_LIFESTYLE << 9) | 0x10 -#define EC_WORD_LESSONS (EC_GROUP_LIFESTYLE << 9) | 0x11 -#define EC_WORD_INFORMATION (EC_GROUP_LIFESTYLE << 9) | 0x12 -#define EC_WORD_LIVING (EC_GROUP_LIFESTYLE << 9) | 0x13 -#define EC_WORD_TEACHER (EC_GROUP_LIFESTYLE << 9) | 0x14 -#define EC_WORD_TOURNAMENT (EC_GROUP_LIFESTYLE << 9) | 0x15 -#define EC_WORD_LETTER (EC_GROUP_LIFESTYLE << 9) | 0x16 -#define EC_WORD_EVENT (EC_GROUP_LIFESTYLE << 9) | 0x17 -#define EC_WORD_DIGITAL (EC_GROUP_LIFESTYLE << 9) | 0x18 -#define EC_WORD_TEST (EC_GROUP_LIFESTYLE << 9) | 0x19 -#define EC_WORD_DEPT_STORE (EC_GROUP_LIFESTYLE << 9) | 0x1a -#define EC_WORD_TELEVISION (EC_GROUP_LIFESTYLE << 9) | 0x1b -#define EC_WORD_PHONE (EC_GROUP_LIFESTYLE << 9) | 0x1c -#define EC_WORD_ITEM (EC_GROUP_LIFESTYLE << 9) | 0x1d -#define EC_WORD_NAME (EC_GROUP_LIFESTYLE << 9) | 0x1e -#define EC_WORD_NEWS (EC_GROUP_LIFESTYLE << 9) | 0x1f -#define EC_WORD_POPULAR (EC_GROUP_LIFESTYLE << 9) | 0x20 -#define EC_WORD_PARTY (EC_GROUP_LIFESTYLE << 9) | 0x21 -#define EC_WORD_STUDY (EC_GROUP_LIFESTYLE << 9) | 0x22 -#define EC_WORD_MACHINE (EC_GROUP_LIFESTYLE << 9) | 0x23 -#define EC_WORD_MAIL (EC_GROUP_LIFESTYLE << 9) | 0x24 -#define EC_WORD_MESSAGE (EC_GROUP_LIFESTYLE << 9) | 0x25 -#define EC_WORD_PROMISE (EC_GROUP_LIFESTYLE << 9) | 0x26 -#define EC_WORD_DREAM (EC_GROUP_LIFESTYLE << 9) | 0x27 -#define EC_WORD_KINDERGARTEN (EC_GROUP_LIFESTYLE << 9) | 0x28 -#define EC_WORD_LIFE (EC_GROUP_LIFESTYLE << 9) | 0x29 -#define EC_WORD_RADIO (EC_GROUP_LIFESTYLE << 9) | 0x2a -#define EC_WORD_RENTAL (EC_GROUP_LIFESTYLE << 9) | 0x2b -#define EC_WORD_WORLD (EC_GROUP_LIFESTYLE << 9) | 0x2c +#define EC_WORD_CHORES ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 0) +#define EC_WORD_HOME ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 1) +#define EC_WORD_MONEY ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 2) +#define EC_WORD_ALLOWANCE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 3) +#define EC_WORD_BATH ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 4) +#define EC_WORD_CONVERSATION ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 5) +#define EC_WORD_SCHOOL ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 6) +#define EC_WORD_COMMEMORATE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 7) +#define EC_WORD_HABIT ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 8) +#define EC_WORD_GROUP ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 9) +#define EC_WORD_WORD ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 10) +#define EC_WORD_STORE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 11) +#define EC_WORD_SERVICE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 12) +#define EC_WORD_WORK ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 13) +#define EC_WORD_SYSTEM ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 14) +#define EC_WORD_TRAIN ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 15) +#define EC_WORD_CLASS ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 16) +#define EC_WORD_LESSONS ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 17) +#define EC_WORD_INFORMATION ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 18) +#define EC_WORD_LIVING ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 19) +#define EC_WORD_TEACHER ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 20) +#define EC_WORD_TOURNAMENT ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 21) +#define EC_WORD_LETTER ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 22) +#define EC_WORD_EVENT ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 23) +#define EC_WORD_DIGITAL ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 24) +#define EC_WORD_TEST ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 25) +#define EC_WORD_DEPT_STORE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 26) +#define EC_WORD_TELEVISION ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 27) +#define EC_WORD_PHONE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 28) +#define EC_WORD_ITEM ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 29) +#define EC_WORD_NAME ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 30) +#define EC_WORD_NEWS ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 31) +#define EC_WORD_POPULAR ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 32) +#define EC_WORD_PARTY ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 33) +#define EC_WORD_STUDY ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 34) +#define EC_WORD_MACHINE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 35) +#define EC_WORD_MAIL ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 36) +#define EC_WORD_MESSAGE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 37) +#define EC_WORD_PROMISE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 38) +#define EC_WORD_DREAM ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 39) +#define EC_WORD_KINDERGARTEN ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 40) +#define EC_WORD_LIFE ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 41) +#define EC_WORD_RADIO ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 42) +#define EC_WORD_RENTAL ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 43) +#define EC_WORD_WORLD ((EC_GROUP_LIFESTYLE << EC_MASK_BITS) | 44) // HOBBIES -#define EC_WORD_IDOL (EC_GROUP_HOBBIES << 9) | 0x0 -#define EC_WORD_ANIME (EC_GROUP_HOBBIES << 9) | 0x1 -#define EC_WORD_SONG (EC_GROUP_HOBBIES << 9) | 0x2 -#define EC_WORD_MOVIE (EC_GROUP_HOBBIES << 9) | 0x3 -#define EC_WORD_SWEETS (EC_GROUP_HOBBIES << 9) | 0x4 -#define EC_WORD_CHAT (EC_GROUP_HOBBIES << 9) | 0x5 -#define EC_WORD_CHILD_S_PLAY (EC_GROUP_HOBBIES << 9) | 0x6 -#define EC_WORD_TOYS (EC_GROUP_HOBBIES << 9) | 0x7 -#define EC_WORD_MUSIC (EC_GROUP_HOBBIES << 9) | 0x8 -#define EC_WORD_CARDS (EC_GROUP_HOBBIES << 9) | 0x9 -#define EC_WORD_SHOPPING (EC_GROUP_HOBBIES << 9) | 0xa -#define EC_WORD_CAMERA (EC_GROUP_HOBBIES << 9) | 0xb -#define EC_WORD_VIEWING (EC_GROUP_HOBBIES << 9) | 0xc -#define EC_WORD_SPECTATOR (EC_GROUP_HOBBIES << 9) | 0xd -#define EC_WORD_GOURMET (EC_GROUP_HOBBIES << 9) | 0xe -#define EC_WORD_GAME (EC_GROUP_HOBBIES << 9) | 0xf -#define EC_WORD_RPG (EC_GROUP_HOBBIES << 9) | 0x10 -#define EC_WORD_COLLECTION (EC_GROUP_HOBBIES << 9) | 0x11 -#define EC_WORD_COMPLETE (EC_GROUP_HOBBIES << 9) | 0x12 -#define EC_WORD_MAGAZINE (EC_GROUP_HOBBIES << 9) | 0x13 -#define EC_WORD_WALK (EC_GROUP_HOBBIES << 9) | 0x14 -#define EC_WORD_BIKE (EC_GROUP_HOBBIES << 9) | 0x15 -#define EC_WORD_HOBBY (EC_GROUP_HOBBIES << 9) | 0x16 -#define EC_WORD_SPORTS (EC_GROUP_HOBBIES << 9) | 0x17 -#define EC_WORD_SOFTWARE (EC_GROUP_HOBBIES << 9) | 0x18 -#define EC_WORD_SONGS (EC_GROUP_HOBBIES << 9) | 0x19 -#define EC_WORD_DIET (EC_GROUP_HOBBIES << 9) | 0x1a -#define EC_WORD_TREASURE (EC_GROUP_HOBBIES << 9) | 0x1b -#define EC_WORD_TRAVEL (EC_GROUP_HOBBIES << 9) | 0x1c -#define EC_WORD_DANCE (EC_GROUP_HOBBIES << 9) | 0x1d -#define EC_WORD_CHANNEL (EC_GROUP_HOBBIES << 9) | 0x1e -#define EC_WORD_MAKING (EC_GROUP_HOBBIES << 9) | 0x1f -#define EC_WORD_FISHING (EC_GROUP_HOBBIES << 9) | 0x20 -#define EC_WORD_DATE (EC_GROUP_HOBBIES << 9) | 0x21 -#define EC_WORD_DESIGN (EC_GROUP_HOBBIES << 9) | 0x22 -#define EC_WORD_LOCOMOTIVE (EC_GROUP_HOBBIES << 9) | 0x23 -#define EC_WORD_PLUSH_DOLL (EC_GROUP_HOBBIES << 9) | 0x24 -#define EC_WORD_PC (EC_GROUP_HOBBIES << 9) | 0x25 -#define EC_WORD_FLOWERS (EC_GROUP_HOBBIES << 9) | 0x26 -#define EC_WORD_HERO (EC_GROUP_HOBBIES << 9) | 0x27 -#define EC_WORD_NAP (EC_GROUP_HOBBIES << 9) | 0x28 -#define EC_WORD_HEROINE (EC_GROUP_HOBBIES << 9) | 0x29 -#define EC_WORD_FASHION (EC_GROUP_HOBBIES << 9) | 0x2a -#define EC_WORD_ADVENTURE (EC_GROUP_HOBBIES << 9) | 0x2b -#define EC_WORD_BOARD (EC_GROUP_HOBBIES << 9) | 0x2c -#define EC_WORD_BALL (EC_GROUP_HOBBIES << 9) | 0x2d -#define EC_WORD_BOOK (EC_GROUP_HOBBIES << 9) | 0x2e -#define EC_WORD_FESTIVAL (EC_GROUP_HOBBIES << 9) | 0x2f -#define EC_WORD_COMICS (EC_GROUP_HOBBIES << 9) | 0x30 -#define EC_WORD_HOLIDAY (EC_GROUP_HOBBIES << 9) | 0x31 -#define EC_WORD_PLANS (EC_GROUP_HOBBIES << 9) | 0x32 -#define EC_WORD_TRENDY (EC_GROUP_HOBBIES << 9) | 0x33 -#define EC_WORD_VACATION (EC_GROUP_HOBBIES << 9) | 0x34 -#define EC_WORD_LOOK (EC_GROUP_HOBBIES << 9) | 0x35 +#define EC_WORD_IDOL ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 0) +#define EC_WORD_ANIME ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 1) +#define EC_WORD_SONG ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 2) +#define EC_WORD_MOVIE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 3) +#define EC_WORD_SWEETS ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 4) +#define EC_WORD_CHAT ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 5) +#define EC_WORD_CHILD_S_PLAY ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 6) +#define EC_WORD_TOYS ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 7) +#define EC_WORD_MUSIC ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 8) +#define EC_WORD_CARDS ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 9) +#define EC_WORD_SHOPPING ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 10) +#define EC_WORD_CAMERA ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 11) +#define EC_WORD_VIEWING ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 12) +#define EC_WORD_SPECTATOR ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 13) +#define EC_WORD_GOURMET ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 14) +#define EC_WORD_GAME ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 15) +#define EC_WORD_RPG ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 16) +#define EC_WORD_COLLECTION ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 17) +#define EC_WORD_COMPLETE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 18) +#define EC_WORD_MAGAZINE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 19) +#define EC_WORD_WALK ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 20) +#define EC_WORD_BIKE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 21) +#define EC_WORD_HOBBY ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 22) +#define EC_WORD_SPORTS ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 23) +#define EC_WORD_SOFTWARE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 24) +#define EC_WORD_SONGS ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 25) +#define EC_WORD_DIET ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 26) +#define EC_WORD_TREASURE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 27) +#define EC_WORD_TRAVEL ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 28) +#define EC_WORD_DANCE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 29) +#define EC_WORD_CHANNEL ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 30) +#define EC_WORD_MAKING ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 31) +#define EC_WORD_FISHING ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 32) +#define EC_WORD_DATE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 33) +#define EC_WORD_DESIGN ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 34) +#define EC_WORD_LOCOMOTIVE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 35) +#define EC_WORD_PLUSH_DOLL ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 36) +#define EC_WORD_PC ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 37) +#define EC_WORD_FLOWERS ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 38) +#define EC_WORD_HERO ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 39) +#define EC_WORD_NAP ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 40) +#define EC_WORD_HEROINE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 41) +#define EC_WORD_FASHION ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 42) +#define EC_WORD_ADVENTURE ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 43) +#define EC_WORD_BOARD ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 44) +#define EC_WORD_BALL ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 45) +#define EC_WORD_BOOK ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 46) +#define EC_WORD_FESTIVAL ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 47) +#define EC_WORD_COMICS ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 48) +#define EC_WORD_HOLIDAY ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 49) +#define EC_WORD_PLANS ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 50) +#define EC_WORD_TRENDY ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 51) +#define EC_WORD_VACATION ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 52) +#define EC_WORD_LOOK ((EC_GROUP_HOBBIES << EC_MASK_BITS) | 53) // TIME -#define EC_WORD_FALL (EC_GROUP_TIME << 9) | 0x0 -#define EC_WORD_MORNING (EC_GROUP_TIME << 9) | 0x1 -#define EC_WORD_TOMORROW (EC_GROUP_TIME << 9) | 0x2 -#define EC_WORD_LAST (EC_GROUP_TIME << 9) | 0x3 -#define EC_WORD_DAY (EC_GROUP_TIME << 9) | 0x4 -#define EC_WORD_SOMETIME (EC_GROUP_TIME << 9) | 0x5 -#define EC_WORD_ALWAYS (EC_GROUP_TIME << 9) | 0x6 -#define EC_WORD_CURRENT (EC_GROUP_TIME << 9) | 0x7 -#define EC_WORD_FOREVER (EC_GROUP_TIME << 9) | 0x8 -#define EC_WORD_DAYS (EC_GROUP_TIME << 9) | 0x9 -#define EC_WORD_END (EC_GROUP_TIME << 9) | 0xa -#define EC_WORD_TUESDAY (EC_GROUP_TIME << 9) | 0xb -#define EC_WORD_YESTERDAY (EC_GROUP_TIME << 9) | 0xc -#define EC_WORD_TODAY (EC_GROUP_TIME << 9) | 0xd -#define EC_WORD_FRIDAY (EC_GROUP_TIME << 9) | 0xe -#define EC_WORD_MONDAY (EC_GROUP_TIME << 9) | 0xf -#define EC_WORD_LATER (EC_GROUP_TIME << 9) | 0x10 -#define EC_WORD_EARLIER (EC_GROUP_TIME << 9) | 0x11 -#define EC_WORD_ANOTHER (EC_GROUP_TIME << 9) | 0x12 -#define EC_WORD_TIME (EC_GROUP_TIME << 9) | 0x13 -#define EC_WORD_FINISH (EC_GROUP_TIME << 9) | 0x14 -#define EC_WORD_WEDNESDAY (EC_GROUP_TIME << 9) | 0x15 -#define EC_WORD_SOON (EC_GROUP_TIME << 9) | 0x16 -#define EC_WORD_START (EC_GROUP_TIME << 9) | 0x17 -#define EC_WORD_MONTH (EC_GROUP_TIME << 9) | 0x18 -#define EC_WORD_STOP (EC_GROUP_TIME << 9) | 0x19 -#define EC_WORD_NOW (EC_GROUP_TIME << 9) | 0x1a -#define EC_WORD_FINAL (EC_GROUP_TIME << 9) | 0x1b -#define EC_WORD_NEXT (EC_GROUP_TIME << 9) | 0x1c -#define EC_WORD_AGE (EC_GROUP_TIME << 9) | 0x1d -#define EC_WORD_SATURDAY (EC_GROUP_TIME << 9) | 0x1e -#define EC_WORD_SUMMER (EC_GROUP_TIME << 9) | 0x1f -#define EC_WORD_SUNDAY (EC_GROUP_TIME << 9) | 0x20 -#define EC_WORD_BEGINNING (EC_GROUP_TIME << 9) | 0x21 -#define EC_WORD_SPRING (EC_GROUP_TIME << 9) | 0x22 -#define EC_WORD_DAYTIME (EC_GROUP_TIME << 9) | 0x23 -#define EC_WORD_WINTER (EC_GROUP_TIME << 9) | 0x24 -#define EC_WORD_DAILY (EC_GROUP_TIME << 9) | 0x25 -#define EC_WORD_OLDEN (EC_GROUP_TIME << 9) | 0x26 -#define EC_WORD_ALMOST (EC_GROUP_TIME << 9) | 0x27 -#define EC_WORD_NEARLY (EC_GROUP_TIME << 9) | 0x28 -#define EC_WORD_THURSDAY (EC_GROUP_TIME << 9) | 0x29 -#define EC_WORD_NIGHTTIME (EC_GROUP_TIME << 9) | 0x2a -#define EC_WORD_NIGHT (EC_GROUP_TIME << 9) | 0x2b -#define EC_WORD_WEEK (EC_GROUP_TIME << 9) | 0x2c +#define EC_WORD_FALL ((EC_GROUP_TIME << EC_MASK_BITS) | 0) +#define EC_WORD_MORNING ((EC_GROUP_TIME << EC_MASK_BITS) | 1) +#define EC_WORD_TOMORROW ((EC_GROUP_TIME << EC_MASK_BITS) | 2) +#define EC_WORD_LAST ((EC_GROUP_TIME << EC_MASK_BITS) | 3) +#define EC_WORD_DAY ((EC_GROUP_TIME << EC_MASK_BITS) | 4) +#define EC_WORD_SOMETIME ((EC_GROUP_TIME << EC_MASK_BITS) | 5) +#define EC_WORD_ALWAYS ((EC_GROUP_TIME << EC_MASK_BITS) | 6) +#define EC_WORD_CURRENT ((EC_GROUP_TIME << EC_MASK_BITS) | 7) +#define EC_WORD_FOREVER ((EC_GROUP_TIME << EC_MASK_BITS) | 8) +#define EC_WORD_DAYS ((EC_GROUP_TIME << EC_MASK_BITS) | 9) +#define EC_WORD_END ((EC_GROUP_TIME << EC_MASK_BITS) | 10) +#define EC_WORD_TUESDAY ((EC_GROUP_TIME << EC_MASK_BITS) | 11) +#define EC_WORD_YESTERDAY ((EC_GROUP_TIME << EC_MASK_BITS) | 12) +#define EC_WORD_TODAY ((EC_GROUP_TIME << EC_MASK_BITS) | 13) +#define EC_WORD_FRIDAY ((EC_GROUP_TIME << EC_MASK_BITS) | 14) +#define EC_WORD_MONDAY ((EC_GROUP_TIME << EC_MASK_BITS) | 15) +#define EC_WORD_LATER ((EC_GROUP_TIME << EC_MASK_BITS) | 16) +#define EC_WORD_EARLIER ((EC_GROUP_TIME << EC_MASK_BITS) | 17) +#define EC_WORD_ANOTHER ((EC_GROUP_TIME << EC_MASK_BITS) | 18) +#define EC_WORD_TIME ((EC_GROUP_TIME << EC_MASK_BITS) | 19) +#define EC_WORD_FINISH ((EC_GROUP_TIME << EC_MASK_BITS) | 20) +#define EC_WORD_WEDNESDAY ((EC_GROUP_TIME << EC_MASK_BITS) | 21) +#define EC_WORD_SOON ((EC_GROUP_TIME << EC_MASK_BITS) | 22) +#define EC_WORD_START ((EC_GROUP_TIME << EC_MASK_BITS) | 23) +#define EC_WORD_MONTH ((EC_GROUP_TIME << EC_MASK_BITS) | 24) +#define EC_WORD_STOP ((EC_GROUP_TIME << EC_MASK_BITS) | 25) +#define EC_WORD_NOW ((EC_GROUP_TIME << EC_MASK_BITS) | 26) +#define EC_WORD_FINAL ((EC_GROUP_TIME << EC_MASK_BITS) | 27) +#define EC_WORD_NEXT ((EC_GROUP_TIME << EC_MASK_BITS) | 28) +#define EC_WORD_AGE ((EC_GROUP_TIME << EC_MASK_BITS) | 29) +#define EC_WORD_SATURDAY ((EC_GROUP_TIME << EC_MASK_BITS) | 30) +#define EC_WORD_SUMMER ((EC_GROUP_TIME << EC_MASK_BITS) | 31) +#define EC_WORD_SUNDAY ((EC_GROUP_TIME << EC_MASK_BITS) | 32) +#define EC_WORD_BEGINNING ((EC_GROUP_TIME << EC_MASK_BITS) | 33) +#define EC_WORD_SPRING ((EC_GROUP_TIME << EC_MASK_BITS) | 34) +#define EC_WORD_DAYTIME ((EC_GROUP_TIME << EC_MASK_BITS) | 35) +#define EC_WORD_WINTER ((EC_GROUP_TIME << EC_MASK_BITS) | 36) +#define EC_WORD_DAILY ((EC_GROUP_TIME << EC_MASK_BITS) | 37) +#define EC_WORD_OLDEN ((EC_GROUP_TIME << EC_MASK_BITS) | 38) +#define EC_WORD_ALMOST ((EC_GROUP_TIME << EC_MASK_BITS) | 39) +#define EC_WORD_NEARLY ((EC_GROUP_TIME << EC_MASK_BITS) | 40) +#define EC_WORD_THURSDAY ((EC_GROUP_TIME << EC_MASK_BITS) | 41) +#define EC_WORD_NIGHTTIME ((EC_GROUP_TIME << EC_MASK_BITS) | 42) +#define EC_WORD_NIGHT ((EC_GROUP_TIME << EC_MASK_BITS) | 43) +#define EC_WORD_WEEK ((EC_GROUP_TIME << EC_MASK_BITS) | 44) // MISC -#define EC_WORD_HIGHS (EC_GROUP_MISC << 9) | 0x0 -#define EC_WORD_LOWS (EC_GROUP_MISC << 9) | 0x1 -#define EC_WORD_UM (EC_GROUP_MISC << 9) | 0x2 -#define EC_WORD_REAR (EC_GROUP_MISC << 9) | 0x3 -#define EC_WORD_THINGS (EC_GROUP_MISC << 9) | 0x4 -#define EC_WORD_THING (EC_GROUP_MISC << 9) | 0x5 -#define EC_WORD_BELOW (EC_GROUP_MISC << 9) | 0x6 -#define EC_WORD_ABOVE (EC_GROUP_MISC << 9) | 0x7 -#define EC_WORD_BACK (EC_GROUP_MISC << 9) | 0x8 -#define EC_WORD_HIGH (EC_GROUP_MISC << 9) | 0x9 -#define EC_WORD_HERE (EC_GROUP_MISC << 9) | 0xa -#define EC_WORD_INSIDE (EC_GROUP_MISC << 9) | 0xb -#define EC_WORD_OUTSIDE (EC_GROUP_MISC << 9) | 0xc -#define EC_WORD_BESIDE (EC_GROUP_MISC << 9) | 0xd -#define EC_WORD_THIS_IS_IT_EXCL (EC_GROUP_MISC << 9) | 0xe -#define EC_WORD_THIS (EC_GROUP_MISC << 9) | 0xf -#define EC_WORD_EVERY (EC_GROUP_MISC << 9) | 0x10 -#define EC_WORD_THESE (EC_GROUP_MISC << 9) | 0x11 -#define EC_WORD_THESE_WERE (EC_GROUP_MISC << 9) | 0x12 -#define EC_WORD_DOWN (EC_GROUP_MISC << 9) | 0x13 -#define EC_WORD_THAT (EC_GROUP_MISC << 9) | 0x14 -#define EC_WORD_THOSE_ARE (EC_GROUP_MISC << 9) | 0x15 -#define EC_WORD_THOSE_WERE (EC_GROUP_MISC << 9) | 0x16 -#define EC_WORD_THAT_S_IT_EXCL (EC_GROUP_MISC << 9) | 0x17 -#define EC_WORD_AM (EC_GROUP_MISC << 9) | 0x18 -#define EC_WORD_THAT_WAS (EC_GROUP_MISC << 9) | 0x19 -#define EC_WORD_FRONT (EC_GROUP_MISC << 9) | 0x1a -#define EC_WORD_UP (EC_GROUP_MISC << 9) | 0x1b -#define EC_WORD_CHOICE (EC_GROUP_MISC << 9) | 0x1c -#define EC_WORD_FAR (EC_GROUP_MISC << 9) | 0x1d -#define EC_WORD_AWAY (EC_GROUP_MISC << 9) | 0x1e -#define EC_WORD_NEAR (EC_GROUP_MISC << 9) | 0x1f -#define EC_WORD_WHERE (EC_GROUP_MISC << 9) | 0x20 -#define EC_WORD_WHEN (EC_GROUP_MISC << 9) | 0x21 -#define EC_WORD_WHAT (EC_GROUP_MISC << 9) | 0x22 -#define EC_WORD_DEEP (EC_GROUP_MISC << 9) | 0x23 -#define EC_WORD_SHALLOW (EC_GROUP_MISC << 9) | 0x24 -#define EC_WORD_WHY (EC_GROUP_MISC << 9) | 0x25 -#define EC_WORD_CONFUSED (EC_GROUP_MISC << 9) | 0x26 -#define EC_WORD_OPPOSITE (EC_GROUP_MISC << 9) | 0x27 -#define EC_WORD_LEFT (EC_GROUP_MISC << 9) | 0x28 -#define EC_WORD_RIGHT (EC_GROUP_MISC << 9) | 0x29 +#define EC_WORD_HIGHS ((EC_GROUP_MISC << EC_MASK_BITS) | 0) +#define EC_WORD_LOWS ((EC_GROUP_MISC << EC_MASK_BITS) | 1) +#define EC_WORD_UM ((EC_GROUP_MISC << EC_MASK_BITS) | 2) +#define EC_WORD_REAR ((EC_GROUP_MISC << EC_MASK_BITS) | 3) +#define EC_WORD_THINGS ((EC_GROUP_MISC << EC_MASK_BITS) | 4) +#define EC_WORD_THING ((EC_GROUP_MISC << EC_MASK_BITS) | 5) +#define EC_WORD_BELOW ((EC_GROUP_MISC << EC_MASK_BITS) | 6) +#define EC_WORD_ABOVE ((EC_GROUP_MISC << EC_MASK_BITS) | 7) +#define EC_WORD_BACK ((EC_GROUP_MISC << EC_MASK_BITS) | 8) +#define EC_WORD_HIGH ((EC_GROUP_MISC << EC_MASK_BITS) | 9) +#define EC_WORD_HERE ((EC_GROUP_MISC << EC_MASK_BITS) | 10) +#define EC_WORD_INSIDE ((EC_GROUP_MISC << EC_MASK_BITS) | 11) +#define EC_WORD_OUTSIDE ((EC_GROUP_MISC << EC_MASK_BITS) | 12) +#define EC_WORD_BESIDE ((EC_GROUP_MISC << EC_MASK_BITS) | 13) +#define EC_WORD_THIS_IS_IT_EXCL ((EC_GROUP_MISC << EC_MASK_BITS) | 14) +#define EC_WORD_THIS ((EC_GROUP_MISC << EC_MASK_BITS) | 15) +#define EC_WORD_EVERY ((EC_GROUP_MISC << EC_MASK_BITS) | 16) +#define EC_WORD_THESE ((EC_GROUP_MISC << EC_MASK_BITS) | 17) +#define EC_WORD_THESE_WERE ((EC_GROUP_MISC << EC_MASK_BITS) | 18) +#define EC_WORD_DOWN ((EC_GROUP_MISC << EC_MASK_BITS) | 19) +#define EC_WORD_THAT ((EC_GROUP_MISC << EC_MASK_BITS) | 20) +#define EC_WORD_THOSE_ARE ((EC_GROUP_MISC << EC_MASK_BITS) | 21) +#define EC_WORD_THOSE_WERE ((EC_GROUP_MISC << EC_MASK_BITS) | 22) +#define EC_WORD_THAT_S_IT_EXCL ((EC_GROUP_MISC << EC_MASK_BITS) | 23) +#define EC_WORD_AM ((EC_GROUP_MISC << EC_MASK_BITS) | 24) +#define EC_WORD_THAT_WAS ((EC_GROUP_MISC << EC_MASK_BITS) | 25) +#define EC_WORD_FRONT ((EC_GROUP_MISC << EC_MASK_BITS) | 26) +#define EC_WORD_UP ((EC_GROUP_MISC << EC_MASK_BITS) | 27) +#define EC_WORD_CHOICE ((EC_GROUP_MISC << EC_MASK_BITS) | 28) +#define EC_WORD_FAR ((EC_GROUP_MISC << EC_MASK_BITS) | 29) +#define EC_WORD_AWAY ((EC_GROUP_MISC << EC_MASK_BITS) | 30) +#define EC_WORD_NEAR ((EC_GROUP_MISC << EC_MASK_BITS) | 31) +#define EC_WORD_WHERE ((EC_GROUP_MISC << EC_MASK_BITS) | 32) +#define EC_WORD_WHEN ((EC_GROUP_MISC << EC_MASK_BITS) | 33) +#define EC_WORD_WHAT ((EC_GROUP_MISC << EC_MASK_BITS) | 34) +#define EC_WORD_DEEP ((EC_GROUP_MISC << EC_MASK_BITS) | 35) +#define EC_WORD_SHALLOW ((EC_GROUP_MISC << EC_MASK_BITS) | 36) +#define EC_WORD_WHY ((EC_GROUP_MISC << EC_MASK_BITS) | 37) +#define EC_WORD_CONFUSED ((EC_GROUP_MISC << EC_MASK_BITS) | 38) +#define EC_WORD_OPPOSITE ((EC_GROUP_MISC << EC_MASK_BITS) | 39) +#define EC_WORD_LEFT ((EC_GROUP_MISC << EC_MASK_BITS) | 40) +#define EC_WORD_RIGHT ((EC_GROUP_MISC << EC_MASK_BITS) | 41) // ADJECTIVES -#define EC_WORD_WANDERING (EC_GROUP_ADJECTIVES << 9) | 0x0 -#define EC_WORD_RICKETY (EC_GROUP_ADJECTIVES << 9) | 0x1 -#define EC_WORD_ROCK_SOLID (EC_GROUP_ADJECTIVES << 9) | 0x2 -#define EC_WORD_HUNGRY (EC_GROUP_ADJECTIVES << 9) | 0x3 -#define EC_WORD_TIGHT (EC_GROUP_ADJECTIVES << 9) | 0x4 -#define EC_WORD_TICKLISH (EC_GROUP_ADJECTIVES << 9) | 0x5 -#define EC_WORD_TWIRLING (EC_GROUP_ADJECTIVES << 9) | 0x6 -#define EC_WORD_SPIRALING (EC_GROUP_ADJECTIVES << 9) | 0x7 -#define EC_WORD_THIRSTY (EC_GROUP_ADJECTIVES << 9) | 0x8 -#define EC_WORD_LOLLING (EC_GROUP_ADJECTIVES << 9) | 0x9 -#define EC_WORD_SILKY (EC_GROUP_ADJECTIVES << 9) | 0xa -#define EC_WORD_SADLY (EC_GROUP_ADJECTIVES << 9) | 0xb -#define EC_WORD_HOPELESS (EC_GROUP_ADJECTIVES << 9) | 0xc -#define EC_WORD_USELESS (EC_GROUP_ADJECTIVES << 9) | 0xd -#define EC_WORD_DROOLING (EC_GROUP_ADJECTIVES << 9) | 0xe -#define EC_WORD_EXCITING (EC_GROUP_ADJECTIVES << 9) | 0xf -#define EC_WORD_THICK (EC_GROUP_ADJECTIVES << 9) | 0x10 -#define EC_WORD_SMOOTH (EC_GROUP_ADJECTIVES << 9) | 0x11 -#define EC_WORD_SLIMY (EC_GROUP_ADJECTIVES << 9) | 0x12 -#define EC_WORD_THIN (EC_GROUP_ADJECTIVES << 9) | 0x13 -#define EC_WORD_BREAK (EC_GROUP_ADJECTIVES << 9) | 0x14 -#define EC_WORD_VORACIOUS (EC_GROUP_ADJECTIVES << 9) | 0x15 -#define EC_WORD_SCATTER (EC_GROUP_ADJECTIVES << 9) | 0x16 -#define EC_WORD_AWESOME (EC_GROUP_ADJECTIVES << 9) | 0x17 -#define EC_WORD_WIMPY (EC_GROUP_ADJECTIVES << 9) | 0x18 -#define EC_WORD_WOBBLY (EC_GROUP_ADJECTIVES << 9) | 0x19 -#define EC_WORD_SHAKY (EC_GROUP_ADJECTIVES << 9) | 0x1a -#define EC_WORD_RIPPED (EC_GROUP_ADJECTIVES << 9) | 0x1b -#define EC_WORD_SHREDDED (EC_GROUP_ADJECTIVES << 9) | 0x1c -#define EC_WORD_INCREASING (EC_GROUP_ADJECTIVES << 9) | 0x1d -#define EC_WORD_YET (EC_GROUP_ADJECTIVES << 9) | 0x1e -#define EC_WORD_DESTROYED (EC_GROUP_ADJECTIVES << 9) | 0x1f -#define EC_WORD_FIERY (EC_GROUP_ADJECTIVES << 9) | 0x20 -#define EC_WORD_LOVEY_DOVEY (EC_GROUP_ADJECTIVES << 9) | 0x21 -#define EC_WORD_HAPPILY (EC_GROUP_ADJECTIVES << 9) | 0x22 -#define EC_WORD_ANTICIPATION (EC_GROUP_ADJECTIVES << 9) | 0x23 +#define EC_WORD_WANDERING ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 0) +#define EC_WORD_RICKETY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 1) +#define EC_WORD_ROCK_SOLID ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 2) +#define EC_WORD_HUNGRY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 3) +#define EC_WORD_TIGHT ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 4) +#define EC_WORD_TICKLISH ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 5) +#define EC_WORD_TWIRLING ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 6) +#define EC_WORD_SPIRALING ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 7) +#define EC_WORD_THIRSTY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 8) +#define EC_WORD_LOLLING ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 9) +#define EC_WORD_SILKY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 10) +#define EC_WORD_SADLY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 11) +#define EC_WORD_HOPELESS ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 12) +#define EC_WORD_USELESS ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 13) +#define EC_WORD_DROOLING ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 14) +#define EC_WORD_EXCITING ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 15) +#define EC_WORD_THICK ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 16) +#define EC_WORD_SMOOTH ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 17) +#define EC_WORD_SLIMY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 18) +#define EC_WORD_THIN ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 19) +#define EC_WORD_BREAK ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 20) +#define EC_WORD_VORACIOUS ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 21) +#define EC_WORD_SCATTER ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 22) +#define EC_WORD_AWESOME ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 23) +#define EC_WORD_WIMPY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 24) +#define EC_WORD_WOBBLY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 25) +#define EC_WORD_SHAKY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 26) +#define EC_WORD_RIPPED ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 27) +#define EC_WORD_SHREDDED ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 28) +#define EC_WORD_INCREASING ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 29) +#define EC_WORD_YET ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 30) +#define EC_WORD_DESTROYED ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 31) +#define EC_WORD_FIERY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 32) +#define EC_WORD_LOVEY_DOVEY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 33) +#define EC_WORD_HAPPILY ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 34) +#define EC_WORD_ANTICIPATION ((EC_GROUP_ADJECTIVES << EC_MASK_BITS) | 35) // EVENTS -#define EC_WORD_APPEAL (EC_GROUP_EVENTS << 9) | 0x0 -#define EC_WORD_EVENTS (EC_GROUP_EVENTS << 9) | 0x1 -#define EC_WORD_STAY_AT_HOME (EC_GROUP_EVENTS << 9) | 0x2 -#define EC_WORD_BERRY (EC_GROUP_EVENTS << 9) | 0x3 -#define EC_WORD_CONTEST (EC_GROUP_EVENTS << 9) | 0x4 -#define EC_WORD_MC (EC_GROUP_EVENTS << 9) | 0x5 -#define EC_WORD_JUDGE (EC_GROUP_EVENTS << 9) | 0x6 -#define EC_WORD_SUPER (EC_GROUP_EVENTS << 9) | 0x7 -#define EC_WORD_STAGE (EC_GROUP_EVENTS << 9) | 0x8 -#define EC_WORD_HALL_OF_FAME (EC_GROUP_EVENTS << 9) | 0x9 -#define EC_WORD_EVOLUTION (EC_GROUP_EVENTS << 9) | 0xa -#define EC_WORD_HYPER (EC_GROUP_EVENTS << 9) | 0xb -#define EC_WORD_BATTLE_TOWER (EC_GROUP_EVENTS << 9) | 0xc -#define EC_WORD_LEADERS (EC_GROUP_EVENTS << 9) | 0xd -#define EC_WORD_BATTLE_ROOM (EC_GROUP_EVENTS << 9) | 0xe -#define EC_WORD_HIDDEN (EC_GROUP_EVENTS << 9) | 0xf -#define EC_WORD_SECRET_BASE (EC_GROUP_EVENTS << 9) | 0x10 -#define EC_WORD_BLEND (EC_GROUP_EVENTS << 9) | 0x11 -#define EC_WORD_POKEBLOCK (EC_GROUP_EVENTS << 9) | 0x12 -#define EC_WORD_MASTER (EC_GROUP_EVENTS << 9) | 0x13 -#define EC_WORD_RANK (EC_GROUP_EVENTS << 9) | 0x14 -#define EC_WORD_RIBBON (EC_GROUP_EVENTS << 9) | 0x15 -#define EC_WORD_CRUSH (EC_GROUP_EVENTS << 9) | 0x16 -#define EC_WORD_DIRECT (EC_GROUP_EVENTS << 9) | 0x17 -#define EC_WORD_TOWER (EC_GROUP_EVENTS << 9) | 0x18 -#define EC_WORD_UNION (EC_GROUP_EVENTS << 9) | 0x19 -#define EC_WORD_ROOM (EC_GROUP_EVENTS << 9) | 0x1a -#define EC_WORD_WIRELESS (EC_GROUP_EVENTS << 9) | 0x1b -#define EC_WORD_FRONTIER (EC_GROUP_EVENTS << 9) | 0x1c +#define EC_WORD_APPEAL ((EC_GROUP_EVENTS << EC_MASK_BITS) | 0) +#define EC_WORD_EVENTS ((EC_GROUP_EVENTS << EC_MASK_BITS) | 1) +#define EC_WORD_STAY_AT_HOME ((EC_GROUP_EVENTS << EC_MASK_BITS) | 2) +#define EC_WORD_BERRY ((EC_GROUP_EVENTS << EC_MASK_BITS) | 3) +#define EC_WORD_CONTEST ((EC_GROUP_EVENTS << EC_MASK_BITS) | 4) +#define EC_WORD_MC ((EC_GROUP_EVENTS << EC_MASK_BITS) | 5) +#define EC_WORD_JUDGE ((EC_GROUP_EVENTS << EC_MASK_BITS) | 6) +#define EC_WORD_SUPER ((EC_GROUP_EVENTS << EC_MASK_BITS) | 7) +#define EC_WORD_STAGE ((EC_GROUP_EVENTS << EC_MASK_BITS) | 8) +#define EC_WORD_HALL_OF_FAME ((EC_GROUP_EVENTS << EC_MASK_BITS) | 9) +#define EC_WORD_EVOLUTION ((EC_GROUP_EVENTS << EC_MASK_BITS) | 10) +#define EC_WORD_HYPER ((EC_GROUP_EVENTS << EC_MASK_BITS) | 11) +#define EC_WORD_BATTLE_TOWER ((EC_GROUP_EVENTS << EC_MASK_BITS) | 12) +#define EC_WORD_LEADERS ((EC_GROUP_EVENTS << EC_MASK_BITS) | 13) +#define EC_WORD_BATTLE_ROOM ((EC_GROUP_EVENTS << EC_MASK_BITS) | 14) +#define EC_WORD_HIDDEN ((EC_GROUP_EVENTS << EC_MASK_BITS) | 15) +#define EC_WORD_SECRET_BASE ((EC_GROUP_EVENTS << EC_MASK_BITS) | 16) +#define EC_WORD_BLEND ((EC_GROUP_EVENTS << EC_MASK_BITS) | 17) +#define EC_WORD_POKEBLOCK ((EC_GROUP_EVENTS << EC_MASK_BITS) | 18) +#define EC_WORD_MASTER ((EC_GROUP_EVENTS << EC_MASK_BITS) | 19) +#define EC_WORD_RANK ((EC_GROUP_EVENTS << EC_MASK_BITS) | 20) +#define EC_WORD_RIBBON ((EC_GROUP_EVENTS << EC_MASK_BITS) | 21) +#define EC_WORD_CRUSH ((EC_GROUP_EVENTS << EC_MASK_BITS) | 22) +#define EC_WORD_DIRECT ((EC_GROUP_EVENTS << EC_MASK_BITS) | 23) +#define EC_WORD_TOWER ((EC_GROUP_EVENTS << EC_MASK_BITS) | 24) +#define EC_WORD_UNION ((EC_GROUP_EVENTS << EC_MASK_BITS) | 25) +#define EC_WORD_ROOM ((EC_GROUP_EVENTS << EC_MASK_BITS) | 26) +#define EC_WORD_WIRELESS ((EC_GROUP_EVENTS << EC_MASK_BITS) | 27) +#define EC_WORD_FRONTIER ((EC_GROUP_EVENTS << EC_MASK_BITS) | 28) // TRENDY_SAYING -#define EC_WORD_KTHX_BYE (EC_GROUP_TRENDY_SAYING << 9) | 0x0 -#define EC_WORD_YES_SIR_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x1 -#define EC_WORD_AVANT_GARDE (EC_GROUP_TRENDY_SAYING << 9) | 0x2 -#define EC_WORD_COUPLE (EC_GROUP_TRENDY_SAYING << 9) | 0x3 -#define EC_WORD_MUCH_OBLIGED (EC_GROUP_TRENDY_SAYING << 9) | 0x4 -#define EC_WORD_YEEHAW_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x5 -#define EC_WORD_MEGA (EC_GROUP_TRENDY_SAYING << 9) | 0x6 -#define EC_WORD_1_HIT_KO_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x7 -#define EC_WORD_DESTINY (EC_GROUP_TRENDY_SAYING << 9) | 0x8 -#define EC_WORD_CANCEL (EC_GROUP_TRENDY_SAYING << 9) | 0x9 -#define EC_WORD_NEW (EC_GROUP_TRENDY_SAYING << 9) | 0xa -#define EC_WORD_FLATTEN (EC_GROUP_TRENDY_SAYING << 9) | 0xb -#define EC_WORD_KIDDING (EC_GROUP_TRENDY_SAYING << 9) | 0xc -#define EC_WORD_LOSER (EC_GROUP_TRENDY_SAYING << 9) | 0xd -#define EC_WORD_LOSING (EC_GROUP_TRENDY_SAYING << 9) | 0xe -#define EC_WORD_HAPPENING (EC_GROUP_TRENDY_SAYING << 9) | 0xf -#define EC_WORD_HIP_AND (EC_GROUP_TRENDY_SAYING << 9) | 0x10 -#define EC_WORD_SHAKE (EC_GROUP_TRENDY_SAYING << 9) | 0x11 -#define EC_WORD_SHADY (EC_GROUP_TRENDY_SAYING << 9) | 0x12 -#define EC_WORD_UPBEAT (EC_GROUP_TRENDY_SAYING << 9) | 0x13 -#define EC_WORD_MODERN (EC_GROUP_TRENDY_SAYING << 9) | 0x14 -#define EC_WORD_SMELL_YA (EC_GROUP_TRENDY_SAYING << 9) | 0x15 -#define EC_WORD_BANG (EC_GROUP_TRENDY_SAYING << 9) | 0x16 -#define EC_WORD_KNOCKOUT (EC_GROUP_TRENDY_SAYING << 9) | 0x17 -#define EC_WORD_HASSLE (EC_GROUP_TRENDY_SAYING << 9) | 0x18 -#define EC_WORD_WINNER (EC_GROUP_TRENDY_SAYING << 9) | 0x19 -#define EC_WORD_FEVER (EC_GROUP_TRENDY_SAYING << 9) | 0x1a -#define EC_WORD_WANNABE (EC_GROUP_TRENDY_SAYING << 9) | 0x1b -#define EC_WORD_BABY (EC_GROUP_TRENDY_SAYING << 9) | 0x1c -#define EC_WORD_HEART (EC_GROUP_TRENDY_SAYING << 9) | 0x1d -#define EC_WORD_OLD (EC_GROUP_TRENDY_SAYING << 9) | 0x1e -#define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f -#define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20 +#define EC_WORD_KTHX_BYE ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 0) +#define EC_WORD_YES_SIR_EXCL ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 1) +#define EC_WORD_AVANT_GARDE ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 2) +#define EC_WORD_COUPLE ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 3) +#define EC_WORD_MUCH_OBLIGED ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 4) +#define EC_WORD_YEEHAW_EXCL ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 5) +#define EC_WORD_MEGA ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 6) +#define EC_WORD_1_HIT_KO_EXCL ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 7) +#define EC_WORD_DESTINY ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 8) +#define EC_WORD_CANCEL ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 9) +#define EC_WORD_NEW ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 10) +#define EC_WORD_FLATTEN ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 11) +#define EC_WORD_KIDDING ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 12) +#define EC_WORD_LOSER ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 13) +#define EC_WORD_LOSING ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 14) +#define EC_WORD_HAPPENING ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 15) +#define EC_WORD_HIP_AND ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 16) +#define EC_WORD_SHAKE ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 17) +#define EC_WORD_SHADY ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 18) +#define EC_WORD_UPBEAT ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 19) +#define EC_WORD_MODERN ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 20) +#define EC_WORD_SMELL_YA ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 21) +#define EC_WORD_BANG ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 22) +#define EC_WORD_KNOCKOUT ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 23) +#define EC_WORD_HASSLE ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 24) +#define EC_WORD_WINNER ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 25) +#define EC_WORD_FEVER ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 26) +#define EC_WORD_WANNABE ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 27) +#define EC_WORD_BABY ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 28) +#define EC_WORD_HEART ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 29) +#define EC_WORD_OLD ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 30) +#define EC_WORD_YOUNG ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 31) +#define EC_WORD_UGLY ((EC_GROUP_TRENDY_SAYING << EC_MASK_BITS) | 32) #define NUM_ADDITIONAL_PHRASES 33 // Special Berry Masters Wife phrases @@ -1109,17 +1109,22 @@ #define EC_MAX_WORDS_IN_GROUP 270 // The closest is words by letter S, at 262 -#define EC_MASK_GROUP 0x7F -#define EC_MASK_INDEX 0x1FF +// If the Pokémon or Move group tables have an ID higher than 511, the word will be seen as +// invalid due to the index looping back to the beginning and not matching the proper value. +// To allow for higher values on those tables, increase the value of EC_MASK_BITS and the max value +// will increase to (2 ^ EC_MASK_BITS). Keep in mind that existing saved words will be shifted. +#define EC_MASK_BITS 9 +#define EC_MASK_GROUP ((1 << (16 - EC_MASK_BITS)) - 1) +#define EC_MASK_INDEX ((1 << EC_MASK_BITS) - 1) -#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon) -#define EC_POKEMON_NATIONAL(mon) ((EC_GROUP_POKEMON_NATIONAL << 9) | SPECIES_##mon) -#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move) -#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move) +#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << EC_MASK_BITS) | SPECIES_##mon) +#define EC_POKEMON_NATIONAL(mon) ((EC_GROUP_POKEMON_NATIONAL << EC_MASK_BITS) | SPECIES_##mon) +#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << EC_MASK_BITS) | MOVE_##move) +#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << EC_MASK_BITS) | MOVE_##move) -#define EC_GROUP(word) ((word) >> 9) +#define EC_GROUP(word) ((word) >> EC_MASK_BITS) #define EC_INDEX(word) ((word) & EC_MASK_INDEX) -#define EC_WORD(group, index) ((((group) & EC_MASK_GROUP) << 9) | ((index) & EC_MASK_INDEX)) +#define EC_WORD(group, index) ((((group) & EC_MASK_GROUP) << EC_MASK_BITS) | ((index) & EC_MASK_INDEX)) #define EC_EMPTY_WORD 0xFFFF diff --git a/src/data/easy_chat/easy_chat_group_actions.h b/src/data/easy_chat/easy_chat_group_actions.h index 06a8e73030..6ad297efcf 100755 --- a/src/data/easy_chat/easy_chat_group_actions.h +++ b/src/data/easy_chat/easy_chat_group_actions.h @@ -78,391 +78,469 @@ const u8 gEasyChatWord_Faint[] = _("FAINT"); const u8 gEasyChatWord_Fainted[] = _("FAINTED"); const struct EasyChatWordInfo gEasyChatGroup_Actions[] = { + [EC_INDEX(EC_WORD_MEETS)] = { .text = gEasyChatWord_Meets, .alphabeticalOrder = 72, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CONCEDE)] = { .text = gEasyChatWord_Concede, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GIVE)] = { .text = gEasyChatWord_Give, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GIVES)] = { .text = gEasyChatWord_Gives, .alphabeticalOrder = 75, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PLAYED)] = { .text = gEasyChatWord_Played, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PLAYS)] = { .text = gEasyChatWord_Plays, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COLLECT)] = { .text = gEasyChatWord_Collect, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WALKING)] = { .text = gEasyChatWord_Walking, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WALKS)] = { .text = gEasyChatWord_Walks, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SAYS)] = { .text = gEasyChatWord_Says, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WENT)] = { .text = gEasyChatWord_Went, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SAID)] = { .text = gEasyChatWord_Said, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WAKE_UP)] = { .text = gEasyChatWord_WakeUp, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WAKES_UP)] = { .text = gEasyChatWord_WakesUp, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ANGERS)] = { .text = gEasyChatWord_Angers, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TEACH)] = { .text = gEasyChatWord_Teach, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TEACHES)] = { .text = gEasyChatWord_Teaches, .alphabeticalOrder = 54, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PLEASE)] = { .text = gEasyChatWord_Please, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LEARN)] = { .text = gEasyChatWord_Learn, .alphabeticalOrder = 76, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CHANGE)] = { .text = gEasyChatWord_Change, .alphabeticalOrder = 77, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STORY)] = { .text = gEasyChatWord_Story, .alphabeticalOrder = 73, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRUST)] = { .text = gEasyChatWord_Trust, .alphabeticalOrder = 74, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LAVISH)] = { .text = gEasyChatWord_Lavish, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LISTENS)] = { .text = gEasyChatWord_Listens, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEARING)] = { .text = gEasyChatWord_Hearing, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRAINS)] = { .text = gEasyChatWord_Trains, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CHOOSE)] = { .text = gEasyChatWord_Choose, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COME)] = { .text = gEasyChatWord_Come, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CAME)] = { .text = gEasyChatWord_Came, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SEARCH)] = { .text = gEasyChatWord_Search, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MAKE)] = { .text = gEasyChatWord_Make, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CAUSE)] = { .text = gEasyChatWord_Cause, .alphabeticalOrder = 67, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_KNOW)] = { .text = gEasyChatWord_Know, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_KNOWS)] = { .text = gEasyChatWord_Knows, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_REFUSE)] = { .text = gEasyChatWord_Refuse, .alphabeticalOrder = 65, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STORES)] = { .text = gEasyChatWord_Stores, .alphabeticalOrder = 70, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BRAG)] = { .text = gEasyChatWord_Brag, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IGNORANT)] = { .text = gEasyChatWord_Ignorant, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THINKS)] = { .text = gEasyChatWord_Thinks, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BELIEVE)] = { .text = gEasyChatWord_Believe, .alphabeticalOrder = 64, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SLIDE)] = { .text = gEasyChatWord_Slide, .alphabeticalOrder = 63, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EATS)] = { .text = gEasyChatWord_Eats, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_USE)] = { .text = gEasyChatWord_Use, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_USES)] = { .text = gEasyChatWord_Uses, .alphabeticalOrder = 56, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_USING)] = { .text = gEasyChatWord_Using, .alphabeticalOrder = 55, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COULDN_T)] = { .text = gEasyChatWord_Couldnt, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CAPABLE)] = { .text = gEasyChatWord_Capable, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DISAPPEAR)] = { .text = gEasyChatWord_Disappear, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_APPEAR)] = { .text = gEasyChatWord_Appear, .alphabeticalOrder = 69, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THROW)] = { .text = gEasyChatWord_Throw, .alphabeticalOrder = 68, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WORRY)] = { .text = gEasyChatWord_Worry, .alphabeticalOrder = 66, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SLEPT)] = { .text = gEasyChatWord_Slept, .alphabeticalOrder = 61, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SLEEP)] = { .text = gEasyChatWord_Sleep, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RELEASE)] = { .text = gEasyChatWord_Release, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DRINKS)] = { .text = gEasyChatWord_Drinks, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RUNS)] = { .text = gEasyChatWord_Runs, .alphabeticalOrder = 62, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RUN)] = { .text = gEasyChatWord_Run, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WORKS)] = { .text = gEasyChatWord_Works, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WORKING)] = { .text = gEasyChatWord_Working, .alphabeticalOrder = 71, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TALKING)] = { .text = gEasyChatWord_Talking, .alphabeticalOrder = 60, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TALK)] = { .text = gEasyChatWord_Talk, .alphabeticalOrder = 59, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SINK)] = { .text = gEasyChatWord_Sink, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SMACK)] = { .text = gEasyChatWord_Smack, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PRETEND)] = { .text = gEasyChatWord_Pretend, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PRAISE)] = { .text = gEasyChatWord_Praise, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OVERDO)] = { .text = gEasyChatWord_Overdo, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHOW)] = { .text = gEasyChatWord_Show, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOOKS)] = { .text = gEasyChatWord_Looks, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SEES)] = { .text = gEasyChatWord_Sees, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SEEK)] = { .text = gEasyChatWord_Seek, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OWN)] = { .text = gEasyChatWord_Own, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TAKE)] = { .text = gEasyChatWord_Take, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALLOW)] = { .text = gEasyChatWord_Allow, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FORGET)] = { .text = gEasyChatWord_Forget, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FORGETS)] = { .text = gEasyChatWord_Forgets, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_APPEARS)] = { .text = gEasyChatWord_Appears, .alphabeticalOrder = 58, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FAINT)] = { .text = gEasyChatWord_Faint, .alphabeticalOrder = 57, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FAINTED)] = { .text = gEasyChatWord_Fainted, .alphabeticalOrder = 50, diff --git a/src/data/easy_chat/easy_chat_group_adjectives.h b/src/data/easy_chat/easy_chat_group_adjectives.h index 1c74741180..619dff6213 100755 --- a/src/data/easy_chat/easy_chat_group_adjectives.h +++ b/src/data/easy_chat/easy_chat_group_adjectives.h @@ -36,181 +36,217 @@ const u8 gEasyChatWord_Happily[] = _("HAPPILY"); const u8 gEasyChatWord_Anticipation[] = _("ANTICIPATION"); const struct EasyChatWordInfo gEasyChatGroup_Adjectives[] = { + [EC_INDEX(EC_WORD_WANDERING)] = { .text = gEasyChatWord_Wandering, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RICKETY)] = { .text = gEasyChatWord_Rickety, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ROCK_SOLID)] = { .text = gEasyChatWord_RockSolid, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HUNGRY)] = { .text = gEasyChatWord_Hungry, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TIGHT)] = { .text = gEasyChatWord_Tight, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TICKLISH)] = { .text = gEasyChatWord_Ticklish, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TWIRLING)] = { .text = gEasyChatWord_Twirling, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SPIRALING)] = { .text = gEasyChatWord_Spiraling, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THIRSTY)] = { .text = gEasyChatWord_Thirsty, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOLLING)] = { .text = gEasyChatWord_Lolling, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SILKY)] = { .text = gEasyChatWord_Silky, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SADLY)] = { .text = gEasyChatWord_Sadly, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HOPELESS)] = { .text = gEasyChatWord_Hopeless, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_USELESS)] = { .text = gEasyChatWord_Useless, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DROOLING)] = { .text = gEasyChatWord_Drooling, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EXCITING)] = { .text = gEasyChatWord_Exciting, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THICK)] = { .text = gEasyChatWord_Thick, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SMOOTH)] = { .text = gEasyChatWord_Smooth, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SLIMY)] = { .text = gEasyChatWord_Slimy, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THIN)] = { .text = gEasyChatWord_Thin, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BREAK)] = { .text = gEasyChatWord_Break, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_VORACIOUS)] = { .text = gEasyChatWord_Voracious, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SCATTER)] = { .text = gEasyChatWord_Scatter, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AWESOME)] = { .text = gEasyChatWord_Awesome, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WIMPY)] = { .text = gEasyChatWord_Wimpy, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WOBBLY)] = { .text = gEasyChatWord_Wobbly, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHAKY)] = { .text = gEasyChatWord_Shaky, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RIPPED)] = { .text = gEasyChatWord_Ripped, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHREDDED)] = { .text = gEasyChatWord_Shredded, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_INCREASING)] = { .text = gEasyChatWord_Increasing, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YET)] = { .text = gEasyChatWord_Yet, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DESTROYED)] = { .text = gEasyChatWord_Destroyed, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FIERY)] = { .text = gEasyChatWord_Fiery, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOVEY_DOVEY)] = { .text = gEasyChatWord_LoveyDovey, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HAPPILY)] = { .text = gEasyChatWord_Happily, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ANTICIPATION)] = { .text = gEasyChatWord_Anticipation, .alphabeticalOrder = 30, diff --git a/src/data/easy_chat/easy_chat_group_battle.h b/src/data/easy_chat/easy_chat_group_battle.h index 0f97f50c93..2a2420b2f1 100755 --- a/src/data/easy_chat/easy_chat_group_battle.h +++ b/src/data/easy_chat/easy_chat_group_battle.h @@ -63,316 +63,379 @@ const u8 gEasyChatWord_Rule[] = _("RULE"); const u8 gEasyChatWord_Move[] = _("MOVE"); const struct EasyChatWordInfo gEasyChatGroup_Battle[] = { + [EC_INDEX(EC_WORD_MATCH_UP)] = { .text = gEasyChatWord_MatchUp, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GO)] = { .text = gEasyChatWord_Go, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NO_1)] = { .text = gEasyChatWord_No1, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DECIDE)] = { .text = gEasyChatWord_Decide, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LET_ME_WIN)] = { .text = gEasyChatWord_LetMeWin, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WINS)] = { .text = gEasyChatWord_Wins, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WIN)] = { .text = gEasyChatWord_Win, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WON)] = { .text = gEasyChatWord_Won, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IF_I_WIN)] = { .text = gEasyChatWord_IfIWin, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHEN_I_WIN)] = { .text = gEasyChatWord_WhenIWin, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CAN_T_WIN)] = { .text = gEasyChatWord_CantWin, .alphabeticalOrder = 56, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CAN_WIN)] = { .text = gEasyChatWord_CanWin, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NO_MATCH)] = { .text = gEasyChatWord_NoMatch, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SPIRIT)] = { .text = gEasyChatWord_Spirit, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DECIDED)] = { .text = gEasyChatWord_Decided, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRUMP_CARD)] = { .text = gEasyChatWord_TrumpCard, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TAKE_THAT)] = { .text = gEasyChatWord_TakeThat, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COME_ON)] = { .text = gEasyChatWord_ComeOn, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ATTACK)] = { .text = gEasyChatWord_Attack, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SURRENDER)] = { .text = gEasyChatWord_Surrender, .alphabeticalOrder = 50, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GUTSY)] = { .text = gEasyChatWord_Gutsy, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TALENT)] = { .text = gEasyChatWord_Talent, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STRATEGY)] = { .text = gEasyChatWord_Strategy, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SMITE)] = { .text = gEasyChatWord_Smite, .alphabeticalOrder = 54, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MATCH)] = { .text = gEasyChatWord_Match, .alphabeticalOrder = 60, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_VICTORY)] = { .text = gEasyChatWord_Victory, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OFFENSIVE)] = { .text = gEasyChatWord_Offensive, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SENSE)] = { .text = gEasyChatWord_Sense, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_VERSUS)] = { .text = gEasyChatWord_Versus, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FIGHTS)] = { .text = gEasyChatWord_Fights, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_POWER)] = { .text = gEasyChatWord_Power, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CHALLENGE)] = { .text = gEasyChatWord_Challenge, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STRONG)] = { .text = gEasyChatWord_Strong, .alphabeticalOrder = 62, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOO_STRONG)] = { .text = gEasyChatWord_TooStrong, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GO_EASY)] = { .text = gEasyChatWord_GoEasy, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FOE)] = { .text = gEasyChatWord_Foe, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GENIUS)] = { .text = gEasyChatWord_Genius, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LEGEND)] = { .text = gEasyChatWord_Legend, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ESCAPE)] = { .text = gEasyChatWord_Escape, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AIM)] = { .text = gEasyChatWord_Aim, .alphabeticalOrder = 59, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BATTLE)] = { .text = gEasyChatWord_Battle, .alphabeticalOrder = 55, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FIGHT)] = { .text = gEasyChatWord_Fight, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RESUSCITATE)] = { .text = gEasyChatWord_Resuscitate, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_POINTS)] = { .text = gEasyChatWord_Points, .alphabeticalOrder = 61, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SERIOUS)] = { .text = gEasyChatWord_Serious, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GIVE_UP)] = { .text = gEasyChatWord_GiveUp, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOSS)] = { .text = gEasyChatWord_Loss, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IF_I_LOSE)] = { .text = gEasyChatWord_IfILose, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOST)] = { .text = gEasyChatWord_Lost, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOSE)] = { .text = gEasyChatWord_Lose, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GUARD)] = { .text = gEasyChatWord_Guard, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PARTNER)] = { .text = gEasyChatWord_Partner, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_REJECT)] = { .text = gEasyChatWord_Reject, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ACCEPT)] = { .text = gEasyChatWord_Accept, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_INVINCIBLE)] = { .text = gEasyChatWord_Invincible, .alphabeticalOrder = 58, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RECEIVED)] = { .text = gEasyChatWord_Received, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EASY)] = { .text = gEasyChatWord_Easy, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WEAK)] = { .text = gEasyChatWord_Weak, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOO_WEAK)] = { .text = gEasyChatWord_TooWeak, .alphabeticalOrder = 57, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PUSHOVER)] = { .text = gEasyChatWord_Pushover, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LEADER)] = { .text = gEasyChatWord_Leader, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RULE)] = { .text = gEasyChatWord_Rule, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MOVE)] = { .text = gEasyChatWord_Move, .alphabeticalOrder = 7, diff --git a/src/data/easy_chat/easy_chat_group_conditions.h b/src/data/easy_chat/easy_chat_group_conditions.h index a8d8ee8740..d0636f1628 100755 --- a/src/data/easy_chat/easy_chat_group_conditions.h +++ b/src/data/easy_chat/easy_chat_group_conditions.h @@ -69,346 +69,415 @@ const u8 gEasyChatWord_Seems[] = _("SEEMS"); const u8 gEasyChatWord_Badly[] = _("BADLY"); const struct EasyChatWordInfo gEasyChatGroup_Conditions[] = { + [EC_INDEX(EC_WORD_HOT)] = { .text = gEasyChatWord_Hot, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EXISTS)] = { .text = gEasyChatWord_Exists, .alphabeticalOrder = 55, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EXCESS)] = { .text = gEasyChatWord_Excess, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_APPROVED)] = { .text = gEasyChatWord_Approved, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HAS)] = { .text = gEasyChatWord_Has, .alphabeticalOrder = 54, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GOOD)] = { .text = gEasyChatWord_Good, .alphabeticalOrder = 68, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LESS)] = { .text = gEasyChatWord_Less, .alphabeticalOrder = 50, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MOMENTUM)] = { .text = gEasyChatWord_Momentum, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GOING)] = { .text = gEasyChatWord_Going, .alphabeticalOrder = 60, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WEIRD)] = { .text = gEasyChatWord_Weird, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BUSY)] = { .text = gEasyChatWord_Busy, .alphabeticalOrder = 56, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOGETHER)] = { .text = gEasyChatWord_Together, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FULL)] = { .text = gEasyChatWord_Full, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ABSENT)] = { .text = gEasyChatWord_Absent, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BEING)] = { .text = gEasyChatWord_Being, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NEED)] = { .text = gEasyChatWord_Need, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TASTY)] = { .text = gEasyChatWord_Tasty, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SKILLED)] = { .text = gEasyChatWord_Skilled, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NOISY)] = { .text = gEasyChatWord_Noisy, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BIG)] = { .text = gEasyChatWord_Big, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LATE)] = { .text = gEasyChatWord_Late, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CLOSE)] = { .text = gEasyChatWord_Close, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DOCILE)] = { .text = gEasyChatWord_Docile, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AMUSING)] = { .text = gEasyChatWord_Amusing, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ENTERTAINING)] = { .text = gEasyChatWord_Entertaining, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PERFECTION)] = { .text = gEasyChatWord_Perfection, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PRETTY)] = { .text = gEasyChatWord_Pretty, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEALTHY)] = { .text = gEasyChatWord_Healthy, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EXCELLENT)] = { .text = gEasyChatWord_Excellent, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UPSIDE_DOWN)] = { .text = gEasyChatWord_UpsideDown, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COLD)] = { .text = gEasyChatWord_Cold, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_REFRESHING)] = { .text = gEasyChatWord_Refreshing, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UNAVOIDABLE)] = { .text = gEasyChatWord_Unavoidable, .alphabeticalOrder = 63, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MUCH)] = { .text = gEasyChatWord_Much, .alphabeticalOrder = 59, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OVERWHELMING)] = { .text = gEasyChatWord_Overwhelming, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FABULOUS)] = { .text = gEasyChatWord_Fabulous, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ELSE)] = { .text = gEasyChatWord_Else, .alphabeticalOrder = 61, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EXPENSIVE)] = { .text = gEasyChatWord_Expensive, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CORRECT)] = { .text = gEasyChatWord_Correct, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IMPOSSIBLE)] = { .text = gEasyChatWord_Impossible, .alphabeticalOrder = 62, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SMALL)] = { .text = gEasyChatWord_Small, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DIFFERENT)] = { .text = gEasyChatWord_Different, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TIRED)] = { .text = gEasyChatWord_Tired, .alphabeticalOrder = 58, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SKILL)] = { .text = gEasyChatWord_Skill, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOP)] = { .text = gEasyChatWord_Top, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NON_STOP)] = { .text = gEasyChatWord_NonStop, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PREPOSTEROUS)] = { .text = gEasyChatWord_Preposterous, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NONE)] = { .text = gEasyChatWord_None, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NOTHING)] = { .text = gEasyChatWord_Nothing, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NATURAL)] = { .text = gEasyChatWord_Natural, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BECOMES)] = { .text = gEasyChatWord_Becomes, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LUKEWARM)] = { .text = gEasyChatWord_Lukewarm, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FAST)] = { .text = gEasyChatWord_Fast, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOW)] = { .text = gEasyChatWord_Low, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AWFUL)] = { .text = gEasyChatWord_Awful, .alphabeticalOrder = 57, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALONE)] = { .text = gEasyChatWord_Alone, .alphabeticalOrder = 67, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BORED)] = { .text = gEasyChatWord_Bored, .alphabeticalOrder = 66, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SECRET)] = { .text = gEasyChatWord_Secret, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MYSTERY)] = { .text = gEasyChatWord_Mystery, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LACKS)] = { .text = gEasyChatWord_Lacks, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BEST)] = { .text = gEasyChatWord_Best, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOUSY)] = { .text = gEasyChatWord_Lousy, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MISTAKE)] = { .text = gEasyChatWord_Mistake, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_KIND)] = { .text = gEasyChatWord_Kind, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WELL)] = { .text = gEasyChatWord_Well, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WEAKENED)] = { .text = gEasyChatWord_Weakened, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SIMPLE)] = { .text = gEasyChatWord_Simple, .alphabeticalOrder = 65, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SEEMS)] = { .text = gEasyChatWord_Seems, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BADLY)] = { .text = gEasyChatWord_Badly, .alphabeticalOrder = 64, diff --git a/src/data/easy_chat/easy_chat_group_endings.h b/src/data/easy_chat/easy_chat_group_endings.h index afaea48cb1..ffa5108a91 100755 --- a/src/data/easy_chat/easy_chat_group_endings.h +++ b/src/data/easy_chat/easy_chat_group_endings.h @@ -69,346 +69,415 @@ const u8 gEasyChatWord_Once[] = _("ONCE"); const u8 gEasyChatWord_Anywhere[] = _("ANYWHERE"); const struct EasyChatWordInfo gEasyChatGroup_Endings[] = { + [EC_INDEX(EC_WORD_WILL)] = { .text = gEasyChatWord_Will, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WILL_BE_HERE)] = { .text = gEasyChatWord_WillBeHere, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OR)] = { .text = gEasyChatWord_Or, .alphabeticalOrder = 63, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TIMES)] = { .text = gEasyChatWord_Times, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WONDER)] = { .text = gEasyChatWord_Wonder, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IS_IT_QUES)] = { .text = gEasyChatWord_IsItQues, .alphabeticalOrder = 68, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BE)] = { .text = gEasyChatWord_Be, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GIMME)] = { .text = gEasyChatWord_Gimme, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COULD)] = { .text = gEasyChatWord_Could, .alphabeticalOrder = 54, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LIKELY_TO)] = { .text = gEasyChatWord_LikelyTo, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WOULD)] = { .text = gEasyChatWord_Would, .alphabeticalOrder = 64, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IS)] = { .text = gEasyChatWord_Is, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ISN_T_IT_QUES)] = { .text = gEasyChatWord_IsntItQues, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LET_S)] = { .text = gEasyChatWord_Lets, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OTHER)] = { .text = gEasyChatWord_Other, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ARE)] = { .text = gEasyChatWord_Are, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WAS)] = { .text = gEasyChatWord_Was, .alphabeticalOrder = 59, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WERE)] = { .text = gEasyChatWord_Were, .alphabeticalOrder = 60, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THOSE)] = { .text = gEasyChatWord_Those, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ISN_T)] = { .text = gEasyChatWord_Isnt, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WON_T)] = { .text = gEasyChatWord_Wont, .alphabeticalOrder = 61, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CAN_T)] = { .text = gEasyChatWord_Cant, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CAN)] = { .text = gEasyChatWord_Can, .alphabeticalOrder = 50, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DON_T)] = { .text = gEasyChatWord_Dont, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DO)] = { .text = gEasyChatWord_Do, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DOES)] = { .text = gEasyChatWord_Does, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHOM)] = { .text = gEasyChatWord_Whom, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHICH)] = { .text = gEasyChatWord_Which, .alphabeticalOrder = 55, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WASN_T)] = { .text = gEasyChatWord_Wasnt, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WEREN_T)] = { .text = gEasyChatWord_Werent, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HAVE)] = { .text = gEasyChatWord_Have, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HAVEN_T)] = { .text = gEasyChatWord_Havent, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_A)] = { .text = gEasyChatWord_A, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AN)] = { .text = gEasyChatWord_An, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NOT)] = { .text = gEasyChatWord_Not, .alphabeticalOrder = 58, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THERE)] = { .text = gEasyChatWord_There, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OK_QUES)] = { .text = gEasyChatWord_OkQues, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SO)] = { .text = gEasyChatWord_So, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MAYBE)] = { .text = gEasyChatWord_Maybe, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ABOUT)] = { .text = gEasyChatWord_About, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OVER)] = { .text = gEasyChatWord_Over, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IT)] = { .text = gEasyChatWord_It, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALL)] = { .text = gEasyChatWord_All, .alphabeticalOrder = 67, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FOR)] = { .text = gEasyChatWord_For, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ON)] = { .text = gEasyChatWord_On, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OFF)] = { .text = gEasyChatWord_Off, .alphabeticalOrder = 56, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AS)] = { .text = gEasyChatWord_As, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TO)] = { .text = gEasyChatWord_To, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WITH)] = { .text = gEasyChatWord_With, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BETTER)] = { .text = gEasyChatWord_Better, .alphabeticalOrder = 66, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EVER)] = { .text = gEasyChatWord_Ever, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SINCE)] = { .text = gEasyChatWord_Since, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OF)] = { .text = gEasyChatWord_Of, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BELONGS_TO)] = { .text = gEasyChatWord_BelongsTo, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AT)] = { .text = gEasyChatWord_At, .alphabeticalOrder = 57, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IN)] = { .text = gEasyChatWord_In, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OUT)] = { .text = gEasyChatWord_Out, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOO)] = { .text = gEasyChatWord_Too, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LIKE)] = { .text = gEasyChatWord_Like, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DID)] = { .text = gEasyChatWord_Did, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DIDN_T)] = { .text = gEasyChatWord_Didnt, .alphabeticalOrder = 65, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DOESN_T)] = { .text = gEasyChatWord_Doesnt, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WITHOUT)] = { .text = gEasyChatWord_Without, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AFTER)] = { .text = gEasyChatWord_After, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BEFORE)] = { .text = gEasyChatWord_Before, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHILE)] = { .text = gEasyChatWord_While, .alphabeticalOrder = 62, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THAN)] = { .text = gEasyChatWord_Than, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ONCE)] = { .text = gEasyChatWord_Once, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ANYWHERE)] = { .text = gEasyChatWord_Anywhere, .alphabeticalOrder = 10, diff --git a/src/data/easy_chat/easy_chat_group_events.h b/src/data/easy_chat/easy_chat_group_events.h index 8d9cf7e24c..0fbbcc4a78 100755 --- a/src/data/easy_chat/easy_chat_group_events.h +++ b/src/data/easy_chat/easy_chat_group_events.h @@ -29,146 +29,175 @@ const u8 gEasyChatWord_Wireless[] = _("WIRELESS"); const u8 gEasyChatWord_Frontier[] = _("FRONTIER"); const struct EasyChatWordInfo gEasyChatGroup_Events[] = { + [EC_INDEX(EC_WORD_APPEAL)] = { .text = gEasyChatWord_Appeal, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EVENTS)] = { .text = gEasyChatWord_Events, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STAY_AT_HOME)] = { .text = gEasyChatWord_StayAtHome, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BERRY)] = { .text = gEasyChatWord_Berry, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CONTEST)] = { .text = gEasyChatWord_Contest, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MC)] = { .text = gEasyChatWord_Mc, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_JUDGE)] = { .text = gEasyChatWord_Judge, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SUPER)] = { .text = gEasyChatWord_Super, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STAGE)] = { .text = gEasyChatWord_Stage, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HALL_OF_FAME)] = { .text = gEasyChatWord_HallOfFame, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EVOLUTION)] = { .text = gEasyChatWord_Evolution, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HYPER)] = { .text = gEasyChatWord_Hyper, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BATTLE_TOWER)] = { .text = gEasyChatWord_BattleTower, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LEADERS)] = { .text = gEasyChatWord_Leaders, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BATTLE_ROOM)] = { .text = gEasyChatWord_BattleRoom, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HIDDEN)] = { .text = gEasyChatWord_Hidden, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SECRET_BASE)] = { .text = gEasyChatWord_SecretBase, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BLEND)] = { .text = gEasyChatWord_Blend, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_POKEBLOCK)] = { .text = gEasyChatWord_POKEBLOCK, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MASTER)] = { .text = gEasyChatWord_Master, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RANK)] = { .text = gEasyChatWord_Rank, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RIBBON)] = { .text = gEasyChatWord_Ribbon, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CRUSH)] = { .text = gEasyChatWord_Crush, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DIRECT)] = { .text = gEasyChatWord_Direct, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOWER)] = { .text = gEasyChatWord_Tower, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UNION)] = { .text = gEasyChatWord_Union, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ROOM)] = { .text = gEasyChatWord_Room, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WIRELESS)] = { .text = gEasyChatWord_Wireless, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FRONTIER)] = { .text = gEasyChatWord_Frontier, .alphabeticalOrder = 27, diff --git a/src/data/easy_chat/easy_chat_group_feelings.h b/src/data/easy_chat/easy_chat_group_feelings.h index 2dda718081..55fe9d00c5 100755 --- a/src/data/easy_chat/easy_chat_group_feelings.h +++ b/src/data/easy_chat/easy_chat_group_feelings.h @@ -69,346 +69,415 @@ const u8 gEasyChatWord_Understand[] = _("UNDERSTAND"); const u8 gEasyChatWord_Understands[] = _("UNDERSTANDS"); const struct EasyChatWordInfo gEasyChatGroup_Feelings[] = { + [EC_INDEX(EC_WORD_MEET)] = { .text = gEasyChatWord_Meet, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PLAY)] = { .text = gEasyChatWord_Play, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HURRIED)] = { .text = gEasyChatWord_Hurried, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GOES)] = { .text = gEasyChatWord_Goes, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GIDDY)] = { .text = gEasyChatWord_Giddy, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HAPPY)] = { .text = gEasyChatWord_Happy, .alphabeticalOrder = 63, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HAPPINESS)] = { .text = gEasyChatWord_Happiness, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EXCITE)] = { .text = gEasyChatWord_Excite, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IMPORTANT)] = { .text = gEasyChatWord_Important, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FUNNY)] = { .text = gEasyChatWord_Funny, .alphabeticalOrder = 61, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GOT)] = { .text = gEasyChatWord_Got, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GO_HOME)] = { .text = gEasyChatWord_GoHome, .alphabeticalOrder = 62, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DISAPPOINTED)] = { .text = gEasyChatWord_Disappointed, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DISAPPOINTS)] = { .text = gEasyChatWord_Disappoints, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SAD)] = { .text = gEasyChatWord_Sad, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRY)] = { .text = gEasyChatWord_Try, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRIES)] = { .text = gEasyChatWord_Tries, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEARS)] = { .text = gEasyChatWord_Hears, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THINK)] = { .text = gEasyChatWord_Think, .alphabeticalOrder = 60, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEAR)] = { .text = gEasyChatWord_Hear, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WANTS)] = { .text = gEasyChatWord_Wants, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MISHEARD)] = { .text = gEasyChatWord_Misheard, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DISLIKE)] = { .text = gEasyChatWord_Dislike, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ANGRY)] = { .text = gEasyChatWord_Angry, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ANGER)] = { .text = gEasyChatWord_Anger, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SCARY)] = { .text = gEasyChatWord_Scary, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LONESOME)] = { .text = gEasyChatWord_Lonesome, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DISAPPOINT)] = { .text = gEasyChatWord_Disappoint, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_JOY)] = { .text = gEasyChatWord_Joy, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GETS)] = { .text = gEasyChatWord_Gets, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NEVER)] = { .text = gEasyChatWord_Never, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DARN)] = { .text = gEasyChatWord_Darn, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DOWNCAST)] = { .text = gEasyChatWord_Downcast, .alphabeticalOrder = 64, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_INCREDIBLE)] = { .text = gEasyChatWord_Incredible, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LIKES)] = { .text = gEasyChatWord_Likes, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DISLIKES)] = { .text = gEasyChatWord_Dislikes, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BORING)] = { .text = gEasyChatWord_Boring, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CARE)] = { .text = gEasyChatWord_Care, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CARES)] = { .text = gEasyChatWord_Cares, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALL_RIGHT)] = { .text = gEasyChatWord_AllRight, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ADORE)] = { .text = gEasyChatWord_Adore, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DISASTER)] = { .text = gEasyChatWord_Disaster, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ENJOY)] = { .text = gEasyChatWord_Enjoy, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ENJOYS)] = { .text = gEasyChatWord_Enjoys, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EAT)] = { .text = gEasyChatWord_Eat, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LACKING)] = { .text = gEasyChatWord_Lacking, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BAD)] = { .text = gEasyChatWord_Bad, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HARD)] = { .text = gEasyChatWord_Hard, .alphabeticalOrder = 59, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TERRIBLE)] = { .text = gEasyChatWord_Terrible, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHOULD)] = { .text = gEasyChatWord_Should, .alphabeticalOrder = 50, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NICE)] = { .text = gEasyChatWord_Nice, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DRINK)] = { .text = gEasyChatWord_Drink, .alphabeticalOrder = 66, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SURPRISE)] = { .text = gEasyChatWord_Surprise, .alphabeticalOrder = 58, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FEAR)] = { .text = gEasyChatWord_Fear, .alphabeticalOrder = 65, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WANT)] = { .text = gEasyChatWord_Want, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WAIT)] = { .text = gEasyChatWord_Wait, .alphabeticalOrder = 56, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SATISFIED)] = { .text = gEasyChatWord_Satisfied, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SEE)] = { .text = gEasyChatWord_See, .alphabeticalOrder = 57, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RARE)] = { .text = gEasyChatWord_Rare, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NEGATIVE)] = { .text = gEasyChatWord_Negative, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DONE)] = { .text = gEasyChatWord_Done, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DANGER)] = { .text = gEasyChatWord_Danger, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DEFEATED)] = { .text = gEasyChatWord_Defeated, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BEAT)] = { .text = gEasyChatWord_Beat, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GREAT)] = { .text = gEasyChatWord_Great, .alphabeticalOrder = 67, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ROMANTIC)] = { .text = gEasyChatWord_Romantic, .alphabeticalOrder = 68, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_QUESTION)] = { .text = gEasyChatWord_Question, .alphabeticalOrder = 55, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UNDERSTAND)] = { .text = gEasyChatWord_Understand, .alphabeticalOrder = 54, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UNDERSTANDS)] = { .text = gEasyChatWord_Understands, .alphabeticalOrder = 20, diff --git a/src/data/easy_chat/easy_chat_group_greetings.h b/src/data/easy_chat/easy_chat_group_greetings.h index 4df08bf7dc..fb95f7939d 100755 --- a/src/data/easy_chat/easy_chat_group_greetings.h +++ b/src/data/easy_chat/easy_chat_group_greetings.h @@ -42,211 +42,253 @@ const u8 gEasyChatWord_ComeOver[] = _("COME OVER"); const u8 gEasyChatWord_CountOn[] = _("COUNT ON"); const struct EasyChatWordInfo gEasyChatGroup_Greetings[] = { + [EC_INDEX(EC_WORD_THANKS)] = { .text = gEasyChatWord_Thanks, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YES)] = { .text = gEasyChatWord_Yes, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HERE_GOES)] = { .text = gEasyChatWord_HereGoes, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HERE_I_COME)] = { .text = gEasyChatWord_HereICome, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HERE_IT_IS)] = { .text = gEasyChatWord_HereItIs, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YEAH)] = { .text = gEasyChatWord_Yeah, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WELCOME)] = { .text = gEasyChatWord_Welcome, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OI)] = { .text = gEasyChatWord_Oi, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HOW_DO)] = { .text = gEasyChatWord_HowDo, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CONGRATS)] = { .text = gEasyChatWord_Congrats, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GIVE_ME)] = { .text = gEasyChatWord_GiveMe, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SORRY)] = { .text = gEasyChatWord_Sorry, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_APOLOGIZE)] = { .text = gEasyChatWord_Apologize, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FORGIVE)] = { .text = gEasyChatWord_Forgive, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEY_THERE)] = { .text = gEasyChatWord_HeyThere, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HELLO)] = { .text = gEasyChatWord_Hello, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GOOD_BYE)] = { .text = gEasyChatWord_GoodBye, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THANK_YOU)] = { .text = gEasyChatWord_ThankYou, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_I_VE_ARRIVED)] = { .text = gEasyChatWord_IveArrived, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PARDON)] = { .text = gEasyChatWord_Pardon, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EXCUSE)] = { .text = gEasyChatWord_Excuse, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SEE_YA)] = { .text = gEasyChatWord_SeeYa, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EXCUSE_ME)] = { .text = gEasyChatWord_ExcuseMe, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WELL_THEN)] = { .text = gEasyChatWord_WellThen, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GO_AHEAD)] = { .text = gEasyChatWord_GoAhead, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_APPRECIATE)] = { .text = gEasyChatWord_Appreciate, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEY_QUES)] = { .text = gEasyChatWord_HeyQues, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHAT_S_UP_QUES)] = { .text = gEasyChatWord_WhatsUpQues, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HUH_QUES)] = { .text = gEasyChatWord_HuhQues, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NO)] = { .text = gEasyChatWord_No, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HI)] = { .text = gEasyChatWord_Hi, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YEAH_YEAH)] = { .text = gEasyChatWord_YeahYeah, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BYE_BYE)] = { .text = gEasyChatWord_ByeBye, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MEET_YOU)] = { .text = gEasyChatWord_MeetYou, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEY)] = { .text = gEasyChatWord_Hey, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SMELL)] = { .text = gEasyChatWord_Smell, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LISTENING)] = { .text = gEasyChatWord_Listening, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HOO_HAH)] = { .text = gEasyChatWord_HooHah, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YAHOO)] = { .text = gEasyChatWord_Yahoo, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YO)] = { .text = gEasyChatWord_Yo, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COME_OVER)] = { .text = gEasyChatWord_ComeOver, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COUNT_ON)] = { .text = gEasyChatWord_CountOn, .alphabeticalOrder = 39, diff --git a/src/data/easy_chat/easy_chat_group_hobbies.h b/src/data/easy_chat/easy_chat_group_hobbies.h index fcd73d0174..dd507e21b9 100755 --- a/src/data/easy_chat/easy_chat_group_hobbies.h +++ b/src/data/easy_chat/easy_chat_group_hobbies.h @@ -54,271 +54,325 @@ const u8 gEasyChatWord_Vacation[] = _("VACATION"); const u8 gEasyChatWord_Look[] = _("LOOK"); const struct EasyChatWordInfo gEasyChatGroup_Hobbies[] = { + [EC_INDEX(EC_WORD_IDOL)] = { .text = gEasyChatWord_Idol, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ANIME)] = { .text = gEasyChatWord_Anime, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SONG)] = { .text = gEasyChatWord_Song, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MOVIE)] = { .text = gEasyChatWord_Movie, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SWEETS)] = { .text = gEasyChatWord_Sweets, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CHAT)] = { .text = gEasyChatWord_Chat, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CHILD_S_PLAY)] = { .text = gEasyChatWord_ChildsPlay, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOYS)] = { .text = gEasyChatWord_Toys, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MUSIC)] = { .text = gEasyChatWord_Music, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CARDS)] = { .text = gEasyChatWord_Cards, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHOPPING)] = { .text = gEasyChatWord_Shopping, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CAMERA)] = { .text = gEasyChatWord_Camera, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_VIEWING)] = { .text = gEasyChatWord_Viewing, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SPECTATOR)] = { .text = gEasyChatWord_Spectator, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GOURMET)] = { .text = gEasyChatWord_Gourmet, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GAME)] = { .text = gEasyChatWord_Game, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RPG)] = { .text = gEasyChatWord_Rpg, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COLLECTION)] = { .text = gEasyChatWord_Collection, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COMPLETE)] = { .text = gEasyChatWord_Complete, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MAGAZINE)] = { .text = gEasyChatWord_Magazine, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WALK)] = { .text = gEasyChatWord_Walk, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BIKE)] = { .text = gEasyChatWord_Bike, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HOBBY)] = { .text = gEasyChatWord_Hobby, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SPORTS)] = { .text = gEasyChatWord_Sports, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SOFTWARE)] = { .text = gEasyChatWord_Software, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SONGS)] = { .text = gEasyChatWord_Songs, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DIET)] = { .text = gEasyChatWord_Diet, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TREASURE)] = { .text = gEasyChatWord_Treasure, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRAVEL)] = { .text = gEasyChatWord_Travel, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DANCE)] = { .text = gEasyChatWord_Dance, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CHANNEL)] = { .text = gEasyChatWord_Channel, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MAKING)] = { .text = gEasyChatWord_Making, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FISHING)] = { .text = gEasyChatWord_Fishing, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DATE)] = { .text = gEasyChatWord_Date, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DESIGN)] = { .text = gEasyChatWord_Design, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOCOMOTIVE)] = { .text = gEasyChatWord_Locomotive, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PLUSH_DOLL)] = { .text = gEasyChatWord_PlushDoll, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PC)] = { .text = gEasyChatWord_Pc, .alphabeticalOrder = 50, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FLOWERS)] = { .text = gEasyChatWord_Flowers, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HERO)] = { .text = gEasyChatWord_Hero, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NAP)] = { .text = gEasyChatWord_Nap, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEROINE)] = { .text = gEasyChatWord_Heroine, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FASHION)] = { .text = gEasyChatWord_Fashion, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ADVENTURE)] = { .text = gEasyChatWord_Adventure, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BOARD)] = { .text = gEasyChatWord_Board, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BALL)] = { .text = gEasyChatWord_Ball, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BOOK)] = { .text = gEasyChatWord_Book, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FESTIVAL)] = { .text = gEasyChatWord_Festival, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COMICS)] = { .text = gEasyChatWord_Comics, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HOLIDAY)] = { .text = gEasyChatWord_Holiday, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PLANS)] = { .text = gEasyChatWord_Plans, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRENDY)] = { .text = gEasyChatWord_Trendy, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_VACATION)] = { .text = gEasyChatWord_Vacation, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOOK)] = { .text = gEasyChatWord_Look, .alphabeticalOrder = 20, diff --git a/src/data/easy_chat/easy_chat_group_lifestyle.h b/src/data/easy_chat/easy_chat_group_lifestyle.h index 9ed60025d2..5819d0f2e4 100755 --- a/src/data/easy_chat/easy_chat_group_lifestyle.h +++ b/src/data/easy_chat/easy_chat_group_lifestyle.h @@ -45,226 +45,271 @@ const u8 gEasyChatWord_Rental[] = _("RENTAL"); const u8 gEasyChatWord_World[] = _("WORLD"); const struct EasyChatWordInfo gEasyChatGroup_Lifestyle[] = { + [EC_INDEX(EC_WORD_CHORES)] = { .text = gEasyChatWord_Chores, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HOME)] = { .text = gEasyChatWord_Home, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MONEY)] = { .text = gEasyChatWord_Money, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALLOWANCE)] = { .text = gEasyChatWord_Allowance, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BATH)] = { .text = gEasyChatWord_Bath, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CONVERSATION)] = { .text = gEasyChatWord_Conversation, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SCHOOL)] = { .text = gEasyChatWord_School, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COMMEMORATE)] = { .text = gEasyChatWord_Commemorate, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HABIT)] = { .text = gEasyChatWord_Habit, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GROUP)] = { .text = gEasyChatWord_Group, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WORD)] = { .text = gEasyChatWord_Word, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STORE)] = { .text = gEasyChatWord_Store, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SERVICE)] = { .text = gEasyChatWord_Service, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WORK)] = { .text = gEasyChatWord_Work, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SYSTEM)] = { .text = gEasyChatWord_System, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRAIN)] = { .text = gEasyChatWord_Train, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CLASS)] = { .text = gEasyChatWord_Class, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LESSONS)] = { .text = gEasyChatWord_Lessons, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_INFORMATION)] = { .text = gEasyChatWord_Information, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LIVING)] = { .text = gEasyChatWord_Living, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TEACHER)] = { .text = gEasyChatWord_Teacher, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOURNAMENT)] = { .text = gEasyChatWord_Tournament, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LETTER)] = { .text = gEasyChatWord_Letter, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EVENT)] = { .text = gEasyChatWord_Event, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DIGITAL)] = { .text = gEasyChatWord_Digital, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TEST)] = { .text = gEasyChatWord_Test, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DEPT_STORE)] = { .text = gEasyChatWord_DeptStore, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TELEVISION)] = { .text = gEasyChatWord_Television, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PHONE)] = { .text = gEasyChatWord_Phone, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ITEM)] = { .text = gEasyChatWord_Item, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NAME)] = { .text = gEasyChatWord_Name, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NEWS)] = { .text = gEasyChatWord_News, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_POPULAR)] = { .text = gEasyChatWord_Popular, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PARTY)] = { .text = gEasyChatWord_Party, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STUDY)] = { .text = gEasyChatWord_Study, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MACHINE)] = { .text = gEasyChatWord_Machine, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MAIL)] = { .text = gEasyChatWord_Mail, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MESSAGE)] = { .text = gEasyChatWord_Message, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PROMISE)] = { .text = gEasyChatWord_Promise, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DREAM)] = { .text = gEasyChatWord_Dream, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_KINDERGARTEN)] = { .text = gEasyChatWord_Kindergarten, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LIFE)] = { .text = gEasyChatWord_Life, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RADIO)] = { .text = gEasyChatWord_Radio, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RENTAL)] = { .text = gEasyChatWord_Rental, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WORLD)] = { .text = gEasyChatWord_World, .alphabeticalOrder = 44, diff --git a/src/data/easy_chat/easy_chat_group_misc.h b/src/data/easy_chat/easy_chat_group_misc.h index fbc9a70698..aa8f84406d 100755 --- a/src/data/easy_chat/easy_chat_group_misc.h +++ b/src/data/easy_chat/easy_chat_group_misc.h @@ -42,211 +42,253 @@ const u8 gEasyChatWord_Left[] = _("LEFT"); const u8 gEasyChatWord_Right[] = _("RIGHT"); const struct EasyChatWordInfo gEasyChatGroup_Misc[] = { + [EC_INDEX(EC_WORD_HIGHS)] = { .text = gEasyChatWord_Highs, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOWS)] = { .text = gEasyChatWord_Lows, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UM)] = { .text = gEasyChatWord_Um, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_REAR)] = { .text = gEasyChatWord_Rear, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THINGS)] = { .text = gEasyChatWord_Things, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THING)] = { .text = gEasyChatWord_Thing, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BELOW)] = { .text = gEasyChatWord_Below, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ABOVE)] = { .text = gEasyChatWord_Above, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BACK)] = { .text = gEasyChatWord_Back, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HIGH)] = { .text = gEasyChatWord_High, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HERE)] = { .text = gEasyChatWord_Here, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_INSIDE)] = { .text = gEasyChatWord_Inside, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OUTSIDE)] = { .text = gEasyChatWord_Outside, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BESIDE)] = { .text = gEasyChatWord_Beside, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THIS_IS_IT_EXCL)] = { .text = gEasyChatWord_ThisIsItExcl, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THIS)] = { .text = gEasyChatWord_This, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EVERY)] = { .text = gEasyChatWord_Every, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THESE)] = { .text = gEasyChatWord_These, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THESE_WERE)] = { .text = gEasyChatWord_TheseWere, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DOWN)] = { .text = gEasyChatWord_Down, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THAT)] = { .text = gEasyChatWord_That, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THOSE_ARE)] = { .text = gEasyChatWord_ThoseAre, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THOSE_WERE)] = { .text = gEasyChatWord_ThoseWere, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THAT_S_IT_EXCL)] = { .text = gEasyChatWord_ThatsItExcl, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AM)] = { .text = gEasyChatWord_Am, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THAT_WAS)] = { .text = gEasyChatWord_ThatWas, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FRONT)] = { .text = gEasyChatWord_Front, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UP)] = { .text = gEasyChatWord_Up, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CHOICE)] = { .text = gEasyChatWord_Choice, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FAR)] = { .text = gEasyChatWord_Far, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AWAY)] = { .text = gEasyChatWord_Away, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NEAR)] = { .text = gEasyChatWord_Near, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHERE)] = { .text = gEasyChatWord_Where, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHEN)] = { .text = gEasyChatWord_When, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHAT)] = { .text = gEasyChatWord_What, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DEEP)] = { .text = gEasyChatWord_Deep, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHALLOW)] = { .text = gEasyChatWord_Shallow, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHY)] = { .text = gEasyChatWord_Why, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CONFUSED)] = { .text = gEasyChatWord_Confused, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OPPOSITE)] = { .text = gEasyChatWord_Opposite, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LEFT)] = { .text = gEasyChatWord_Left, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RIGHT)] = { .text = gEasyChatWord_Right, .alphabeticalOrder = 37, diff --git a/src/data/easy_chat/easy_chat_group_people.h b/src/data/easy_chat/easy_chat_group_people.h index 17d2d53393..2ddd3c9d9c 100755 --- a/src/data/easy_chat/easy_chat_group_people.h +++ b/src/data/easy_chat/easy_chat_group_people.h @@ -63,7 +63,7 @@ const u8 gEasyChatWord_We[] = _("WE"); const u8 gEasyChatWord_Been[] = _("BEEN"); const u8 gEasyChatWord_ToUs[] = _("TO US"); const u8 gEasyChatWord_Our[] = _("OUR"); -const u8 gEasyChatWord_WeAre[] = _("WE'RE"); +const u8 gEasyChatWord_WeRe[] = _("WE'RE"); const u8 gEasyChatWord_Rival[] = _("RIVAL"); const u8 gEasyChatWord_Weve[] = _("WE'VE"); const u8 gEasyChatWord_Woman[] = _("WOMAN"); @@ -75,376 +75,451 @@ const u8 gEasyChatWord_SheIs[] = _("SHE IS"); const u8 gEasyChatWord_Some[] = _("SOME"); const struct EasyChatWordInfo gEasyChatGroup_People[] = { + [EC_INDEX(EC_WORD_OPPONENT)] = { .text = gEasyChatWord_Opponent, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_I)] = { .text = gEasyChatWord_I, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YOU)] = { .text = gEasyChatWord_You, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YOURS)] = { .text = gEasyChatWord_Yours, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SON)] = { .text = gEasyChatWord_Son, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YOUR)] = { .text = gEasyChatWord_Your, .alphabeticalOrder = 62, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YOU_RE)] = { .text = gEasyChatWord_Youre, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YOU_VE)] = { .text = gEasyChatWord_Youve, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MOTHER)] = { .text = gEasyChatWord_Mother, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GRANDFATHER)] = { .text = gEasyChatWord_Grandfather, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UNCLE)] = { .text = gEasyChatWord_Uncle, .alphabeticalOrder = 54, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FATHER)] = { .text = gEasyChatWord_Father, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BOY)] = { .text = gEasyChatWord_Boy, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ADULT)] = { .text = gEasyChatWord_Adult, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BROTHER)] = { .text = gEasyChatWord_Brother, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SISTER)] = { .text = gEasyChatWord_Sister, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GRANDMOTHER)] = { .text = gEasyChatWord_Grandmother, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AUNT)] = { .text = gEasyChatWord_Aunt, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PARENT)] = { .text = gEasyChatWord_Parent, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MAN)] = { .text = gEasyChatWord_Man, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ME)] = { .text = gEasyChatWord_Me, .alphabeticalOrder = 72, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GIRL)] = { .text = gEasyChatWord_Girl, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BABE)] = { .text = gEasyChatWord_Babe, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FAMILY)] = { .text = gEasyChatWord_Family, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HER)] = { .text = gEasyChatWord_Her, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HIM)] = { .text = gEasyChatWord_Him, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HE)] = { .text = gEasyChatWord_He, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PLACE)] = { .text = gEasyChatWord_Place, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DAUGHTER)] = { .text = gEasyChatWord_Daughter, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HIS)] = { .text = gEasyChatWord_His, .alphabeticalOrder = 50, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HE_S)] = { .text = gEasyChatWord_Hes, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AREN_T)] = { .text = gEasyChatWord_Arent, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SIBLINGS)] = { .text = gEasyChatWord_Siblings, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_KID)] = { .text = gEasyChatWord_Kid, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CHILDREN)] = { .text = gEasyChatWord_Children, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MR)] = { .text = gEasyChatWord_Mr, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MRS)] = { .text = gEasyChatWord_Mrs, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MYSELF)] = { .text = gEasyChatWord_Myself, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_I_WAS)] = { .text = gEasyChatWord_IWas, .alphabeticalOrder = 64, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TO_ME)] = { .text = gEasyChatWord_ToMe, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MY)] = { .text = gEasyChatWord_My, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_I_AM)] = { .text = gEasyChatWord_IAm, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_I_VE)] = { .text = gEasyChatWord_Ive, .alphabeticalOrder = 66, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHO)] = { .text = gEasyChatWord_Who, .alphabeticalOrder = 69, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SOMEONE)] = { .text = gEasyChatWord_Someone, .alphabeticalOrder = 73, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHO_WAS)] = { .text = gEasyChatWord_WhoWas, .alphabeticalOrder = 70, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TO_WHOM)] = { .text = gEasyChatWord_ToWhom, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHOSE)] = { .text = gEasyChatWord_Whose, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHO_IS)] = { .text = gEasyChatWord_WhoIs, .alphabeticalOrder = 74, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IT_S)] = { .text = gEasyChatWord_Its, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LADY)] = { .text = gEasyChatWord_Lady, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FRIEND)] = { .text = gEasyChatWord_Friend, .alphabeticalOrder = 58, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALLY)] = { .text = gEasyChatWord_Ally, .alphabeticalOrder = 55, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PERSON)] = { .text = gEasyChatWord_Person, .alphabeticalOrder = 56, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DUDE)] = { .text = gEasyChatWord_Dude, .alphabeticalOrder = 59, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THEY)] = { .text = gEasyChatWord_They, .alphabeticalOrder = 60, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THEY_WERE)] = { .text = gEasyChatWord_TheyWere, .alphabeticalOrder = 71, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TO_THEM)] = { .text = gEasyChatWord_ToThem, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THEIR)] = { .text = gEasyChatWord_Their, .alphabeticalOrder = 57, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THEY_RE)] = { .text = gEasyChatWord_Theyre, .alphabeticalOrder = 63, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THEY_VE)] = { .text = gEasyChatWord_Theyve, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WE)] = { .text = gEasyChatWord_We, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BEEN)] = { .text = gEasyChatWord_Been, .alphabeticalOrder = 61, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TO_US)] = { .text = gEasyChatWord_ToUs, .alphabeticalOrder = 65, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OUR)] = { .text = gEasyChatWord_Our, .alphabeticalOrder = 67, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WE_RE)] = { - .text = gEasyChatWord_WeAre, + .text = gEasyChatWord_WeRe, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RIVAL)] = { .text = gEasyChatWord_Rival, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WE_VE)] = { .text = gEasyChatWord_Weve, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WOMAN)] = { .text = gEasyChatWord_Woman, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHE)] = { .text = gEasyChatWord_She, .alphabeticalOrder = 68, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHE_WAS)] = { .text = gEasyChatWord_SheWas, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TO_HER)] = { .text = gEasyChatWord_ToHer, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HERS)] = { .text = gEasyChatWord_Hers, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHE_IS)] = { .text = gEasyChatWord_SheIs, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SOME)] = { .text = gEasyChatWord_Some, .alphabeticalOrder = 3, diff --git a/src/data/easy_chat/easy_chat_group_speech.h b/src/data/easy_chat/easy_chat_group_speech.h index 013b454c0b..a0874a33a5 100755 --- a/src/data/easy_chat/easy_chat_group_speech.h +++ b/src/data/easy_chat/easy_chat_group_speech.h @@ -60,301 +60,361 @@ const u8 gEasyChatWord_Instead[] = _("INSTEAD"); const u8 gEasyChatWord_Fantastic[] = _("FANTASTIC"); const struct EasyChatWordInfo gEasyChatGroup_Speech[] = { + [EC_INDEX(EC_WORD_LISTEN)] = { .text = gEasyChatWord_Listen, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NOT_VERY)] = { .text = gEasyChatWord_NotVery, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MEAN)] = { .text = gEasyChatWord_Mean, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LIE)] = { .text = gEasyChatWord_Lie, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LAY)] = { .text = gEasyChatWord_Lay, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RECOMMEND)] = { .text = gEasyChatWord_Recommend, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NITWIT)] = { .text = gEasyChatWord_Nitwit, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_QUITE)] = { .text = gEasyChatWord_Quite, .alphabeticalOrder = 57, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FROM)] = { .text = gEasyChatWord_From, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FEELING)] = { .text = gEasyChatWord_Feeling, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BUT)] = { .text = gEasyChatWord_But, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HOWEVER)] = { .text = gEasyChatWord_However, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CASE)] = { .text = gEasyChatWord_Case, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THE)] = { .text = gEasyChatWord_The, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MISS)] = { .text = gEasyChatWord_Miss, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HOW)] = { .text = gEasyChatWord_How, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HIT)] = { .text = gEasyChatWord_Hit, .alphabeticalOrder = 59, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ENOUGH)] = { .text = gEasyChatWord_Enough, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_A_LOT)] = { .text = gEasyChatWord_ALot, .alphabeticalOrder = 56, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_A_LITTLE)] = { .text = gEasyChatWord_ALittle, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ABSOLUTELY)] = { .text = gEasyChatWord_Absolutely, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AND)] = { .text = gEasyChatWord_And, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ONLY)] = { .text = gEasyChatWord_Only, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AROUND)] = { .text = gEasyChatWord_Around, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PROBABLY)] = { .text = gEasyChatWord_Probably, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IF)] = { .text = gEasyChatWord_If, .alphabeticalOrder = 58, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_VERY)] = { .text = gEasyChatWord_Very, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_A_TINY_BIT)] = { .text = gEasyChatWord_ATinyBit, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WILD)] = { .text = gEasyChatWord_Wild, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THAT_S)] = { .text = gEasyChatWord_Thats, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_JUST)] = { .text = gEasyChatWord_Just, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EVEN_SO)] = { .text = gEasyChatWord_EvenSo, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MUST_BE)] = { .text = gEasyChatWord_MustBe, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NATURALLY)] = { .text = gEasyChatWord_Naturally, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FOR_NOW)] = { .text = gEasyChatWord_ForNow, .alphabeticalOrder = 50, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UNDERSTOOD)] = { .text = gEasyChatWord_Understood, .alphabeticalOrder = 54, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_JOKING)] = { .text = gEasyChatWord_Joking, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_READY)] = { .text = gEasyChatWord_Ready, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SOMETHING)] = { .text = gEasyChatWord_Something, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SOMEHOW)] = { .text = gEasyChatWord_Somehow, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALTHOUGH)] = { .text = gEasyChatWord_Although, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALSO)] = { .text = gEasyChatWord_Also, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PERFECT)] = { .text = gEasyChatWord_Perfect, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AS_MUCH_AS)] = { .text = gEasyChatWord_AsMuchAs, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_REALLY)] = { .text = gEasyChatWord_Really, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRULY)] = { .text = gEasyChatWord_Truly, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SERIOUSLY)] = { .text = gEasyChatWord_Seriously, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOTALLY)] = { .text = gEasyChatWord_Totally, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UNTIL)] = { .text = gEasyChatWord_Until, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AS_IF)] = { .text = gEasyChatWord_AsIf, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MOOD)] = { .text = gEasyChatWord_Mood, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RATHER)] = { .text = gEasyChatWord_Rather, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AWFULLY)] = { .text = gEasyChatWord_Awfully, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MODE)] = { .text = gEasyChatWord_Mode, .alphabeticalOrder = 55, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MORE)] = { .text = gEasyChatWord_More, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOO_LATE)] = { .text = gEasyChatWord_TooLate, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FINALLY)] = { .text = gEasyChatWord_Finally, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ANY)] = { .text = gEasyChatWord_Any, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_INSTEAD)] = { .text = gEasyChatWord_Instead, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FANTASTIC)] = { .text = gEasyChatWord_Fantastic, .alphabeticalOrder = 28, diff --git a/src/data/easy_chat/easy_chat_group_status.h b/src/data/easy_chat/easy_chat_group_status.h index d4958c3ad7..af2292b446 100755 --- a/src/data/easy_chat/easy_chat_group_status.h +++ b/src/data/easy_chat/easy_chat_group_status.h @@ -109,546 +109,655 @@ const u8 gEasyChatWord_PurePower[] = _("PURE POWER"); const u8 gEasyChatWord_ShieldDust[] = _("SHIELD DUST"); const struct EasyChatWordInfo gEasyChatGroup_Status[] = { + [EC_INDEX(EC_WORD_DARK)] = { .text = gEasyChatWord_Dark, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STENCH)] = { .text = gEasyChatWord_Stench, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THICK_FAT)] = { .text = gEasyChatWord_ThickFat, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RAIN_DISH)] = { .text = gEasyChatWord_RainDish, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DRIZZLE)] = { .text = gEasyChatWord_Drizzle, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ARENA_TRAP)] = { .text = gEasyChatWord_ArenaTrap, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_INTIMIDATE)] = { .text = gEasyChatWord_Intimidate, .alphabeticalOrder = 101, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ROCK_HEAD)] = { .text = gEasyChatWord_RockHead, .alphabeticalOrder = 97, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COLOR)] = { .text = gEasyChatWord_Color, .alphabeticalOrder = 106, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALT_COLOR)] = { .text = gEasyChatWord_AltColor, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ROCK)] = { .text = gEasyChatWord_Rock, .alphabeticalOrder = 68, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BEAUTIFUL)] = { .text = gEasyChatWord_Beautiful, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BEAUTY)] = { .text = gEasyChatWord_Beauty, .alphabeticalOrder = 86, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AIR_LOCK)] = { .text = gEasyChatWord_AirLock, .alphabeticalOrder = 78, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PSYCHIC)] = { .text = gEasyChatWord_Psychic, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HYPER_CUTTER)] = { .text = gEasyChatWord_HyperCutter, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FIGHTING)] = { .text = gEasyChatWord_Fighting, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHADOW_TAG)] = { .text = gEasyChatWord_ShadowTag, .alphabeticalOrder = 99, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SMART)] = { .text = gEasyChatWord_Smart, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SMARTNESS)] = { .text = gEasyChatWord_Smartness, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SPEED_BOOST)] = { .text = gEasyChatWord_SpeedBoost, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COOL)] = { .text = gEasyChatWord_Cool, .alphabeticalOrder = 62, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COOLNESS)] = { .text = gEasyChatWord_Coolness, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BATTLE_ARMOR)] = { .text = gEasyChatWord_BattleArmor, .alphabeticalOrder = 76, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CUTE)] = { .text = gEasyChatWord_Cute, .alphabeticalOrder = 72, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CUTENESS)] = { .text = gEasyChatWord_Cuteness, .alphabeticalOrder = 88, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STURDY)] = { .text = gEasyChatWord_Sturdy, .alphabeticalOrder = 57, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SUCTION_CUPS)] = { .text = gEasyChatWord_SuctionCups, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GRASS)] = { .text = gEasyChatWord_Grass, .alphabeticalOrder = 90, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CLEAR_BODY)] = { .text = gEasyChatWord_ClearBody, .alphabeticalOrder = 91, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TORRENT)] = { .text = gEasyChatWord_Torrent, .alphabeticalOrder = 104, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GHOST)] = { .text = gEasyChatWord_Ghost, .alphabeticalOrder = 75, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ICE)] = { .text = gEasyChatWord_Ice, .alphabeticalOrder = 58, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GUTS)] = { .text = gEasyChatWord_Guts, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ROUGH_SKIN)] = { .text = gEasyChatWord_RoughSkin, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHELL_ARMOR)] = { .text = gEasyChatWord_ShellArmor, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NATURAL_CURE)] = { .text = gEasyChatWord_NaturalCure, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DAMP)] = { .text = gEasyChatWord_Damp, .alphabeticalOrder = 54, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GROUND)] = { .text = gEasyChatWord_Ground, .alphabeticalOrder = 73, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LIMBER)] = { .text = gEasyChatWord_Limber, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MAGNET_PULL)] = { .text = gEasyChatWord_MagnetPull, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHITE_SMOKE)] = { .text = gEasyChatWord_WhiteSmoke, .alphabeticalOrder = 71, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SYNCHRONIZE)] = { .text = gEasyChatWord_Synchronize, .alphabeticalOrder = 100, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OVERGROW)] = { .text = gEasyChatWord_Overgrow, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SWIFT_SWIM)] = { .text = gEasyChatWord_SwiftSwim, .alphabeticalOrder = 81, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SAND_STREAM)] = { .text = gEasyChatWord_SandStream, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SAND_VEIL)] = { .text = gEasyChatWord_SandVeil, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_KEEN_EYE)] = { .text = gEasyChatWord_KeenEye, .alphabeticalOrder = 82, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_INNER_FOCUS)] = { .text = gEasyChatWord_InnerFocus, .alphabeticalOrder = 77, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STATIC)] = { .text = gEasyChatWord_Static, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TYPE)] = { .text = gEasyChatWord_Type, .alphabeticalOrder = 85, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOUGH)] = { .text = gEasyChatWord_Tough, .alphabeticalOrder = 94, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOUGHNESS)] = { .text = gEasyChatWord_Toughness, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHED_SKIN)] = { .text = gEasyChatWord_ShedSkin, .alphabeticalOrder = 79, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HUGE_POWER)] = { .text = gEasyChatWord_HugePower, .alphabeticalOrder = 92, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_VOLT_ABSORB)] = { .text = gEasyChatWord_VoltAbsorb, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WATER_ABSORB)] = { .text = gEasyChatWord_WaterAbsorb, .alphabeticalOrder = 69, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ELECTRIC)] = { .text = gEasyChatWord_Electric, .alphabeticalOrder = 64, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FORECAST)] = { .text = gEasyChatWord_Forecast, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SERENE_GRACE)] = { .text = gEasyChatWord_SereneGrace, .alphabeticalOrder = 93, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_POISON)] = { .text = gEasyChatWord_Poison, .alphabeticalOrder = 103, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_POISON_POINT)] = { .text = gEasyChatWord_PoisonPoint, .alphabeticalOrder = 102, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DRAGON)] = { .text = gEasyChatWord_Dragon, .alphabeticalOrder = 89, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRACE)] = { .text = gEasyChatWord_Trace, .alphabeticalOrder = 83, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OBLIVIOUS)] = { .text = gEasyChatWord_Oblivious, .alphabeticalOrder = 60, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRUANT)] = { .text = gEasyChatWord_Truant, .alphabeticalOrder = 61, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RUN_AWAY)] = { .text = gEasyChatWord_RunAway, .alphabeticalOrder = 84, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STICKY_HOLD)] = { .text = gEasyChatWord_StickyHold, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CLOUD_NINE)] = { .text = gEasyChatWord_CloudNine, .alphabeticalOrder = 107, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NORMAL)] = { .text = gEasyChatWord_Normal, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STEEL)] = { .text = gEasyChatWord_Steel, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ILLUMINATE)] = { .text = gEasyChatWord_Illuminate, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EARLY_BIRD)] = { .text = gEasyChatWord_EarlyBird, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HUSTLE)] = { .text = gEasyChatWord_Hustle, .alphabeticalOrder = 66, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHINE)] = { .text = gEasyChatWord_Shine, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FLYING)] = { .text = gEasyChatWord_Flying, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DROUGHT)] = { .text = gEasyChatWord_Drought, .alphabeticalOrder = 59, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LIGHTNINGROD)] = { .text = gEasyChatWord_Lightningrod, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COMPOUNDEYES)] = { .text = gEasyChatWord_Compoundeyes, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MARVEL_SCALE)] = { .text = gEasyChatWord_MarvelScale, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WONDER_GUARD)] = { .text = gEasyChatWord_WonderGuard, .alphabeticalOrder = 108, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_INSOMNIA)] = { .text = gEasyChatWord_Insomnia, .alphabeticalOrder = 74, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LEVITATE)] = { .text = gEasyChatWord_Levitate, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PLUS)] = { .text = gEasyChatWord_Plus, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PRESSURE)] = { .text = gEasyChatWord_Pressure, .alphabeticalOrder = 87, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LIQUID_OOZE)] = { .text = gEasyChatWord_LiquidOoze, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COLOR_CHANGE)] = { .text = gEasyChatWord_ColorChange, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SOUNDPROOF)] = { .text = gEasyChatWord_Soundproof, .alphabeticalOrder = 70, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EFFECT_SPORE)] = { .text = gEasyChatWord_EffectSpore, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PKRS)] = { .text = gEasyChatWord_Pkrs, .alphabeticalOrder = 67, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FIRE)] = { .text = gEasyChatWord_Fire, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FLAME_BODY)] = { .text = gEasyChatWord_FlameBody, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MINUS)] = { .text = gEasyChatWord_Minus, .alphabeticalOrder = 98, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OWN_TEMPO)] = { .text = gEasyChatWord_OwnTempo, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MAGMA_ARMOR)] = { .text = gEasyChatWord_MagmaArmor, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WATER)] = { .text = gEasyChatWord_Water, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WATER_VEIL)] = { .text = gEasyChatWord_WaterVeil, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BUG)] = { .text = gEasyChatWord_Bug, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SWARM)] = { .text = gEasyChatWord_Swarm, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CUTE_CHARM)] = { .text = gEasyChatWord_CuteCharm, .alphabeticalOrder = 63, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_IMMUNITY)] = { .text = gEasyChatWord_Immunity, .alphabeticalOrder = 65, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BLAZE)] = { .text = gEasyChatWord_Blaze, .alphabeticalOrder = 50, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PICKUP)] = { .text = gEasyChatWord_Pickup, .alphabeticalOrder = 105, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PATTERN)] = { .text = gEasyChatWord_Pattern, .alphabeticalOrder = 55, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FLASH_FIRE)] = { .text = gEasyChatWord_FlashFire, .alphabeticalOrder = 95, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_VITAL_SPIRIT)] = { .text = gEasyChatWord_VitalSpirit, .alphabeticalOrder = 56, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CHLOROPHYLL)] = { .text = gEasyChatWord_Chlorophyll, .alphabeticalOrder = 96, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_PURE_POWER)] = { .text = gEasyChatWord_PurePower, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHIELD_DUST)] = { .text = gEasyChatWord_ShieldDust, .alphabeticalOrder = 80, diff --git a/src/data/easy_chat/easy_chat_group_time.h b/src/data/easy_chat/easy_chat_group_time.h index 691dde70c0..061abffd49 100755 --- a/src/data/easy_chat/easy_chat_group_time.h +++ b/src/data/easy_chat/easy_chat_group_time.h @@ -45,226 +45,271 @@ const u8 gEasyChatWord_Night[] = _("NIGHT"); const u8 gEasyChatWord_Week[] = _("WEEK"); const struct EasyChatWordInfo gEasyChatGroup_Time[] = { + [EC_INDEX(EC_WORD_FALL)] = { .text = gEasyChatWord_Fall, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MORNING)] = { .text = gEasyChatWord_Morning, .alphabeticalOrder = 39, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TOMORROW)] = { .text = gEasyChatWord_Tomorrow, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LAST)] = { .text = gEasyChatWord_Last, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DAY)] = { .text = gEasyChatWord_Day, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SOMETIME)] = { .text = gEasyChatWord_Sometime, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALWAYS)] = { .text = gEasyChatWord_Always, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CURRENT)] = { .text = gEasyChatWord_Current, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FOREVER)] = { .text = gEasyChatWord_Forever, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DAYS)] = { .text = gEasyChatWord_Days, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_END)] = { .text = gEasyChatWord_End, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TUESDAY)] = { .text = gEasyChatWord_Tuesday, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YESTERDAY)] = { .text = gEasyChatWord_Yesterday, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TODAY)] = { .text = gEasyChatWord_Today, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FRIDAY)] = { .text = gEasyChatWord_Friday, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MONDAY)] = { .text = gEasyChatWord_Monday, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LATER)] = { .text = gEasyChatWord_Later, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EARLIER)] = { .text = gEasyChatWord_Earlier, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ANOTHER)] = { .text = gEasyChatWord_Another, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TIME)] = { .text = gEasyChatWord_Time, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FINISH)] = { .text = gEasyChatWord_Finish, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WEDNESDAY)] = { .text = gEasyChatWord_Wednesday, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SOON)] = { .text = gEasyChatWord_Soon, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_START)] = { .text = gEasyChatWord_Start, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MONTH)] = { .text = gEasyChatWord_Month, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_STOP)] = { .text = gEasyChatWord_Stop, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NOW)] = { .text = gEasyChatWord_Now, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FINAL)] = { .text = gEasyChatWord_Final, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NEXT)] = { .text = gEasyChatWord_Next, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AGE)] = { .text = gEasyChatWord_Age, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SATURDAY)] = { .text = gEasyChatWord_Saturday, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SUMMER)] = { .text = gEasyChatWord_Summer, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SUNDAY)] = { .text = gEasyChatWord_Sunday, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BEGINNING)] = { .text = gEasyChatWord_Beginning, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SPRING)] = { .text = gEasyChatWord_Spring, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DAYTIME)] = { .text = gEasyChatWord_Daytime, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WINTER)] = { .text = gEasyChatWord_Winter, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DAILY)] = { .text = gEasyChatWord_Daily, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OLDEN)] = { .text = gEasyChatWord_Olden, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ALMOST)] = { .text = gEasyChatWord_Almost, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NEARLY)] = { .text = gEasyChatWord_Nearly, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_THURSDAY)] = { .text = gEasyChatWord_Thursday, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NIGHTTIME)] = { .text = gEasyChatWord_Nighttime, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NIGHT)] = { .text = gEasyChatWord_Night, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WEEK)] = { .text = gEasyChatWord_Week, .alphabeticalOrder = 12, diff --git a/src/data/easy_chat/easy_chat_group_trainer.h b/src/data/easy_chat/easy_chat_group_trainer.h index a4e1ddfd6b..87966c9771 100755 --- a/src/data/easy_chat/easy_chat_group_trainer.h +++ b/src/data/easy_chat/easy_chat_group_trainer.h @@ -27,136 +27,163 @@ const u8 gEasyChatWord_Silver[] = _("SILVER"); const u8 gEasyChatWord_Emerald[] = _("EMERALD"); const struct EasyChatWordInfo gEasyChatGroup_Trainer[] = { + [EC_INDEX(EC_WORD_I_CHOOSE_YOU)] = { .text = gEasyChatWord_IChooseYou, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GOTCHA)] = { .text = gEasyChatWord_Gotcha, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRADE)] = { .text = gEasyChatWord_Trade, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SAPPHIRE)] = { .text = gEasyChatWord_Sapphire, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EVOLVE)] = { .text = gEasyChatWord_Evolve, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ENCYCLOPEDIA)] = { .text = gEasyChatWord_Encyclopedia, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NATURE)] = { .text = gEasyChatWord_Nature, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CENTER)] = { .text = gEasyChatWord_Center, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EGG)] = { .text = gEasyChatWord_Egg, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LINK)] = { .text = gEasyChatWord_Link, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SP_ABILITY)] = { .text = gEasyChatWord_SpAbility, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TRAINER)] = { .text = gEasyChatWord_Trainer, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_VERSION)] = { .text = gEasyChatWord_Version, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_POKENAV)] = { .text = gEasyChatWord_Pokenav, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_POKEMON)] = { .text = gEasyChatWord_Pokemon, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GET)] = { .text = gEasyChatWord_Get, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_POKEDEX)] = { .text = gEasyChatWord_Pokedex, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RUBY)] = { .text = gEasyChatWord_Ruby, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LEVEL)] = { .text = gEasyChatWord_Level, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_RED)] = { .text = gEasyChatWord_Red, .alphabeticalOrder = 19, .enabled = FALSE, }, + [EC_INDEX(EC_WORD_GREEN)] = { .text = gEasyChatWord_Green, .alphabeticalOrder = 17, .enabled = FALSE, }, + [EC_INDEX(EC_WORD_BAG)] = { .text = gEasyChatWord_Bag, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FLAME)] = { .text = gEasyChatWord_Flame, .alphabeticalOrder = 25, .enabled = FALSE, }, + [EC_INDEX(EC_WORD_GOLD)] = { .text = gEasyChatWord_Gold, .alphabeticalOrder = 10, .enabled = FALSE, }, + [EC_INDEX(EC_WORD_LEAF)] = { .text = gEasyChatWord_Leaf, .alphabeticalOrder = 2, .enabled = FALSE, }, + [EC_INDEX(EC_WORD_SILVER)] = { .text = gEasyChatWord_Silver, .alphabeticalOrder = 11, .enabled = FALSE, }, + [EC_INDEX(EC_WORD_EMERALD)] = { .text = gEasyChatWord_Emerald, .alphabeticalOrder = 12, diff --git a/src/data/easy_chat/easy_chat_group_trendy_saying.h b/src/data/easy_chat/easy_chat_group_trendy_saying.h index 46ce1201ae..938073f7f8 100755 --- a/src/data/easy_chat/easy_chat_group_trendy_saying.h +++ b/src/data/easy_chat/easy_chat_group_trendy_saying.h @@ -33,166 +33,199 @@ const u8 gEasyChatWord_Young[] = _("YOUNG"); const u8 gEasyChatWord_Ugly[] = _("UGLY"); const struct EasyChatWordInfo gEasyChatGroup_TrendySaying[] = { + [EC_INDEX(EC_WORD_KTHX_BYE)] = { .text = gEasyChatWord_KthxBye, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YES_SIR_EXCL)] = { .text = gEasyChatWord_YesSirExcl, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AVANT_GARDE)] = { .text = gEasyChatWord_AvantGarde, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_COUPLE)] = { .text = gEasyChatWord_Couple, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MUCH_OBLIGED)] = { .text = gEasyChatWord_MuchObliged, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YEEHAW_EXCL)] = { .text = gEasyChatWord_YeehawExcl, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MEGA)] = { .text = gEasyChatWord_Mega, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_1_HIT_KO_EXCL)] = { .text = gEasyChatWord_1HitKOExcl, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DESTINY)] = { .text = gEasyChatWord_Destiny, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CANCEL)] = { .text = gEasyChatWord_Cancel, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NEW)] = { .text = gEasyChatWord_New, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FLATTEN)] = { .text = gEasyChatWord_Flatten, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_KIDDING)] = { .text = gEasyChatWord_Kidding, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOSER)] = { .text = gEasyChatWord_Loser, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOSING)] = { .text = gEasyChatWord_Losing, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HAPPENING)] = { .text = gEasyChatWord_Happening, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HIP_AND)] = { .text = gEasyChatWord_HipAnd, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHAKE)] = { .text = gEasyChatWord_Shake, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHADY)] = { .text = gEasyChatWord_Shady, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UPBEAT)] = { .text = gEasyChatWord_Upbeat, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MODERN)] = { .text = gEasyChatWord_Modern, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SMELL_YA)] = { .text = gEasyChatWord_SmellYa, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BANG)] = { .text = gEasyChatWord_Bang, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_KNOCKOUT)] = { .text = gEasyChatWord_Knockout, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HASSLE)] = { .text = gEasyChatWord_Hassle, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WINNER)] = { .text = gEasyChatWord_Winner, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FEVER)] = { .text = gEasyChatWord_Fever, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WANNABE)] = { .text = gEasyChatWord_Wannabe, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_BABY)] = { .text = gEasyChatWord_Baby, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEART)] = { .text = gEasyChatWord_Heart, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OLD)] = { .text = gEasyChatWord_Old, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YOUNG)] = { .text = gEasyChatWord_Young, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UGLY)] = { .text = gEasyChatWord_Ugly, .alphabeticalOrder = 31, diff --git a/src/data/easy_chat/easy_chat_group_voices.h b/src/data/easy_chat/easy_chat_group_voices.h index 6dad874ec3..3ebbafd252 100755 --- a/src/data/easy_chat/easy_chat_group_voices.h +++ b/src/data/easy_chat/easy_chat_group_voices.h @@ -63,316 +63,379 @@ const u8 gEasyChatWord_Gwah[] = _("GWAH"); const u8 gEasyChatWord_Wahahaha[] = _("WAHAHAHA"); const struct EasyChatWordInfo gEasyChatGroup_Voices[] = { + [EC_INDEX(EC_WORD_EXCL)] = { .text = gEasyChatWord_Excl, .alphabeticalOrder = 0, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EXCL_EXCL)] = { .text = gEasyChatWord_ExclExcl, .alphabeticalOrder = 1, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_QUES_EXCL)] = { .text = gEasyChatWord_QuesExcl, .alphabeticalOrder = 7, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_QUES)] = { .text = gEasyChatWord_Ques, .alphabeticalOrder = 8, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ELLIPSIS)] = { .text = gEasyChatWord_Ellipsis, .alphabeticalOrder = 4, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ELLIPSIS_EXCL)] = { .text = gEasyChatWord_EllipsisExcl, .alphabeticalOrder = 5, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS)] = { .text = gEasyChatWord_EllipsisEllipsisEllipsis, .alphabeticalOrder = 6, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DASH)] = { .text = gEasyChatWord_Dash, .alphabeticalOrder = 3, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_DASH_DASH_DASH)] = { .text = gEasyChatWord_DashDashDash, .alphabeticalOrder = 2, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UH_OH)] = { .text = gEasyChatWord_UhOh, .alphabeticalOrder = 23, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WAAAH)] = { .text = gEasyChatWord_Waaah, .alphabeticalOrder = 11, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AHAHA)] = { .text = gEasyChatWord_Ahaha, .alphabeticalOrder = 41, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OH_QUES)] = { .text = gEasyChatWord_OhQues, .alphabeticalOrder = 52, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_NOPE)] = { .text = gEasyChatWord_Nope, .alphabeticalOrder = 59, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_URGH)] = { .text = gEasyChatWord_Urgh, .alphabeticalOrder = 22, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HMM)] = { .text = gEasyChatWord_Hmm, .alphabeticalOrder = 25, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WHOAH)] = { .text = gEasyChatWord_Whoah, .alphabeticalOrder = 32, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WROOOAAR_EXCL)] = { .text = gEasyChatWord_WroooaarExcl, .alphabeticalOrder = 24, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WOW)] = { .text = gEasyChatWord_Wow, .alphabeticalOrder = 26, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GIGGLE)] = { .text = gEasyChatWord_Giggle, .alphabeticalOrder = 43, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SIGH)] = { .text = gEasyChatWord_Sigh, .alphabeticalOrder = 19, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UNBELIEVABLE)] = { .text = gEasyChatWord_Unbelievable, .alphabeticalOrder = 33, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CRIES)] = { .text = gEasyChatWord_Cries, .alphabeticalOrder = 61, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AGREE)] = { .text = gEasyChatWord_Agree, .alphabeticalOrder = 34, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EH_QUES)] = { .text = gEasyChatWord_EhQues, .alphabeticalOrder = 38, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_CRY)] = { .text = gEasyChatWord_Cry, .alphabeticalOrder = 40, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EHEHE)] = { .text = gEasyChatWord_Ehehe, .alphabeticalOrder = 48, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OI_OI_OI)] = { .text = gEasyChatWord_OiOiOi, .alphabeticalOrder = 37, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OH_YEAH)] = { .text = gEasyChatWord_OhYeah, .alphabeticalOrder = 47, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OH)] = { .text = gEasyChatWord_Oh, .alphabeticalOrder = 42, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OOPS)] = { .text = gEasyChatWord_Oops, .alphabeticalOrder = 15, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SHOCKED)] = { .text = gEasyChatWord_Shocked, .alphabeticalOrder = 49, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_EEK)] = { .text = gEasyChatWord_Eek, .alphabeticalOrder = 46, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GRAAAH)] = { .text = gEasyChatWord_Graaah, .alphabeticalOrder = 57, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GWAHAHAHA)] = { .text = gEasyChatWord_Gwahahaha, .alphabeticalOrder = 44, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WAY)] = { .text = gEasyChatWord_Way, .alphabeticalOrder = 54, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_TCH)] = { .text = gEasyChatWord_Tch, .alphabeticalOrder = 53, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEHE)] = { .text = gEasyChatWord_Hehe, .alphabeticalOrder = 13, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HAH)] = { .text = gEasyChatWord_Hah, .alphabeticalOrder = 29, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YUP)] = { .text = gEasyChatWord_Yup, .alphabeticalOrder = 51, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HAHAHA)] = { .text = gEasyChatWord_Hahaha, .alphabeticalOrder = 28, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AIYEEH)] = { .text = gEasyChatWord_Aiyeeh, .alphabeticalOrder = 55, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HIYAH)] = { .text = gEasyChatWord_Hiyah, .alphabeticalOrder = 12, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_FUFUFU)] = { .text = gEasyChatWord_Fufufu, .alphabeticalOrder = 27, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LOL)] = { .text = gEasyChatWord_Lol, .alphabeticalOrder = 56, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_SNORT)] = { .text = gEasyChatWord_Snort, .alphabeticalOrder = 30, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HUMPH)] = { .text = gEasyChatWord_Humph, .alphabeticalOrder = 31, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEHEHE)] = { .text = gEasyChatWord_Hehehe, .alphabeticalOrder = 20, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HEH)] = { .text = gEasyChatWord_Heh, .alphabeticalOrder = 45, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_HOHOHO)] = { .text = gEasyChatWord_Hohoho, .alphabeticalOrder = 36, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_UH_HUH)] = { .text = gEasyChatWord_UhHuh, .alphabeticalOrder = 50, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OH_DEAR)] = { .text = gEasyChatWord_OhDear, .alphabeticalOrder = 9, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_ARRGH)] = { .text = gEasyChatWord_Arrgh, .alphabeticalOrder = 21, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MUFUFU)] = { .text = gEasyChatWord_Mufufu, .alphabeticalOrder = 14, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_MMM)] = { .text = gEasyChatWord_Mmm, .alphabeticalOrder = 10, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OH_KAY)] = { .text = gEasyChatWord_OhKay, .alphabeticalOrder = 62, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_OKAY)] = { .text = gEasyChatWord_Okay, .alphabeticalOrder = 35, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_LALALA)] = { .text = gEasyChatWord_Lalala, .alphabeticalOrder = 16, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_YAY)] = { .text = gEasyChatWord_Yay, .alphabeticalOrder = 18, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_AWW)] = { .text = gEasyChatWord_Aww, .alphabeticalOrder = 60, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WOWEE)] = { .text = gEasyChatWord_Wowee, .alphabeticalOrder = 17, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_GWAH)] = { .text = gEasyChatWord_Gwah, .alphabeticalOrder = 58, .enabled = TRUE, }, + [EC_INDEX(EC_WORD_WAHAHAHA)] = { .text = gEasyChatWord_Wahahaha, .alphabeticalOrder = 39, diff --git a/src/data/easy_chat/easy_chat_groups.h b/src/data/easy_chat/easy_chat_groups.h index a89f228fe8..32d98e8066 100755 --- a/src/data/easy_chat/easy_chat_groups.h +++ b/src/data/easy_chat/easy_chat_groups.h @@ -24,111 +24,133 @@ #include "easy_chat_group_pokemon2.h" const struct EasyChatGroup gEasyChatGroups[] = { + [EC_GROUP_POKEMON] = { .wordData = {.valueList = gEasyChatGroup_Pokemon}, .numWords = ARRAY_COUNT(gEasyChatGroup_Pokemon), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Pokemon), }, + [EC_GROUP_TRAINER] = { .wordData = {.words = gEasyChatGroup_Trainer}, .numWords = ARRAY_COUNT(gEasyChatGroup_Trainer), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Trainer) - 6, // Excludes Red, Green, Flame, Gold, Leaf, and Silver }, + [EC_GROUP_STATUS] = { .wordData = {.words = gEasyChatGroup_Status}, .numWords = ARRAY_COUNT(gEasyChatGroup_Status), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Status), }, + [EC_GROUP_BATTLE] = { .wordData = {.words = gEasyChatGroup_Battle}, .numWords = ARRAY_COUNT(gEasyChatGroup_Battle), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Battle), }, + [EC_GROUP_GREETINGS] = { .wordData = {.words = gEasyChatGroup_Greetings}, .numWords = ARRAY_COUNT(gEasyChatGroup_Greetings), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Greetings), }, + [EC_GROUP_PEOPLE] = { .wordData = {.words = gEasyChatGroup_People}, .numWords = ARRAY_COUNT(gEasyChatGroup_People), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_People), }, + [EC_GROUP_VOICES] = { .wordData = {.words = gEasyChatGroup_Voices}, .numWords = ARRAY_COUNT(gEasyChatGroup_Voices), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Voices), }, + [EC_GROUP_SPEECH] = { .wordData = {.words = gEasyChatGroup_Speech}, .numWords = ARRAY_COUNT(gEasyChatGroup_Speech), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Speech), }, + [EC_GROUP_ENDINGS] = { .wordData = {.words = gEasyChatGroup_Endings}, .numWords = ARRAY_COUNT(gEasyChatGroup_Endings), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Endings), }, + [EC_GROUP_FEELINGS] = { .wordData = {.words = gEasyChatGroup_Feelings}, .numWords = ARRAY_COUNT(gEasyChatGroup_Feelings), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Feelings), }, + [EC_GROUP_CONDITIONS] = { .wordData = {.words = gEasyChatGroup_Conditions}, .numWords = ARRAY_COUNT(gEasyChatGroup_Conditions), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Conditions), }, + [EC_GROUP_ACTIONS] = { .wordData = {.words = gEasyChatGroup_Actions}, .numWords = ARRAY_COUNT(gEasyChatGroup_Actions), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Actions), }, + [EC_GROUP_LIFESTYLE] = { .wordData = {.words = gEasyChatGroup_Lifestyle}, .numWords = ARRAY_COUNT(gEasyChatGroup_Lifestyle), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Lifestyle), }, + [EC_GROUP_HOBBIES] = { .wordData = {.words = gEasyChatGroup_Hobbies}, .numWords = ARRAY_COUNT(gEasyChatGroup_Hobbies), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Hobbies), }, + [EC_GROUP_TIME] = { .wordData = {.words = gEasyChatGroup_Time}, .numWords = ARRAY_COUNT(gEasyChatGroup_Time), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Time), }, + [EC_GROUP_MISC] = { .wordData = {.words = gEasyChatGroup_Misc}, .numWords = ARRAY_COUNT(gEasyChatGroup_Misc), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Misc), }, + [EC_GROUP_ADJECTIVES] = { .wordData = {.words = gEasyChatGroup_Adjectives}, .numWords = ARRAY_COUNT(gEasyChatGroup_Adjectives), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Adjectives), }, + [EC_GROUP_EVENTS] = { .wordData = {.words = gEasyChatGroup_Events}, .numWords = ARRAY_COUNT(gEasyChatGroup_Events), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Events), }, + [EC_GROUP_MOVE_1] = { .wordData = {.valueList = gEasyChatGroup_Move1}, .numWords = ARRAY_COUNT(gEasyChatGroup_Move1), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Move1), }, + [EC_GROUP_MOVE_2] = { .wordData = {.valueList = gEasyChatGroup_Move2}, .numWords = ARRAY_COUNT(gEasyChatGroup_Move2), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_Move2), }, + [EC_GROUP_TRENDY_SAYING] = { .wordData = {.words = gEasyChatGroup_TrendySaying}, .numWords = ARRAY_COUNT(gEasyChatGroup_TrendySaying), .numEnabledWords = ARRAY_COUNT(gEasyChatGroup_TrendySaying), }, + [EC_GROUP_POKEMON_NATIONAL] = { .wordData = {.valueList = gEasyChatGroup_Pokemon2}, .numWords = ARRAY_COUNT(gEasyChatGroup_Pokemon2), From c0e68f33f7e8843a47115b91a775a958cfe96165 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 15 Jan 2023 00:05:42 -0500 Subject: [PATCH 50/62] Colorize pokemon storage tiles --- graphics/pokemon_storage/box_bg1.pal | 19 -------- .../box_selection_popup_center.png | Bin 107 -> 164 bytes .../box_selection_popup_sides.png | Bin 125 -> 185 bytes graphics/pokemon_storage/item_info_frame.png | Bin 170 -> 170 bytes graphics/pokemon_storage/menu.png | Bin 1242 -> 1336 bytes graphics/pokemon_storage/party_menu.pal | 19 ++++++++ .../{bg.pal => scrolling_bg.pal} | 0 graphics/pokemon_storage/scrolling_bg.png | Bin 168 -> 228 bytes ..._items.pal => scrolling_bg_move_items.pal} | 0 src/graphics.c | 2 +- src/pokemon_storage_system.c | 44 +++++++++--------- 11 files changed, 43 insertions(+), 41 deletions(-) delete mode 100644 graphics/pokemon_storage/box_bg1.pal create mode 100644 graphics/pokemon_storage/party_menu.pal rename graphics/pokemon_storage/{bg.pal => scrolling_bg.pal} (100%) rename graphics/pokemon_storage/{bg_move_items.pal => scrolling_bg_move_items.pal} (100%) diff --git a/graphics/pokemon_storage/box_bg1.pal b/graphics/pokemon_storage/box_bg1.pal deleted file mode 100644 index 52ac12110c..0000000000 --- a/graphics/pokemon_storage/box_bg1.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 205 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon_storage/box_selection_popup_center.png b/graphics/pokemon_storage/box_selection_popup_center.png index f7ab30276eca5a315639cb5f69a0ea11785d0b93..d0b90c578008b0e133f439196365bfab9c77e450 100644 GIT binary patch delta 146 zcmc~^!Z<;)o|%DxA;LZ9Es!z@@CkAKfAs&9DQkj)qW(XN`gX7Q+p{fas~M`j82-b- zmaP9vK-_!x?g2GTzGZd?Na=gJIEHw1CVMC|NN{Lzs4_^za5Mz6F6MF*?a`75by&&N nzopr0EfLBd;kCd diff --git a/graphics/pokemon_storage/box_selection_popup_sides.png b/graphics/pokemon_storage/box_selection_popup_sides.png index a0140dc87b386d4acb48b15455ab0a3e616c8c6e..27b4dc10a81b396f6128c574f375af635709724b 100644 GIT binary patch delta 151 zcmb>3$v8pMg_(hY;ZmDkKaesA@CkAKfAs&9DQkj)qW(XN`gX7Q+p{fas~M`j82-b- zmaP9vK-_!x?g2GTzGZf2qN1>8=!O|L860P;En0f{*G5~nuKoWCJ(^~DI`uTX^L;V% w-lpEoCoTupD99@}9o@=l>AbHk+w`|MmqN|$^DEY90nK6XboFyt=akR{076GhH2?qr delta 106 zcmdnVSUW*7g#ic-7&j&YDHl%{#}J9Bch7HRY%t(qcI;i>XSQe|Ybx^|iIR=BZe9ET zee`acb-7K3@vQHQnfH`B*Ppn&T4IB|(xIcfIW3d#vt*lEi!GbQxJ|hEbsorEPgg&e IbxsLQ09pYlfdBvi diff --git a/graphics/pokemon_storage/item_info_frame.png b/graphics/pokemon_storage/item_info_frame.png index 743e5244145f79ad9a1dd88b66c72a5468e9a3f3..734101a55eaa17eb713911e92dffbc218396b017 100644 GIT binary patch delta 59 icmZ3*xQcOtj^Y3R|C5rEu3kOMKm@pa@a>F=vAzJ(p$#$s delta 59 zcmZ3*xQcOtj^UIkYl4EJ{{R1f_W%E=z3-xyoDFJT5|mX96l7pvxOeZ{k|kS!YKn_N NB5N7AgeS)O0sx-{9YO#A diff --git a/graphics/pokemon_storage/menu.png b/graphics/pokemon_storage/menu.png index 204c075048b0dde47dac3136c04e3178c3bb4fd1..0a1ca913b0803e2d4dcb8f3dbfbdbeb8889ba2e3 100644 GIT binary patch delta 1284 zcmV+f1^fEi3AhT77)}TS00009TMZxp0004VQb$4nuFf3k0001BP)t-s0001#l&o`e zds0$bl$5OYtWu<;v;Y7Aq|NqwwAKIKl-1_{wAJ>U&F=sI|62dE5kc}baob7My*oL4F3EN6qRXeL@ zHBD1@k<1_;mG`~vSJu8Ue>#Q5;mrUJyQp>mig_r9w-*Bh4mci9r>Go=Kmo9kvvJ~% z^oryzjQ2Y;e*%I4pq>GL^dNf`XhHEFD}&Pn+8+R4EWcynkjXT$(?iBTXXOHAU(6&_G->EDEknhb6LdO8~1VCM) zYN%jyUx4r58|w$`z)Q?nfW`qdX#g975Mc>`9yc~Z5;Fh;I84=lxaO_^&JXs|)R|2` zeIk~JKt84e_?KR_9IXIgRl%pXN&{F3!5m<_c@Lo+Kz5HRUNYm&;+v|bk@Ktb$5Z+T z0HP(c6hO{50MmBu0`P?Wsj9;egb71a7J_LS$8o}%TUg=W6daj&gj+OLH37iMrc9zj zfMLMvVudYJ!`~Et9>JGsg9aKKE6km|bfFj^41u}0t870!0x)25uy|Ni_1odlkq^3q z*q3=){0tNUz&(4uumDIPdV8y-nKC@f!|gM`o+Ufv>q(BV2Ta!|H2{Dh^4co_hQWH) z80TV-utn3I187PC*d;Uq@Vy-Z&|H`#IHNp{G`0?)P5~HyZ(}u3W%_1JYCDV`krtFB zz|zL&13a}7uH5x172uh@AZaQ8<h; z3cVL;MdnoztIDKl>5ne;HIlO)LEei zGywE~azAN*4^1QEa=P+ zF5Ko>FxQd?RDk3{OO z3pv+n53tKC%xm#oCW4$X(1LJV%mcFdK*j?p06F8f7GSLhAdyu8_?f$m^abg49+(UP z089jbAoD<;`hoO94~zmpo)7@ue%$mc_rQE1q?J&6rojWFf9DQh2m!7uJg_b+9(@3q zelic`;j{C<*aIsi9^mP30c85Q`TxJD?7v~jhJRX@12CC7e*zml zr|hk1r~q`$E^2qyPB0jZ>mlGwz4elH&L3r50cd9cZ34gzXG7515I6w)$wdGc0tt)f z`~?6BLF+=W0U#5CB>?vMJOsUc24DLOxJ+F_!09_SbO0^8eqt6BeDbC1K=BH;@JmN4 u@roL&Yzg0KFVKE|Ec}7A_{`<&g!&5*vyE{&U#7eO0000m0002YtKcC3001yhOjJdYW-x#8;fOQ<00d=8L_t(og|(Nz zZ{s!;#}(XP;0uuLioya41VvGwi42#)LviSu!Eo20!Bz2JAZgM{Y9Y{0(jCr=H+5>) z;I`{_OU4cw4j#lToGx?w9;qLcO#KLoKG`%W=za8keB_htI1_CSMwV%5F2Nywr}`tn z1^>J}<}H7~Y}~#^z^mFn|MljH0CmUn^e!)t`!f@O9fCtw|5!|2oaU8({-Ff86<{R~ zOBf!=VP4{hw#k5l#LMOCfKGrTDLx)2HJ?E7M+~1UGu>fc&3Qj}#4Wn`(B2h3F7MwXt6~c#^4N!(aMHo@= z!QXN~BNic#Qs_4zaaE0hccnE#B)IJ?2tbgs&|nuCy0#v>|ugadGc z3858W?t$H?wg*515rArm2M$n<2!a~WmJ65e3Ak)78^&;9G_ogsbuc>SriM+9up0I)Hv`zUv=-e#r!{^japeWR9wAH9FZ zPCC`rxo!ZD*MHSFYANtqfV5?k6nMs+t6149`AUf+IX4*-va>1@X8Rtdk27o?~)+}-{r~_0P2?yfHDNUy#ge1NI~8J zFnnmXRR}d89#HV22HY~71D}R8tU`a_8n7G6LcQ2dy}%D{)%Ui}!VU_H6cEByy(Hds z6c_+=At^wdvNTPgjg7tVu1^8^skIXCTGp??*s|tsJl+d^3XJO1+Kor`php2nUx;Y7 zz&zjypL(A4e?XrC6M!eYK0u!W`MCkW+`XZU`A|n5b#+8 zU=t{_E69wM*i81L(05mWKm&fUE9j}pOaV?8m@1q=Yeh!e^cX6@G$R00sMf&$Vz#H% zguihO!17|f=&pC$H8mhTG6dX>m;qo%_UGc{+vBrs`>g>84yA?Z7f5)OGyqUAREwQ7 zg>(8*6`X&^4IpN5T(;O@=n5a*Hvm}R8GB$4@L?h`0W5AXH9!gI zgdi}47y%E=0#G3&Dg+w0|-Kjb=d=coysH zn3094>%g|kx^E%2)jF^j+zETZZ2-1czp-~i^PTixW3-huG6%dX000UA07*qoM6N<$ Eg8Jkg&j0`b diff --git a/graphics/pokemon_storage/party_menu.pal b/graphics/pokemon_storage/party_menu.pal new file mode 100644 index 0000000000..a827cfd457 --- /dev/null +++ b/graphics/pokemon_storage/party_menu.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +131 172 180 +41 106 98 +82 98 115 +74 172 164 +57 139 139 +164 213 246 +115 189 98 +255 255 255 +123 189 255 +0 123 255 +41 90 164 +123 205 180 +8 74 65 +164 238 148 +65 82 90 diff --git a/graphics/pokemon_storage/bg.pal b/graphics/pokemon_storage/scrolling_bg.pal similarity index 100% rename from graphics/pokemon_storage/bg.pal rename to graphics/pokemon_storage/scrolling_bg.pal diff --git a/graphics/pokemon_storage/scrolling_bg.png b/graphics/pokemon_storage/scrolling_bg.png index 8be861a2670f9b9107292efd1963f4ef1ef94d86..228e9ce6f75cf88f302cee87367eb3f1842892ae 100644 GIT binary patch delta 195 zcmZ3%_=ItSqzf|x14FA`LKcuR2=EDU1=3Tdtoi@{Kaf$q_di4R|NqU+Ya}H8zkBxo z+13B|&H}}e!R0t9^NEVWC8yliF|0Tckov^8nUP$|_Vpo3q%|mjP_Pzz7GN1V8TyVS1JvVyu-V4vJSv+Vey|LFv=h#b@ mIV{(zS4v+I2%fWfMis+}6EiCVQV*^J+3o4-=d#Wzp$PzEJXA9P delta 151 zcmV;I0BHZ@0jL3x8Gir(005Vp&x8N~0B=b|K~xx(bboxOption != OPTION_MOVE_ITEMS) - LoadPalette(sBg_Pal, 0x30, sizeof(sBg_Pal)); + LoadPalette(sScrollingBg_Pal, 0x30, sizeof(sScrollingBg_Pal)); else - LoadPalette(sBgMoveItems_Pal, 0x30, sizeof(sBgMoveItems_Pal)); + LoadPalette(sScrollingBgMoveItems_Pal, 0x30, sizeof(sScrollingBgMoveItems_Pal)); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(30)); CreateDisplayMonSprite(); From a3ae182fc2c47e31d54b7c4b61007d272584d145 Mon Sep 17 00:00:00 2001 From: Jaizu Date: Sun, 15 Jan 2023 09:50:31 +0100 Subject: [PATCH 51/62] Add constants when using GetMonsStateToDoubles_2 --- src/trainer_see.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/trainer_see.c b/src/trainer_see.c index b333e03241..d83f49c4cd 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -213,7 +213,7 @@ bool8 CheckForTrainersWantingBattle(void) if (gNoOfApproachingTrainers > 1) break; - if (GetMonsStateToDoubles_2() != 0) // one trainer found and cant have a double battle + if (GetMonsStateToDoubles_2() != PLAYER_HAS_TWO_USABLE_MONS) // one trainer found and cant have a double battle break; } @@ -280,7 +280,7 @@ static u8 CheckTrainer(u8 objectEventId) || scriptPtr[1] == TRAINER_BATTLE_REMATCH_DOUBLE || scriptPtr[1] == TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE) { - if (GetMonsStateToDoubles_2() != 0) + if (GetMonsStateToDoubles_2() != PLAYER_HAS_TWO_USABLE_MONS) return 0; numTrainers = 2; From 0415cf73df1aff8820da7aeb8963d7cb05466bf7 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 15 Jan 2023 11:31:16 -0500 Subject: [PATCH 52/62] Fix results_screen/tiles.png colors --- graphics/contest/results_screen/tiles.pal | 259 ---------------------- graphics/contest/results_screen/tiles.png | Bin 1775 -> 2683 bytes 2 files changed, 259 deletions(-) delete mode 100644 graphics/contest/results_screen/tiles.pal diff --git a/graphics/contest/results_screen/tiles.pal b/graphics/contest/results_screen/tiles.pal deleted file mode 100644 index 869aef9e1f..0000000000 --- a/graphics/contest/results_screen/tiles.pal +++ /dev/null @@ -1,259 +0,0 @@ -JASC-PAL -0100 -256 -0 0 0 -255 255 255 -189 189 197 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -255 106 115 -255 57 57 -205 32 0 -246 213 0 -255 123 98 -156 180 90 -164 148 57 -90 106 139 -180 172 82 -0 0 0 -255 255 255 -189 189 197 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -164 222 255 -106 148 255 -24 57 205 -246 213 0 -255 123 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -189 189 197 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -255 197 255 -255 139 255 -213 0 139 -246 213 0 -255 123 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -189 189 197 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -180 255 197 -148 255 164 -65 172 57 -246 213 0 -255 123 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -189 189 197 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -255 255 164 -246 213 0 -230 106 0 -246 213 0 -255 123 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -197 255 255 -255 255 255 -213 213 213 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -164 222 255 -106 148 255 -49 82 255 -180 255 197 -148 255 164 -65 172 57 -0 0 0 -0 0 0 -0 0 0 -197 255 255 -255 255 255 -213 213 213 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -255 139 230 -255 139 230 -255 49 156 -255 255 0 -255 255 0 -189 172 0 -41 49 90 -41 49 90 -0 0 0 -197 123 131 -255 255 255 -230 246 255 -205 238 255 -180 238 255 -156 230 255 -139 230 255 -255 205 230 -255 255 139 -255 230 255 -255 255 197 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -197 255 255 -255 255 255 -213 213 213 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -255 172 197 -255 172 172 -255 180 148 -255 189 123 -255 197 98 -255 205 82 -156 156 156 -156 156 156 -156 156 156 -197 255 255 -255 255 255 -213 213 213 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -164 222 255 -106 148 255 -49 82 255 -180 255 197 -148 255 164 -65 172 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -164 222 255 -106 230 222 -49 238 189 -0 255 156 -0 255 156 -82 255 98 -164 255 49 -255 255 0 -255 172 16 -255 90 32 -255 8 57 -230 57 106 -205 115 156 -180 164 205 -164 222 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/contest/results_screen/tiles.png b/graphics/contest/results_screen/tiles.png index 106b975cf4f94382a83a1b1d044af3e43650cf5e..bb6aa701e8ff66233c116a2faa168c6e167cc924 100644 GIT binary patch literal 2683 zcmds(dpK148pq$6HDlZ_C6sB;&8@0af`RIW$R1R@HM4O6m_zV1jY1WE{)<7l;W4XErPmtp01|FE`(>pI?vV z=VK*lSQQtm_r(Oxng5CJ^8drXq|40P!EU4RD!?)&>5Td2U`8{}^OZ4ADkjYsWCRIz zWtQX!B;nncImJ<6QchpKHOZd?1_N8 zEXRTBBr6{$?0FhFN;%NlXgBYEvBA>^2^AK087f(n3ujUk21k$5cIXGpX%$cBN+;9i zw*8iV_R=;;MmW^%z1$(aye3buD=@%us7u4(m&GARW+^7O+HwvBE3oc5FC0U7q7J09 z(t`}YGFvH%9K}{8s^jVD+c?#jaJwO}g*Kn*3Eh)fdilIi5C1tK$wS(6mM{RaZ?!=dBB1iN7n zy*w<%_U9wKl6flBU?kbY>7Gv`5nV=~@Xy-091`Cr7_){o3p)07;OW=%cPgUOZyhaC zGNj9Y@*0Vhp+0(fJN+f%mvlWbwr#V&BU~<3-XyNEhpmrCD->UqqjL+M8xU%unLM|B z*N0EVSD>4pZLI3#He6;ZI4#Il5~V-F6%8E9cpYs=o?cygPyOn}q4OQIknGpO($wl- zb8@mD)%KAN%EotO%|~2=!LKDgNIkFqnAtRc3rEo;+4uNr-mR_{bzXiCk&|$J@-2|3 zT>;_BO6>uINS;bfplHv0G&`mh&l4q&}Mw%`;#$K zt2B|$RQJibby;^>*GunF3%g1Uf~pGi70M>2bhT1Ji(N|V92+*^`1lk(WGqE# zolH&CQWJ-x)qcJYsFtTY>La+xWI=PWAKcVIb)OhRpqG1%xL(V+=HX(8V@fogDce%G zZ=QG@|JjekT#VZw)+!zeugv&VY3(I zBVpCPMbSHpF0uG)5OV3%Qz=uj5J+R615r;@nV|r}MqvGjfIuFW&8~U4G_ta)|Bnym z%qGiv(9nIhJxwzV{)nqM7moal)22>`=3o(A^n#4l1H?=o*UPC(eg_1rm2%{fSuMDA zy^hvz>0xcTw1so7=_eDo^W)OweJ8<6*d4Gg#)6%svb9b_&5%HszY&O6OQ3C_3rW=D zL=B4;7Tc82g{M{9dm`KCqsNe<2vDt+vtJKZ>}ATTiWYS6PF6s%t~)Rkd@>M*-`x?J zDBkYA!K_O~7ukZC zfM%wZkCE{5ZxcbR5Y*Vw*3Fgf$0_4ptv|JI$#2wVn~Kd>&sSAfH#`x+=k{yu4iM<#LZAbBG#R0e*(H zP!*Rhd?piYtX1ui+{4j>ty1JI>+t7PDve_=RjRQbUzohooz(^|_pylOm9l9bytpW; zjxHf=-#$jwEF0!dua06@*;_G<0WN~)JNB`Ab|8~iiJ$y~Te9X(Zwx)-dl5J2tl(1F z*xo>Y|Jl>FY|o#i8T*gHnpc#ix&Y_ng&v#$Yx4{6_}Y**hzQFdACXQC|ZQE&<}nxvu8xY@F~GS7q6MrQsD>}{N^3oSXZe*tg( BKxY5| delta 1723 zcmV;s21NP$6z>g?7!3pi0000n5PbLm001zNGBkh6T_}+N00w$VL_t(&fyJ4=#Ip2e`)1aPzavKP|;otV2dzky>&;&d$sZ#oZ`EfgXt(vhn=x09g!~ij`JHjE8MN zrZa!7Vo-6W@Dkdz7mzE{1BkJfHdDk}8H0yj0AO>ut`DH`Dy3lnpkmzxC;^xN0A5N8 zcmddS7*OCz?FSgNBLUb>>+Y!mY8^ngSGo`z7}V4B0u0%}2S5wvwGnkMK=Y-6Ug!f9 zy>YM+K=$v8#Ml~<0URsqfZVWXEO|GOa(90Uk3gM9Uj&yZ3z@D&vhUUfOIvV@FIyXp)0RRV$uWk*XS^&OD5J33>F$4l) zKcEmJip?BA#YJJNx;8)=%dmjFs^+opG+>9BW5GGPKy^VA(CvS}4V?eM+Jf8)6SYFquh8@>Jizi1%W4Cl z;RUNn003{bF9E~{ymx2902^h{20lLzNekff^N>WzfGkin%0DRHq%s5`HFJNIzfpPs zhx0jKI-N{-f0U-YpDh*^P-}pXw9Nhw%wh*1TT%mZ8SSZOPWi3|?qSge7&Cu_2y8t$ zz^`<e^{-m}va4!_00D6CnQQVUk3_lj_3q`068UXnh;a(_eFC^9riS`*(`0%uMZnSW#giih%#zvZtRGNRae$HZXkKz89oR^Ek^)E4>6#6E zft1YO%^x#>O@M%l^ce%t1Ra2BzfjmNJbrgb0PMh&07uU*jtGDqn00>v{=sx#z`PW| zBoROg0$3yj_ygrHlpB=DCk$XCB7lvE05&25(1^dI{E6}jr58}L8?iCFF$G{ZVjQ3w zgET1HfdtS9q%aNM%@Z5S+y%Hu6C285HW0!j5ds33u;8>7paHr7h1@7<6kUKqZlqrU z8f*pxXuy3aZ8Av22mpU#1kr%b-=g#a9$SD_A$?{6qyoW)0Ecq{Osxt>sQ_k+Kmd+s z9*s1fMFkm+G@io%iG8#r_R*5qM+-e$!T`yk02;kW?BgvE&@Vd!(38>&s1n2X3M9wp z$L9$|W^}n$f&dRc&<94CXh+M}FGryB(YH5WM|W@k4Fs$nepr7IKp|j>06@Su1l)xJ zM1!bMm(lCxWu)OUdh_ivdV3ex1!sd1zDJH;V#%?5#S*4K1SiKQSLavg1-fCk1OXBp zNmt+R#`E&3EKkbgD7ud7vK`>$iU8vWQ8a#!#h-Y31x|1zmsc?UtZv6&%G>eH${+I^ z04NAh>cO}y-;aM+tL;>Pa{?Sg^jTd;U&`y~W_7(C0LTk~8hl0#zMuv-TWUb*55LB@ z^=DhaJ%{r>WVZlbI-u19`tv0-hHgf&IXhL?Rr87VL_LuN@^8*f<{4U0r~r*RGXT)` zVxXDm4uI?0UC3e+29W7ZAD~iVGeG9W1_3-tTLJPoUI%}m$v10Yw4FqwHZiPgV8Xiq zh4BEoUD)6S$aDqh_rg5^xx(n6jUudiHKK{eHb7<>*@*2(1ez(N4d2jcy3o!q=JZ2D zUIAp55$M}^)>yWb9}i&2P5@c8w!jN*Y%$tXc5vU|(naR7fvh|-pgFBfv))uEX@Iwa zqryc>X0v}m!7Gnu4FJ`|w62;o0aX}fvScLyW2!X*4N z0I6d@q4XvIo2(wMHXG!!^2h+Ult8Nq9)L4q6M)&EsBHkX5%mTm3ZNQ`dBccXcp=Vw zUbruyxxCN-)H#9xxjhtsax0Hw#K!Uh7z^OE(8wbZ?vPd+IUC5z Date: Sun, 15 Jan 2023 12:32:10 -0500 Subject: [PATCH 53/62] Colorize tourney_info_card.png --- .../battle_frontier/tourney_info_card.png | Bin 1606 -> 2461 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/battle_frontier/tourney_info_card.png b/graphics/battle_frontier/tourney_info_card.png index a3c225c89d2706063d62e497e5a6541e6e896385..e6fff76ae9f7c397533fa5937cb544726459f49c 100644 GIT binary patch literal 2461 zcmeHITU1kL7Cz^Y6G9RsqJS3$f&_!gRW1dk5{#j!sEBwWfCNxciV%enXri106hWwh zSQQ&2wOAKZc z1oXK6Uj+bAYxN3T+oF{U1cEfF=p!!eQq$9ljKdXLg%Qb>78%bXkulA!RTcTC zaa$D9e-G*E(yO&_J#_C5(?m3A}Z7eCc z@o8%9oTT43saAn^b#*Cl1&-_0RmSEPz2v_sM!|C+4pd1b_@=ov|L4AQbnSn{&oN|4 z#{NI;55Iwr@AdmKd^#Ov06^TlaYIl2@b*svi&ab-;vMXIY7LEIKrGCtHwkrE#${ zMQ4yfZ-uKciX`&8urWe`AcZ7f^yT4j-Y#N({gtKnVs^lUj{TTzYp~l(LLUtJQ_JJ8 z)A$yh@irl#WTd29=um7ECw#A6zul)0*>*f6ZqMUo1bGft!5~rJklbJR4ey8J&5O-S z#{W(?*9sdRJVXwby`wz}&dRQIK`O2T&l6hulh+8jH?d;sxl9f=Z#Ws;p4^Zh|E}w2 zBywQgy~>ylB%Jm<;c1>CUCSmLmf2bHFU*G?l|WkcxRL>8aQ?Ar_)I_rC*qfUz0li% zz;#0k45)km%N0?#-_=OD>)1%bxK^4_vT1SUMAC?u33{zLo%ky>`#MP_P zT{O=UzUFF`v{PsxG>t_0@11uIQv#_5?o(8kl|8pIZeJJLivt;sMP|HDXB{209AC=cQut3tVeZ7%i)ZjM$o2RtEqNl= z#*gc^6S|u^5pN))X)3<|n$j_usrNkFCOmy*OnYxRC2v&e^28#2zoz>vvc<$nQ@Mhd z`Y>i3*}n`h*+HUevUjT3Bwj&-?R-_9=S5d!S^H`$5|MewJ`Fo^3Ty9#X3s@n)NdYe zH>$!Gs>s)tfV&Tes~+9i*fn%QNcVcInJB`p|=N#<0^qv{{ zdE8$PuS(r;!-4R4Er}VQbCZY`i5WDen;TykiS5(9N$xvoR=C5mp3NJE+Bdhb{C1E# z;vqkav6H%?N|$=_@sytv1DDgiFjy~G&VyR$s_6hG-zfy7b|pGz2YBtZ*)z3n8(jOu z6I{r&@#CQ0xg78sKZH>GtLYGE!xCJrvPScrIckVNfpO4D;l>b8fa(ns)W%qI&`8_Y}|Ykl+61&b<8 zH$mw`!EnkW!n(^8O#@0#Dfa5?a2s5e62n_%H+ts7hh~Uij0Q{JKECG zXh_5CWQChFynO|ue$~9jUBJXuj7{n>OkO^BrxS{1+%NMfv7-Bw%%|5KOJHN4JCF*N zh>2AMk4cZ*2aqQJP~)3Jh((a{O;&-`Fx_Jyznb;v`)G-iHxaZKHH`>S#RYl=-!9bQ zSkRfrKY4xmkXF1++DvTAMY^YY>F4ifG|!|a@$}oQb(6BS;B4>Mx2ywT_H$oJRFR|Z zolkn)hvN-(3v~@_=xn=NMc#W4(@d~6mfSH(;%r~|fBS=Mbz1mn*!#C`b05z}&ejdJ I>v=i<1egGOA^-pY delta 1601 zcmV-H2EO^76UGdX7=Hu+0001+V$6B~00s?7L_t(|obA`YYa3Y*2k`qBwi85^TbE9E z?fM7^QstR|;&k4|!B?s|0tN>b1lODUE8^I~;Y9)$;fgF**|;#v5y<%tbZm9)p_}i_ zyxq5}T}g?rd}GVnmGnM4^L}al-GZW^NGXz*FcdGXwR$=$?tjhs%Sn>ZZ$dBI@74kM z5E?XrxxTO#K-7Tbfk1MwF_3XI0qT;CfLB@e5Fo4KTL8WKuOoy5^mrM-I4@!eK-ykf z|0LAF9GJ2b6$F5bGw{#AatMGXBfmWZn$B#bz`zIM3&X*{E3X4S3EGxH4H%eiK;Azv z+NCpeYYVW)e1BDfl=Oj)9Iz$>ZmT2lO0O*f8dMo%Go;Z19C?5%;#1kNOMtbLc^iPC zY)+&`CmwPMMKLb{NaeEhd|rL_ZdCRMnJ>PE|1s@nDRSA|0uzw!VF^nC+WlEPHrs>xKlM0~nFU)1F zgz4S%D*!5BOhf5L;SU06FDFrqV*~&2! zFL>bGV!)nYbVJz$z*^v$Y10$;9aH2K8v+ThMzp_7<8qV3ea42sUQ+G{CqI%f7Bppm~=51`ZW zC;`-Ps`2lOPo0461gr<#yvTgu)(2GhWq%p4)&YzBrncg4M*_GKd8k(ci~5SoZv}Ao zjx_)uxRIOc9381sAs1+|z;h-;TVCA(JdqrLNwM>|nsq*4WODJ{b0;wR^T!2GCJi6R zZ$~2qKDGiFcL!K6@E)G2{b~T?Ui?-ETm}jh0({tS2WZ?YV28s2@*h+I;C&~6aeps? zojQOHRp3-+pJrGCXxts}4nv`Pg1nRGm;*Hco$P>n`B$g_ptra8{v>i&bb#BP|39FR zTT>rMn!wrC*7ieyEkqNrCE#i(f%^uqwFJ~gVJ&dh1m^W&EL;r)$QGZ}fvpBGx7~nL zR|n3TKyxA?26z&4k$ z3eXzv{R({G>>&UuSPRVUOe(-EnAf*609zGcKehpd>jM9uO*aZ|Eo=Zp5&nMerN_Of zm%7(J_p_^h)X&_iM?cqqato$L{FJ80Q52=}T0e`j?26920e5}6GGDbPfPZAu&$7M% zkuLfIN-IEDPPKx_0d#c&xcyoH2{4eRk;?!HP()=0GX@S@``|4ym**Y>I7arA!)lD%M`a|Nim4&_=PqCSk=go1#>EA*e- zuv8^9r?U3J+lYFRCj_T({D@zpUVO_bTs>L|VAVybuE2;_1Fyu03Me984Tbyi!QQb9 zL_MmYTEa4o`d8=yckTeUSJZ%qL;wO1fB*y_009U<00Izz00bZa0Xhgk00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKqLMG>Lg$p$Hw3400000NkvXXu0mjf0p#7j From 15431bd3974e29947e1fccd23d22055805423197 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 17 Jan 2023 15:25:39 -0500 Subject: [PATCH 54/62] Add initial mapsjon type conversions --- tools/mapjson/mapjson.cpp | 279 ++++++++++++++++++++++++-------------- 1 file changed, 176 insertions(+), 103 deletions(-) diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp index f78002e28c..526aa5f32a 100644 --- a/tools/mapjson/mapjson.cpp +++ b/tools/mapjson/mapjson.cpp @@ -60,13 +60,86 @@ void write_text_file(string filepath, string text) { out_file.close(); } +// Json values do not implicitly convert types. This will handle converting them +// if the user's JSON data is not the expected type (which may happen if e.g. it's +// written that way by a different version of Porymap). +string json_to_string(const Json &value) { + string output = ""; + switch (value.type()) { + case Json::Type::STRING: + output = value.string_value(); + break; + case Json::Type::NUMBER: + output = std::to_string(value.int_value()); + break; + case Json::Type::BOOL: + output = value.bool_value() ? "TRUE" : "FALSE"; + break; + default: + FATAL_ERROR("Value for %s is unexpected type; expected string.\n", /*field.c_str()*/ "JSON field"); + } + + if (output.empty()) + FATAL_ERROR("Value for %s cannot be empty.\n", /*field.c_str()*/ "JSON field"); + + return output; +} + +int json_to_int(const Json &value) { + switch (value.type()) { + case Json::Type::STRING: { + string s = value.string_value(); + if (s == "TRUE" || s == "true") return 1; + if (s == "FALSE" || s == "false") return 0; + int num; + try { + num = stoi(s); + } catch(std::invalid_argument& e){ + FATAL_ERROR("Unable to convert value %s for %s to int.\n", s.c_str(), /*field.c_str()*/ "JSON field"); + } + return num; + } + case Json::Type::NUMBER: + return value.int_value(); + case Json::Type::BOOL: + return value.bool_value() ? 0 : 1; + default: + FATAL_ERROR("Value for %s is unexpected type; expected int.\n", /*field.c_str()*/ "JSON field"); + } + return 0; +} + +bool json_to_bool(const Json &value) { + switch (value.type()) { + case Json::Type::STRING: { + string s = value.string_value(); + if (s == "TRUE" || s == "true") return true; + if (s == "FALSE" || s == "false") return false; + int num; + try { + num = stoi(s); + } catch(std::invalid_argument& e){ + FATAL_ERROR("Value %s for %s is unexpected type; expected bool\n", e.what(), /*field.c_str()*/ "JSON field"); + } + return num != 0; + } + case Json::Type::NUMBER: + return value.int_value() != 0; + case Json::Type::BOOL: + return value.bool_value(); + default: + FATAL_ERROR("Value for %s is unexpected type; expected bool.\n", /*field.c_str()*/ "JSON field"); + } + return false; +} + string generate_map_header_text(Json map_data, Json layouts_data, string version) { - string map_layout_id = map_data["layout"].string_value(); + string map_layout_id = json_to_string(map_data["layout"]); vector matched; for (auto &field : layouts_data["layouts"].array_items()) { - if (map_layout_id == field["id"].string_value()) + if (map_layout_id == json_to_string(field["id"])) matched.push_back(field); } @@ -78,46 +151,46 @@ 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() + << json_to_string(map_data["name"]) << "/map.json\n@\n\n"; - text << map_data["name"].string_value() << ":\n" - << "\t.4byte " << layout["name"].string_value() << "\n"; + text << json_to_string(map_data["name"]) << ":\n" + << "\t.4byte " << json_to_string(layout["name"]) << "\n"; if (map_data.object_items().find("shared_events_map") != map_data.object_items().end()) - text << "\t.4byte " << map_data["shared_events_map"].string_value() << "_MapEvents\n"; + text << "\t.4byte " << json_to_string(map_data["shared_events_map"]) << "_MapEvents\n"; else - text << "\t.4byte " << map_data["name"].string_value() << "_MapEvents\n"; + text << "\t.4byte " << json_to_string(map_data["name"]) << "_MapEvents\n"; if (map_data.object_items().find("shared_scripts_map") != map_data.object_items().end()) - text << "\t.4byte " << map_data["shared_scripts_map"].string_value() << "_MapScripts\n"; + text << "\t.4byte " << json_to_string(map_data["shared_scripts_map"]) << "_MapScripts\n"; else - text << "\t.4byte " << map_data["name"].string_value() << "_MapScripts\n"; + text << "\t.4byte " << json_to_string(map_data["name"]) << "_MapScripts\n"; if (map_data.object_items().find("connections") != map_data.object_items().end() && map_data["connections"].array_items().size() > 0) - text << "\t.4byte " << map_data["name"].string_value() << "_MapConnections\n"; + text << "\t.4byte " << json_to_string(map_data["name"]) << "_MapConnections\n"; else text << "\t.4byte 0x0\n"; - text << "\t.2byte " << map_data["music"].string_value() << "\n" - << "\t.2byte " << layout["id"].string_value() << "\n" - << "\t.byte " << map_data["region_map_section"].string_value() << "\n" - << "\t.byte " << map_data["requires_flash"].bool_value() << "\n" - << "\t.byte " << map_data["weather"].string_value() << "\n" - << "\t.byte " << map_data["map_type"].string_value() << "\n" + text << "\t.2byte " << json_to_string(map_data["music"]) << "\n" + << "\t.2byte " << json_to_string(layout["id"]) << "\n" + << "\t.byte " << json_to_string(map_data["region_map_section"]) << "\n" + << "\t.byte " << json_to_bool(map_data["requires_flash"]) << "\n" + << "\t.byte " << json_to_string(map_data["weather"]) << "\n" + << "\t.byte " << json_to_string(map_data["map_type"]) << "\n" << "\t.2byte 0\n"; if (version == "ruby") - text << "\t.byte " << map_data["show_map_name"].bool_value() << "\n"; + text << "\t.byte " << json_to_bool(map_data["show_map_name"]) << "\n"; else if (version == "emerald") text << "\tmap_header_flags " - << "allow_cycling=" << map_data["allow_cycling"].bool_value() << ", " - << "allow_escaping=" << map_data["allow_escaping"].bool_value() << ", " - << "allow_running=" << map_data["allow_running"].bool_value() << ", " - << "show_map_name=" << map_data["show_map_name"].bool_value() << "\n"; + << "allow_cycling=" << json_to_bool(map_data["allow_cycling"]) << ", " + << "allow_escaping=" << json_to_bool(map_data["allow_escaping"]) << ", " + << "allow_running=" << json_to_bool(map_data["allow_running"]) << ", " + << "show_map_name=" << json_to_bool(map_data["show_map_name"]) << "\n"; - text << "\t.byte " << map_data["battle_scene"].string_value() << "\n\n"; + text << "\t.byte " << json_to_string(map_data["battle_scene"]) << "\n\n"; return text.str(); } @@ -129,21 +202,21 @@ 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() + << json_to_string(map_data["name"]) << "/map.json\n@\n\n"; - text << map_data["name"].string_value() << "_MapConnectionsList:\n"; + text << json_to_string(map_data["name"]) << "_MapConnectionsList:\n"; for (auto &connection : map_data["connections"].array_items()) { text << "\tconnection " - << connection["direction"].string_value() << ", " - << connection["offset"].int_value() << ", " - << connection["map"].string_value() << "\n"; + << json_to_string(connection["direction"]) << ", " + << json_to_int(connection["offset"]) << ", " + << json_to_string(connection["map"]) << "\n"; } - text << "\n" << map_data["name"].string_value() << "_MapConnections:\n" + text << "\n" << json_to_string(map_data["name"]) << "_MapConnections:\n" << "\t.4byte " << map_data["connections"].array_items().size() << "\n" - << "\t.4byte " << map_data["name"].string_value() << "_MapConnectionsList\n\n"; + << "\t.4byte " << json_to_string(map_data["name"]) << "_MapConnectionsList\n\n"; return text.str(); } @@ -155,28 +228,28 @@ 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() + << json_to_string(map_data["name"]) << "/map.json\n@\n\n"; string objects_label, warps_label, coords_label, bgs_label; if (map_data["object_events"].array_items().size() > 0) { - objects_label = map_data["name"].string_value() + "_ObjectEvents"; + objects_label = json_to_string(map_data["name"]) + "_ObjectEvents"; text << objects_label << ":\n"; for (unsigned int i = 0; i < map_data["object_events"].array_items().size(); i++) { auto obj_event = map_data["object_events"].array_items()[i]; text << "\tobject_event " << i + 1 << ", " - << obj_event["graphics_id"].string_value() << ", 0, " - << obj_event["x"].int_value() << ", " - << obj_event["y"].int_value() << ", " - << obj_event["elevation"].int_value() << ", " - << obj_event["movement_type"].string_value() << ", " - << obj_event["movement_range_x"].int_value() << ", " - << obj_event["movement_range_y"].int_value() << ", " - << obj_event["trainer_type"].string_value() << ", " - << obj_event["trainer_sight_or_berry_tree_id"].string_value() << ", " - << obj_event["script"].string_value() << ", " - << obj_event["flag"].string_value() << "\n"; + << json_to_string(obj_event["graphics_id"]) << ", 0, " + << json_to_int(obj_event["x"]) << ", " + << json_to_int(obj_event["y"]) << ", " + << json_to_int(obj_event["elevation"]) << ", " + << json_to_string(obj_event["movement_type"]) << ", " + << json_to_int(obj_event["movement_range_x"]) << ", " + << json_to_int(obj_event["movement_range_y"]) << ", " + << json_to_string(obj_event["trainer_type"]) << ", " + << json_to_string(obj_event["trainer_sight_or_berry_tree_id"]) << ", " + << json_to_string(obj_event["script"]) << ", " + << json_to_string(obj_event["flag"]) << "\n"; } text << "\n"; } else { @@ -184,15 +257,15 @@ string generate_map_events_text(Json map_data) { } if (map_data["warp_events"].array_items().size() > 0) { - warps_label = map_data["name"].string_value() + "_MapWarps"; + warps_label = json_to_string(map_data["name"]) + "_MapWarps"; text << warps_label << ":\n"; for (auto &warp_event : map_data["warp_events"].array_items()) { text << "\twarp_def " - << warp_event["x"].int_value() << ", " - << warp_event["y"].int_value() << ", " - << warp_event["elevation"].int_value() << ", " - << warp_event["dest_warp_id"].string_value() << ", " - << warp_event["dest_map"].string_value() << "\n"; + << json_to_int(warp_event["x"]) << ", " + << json_to_int(warp_event["y"]) << ", " + << json_to_int(warp_event["elevation"]) << ", " + << json_to_string(warp_event["dest_warp_id"]) << ", " + << json_to_string(warp_event["dest_map"]) << "\n"; } text << "\n"; } else { @@ -200,24 +273,24 @@ string generate_map_events_text(Json map_data) { } if (map_data["coord_events"].array_items().size() > 0) { - coords_label = map_data["name"].string_value() + "_MapCoordEvents"; + coords_label = json_to_string(map_data["name"]) + "_MapCoordEvents"; text << coords_label << ":\n"; for (auto &coord_event : map_data["coord_events"].array_items()) { - if (coord_event["type"].string_value() == "trigger") { + if (json_to_string(coord_event["type"]) == "trigger") { text << "\tcoord_event " - << coord_event["x"].int_value() << ", " - << coord_event["y"].int_value() << ", " - << coord_event["elevation"].int_value() << ", " - << coord_event["var"].string_value() << ", " - << coord_event["var_value"].string_value() << ", " - << coord_event["script"].string_value() << "\n"; + << json_to_int(coord_event["x"]) << ", " + << json_to_int(coord_event["y"]) << ", " + << json_to_int(coord_event["elevation"]) << ", " + << json_to_string(coord_event["var"]) << ", " + << json_to_string(coord_event["var_value"]) << ", " + << json_to_string(coord_event["script"]) << "\n"; } else if (coord_event["type"] == "weather") { text << "\tcoord_weather_event " - << coord_event["x"].int_value() << ", " - << coord_event["y"].int_value() << ", " - << coord_event["elevation"].int_value() << ", " - << coord_event["weather"].string_value() << "\n"; + << json_to_int(coord_event["x"]) << ", " + << json_to_int(coord_event["y"]) << ", " + << json_to_int(coord_event["elevation"]) << ", " + << json_to_string(coord_event["weather"]) << "\n"; } } text << "\n"; @@ -226,31 +299,31 @@ string generate_map_events_text(Json map_data) { } if (map_data["bg_events"].array_items().size() > 0) { - bgs_label = map_data["name"].string_value() + "_MapBGEvents"; + bgs_label = json_to_string(map_data["name"]) + "_MapBGEvents"; text << bgs_label << ":\n"; for (auto &bg_event : map_data["bg_events"].array_items()) { if (bg_event["type"] == "sign") { text << "\tbg_sign_event " - << bg_event["x"].int_value() << ", " - << bg_event["y"].int_value() << ", " - << bg_event["elevation"].int_value() << ", " - << bg_event["player_facing_dir"].string_value() << ", " - << bg_event["script"].string_value() << "\n"; + << json_to_int(bg_event["x"]) << ", " + << json_to_int(bg_event["y"]) << ", " + << json_to_int(bg_event["elevation"]) << ", " + << json_to_string(bg_event["player_facing_dir"]) << ", " + << json_to_string(bg_event["script"]) << "\n"; } else if (bg_event["type"] == "hidden_item") { text << "\tbg_hidden_item_event " - << bg_event["x"].int_value() << ", " - << bg_event["y"].int_value() << ", " - << bg_event["elevation"].int_value() << ", " - << bg_event["item"].string_value() << ", " - << bg_event["flag"].string_value() << "\n"; + << json_to_int(bg_event["x"]) << ", " + << json_to_int(bg_event["y"]) << ", " + << json_to_int(bg_event["elevation"]) << ", " + << json_to_string(bg_event["item"]) << ", " + << json_to_string(bg_event["flag"]) << "\n"; } else if (bg_event["type"] == "secret_base") { text << "\tbg_secret_base_event " - << bg_event["x"].int_value() << ", " - << bg_event["y"].int_value() << ", " - << bg_event["elevation"].int_value() << ", " - << bg_event["secret_base_id"].string_value() << "\n"; + << json_to_int(bg_event["x"]) << ", " + << json_to_int(bg_event["y"]) << ", " + << json_to_int(bg_event["elevation"]) << ", " + << json_to_string(bg_event["secret_base_id"]) << "\n"; } } text << "\n"; @@ -258,7 +331,7 @@ string generate_map_events_text(Json map_data) { bgs_label = "0x0"; } - text << map_data["name"].string_value() << "_MapEvents::\n" + text << json_to_string(map_data["name"]) << "_MapEvents::\n" << "\tmap_events " << objects_label << ", " << warps_label << ", " << coords_label << ", " << bgs_label << "\n\n"; @@ -301,17 +374,17 @@ string generate_groups_text(Json groups_data) { text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n"; for (auto &key : groups_data["group_order"].array_items()) { - string group = key.string_value(); + string group = json_to_string(key); text << group << "::\n"; auto maps = groups_data[group].array_items(); for (Json &map_name : maps) - text << "\t.4byte " << map_name.string_value() << "\n"; + text << "\t.4byte " << json_to_string(map_name) << "\n"; text << "\n"; } text << "\t.align 2\n" << "gMapGroups::\n"; for (auto &group : groups_data["group_order"].array_items()) - text << "\t.4byte " << group.string_value() << "\n"; + text << "\t.4byte " << json_to_string(group) << "\n"; text << "\n"; return text.str(); @@ -321,7 +394,7 @@ string generate_connections_text(Json groups_data) { vector map_names; for (auto &group : groups_data["group_order"].array_items()) - for (auto map_name : groups_data[group.string_value()].array_items()) + for (auto map_name : groups_data[json_to_string(group)].array_items()) map_names.push_back(map_name); vector connections_include_order = groups_data["connections_include_order"].array_items(); @@ -342,7 +415,7 @@ string generate_connections_text(Json groups_data) { text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n"; for (Json map_name : map_names) - text << "\t.include \"data/maps/" << map_name.string_value() << "/connections.inc\"\n"; + text << "\t.include \"data/maps/" << json_to_string(map_name) << "/connections.inc\"\n"; return text.str(); } @@ -351,8 +424,8 @@ string generate_headers_text(Json groups_data) { vector map_names; for (auto &group : groups_data["group_order"].array_items()) - for (auto map_name : groups_data[group.string_value()].array_items()) - map_names.push_back(map_name.string_value()); + for (auto map_name : groups_data[json_to_string(group)].array_items()) + map_names.push_back(json_to_string(map_name)); ostringstream text; @@ -368,8 +441,8 @@ string generate_events_text(Json groups_data) { vector map_names; for (auto &group : groups_data["group_order"].array_items()) - for (auto map_name : groups_data[group.string_value()].array_items()) - map_names.push_back(map_name.string_value()); + for (auto map_name : groups_data[json_to_string(group)].array_items()) + map_names.push_back(json_to_string(map_name)); ostringstream text; @@ -395,22 +468,22 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) { int group_num = 0; for (auto &group : groups_data["group_order"].array_items()) { - text << "// " << group.string_value() << "\n"; + text << "// " << json_to_string(group) << "\n"; vector map_ids; size_t max_length = 0; - for (auto &map_name : groups_data[group.string_value()].array_items()) { - string header_filepath = file_dir + map_name.string_value() + dir_separator + "map.json"; + for (auto &map_name : groups_data[json_to_string(group)].array_items()) { + string header_filepath = file_dir + json_to_string(map_name) + dir_separator + "map.json"; string err_str; Json map_data = Json::parse(read_text_file(header_filepath), err_str); map_ids.push_back(map_data["id"]); - if (map_data["id"].string_value().length() > max_length) - max_length = map_data["id"].string_value().length(); + if (json_to_string(map_data["id"]).length() > max_length) + max_length = json_to_string(map_data["id"]).length(); } int map_id_num = 0; for (Json map_id : map_ids) { - text << "#define " << map_id.string_value() << string((max_length - map_id.string_value().length() + 1), ' ') + text << "#define " << json_to_string(map_id) << string((max_length - json_to_string(map_id).length() + 1), ' ') << "(" << map_id_num++ << " | (" << group_num << " << 8))\n"; } text << "\n"; @@ -453,20 +526,20 @@ string generate_layout_headers_text(Json layouts_data) { text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n@\n\n"; for (auto &layout : layouts_data["layouts"].array_items()) { - string border_label = layout["name"].string_value() + "_Border"; - string blockdata_label = layout["name"].string_value() + "_Blockdata"; + string border_label = json_to_string(layout["name"]) + "_Border"; + string blockdata_label = json_to_string(layout["name"]) + "_Blockdata"; text << border_label << "::\n" - << "\t.incbin \"" << layout["border_filepath"].string_value() << "\"\n\n" + << "\t.incbin \"" << json_to_string(layout["border_filepath"]) << "\"\n\n" << blockdata_label << "::\n" - << "\t.incbin \"" << layout["blockdata_filepath"].string_value() << "\"\n\n" + << "\t.incbin \"" << json_to_string(layout["blockdata_filepath"]) << "\"\n\n" << "\t.align 2\n" - << layout["name"].string_value() << "::\n" - << "\t.4byte " << layout["width"].int_value() << "\n" - << "\t.4byte " << layout["height"].int_value() << "\n" + << json_to_string(layout["name"]) << "::\n" + << "\t.4byte " << json_to_int(layout["width"]) << "\n" + << "\t.4byte " << json_to_int(layout["height"]) << "\n" << "\t.4byte " << border_label << "\n" << "\t.4byte " << blockdata_label << "\n" - << "\t.4byte " << layout["primary_tileset"].string_value() << "\n" - << "\t.4byte " << layout["secondary_tileset"].string_value() << "\n\n"; + << "\t.4byte " << json_to_string(layout["primary_tileset"]) << "\n" + << "\t.4byte " << json_to_string(layout["secondary_tileset"]) << "\n\n"; } return text.str(); @@ -478,10 +551,10 @@ string generate_layouts_table_text(Json layouts_data) { text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n@\n\n"; text << "\t.align 2\n" - << layouts_data["layouts_table_label"].string_value() << "::\n"; + << json_to_string(layouts_data["layouts_table_label"]) << "::\n"; for (auto &layout : layouts_data["layouts"].array_items()) - text << "\t.4byte " << layout["name"].string_value() << "\n"; + text << "\t.4byte " << json_to_string(layout["name"]) << "\n"; return text.str(); } @@ -496,7 +569,7 @@ string generate_layouts_constants_text(Json layouts_data) { int i = 0; for (auto &layout : layouts_data["layouts"].array_items()) - text << "#define " << layout["id"].string_value() << " " << ++i << "\n"; + text << "#define " << json_to_string(layout["id"]) << " " << ++i << "\n"; text << "\n#endif // GUARD_CONSTANTS_LAYOUTS_H\n"; From b836d9ebfb7707f06c92ba2386af68afc2d8b6d8 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 17 Jan 2023 15:40:39 -0500 Subject: [PATCH 55/62] Stop some redundant JSON reads --- tools/mapjson/mapjson.cpp | 62 +++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp index 526aa5f32a..139d395877 100644 --- a/tools/mapjson/mapjson.cpp +++ b/tools/mapjson/mapjson.cpp @@ -150,26 +150,26 @@ 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/" - << json_to_string(map_data["name"]) - << "/map.json\n@\n\n"; + string mapName = json_to_string(map_data["name"]); - text << json_to_string(map_data["name"]) << ":\n" + text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" << mapName << "/map.json\n@\n\n"; + + text << mapName << ":\n" << "\t.4byte " << json_to_string(layout["name"]) << "\n"; if (map_data.object_items().find("shared_events_map") != map_data.object_items().end()) text << "\t.4byte " << json_to_string(map_data["shared_events_map"]) << "_MapEvents\n"; else - text << "\t.4byte " << json_to_string(map_data["name"]) << "_MapEvents\n"; + text << "\t.4byte " << mapName << "_MapEvents\n"; if (map_data.object_items().find("shared_scripts_map") != map_data.object_items().end()) text << "\t.4byte " << json_to_string(map_data["shared_scripts_map"]) << "_MapScripts\n"; else - text << "\t.4byte " << json_to_string(map_data["name"]) << "_MapScripts\n"; + text << "\t.4byte " << mapName << "_MapScripts\n"; if (map_data.object_items().find("connections") != map_data.object_items().end() && map_data["connections"].array_items().size() > 0) - text << "\t.4byte " << json_to_string(map_data["name"]) << "_MapConnections\n"; + text << "\t.4byte " << mapName << "_MapConnections\n"; else text << "\t.4byte 0x0\n"; @@ -201,11 +201,11 @@ string generate_map_connections_text(Json map_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" - << json_to_string(map_data["name"]) - << "/map.json\n@\n\n"; + string mapName = json_to_string(map_data["name"]); - text << json_to_string(map_data["name"]) << "_MapConnectionsList:\n"; + text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" << mapName << "/map.json\n@\n\n"; + + text << mapName << "_MapConnectionsList:\n"; for (auto &connection : map_data["connections"].array_items()) { text << "\tconnection " @@ -214,9 +214,9 @@ string generate_map_connections_text(Json map_data) { << json_to_string(connection["map"]) << "\n"; } - text << "\n" << json_to_string(map_data["name"]) << "_MapConnections:\n" + text << "\n" << mapName << "_MapConnections:\n" << "\t.4byte " << map_data["connections"].array_items().size() << "\n" - << "\t.4byte " << json_to_string(map_data["name"]) << "_MapConnectionsList\n\n"; + << "\t.4byte " << mapName << "_MapConnectionsList\n\n"; return text.str(); } @@ -227,14 +227,14 @@ string generate_map_events_text(Json map_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" - << json_to_string(map_data["name"]) - << "/map.json\n@\n\n"; + string mapName = json_to_string(map_data["name"]); + + text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" << mapName << "/map.json\n@\n\n"; string objects_label, warps_label, coords_label, bgs_label; if (map_data["object_events"].array_items().size() > 0) { - objects_label = json_to_string(map_data["name"]) + "_ObjectEvents"; + objects_label = mapName + "_ObjectEvents"; text << objects_label << ":\n"; for (unsigned int i = 0; i < map_data["object_events"].array_items().size(); i++) { auto obj_event = map_data["object_events"].array_items()[i]; @@ -257,7 +257,7 @@ string generate_map_events_text(Json map_data) { } if (map_data["warp_events"].array_items().size() > 0) { - warps_label = json_to_string(map_data["name"]) + "_MapWarps"; + warps_label = mapName + "_MapWarps"; text << warps_label << ":\n"; for (auto &warp_event : map_data["warp_events"].array_items()) { text << "\twarp_def " @@ -273,7 +273,7 @@ string generate_map_events_text(Json map_data) { } if (map_data["coord_events"].array_items().size() > 0) { - coords_label = json_to_string(map_data["name"]) + "_MapCoordEvents"; + coords_label = mapName + "_MapCoordEvents"; text << coords_label << ":\n"; for (auto &coord_event : map_data["coord_events"].array_items()) { if (json_to_string(coord_event["type"]) == "trigger") { @@ -299,7 +299,7 @@ string generate_map_events_text(Json map_data) { } if (map_data["bg_events"].array_items().size() > 0) { - bgs_label = json_to_string(map_data["name"]) + "_MapBGEvents"; + bgs_label = mapName + "_MapBGEvents"; text << bgs_label << ":\n"; for (auto &bg_event : map_data["bg_events"].array_items()) { if (bg_event["type"] == "sign") { @@ -331,7 +331,7 @@ string generate_map_events_text(Json map_data) { bgs_label = "0x0"; } - text << json_to_string(map_data["name"]) << "_MapEvents::\n" + text << mapName << "_MapEvents::\n" << "\tmap_events " << objects_label << ", " << warps_label << ", " << coords_label << ", " << bgs_label << "\n\n"; @@ -468,22 +468,25 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) { int group_num = 0; for (auto &group : groups_data["group_order"].array_items()) { - text << "// " << json_to_string(group) << "\n"; + string groupName = json_to_string(group); + text << "// " << groupName << "\n"; vector map_ids; size_t max_length = 0; - for (auto &map_name : groups_data[json_to_string(group)].array_items()) { + for (auto &map_name : groups_data[groupName].array_items()) { string header_filepath = file_dir + json_to_string(map_name) + dir_separator + "map.json"; string err_str; Json map_data = Json::parse(read_text_file(header_filepath), err_str); map_ids.push_back(map_data["id"]); - if (json_to_string(map_data["id"]).length() > max_length) - max_length = json_to_string(map_data["id"]).length(); + string id = json_to_string(map_data["id"]); + if (id.length() > max_length) + max_length = id.length(); } int map_id_num = 0; for (Json map_id : map_ids) { - text << "#define " << json_to_string(map_id) << string((max_length - json_to_string(map_id).length() + 1), ' ') + string id = json_to_string(map_id); + text << "#define " << id << string((max_length - id.length() + 1), ' ') << "(" << map_id_num++ << " | (" << group_num << " << 8))\n"; } text << "\n"; @@ -526,14 +529,15 @@ string generate_layout_headers_text(Json layouts_data) { text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n@\n\n"; for (auto &layout : layouts_data["layouts"].array_items()) { - string border_label = json_to_string(layout["name"]) + "_Border"; - string blockdata_label = json_to_string(layout["name"]) + "_Blockdata"; + string layoutName = json_to_string(layout["name"]); + string border_label = layoutName + "_Border"; + string blockdata_label = layoutName + "_Blockdata"; text << border_label << "::\n" << "\t.incbin \"" << json_to_string(layout["border_filepath"]) << "\"\n\n" << blockdata_label << "::\n" << "\t.incbin \"" << json_to_string(layout["blockdata_filepath"]) << "\"\n\n" << "\t.align 2\n" - << json_to_string(layout["name"]) << "::\n" + << layoutName << "::\n" << "\t.4byte " << json_to_int(layout["width"]) << "\n" << "\t.4byte " << json_to_int(layout["height"]) << "\n" << "\t.4byte " << border_label << "\n" From 1e3b0e8d760ea70788c3cc01399ce6c48f994ef0 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 17 Jan 2023 16:00:09 -0500 Subject: [PATCH 56/62] Treat all mapjson fields as strings --- tools/mapjson/mapjson.cpp | 117 +++++++++++--------------------------- 1 file changed, 33 insertions(+), 84 deletions(-) diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp index 139d395877..29e1225b05 100644 --- a/tools/mapjson/mapjson.cpp +++ b/tools/mapjson/mapjson.cpp @@ -60,9 +60,6 @@ void write_text_file(string filepath, string text) { out_file.close(); } -// Json values do not implicitly convert types. This will handle converting them -// if the user's JSON data is not the expected type (which may happen if e.g. it's -// written that way by a different version of Porymap). string json_to_string(const Json &value) { string output = ""; switch (value.type()) { @@ -76,7 +73,7 @@ string json_to_string(const Json &value) { output = value.bool_value() ? "TRUE" : "FALSE"; break; default: - FATAL_ERROR("Value for %s is unexpected type; expected string.\n", /*field.c_str()*/ "JSON field"); + FATAL_ERROR("Value for %s is unexpected type; expected string, int, or bool.\n", /*field.c_str()*/ "JSON field"); } if (output.empty()) @@ -85,54 +82,6 @@ string json_to_string(const Json &value) { return output; } -int json_to_int(const Json &value) { - switch (value.type()) { - case Json::Type::STRING: { - string s = value.string_value(); - if (s == "TRUE" || s == "true") return 1; - if (s == "FALSE" || s == "false") return 0; - int num; - try { - num = stoi(s); - } catch(std::invalid_argument& e){ - FATAL_ERROR("Unable to convert value %s for %s to int.\n", s.c_str(), /*field.c_str()*/ "JSON field"); - } - return num; - } - case Json::Type::NUMBER: - return value.int_value(); - case Json::Type::BOOL: - return value.bool_value() ? 0 : 1; - default: - FATAL_ERROR("Value for %s is unexpected type; expected int.\n", /*field.c_str()*/ "JSON field"); - } - return 0; -} - -bool json_to_bool(const Json &value) { - switch (value.type()) { - case Json::Type::STRING: { - string s = value.string_value(); - if (s == "TRUE" || s == "true") return true; - if (s == "FALSE" || s == "false") return false; - int num; - try { - num = stoi(s); - } catch(std::invalid_argument& e){ - FATAL_ERROR("Value %s for %s is unexpected type; expected bool\n", e.what(), /*field.c_str()*/ "JSON field"); - } - return num != 0; - } - case Json::Type::NUMBER: - return value.int_value() != 0; - case Json::Type::BOOL: - return value.bool_value(); - default: - FATAL_ERROR("Value for %s is unexpected type; expected bool.\n", /*field.c_str()*/ "JSON field"); - } - return false; -} - string generate_map_header_text(Json map_data, Json layouts_data, string version) { string map_layout_id = json_to_string(map_data["layout"]); @@ -176,19 +125,19 @@ string generate_map_header_text(Json map_data, Json layouts_data, string version text << "\t.2byte " << json_to_string(map_data["music"]) << "\n" << "\t.2byte " << json_to_string(layout["id"]) << "\n" << "\t.byte " << json_to_string(map_data["region_map_section"]) << "\n" - << "\t.byte " << json_to_bool(map_data["requires_flash"]) << "\n" + << "\t.byte " << json_to_string(map_data["requires_flash"]) << "\n" << "\t.byte " << json_to_string(map_data["weather"]) << "\n" << "\t.byte " << json_to_string(map_data["map_type"]) << "\n" << "\t.2byte 0\n"; if (version == "ruby") - text << "\t.byte " << json_to_bool(map_data["show_map_name"]) << "\n"; + text << "\t.byte " << json_to_string(map_data["show_map_name"]) << "\n"; else if (version == "emerald") text << "\tmap_header_flags " - << "allow_cycling=" << json_to_bool(map_data["allow_cycling"]) << ", " - << "allow_escaping=" << json_to_bool(map_data["allow_escaping"]) << ", " - << "allow_running=" << json_to_bool(map_data["allow_running"]) << ", " - << "show_map_name=" << json_to_bool(map_data["show_map_name"]) << "\n"; + << "allow_cycling=" << json_to_string(map_data["allow_cycling"]) << ", " + << "allow_escaping=" << json_to_string(map_data["allow_escaping"]) << ", " + << "allow_running=" << json_to_string(map_data["allow_running"]) << ", " + << "show_map_name=" << json_to_string(map_data["show_map_name"]) << "\n"; text << "\t.byte " << json_to_string(map_data["battle_scene"]) << "\n\n"; @@ -210,7 +159,7 @@ string generate_map_connections_text(Json map_data) { for (auto &connection : map_data["connections"].array_items()) { text << "\tconnection " << json_to_string(connection["direction"]) << ", " - << json_to_int(connection["offset"]) << ", " + << json_to_string(connection["offset"]) << ", " << json_to_string(connection["map"]) << "\n"; } @@ -240,12 +189,12 @@ string generate_map_events_text(Json map_data) { auto obj_event = map_data["object_events"].array_items()[i]; text << "\tobject_event " << i + 1 << ", " << json_to_string(obj_event["graphics_id"]) << ", 0, " - << json_to_int(obj_event["x"]) << ", " - << json_to_int(obj_event["y"]) << ", " - << json_to_int(obj_event["elevation"]) << ", " + << json_to_string(obj_event["x"]) << ", " + << json_to_string(obj_event["y"]) << ", " + << json_to_string(obj_event["elevation"]) << ", " << json_to_string(obj_event["movement_type"]) << ", " - << json_to_int(obj_event["movement_range_x"]) << ", " - << json_to_int(obj_event["movement_range_y"]) << ", " + << json_to_string(obj_event["movement_range_x"]) << ", " + << json_to_string(obj_event["movement_range_y"]) << ", " << json_to_string(obj_event["trainer_type"]) << ", " << json_to_string(obj_event["trainer_sight_or_berry_tree_id"]) << ", " << json_to_string(obj_event["script"]) << ", " @@ -261,9 +210,9 @@ string generate_map_events_text(Json map_data) { text << warps_label << ":\n"; for (auto &warp_event : map_data["warp_events"].array_items()) { text << "\twarp_def " - << json_to_int(warp_event["x"]) << ", " - << json_to_int(warp_event["y"]) << ", " - << json_to_int(warp_event["elevation"]) << ", " + << json_to_string(warp_event["x"]) << ", " + << json_to_string(warp_event["y"]) << ", " + << json_to_string(warp_event["elevation"]) << ", " << json_to_string(warp_event["dest_warp_id"]) << ", " << json_to_string(warp_event["dest_map"]) << "\n"; } @@ -278,18 +227,18 @@ string generate_map_events_text(Json map_data) { for (auto &coord_event : map_data["coord_events"].array_items()) { if (json_to_string(coord_event["type"]) == "trigger") { text << "\tcoord_event " - << json_to_int(coord_event["x"]) << ", " - << json_to_int(coord_event["y"]) << ", " - << json_to_int(coord_event["elevation"]) << ", " + << json_to_string(coord_event["x"]) << ", " + << json_to_string(coord_event["y"]) << ", " + << json_to_string(coord_event["elevation"]) << ", " << json_to_string(coord_event["var"]) << ", " << json_to_string(coord_event["var_value"]) << ", " << json_to_string(coord_event["script"]) << "\n"; } else if (coord_event["type"] == "weather") { text << "\tcoord_weather_event " - << json_to_int(coord_event["x"]) << ", " - << json_to_int(coord_event["y"]) << ", " - << json_to_int(coord_event["elevation"]) << ", " + << json_to_string(coord_event["x"]) << ", " + << json_to_string(coord_event["y"]) << ", " + << json_to_string(coord_event["elevation"]) << ", " << json_to_string(coord_event["weather"]) << "\n"; } } @@ -304,25 +253,25 @@ string generate_map_events_text(Json map_data) { for (auto &bg_event : map_data["bg_events"].array_items()) { if (bg_event["type"] == "sign") { text << "\tbg_sign_event " - << json_to_int(bg_event["x"]) << ", " - << json_to_int(bg_event["y"]) << ", " - << json_to_int(bg_event["elevation"]) << ", " + << json_to_string(bg_event["x"]) << ", " + << json_to_string(bg_event["y"]) << ", " + << json_to_string(bg_event["elevation"]) << ", " << json_to_string(bg_event["player_facing_dir"]) << ", " << json_to_string(bg_event["script"]) << "\n"; } else if (bg_event["type"] == "hidden_item") { text << "\tbg_hidden_item_event " - << json_to_int(bg_event["x"]) << ", " - << json_to_int(bg_event["y"]) << ", " - << json_to_int(bg_event["elevation"]) << ", " + << json_to_string(bg_event["x"]) << ", " + << json_to_string(bg_event["y"]) << ", " + << json_to_string(bg_event["elevation"]) << ", " << json_to_string(bg_event["item"]) << ", " << json_to_string(bg_event["flag"]) << "\n"; } else if (bg_event["type"] == "secret_base") { text << "\tbg_secret_base_event " - << json_to_int(bg_event["x"]) << ", " - << json_to_int(bg_event["y"]) << ", " - << json_to_int(bg_event["elevation"]) << ", " + << json_to_string(bg_event["x"]) << ", " + << json_to_string(bg_event["y"]) << ", " + << json_to_string(bg_event["elevation"]) << ", " << json_to_string(bg_event["secret_base_id"]) << "\n"; } } @@ -538,8 +487,8 @@ string generate_layout_headers_text(Json layouts_data) { << "\t.incbin \"" << json_to_string(layout["blockdata_filepath"]) << "\"\n\n" << "\t.align 2\n" << layoutName << "::\n" - << "\t.4byte " << json_to_int(layout["width"]) << "\n" - << "\t.4byte " << json_to_int(layout["height"]) << "\n" + << "\t.4byte " << json_to_string(layout["width"]) << "\n" + << "\t.4byte " << json_to_string(layout["height"]) << "\n" << "\t.4byte " << border_label << "\n" << "\t.4byte " << blockdata_label << "\n" << "\t.4byte " << json_to_string(layout["primary_tileset"]) << "\n" From 713e1825bd8cf3cfacccfe48505ba46589cdb157 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 17 Jan 2023 16:11:15 -0500 Subject: [PATCH 57/62] Report JSON field names in errors --- tools/mapjson/mapjson.cpp | 166 ++++++++++++++++++++------------------ 1 file changed, 86 insertions(+), 80 deletions(-) diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp index 29e1225b05..1a3058f3da 100644 --- a/tools/mapjson/mapjson.cpp +++ b/tools/mapjson/mapjson.cpp @@ -60,7 +60,9 @@ void write_text_file(string filepath, string text) { out_file.close(); } -string json_to_string(const Json &value) { + +string json_to_string(const Json &data, const string &field = "") { + const Json value = !field.empty() ? data[field] : data; string output = ""; switch (value.type()) { case Json::Type::STRING: @@ -72,23 +74,27 @@ string json_to_string(const Json &value) { case Json::Type::BOOL: output = value.bool_value() ? "TRUE" : "FALSE"; break; - default: - FATAL_ERROR("Value for %s is unexpected type; expected string, int, or bool.\n", /*field.c_str()*/ "JSON field"); + default:{ + string s = !field.empty() ? ("Value for '" + field + "'") : "JSON field"; + FATAL_ERROR("%s is unexpected type; expected string, number, or bool.\n", s.c_str()); + } } - if (output.empty()) - FATAL_ERROR("Value for %s cannot be empty.\n", /*field.c_str()*/ "JSON field"); + if (output.empty()){ + string s = !field.empty() ? ("Value for '" + field + "'") : "JSON field"; + FATAL_ERROR("%s cannot be empty.\n", s.c_str()); + } return output; } string generate_map_header_text(Json map_data, Json layouts_data, string version) { - string map_layout_id = json_to_string(map_data["layout"]); + string map_layout_id = json_to_string(map_data, "layout"); vector matched; for (auto &field : layouts_data["layouts"].array_items()) { - if (map_layout_id == json_to_string(field["id"])) + if (map_layout_id == json_to_string(field, "id")) matched.push_back(field); } @@ -99,20 +105,20 @@ string generate_map_header_text(Json map_data, Json layouts_data, string version ostringstream text; - string mapName = json_to_string(map_data["name"]); + string mapName = json_to_string(map_data, "name"); text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" << mapName << "/map.json\n@\n\n"; text << mapName << ":\n" - << "\t.4byte " << json_to_string(layout["name"]) << "\n"; + << "\t.4byte " << json_to_string(layout, "name") << "\n"; if (map_data.object_items().find("shared_events_map") != map_data.object_items().end()) - text << "\t.4byte " << json_to_string(map_data["shared_events_map"]) << "_MapEvents\n"; + text << "\t.4byte " << json_to_string(map_data, "shared_events_map") << "_MapEvents\n"; else text << "\t.4byte " << mapName << "_MapEvents\n"; if (map_data.object_items().find("shared_scripts_map") != map_data.object_items().end()) - text << "\t.4byte " << json_to_string(map_data["shared_scripts_map"]) << "_MapScripts\n"; + text << "\t.4byte " << json_to_string(map_data, "shared_scripts_map") << "_MapScripts\n"; else text << "\t.4byte " << mapName << "_MapScripts\n"; @@ -122,24 +128,24 @@ string generate_map_header_text(Json map_data, Json layouts_data, string version else text << "\t.4byte 0x0\n"; - text << "\t.2byte " << json_to_string(map_data["music"]) << "\n" - << "\t.2byte " << json_to_string(layout["id"]) << "\n" - << "\t.byte " << json_to_string(map_data["region_map_section"]) << "\n" - << "\t.byte " << json_to_string(map_data["requires_flash"]) << "\n" - << "\t.byte " << json_to_string(map_data["weather"]) << "\n" - << "\t.byte " << json_to_string(map_data["map_type"]) << "\n" + text << "\t.2byte " << json_to_string(map_data, "music") << "\n" + << "\t.2byte " << json_to_string(layout, "id") << "\n" + << "\t.byte " << json_to_string(map_data, "region_map_section") << "\n" + << "\t.byte " << json_to_string(map_data, "requires_flash") << "\n" + << "\t.byte " << json_to_string(map_data, "weather") << "\n" + << "\t.byte " << json_to_string(map_data, "map_type") << "\n" << "\t.2byte 0\n"; if (version == "ruby") - text << "\t.byte " << json_to_string(map_data["show_map_name"]) << "\n"; + text << "\t.byte " << json_to_string(map_data, "show_map_name") << "\n"; else if (version == "emerald") text << "\tmap_header_flags " - << "allow_cycling=" << json_to_string(map_data["allow_cycling"]) << ", " - << "allow_escaping=" << json_to_string(map_data["allow_escaping"]) << ", " - << "allow_running=" << json_to_string(map_data["allow_running"]) << ", " - << "show_map_name=" << json_to_string(map_data["show_map_name"]) << "\n"; + << "allow_cycling=" << json_to_string(map_data, "allow_cycling") << ", " + << "allow_escaping=" << json_to_string(map_data, "allow_escaping") << ", " + << "allow_running=" << json_to_string(map_data, "allow_running") << ", " + << "show_map_name=" << json_to_string(map_data, "show_map_name") << "\n"; - text << "\t.byte " << json_to_string(map_data["battle_scene"]) << "\n\n"; + text << "\t.byte " << json_to_string(map_data, "battle_scene") << "\n\n"; return text.str(); } @@ -150,7 +156,7 @@ string generate_map_connections_text(Json map_data) { ostringstream text; - string mapName = json_to_string(map_data["name"]); + string mapName = json_to_string(map_data, "name"); text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" << mapName << "/map.json\n@\n\n"; @@ -158,9 +164,9 @@ string generate_map_connections_text(Json map_data) { for (auto &connection : map_data["connections"].array_items()) { text << "\tconnection " - << json_to_string(connection["direction"]) << ", " - << json_to_string(connection["offset"]) << ", " - << json_to_string(connection["map"]) << "\n"; + << json_to_string(connection, "direction") << ", " + << json_to_string(connection, "offset") << ", " + << json_to_string(connection, "map") << "\n"; } text << "\n" << mapName << "_MapConnections:\n" @@ -176,7 +182,7 @@ string generate_map_events_text(Json map_data) { ostringstream text; - string mapName = json_to_string(map_data["name"]); + string mapName = json_to_string(map_data, "name"); text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" << mapName << "/map.json\n@\n\n"; @@ -188,17 +194,17 @@ string generate_map_events_text(Json map_data) { for (unsigned int i = 0; i < map_data["object_events"].array_items().size(); i++) { auto obj_event = map_data["object_events"].array_items()[i]; text << "\tobject_event " << i + 1 << ", " - << json_to_string(obj_event["graphics_id"]) << ", 0, " - << json_to_string(obj_event["x"]) << ", " - << json_to_string(obj_event["y"]) << ", " - << json_to_string(obj_event["elevation"]) << ", " - << json_to_string(obj_event["movement_type"]) << ", " - << json_to_string(obj_event["movement_range_x"]) << ", " - << json_to_string(obj_event["movement_range_y"]) << ", " - << json_to_string(obj_event["trainer_type"]) << ", " - << json_to_string(obj_event["trainer_sight_or_berry_tree_id"]) << ", " - << json_to_string(obj_event["script"]) << ", " - << json_to_string(obj_event["flag"]) << "\n"; + << json_to_string(obj_event, "graphics_id") << ", 0, " + << json_to_string(obj_event, "x") << ", " + << json_to_string(obj_event, "y") << ", " + << json_to_string(obj_event, "elevation") << ", " + << json_to_string(obj_event, "movement_type") << ", " + << json_to_string(obj_event, "movement_range_x") << ", " + << json_to_string(obj_event, "movement_range_y") << ", " + << json_to_string(obj_event, "trainer_type") << ", " + << json_to_string(obj_event, "trainer_sight_or_berry_tree_id") << ", " + << json_to_string(obj_event, "script") << ", " + << json_to_string(obj_event, "flag") << "\n"; } text << "\n"; } else { @@ -210,11 +216,11 @@ string generate_map_events_text(Json map_data) { text << warps_label << ":\n"; for (auto &warp_event : map_data["warp_events"].array_items()) { text << "\twarp_def " - << json_to_string(warp_event["x"]) << ", " - << json_to_string(warp_event["y"]) << ", " - << json_to_string(warp_event["elevation"]) << ", " - << json_to_string(warp_event["dest_warp_id"]) << ", " - << json_to_string(warp_event["dest_map"]) << "\n"; + << json_to_string(warp_event, "x") << ", " + << json_to_string(warp_event, "y") << ", " + << json_to_string(warp_event, "elevation") << ", " + << json_to_string(warp_event, "dest_warp_id") << ", " + << json_to_string(warp_event, "dest_map") << "\n"; } text << "\n"; } else { @@ -225,21 +231,21 @@ string generate_map_events_text(Json map_data) { coords_label = mapName + "_MapCoordEvents"; text << coords_label << ":\n"; for (auto &coord_event : map_data["coord_events"].array_items()) { - if (json_to_string(coord_event["type"]) == "trigger") { + if (json_to_string(coord_event, "type") == "trigger") { text << "\tcoord_event " - << json_to_string(coord_event["x"]) << ", " - << json_to_string(coord_event["y"]) << ", " - << json_to_string(coord_event["elevation"]) << ", " - << json_to_string(coord_event["var"]) << ", " - << json_to_string(coord_event["var_value"]) << ", " - << json_to_string(coord_event["script"]) << "\n"; + << json_to_string(coord_event, "x") << ", " + << json_to_string(coord_event, "y") << ", " + << json_to_string(coord_event, "elevation") << ", " + << json_to_string(coord_event, "var") << ", " + << json_to_string(coord_event, "var_value") << ", " + << json_to_string(coord_event, "script") << "\n"; } else if (coord_event["type"] == "weather") { text << "\tcoord_weather_event " - << json_to_string(coord_event["x"]) << ", " - << json_to_string(coord_event["y"]) << ", " - << json_to_string(coord_event["elevation"]) << ", " - << json_to_string(coord_event["weather"]) << "\n"; + << json_to_string(coord_event, "x") << ", " + << json_to_string(coord_event, "y") << ", " + << json_to_string(coord_event, "elevation") << ", " + << json_to_string(coord_event, "weather") << "\n"; } } text << "\n"; @@ -253,26 +259,26 @@ string generate_map_events_text(Json map_data) { for (auto &bg_event : map_data["bg_events"].array_items()) { if (bg_event["type"] == "sign") { text << "\tbg_sign_event " - << json_to_string(bg_event["x"]) << ", " - << json_to_string(bg_event["y"]) << ", " - << json_to_string(bg_event["elevation"]) << ", " - << json_to_string(bg_event["player_facing_dir"]) << ", " - << json_to_string(bg_event["script"]) << "\n"; + << json_to_string(bg_event, "x") << ", " + << json_to_string(bg_event, "y") << ", " + << json_to_string(bg_event, "elevation") << ", " + << json_to_string(bg_event, "player_facing_dir") << ", " + << json_to_string(bg_event, "script") << "\n"; } else if (bg_event["type"] == "hidden_item") { text << "\tbg_hidden_item_event " - << json_to_string(bg_event["x"]) << ", " - << json_to_string(bg_event["y"]) << ", " - << json_to_string(bg_event["elevation"]) << ", " - << json_to_string(bg_event["item"]) << ", " - << json_to_string(bg_event["flag"]) << "\n"; + << json_to_string(bg_event, "x") << ", " + << json_to_string(bg_event, "y") << ", " + << json_to_string(bg_event, "elevation") << ", " + << json_to_string(bg_event, "item") << ", " + << json_to_string(bg_event, "flag") << "\n"; } else if (bg_event["type"] == "secret_base") { text << "\tbg_secret_base_event " - << json_to_string(bg_event["x"]) << ", " - << json_to_string(bg_event["y"]) << ", " - << json_to_string(bg_event["elevation"]) << ", " - << json_to_string(bg_event["secret_base_id"]) << "\n"; + << json_to_string(bg_event, "x") << ", " + << json_to_string(bg_event, "y") << ", " + << json_to_string(bg_event, "elevation") << ", " + << json_to_string(bg_event, "secret_base_id") << "\n"; } } text << "\n"; @@ -427,7 +433,7 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) { string err_str; Json map_data = Json::parse(read_text_file(header_filepath), err_str); map_ids.push_back(map_data["id"]); - string id = json_to_string(map_data["id"]); + string id = json_to_string(map_data, "id"); if (id.length() > max_length) max_length = id.length(); } @@ -478,21 +484,21 @@ string generate_layout_headers_text(Json layouts_data) { text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n@\n\n"; for (auto &layout : layouts_data["layouts"].array_items()) { - string layoutName = json_to_string(layout["name"]); + string layoutName = json_to_string(layout, "name"); string border_label = layoutName + "_Border"; string blockdata_label = layoutName + "_Blockdata"; text << border_label << "::\n" - << "\t.incbin \"" << json_to_string(layout["border_filepath"]) << "\"\n\n" + << "\t.incbin \"" << json_to_string(layout, "border_filepath") << "\"\n\n" << blockdata_label << "::\n" - << "\t.incbin \"" << json_to_string(layout["blockdata_filepath"]) << "\"\n\n" + << "\t.incbin \"" << json_to_string(layout, "blockdata_filepath") << "\"\n\n" << "\t.align 2\n" << layoutName << "::\n" - << "\t.4byte " << json_to_string(layout["width"]) << "\n" - << "\t.4byte " << json_to_string(layout["height"]) << "\n" + << "\t.4byte " << json_to_string(layout, "width") << "\n" + << "\t.4byte " << json_to_string(layout, "height") << "\n" << "\t.4byte " << border_label << "\n" << "\t.4byte " << blockdata_label << "\n" - << "\t.4byte " << json_to_string(layout["primary_tileset"]) << "\n" - << "\t.4byte " << json_to_string(layout["secondary_tileset"]) << "\n\n"; + << "\t.4byte " << json_to_string(layout, "primary_tileset") << "\n" + << "\t.4byte " << json_to_string(layout, "secondary_tileset") << "\n\n"; } return text.str(); @@ -504,10 +510,10 @@ string generate_layouts_table_text(Json layouts_data) { text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n@\n\n"; text << "\t.align 2\n" - << json_to_string(layouts_data["layouts_table_label"]) << "::\n"; + << json_to_string(layouts_data, "layouts_table_label") << "::\n"; for (auto &layout : layouts_data["layouts"].array_items()) - text << "\t.4byte " << json_to_string(layout["name"]) << "\n"; + text << "\t.4byte " << json_to_string(layout, "name") << "\n"; return text.str(); } @@ -522,7 +528,7 @@ string generate_layouts_constants_text(Json layouts_data) { int i = 0; for (auto &layout : layouts_data["layouts"].array_items()) - text << "#define " << json_to_string(layout["id"]) << " " << ++i << "\n"; + text << "#define " << json_to_string(layout, "id") << " " << ++i << "\n"; text << "\n#endif // GUARD_CONSTANTS_LAYOUTS_H\n"; From d68e81c2becd249c45c43733d1b4775749212353 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 17 Jan 2023 21:09:17 -0500 Subject: [PATCH 58/62] Clarify MB_SEMI_DEEP_WATER name --- include/constants/metatile_behaviors.h | 2 +- src/metatile_behavior.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h index 86f35ce50d..1f6d4e87cb 100755 --- a/include/constants/metatile_behaviors.h +++ b/include/constants/metatile_behaviors.h @@ -18,7 +18,7 @@ #define MB_MOSSDEEP_GYM_WARP 0x0E #define MB_MT_PYRE_HOLE 0x0F #define MB_POND_WATER 0x10 -#define MB_SEMI_DEEP_WATER 0x11 +#define MB_INTERIOR_DEEP_WATER 0x11 // Used by interior maps; functionally the same as MB_DEEP_WATER #define MB_DEEP_WATER 0x12 #define MB_WATERFALL 0x13 #define MB_SOOTOPOLIS_DEEP_WATER 0x14 diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index e35a5b29ac..924428aea4 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -23,7 +23,7 @@ static const u8 sTileBitAttributes[NUM_METATILE_BEHAVIORS] = [MB_MOSSDEEP_GYM_WARP] = TILE_FLAG_UNUSED, [MB_MT_PYRE_HOLE] = TILE_FLAG_UNUSED, [MB_POND_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, - [MB_SEMI_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, + [MB_INTERIOR_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, [MB_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS, [MB_WATERFALL] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, [MB_SOOTOPOLIS_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE, @@ -852,7 +852,7 @@ bool8 MetatileBehavior_IsMountain(u8 metatileBehavior) bool8 MetatileBehavior_IsDiveable(u8 metatileBehavior) { - if (metatileBehavior == MB_SEMI_DEEP_WATER + if (metatileBehavior == MB_INTERIOR_DEEP_WATER || metatileBehavior == MB_DEEP_WATER || metatileBehavior == MB_SOOTOPOLIS_DEEP_WATER) return TRUE; @@ -905,7 +905,7 @@ bool8 MetatileBehavior_IsCrackedIce(u8 metatileBehavior) bool8 MetatileBehavior_IsDeepOrOceanWater(u8 metatileBehavior) { if (metatileBehavior == MB_OCEAN_WATER - || metatileBehavior == MB_SEMI_DEEP_WATER + || metatileBehavior == MB_INTERIOR_DEEP_WATER || metatileBehavior == MB_DEEP_WATER) return TRUE; else @@ -1163,7 +1163,7 @@ bool8 MetatileBehavior_IsSurfableFishableWater(u8 metatileBehavior) { if (metatileBehavior == MB_POND_WATER || metatileBehavior == MB_OCEAN_WATER - || metatileBehavior == MB_SEMI_DEEP_WATER + || metatileBehavior == MB_INTERIOR_DEEP_WATER || metatileBehavior == MB_DEEP_WATER || metatileBehavior == MB_SOOTOPOLIS_DEEP_WATER || (metatileBehavior == MB_EASTWARD_CURRENT From a203c03eacb138e9bf9155a4e16503c09dd57c7f Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 18 Jan 2023 10:33:39 -0500 Subject: [PATCH 59/62] Add bugfix to LoadObjectEventPalette --- src/event_object_movement.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index e277e2a48a..af78b4f7ca 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1998,7 +1998,12 @@ static void LoadObjectEventPalette(u16 paletteTag) { u16 i = FindObjectEventPaletteIndexByTag(paletteTag); - if (i != OBJ_EVENT_PAL_TAG_NONE) // always true +// FindObjectEventPaletteIndexByTag returns 0xFF on failure, not OBJ_EVENT_PAL_TAG_NONE. +#ifdef BUGFIX + if (i != 0xFF) +#else + if (i != OBJ_EVENT_PAL_TAG_NONE) +#endif LoadSpritePaletteIfTagExists(&sObjectEventSpritePalettes[i]); } @@ -2021,6 +2026,7 @@ static u8 LoadSpritePaletteIfTagExists(const struct SpritePalette *spritePalette void PatchObjectPalette(u16 paletteTag, u8 paletteSlot) { + // paletteTag is assumed to exist in sObjectEventSpritePalettes u8 paletteIndex = FindObjectEventPaletteIndexByTag(paletteTag); LoadPalette(sObjectEventSpritePalettes[paletteIndex].data, 16 * paletteSlot + 0x100, 0x20); From d1e4bd44cea2837768d25d8d5254a0bcfa81f914 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 18 Jan 2023 11:54:06 -0500 Subject: [PATCH 60/62] Correct comment in maps.h --- include/constants/maps.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/constants/maps.h b/include/constants/maps.h index 626054b43f..1bf11fa5cc 100644 --- a/include/constants/maps.h +++ b/include/constants/maps.h @@ -14,8 +14,8 @@ // IDs for dynamic warps. Both are used in the dest_warp_id field for warp events, but they // are never read in practice. A dest_map of MAP_DYNAMIC is used to indicate that a -// dynamic warp should be used, at which point the warp id is ignored. It can be passed to -// SetDynamicWarp/SetDynamicWarpWithCoords as the first argument, but this argument is unused. +// dynamic warp should be used, at which point the warp id is ignored. They can be passed +// as the argument to SetWarpDestinationToDynamicWarp, but this argument is unused. // As only one dynamic warp is saved at a time there's no need to distinguish between them. #define WARP_ID_SECRET_BASE 0x7E #define WARP_ID_DYNAMIC 0x7F From b7d92e85373b0014487a13aa4f849240f4b0c9d7 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 18 Jan 2023 12:11:09 -0500 Subject: [PATCH 61/62] Revert incorrect constant usage, add new correct ones --- data/battle_anim_scripts.s | 34 ++++++++++++++++----------------- include/constants/battle_anim.h | 12 +++++++----- src/battle_anim_dark.c | 8 ++++---- src/battle_anim_mon_movement.c | 10 +++++----- 4 files changed, 33 insertions(+), 31 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 9568a3e5c0..4519761845 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2597,8 +2597,8 @@ Move_LOW_KICK: end Move_EARTHQUAKE: - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 10, 50 - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 10, 50 + createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 10, 50 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 10, 50 playsewithpan SE_M_EARTHQUAKE, 0 delay 10 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 @@ -2608,7 +2608,7 @@ Move_EARTHQUAKE: Move_FISSURE: loadspritegfx ANIM_TAG_MUD_SAND - createvisualtask AnimTask_HorizontalShake, 3, ANIM_PLAYER_RIGHT, 10, 50 + createvisualtask AnimTask_HorizontalShake, 3, (MAX_BATTLERS_COUNT + 1), 10, 50 createvisualtask AnimTask_HorizontalShake, 3, ANIM_TARGET, 10, 50 playsewithpan SE_M_EARTHQUAKE, SOUND_PAN_TARGET delay 8 @@ -2953,7 +2953,7 @@ SkyAttackSetUpAgainstPartner: delay 20 createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 1, 15, 0, RGB_WHITE waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, ANIM_PLAYER_LEFT, 1, 8, 0, RGB_BLACK + createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, 4, 1, 8, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -3182,15 +3182,15 @@ Move_DESTINY_BOND: playsewithpan SE_M_CONFUSE_RAY, SOUND_PAN_ATTACKER delay 48 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 24, 1 - createvisualtask AnimTask_BlendBattleAnimPalExclude, 2, ANIM_OPPONENT_LEFT, 1, 0, 12, RGB(29, 29, 29) + createvisualtask AnimTask_BlendBattleAnimPalExclude, 2, 6, 1, 0, 12, RGB(29, 29, 29) delay 24 - createvisualtask AnimTask_BlendBattleAnimPalExclude, 2, ANIM_OPPONENT_LEFT, 1, 12, 0, RGB(29, 29, 29) + createvisualtask AnimTask_BlendBattleAnimPalExclude, 2, 6, 1, 12, 0, RGB(29, 29, 29) playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET waitforvisualfinish restorebg waitbgfadein blendoff - clearmonbg ANIM_PLAYER_RIGHT + clearmonbg 5 end Move_ENDURE: @@ -3323,13 +3323,13 @@ Move_MAGNITUDE: MagnitudeEnd: end MagnitudeRegular: - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 0, 50 - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 0, 50 loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 10 goto MagnitudeEnd MagnitudeIntense: - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 0, 50 - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 0, 50 loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 10 delay 10 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 @@ -3814,8 +3814,8 @@ Move_ERUPTION: createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 110, -32, 64, 50, 0 createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 60, -32, 80, 70, 1 delay 22 - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 8, 60 - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 8, 60 + createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 8, 60 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 8, 60 loopsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET, 16, 12 delay 80 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 40, F_PAL_BG | F_PAL_BATTLERS, 4, 4, 0, RGB_RED @@ -3845,7 +3845,7 @@ Move_IMPRISON: waitforvisualfinish delay 4 createsprite gRedXSpriteTemplate, ANIM_ATTACKER, 5, ANIM_ATTACKER, 40 - createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 1, 10 + createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 1, 10 playsewithpan SE_M_HYPER_BEAM, SOUND_PAN_ATTACKER clearmonbg ANIM_DEF_PARTNER call UnsetPsychicBackground @@ -3915,7 +3915,7 @@ Move_LUSTER_PURGE: playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER createsprite gLusterPurgeCircleSpriteTemplate, ANIM_ATTACKER, 41, 0, 0, 0, 0 delay 20 - createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, ANIM_PLAYER_RIGHT, 2, 0, 16, RGB_WHITEALPHA + createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 0, 16, RGB_WHITEALPHA createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, 2, 0, 16, RGB_WHITEALPHA waitforvisualfinish createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 12, 12, RGB(0, 0, 23) @@ -7740,12 +7740,12 @@ Move_HEAL_BELL: unloadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_THIN_RING playsewithpan SE_SHINY, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, ANIM_PLAYER_LEFT, 3, 10, 0, RGB(12, 24, 30) + createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, 4, 3, 10, 0, RGB(12, 24, 30) createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATK_SIDE, 3, 10, 0, RGB_WHITE createsprite gBlendThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 16, 0, 0, 0, 1 end HealBellRing: - createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, ANIM_PLAYER_LEFT, 3, 8, 0, RGB(12, 24, 30) + createvisualtask AnimTask_BlendBattleAnimPalExclude, 10, 4, 3, 8, 0, RGB(12, 24, 30) createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATK_SIDE, 3, 2, 10, RGB_WHITE createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 0, 1 playsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 3952f8acde..c1cb42a41d 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -302,11 +302,13 @@ #define ANIM_TARGET 1 #define ANIM_ATK_PARTNER 2 #define ANIM_DEF_PARTNER 3 -#define ANIM_PLAYER_LEFT 4 -#define ANIM_PLAYER_RIGHT 5 -#define ANIM_OPPONENT_LEFT 6 -#define ANIM_OPPONENT_RIGHT 7 -#define ANIM_ATTACKER_FORCE 8 + +// Below are used by AnimTask_ShakeMon2 and AnimTask_SetGrayscaleOrOriginalPal +#define ANIM_PLAYER_LEFT (MAX_BATTLERS_COUNT + 0) +#define ANIM_PLAYER_RIGHT (MAX_BATTLERS_COUNT + 1) +#define ANIM_OPPONENT_LEFT (MAX_BATTLERS_COUNT + 2) +#define ANIM_OPPONENT_RIGHT (MAX_BATTLERS_COUNT + 3) +#define ANIM_ATTACKER_FORCE (MAX_BATTLERS_COUNT + 4) // stereo panning constants [0-255] // diff --git a/src/battle_anim_dark.c b/src/battle_anim_dark.c index deedccc6a9..03df99e135 100644 --- a/src/battle_anim_dark.c +++ b/src/battle_anim_dark.c @@ -943,19 +943,19 @@ void AnimTask_SetGrayscaleOrOriginalPal(u8 taskId) case ANIM_DEF_PARTNER: spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); break; - case 4: + case ANIM_PLAYER_LEFT: position = B_POSITION_PLAYER_LEFT; calcSpriteId = TRUE; break; - case 5: + case ANIM_PLAYER_RIGHT: position = B_POSITION_PLAYER_RIGHT; calcSpriteId = TRUE; break; - case 6: + case ANIM_OPPONENT_LEFT: position = B_POSITION_OPPONENT_LEFT; calcSpriteId = TRUE; break; - case 7: + case ANIM_OPPONENT_RIGHT: position = B_POSITION_OPPONENT_RIGHT; calcSpriteId = TRUE; break; diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 8a11c2c5b5..247aba1a42 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -164,20 +164,20 @@ void AnimTask_ShakeMon2(u8 taskId) if (spriteId == SPRITE_NONE) abort = TRUE; } - else if (gBattleAnimArgs[0] != 8) + else if (gBattleAnimArgs[0] != ANIM_ATTACKER_FORCE) { switch (gBattleAnimArgs[0]) { - case 4: + case ANIM_PLAYER_LEFT: battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); break; - case 5: + case ANIM_PLAYER_RIGHT: battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); break; - case 6: + case ANIM_OPPONENT_LEFT: battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); break; - case 7: + case ANIM_OPPONENT_RIGHT: default: battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); break; From 29c1af50cacc170622f0f345ccf261bfc6c6bf4a Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 20 Jan 2023 11:25:04 -0500 Subject: [PATCH 62/62] Fix Best Streak stat name --- data/specials.inc | 2 +- include/constants/game_stat.h | 108 +++++++++++++++++----------------- src/field_specials.c | 4 +- src/frontier_util.c | 2 +- 4 files changed, 58 insertions(+), 58 deletions(-) diff --git a/data/specials.inc b/data/specials.inc index f14ff166f9..187e49ec77 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -258,7 +258,7 @@ gSpecials:: def_special CallSlateportTentFunction def_special ChoosePartyForBattleFrontier def_special ValidateEReaderTrainer - def_special GetBestBattleTowerStreak + def_special GetBattleTowerSinglesStreak def_special ReducePlayerPartyToSelectedMons def_special BedroomPC def_special PlayerPC diff --git a/include/constants/game_stat.h b/include/constants/game_stat.h index 2acdfd8a3e..053e4a8f9e 100644 --- a/include/constants/game_stat.h +++ b/include/constants/game_stat.h @@ -1,60 +1,60 @@ #ifndef GUARD_CONSTANTS_GAME_STAT_H #define GUARD_CONSTANTS_GAME_STAT_H -#define GAME_STAT_SAVED_GAME 0 -#define GAME_STAT_FIRST_HOF_PLAY_TIME 1 -#define GAME_STAT_STARTED_TRENDS 2 -#define GAME_STAT_PLANTED_BERRIES 3 -#define GAME_STAT_TRADED_BIKES 4 -#define GAME_STAT_STEPS 5 -#define GAME_STAT_GOT_INTERVIEWED 6 -#define GAME_STAT_TOTAL_BATTLES 7 -#define GAME_STAT_WILD_BATTLES 8 -#define GAME_STAT_TRAINER_BATTLES 9 -#define GAME_STAT_ENTERED_HOF 10 -#define GAME_STAT_POKEMON_CAPTURES 11 -#define GAME_STAT_FISHING_CAPTURES 12 -#define GAME_STAT_HATCHED_EGGS 13 -#define GAME_STAT_EVOLVED_POKEMON 14 -#define GAME_STAT_USED_POKECENTER 15 -#define GAME_STAT_RESTED_AT_HOME 16 -#define GAME_STAT_ENTERED_SAFARI_ZONE 17 -#define GAME_STAT_USED_CUT 18 -#define GAME_STAT_USED_ROCK_SMASH 19 -#define GAME_STAT_MOVED_SECRET_BASE 20 -#define GAME_STAT_POKEMON_TRADES 21 -#define GAME_STAT_UNKNOWN_22 22 -#define GAME_STAT_LINK_BATTLE_WINS 23 -#define GAME_STAT_LINK_BATTLE_LOSSES 24 -#define GAME_STAT_LINK_BATTLE_DRAWS 25 -#define GAME_STAT_USED_SPLASH 26 -#define GAME_STAT_USED_STRUGGLE 27 -#define GAME_STAT_SLOT_JACKPOTS 28 -#define GAME_STAT_CONSECUTIVE_ROULETTE_WINS 29 -#define GAME_STAT_ENTERED_BATTLE_TOWER 30 -#define GAME_STAT_UNKNOWN_31 31 -#define GAME_STAT_BATTLE_TOWER_BEST_STREAK 32 -#define GAME_STAT_POKEBLOCKS 33 -#define GAME_STAT_POKEBLOCKS_WITH_FRIENDS 34 -#define GAME_STAT_WON_LINK_CONTEST 35 -#define GAME_STAT_ENTERED_CONTEST 36 -#define GAME_STAT_WON_CONTEST 37 -#define GAME_STAT_SHOPPED 38 -#define GAME_STAT_USED_ITEMFINDER 39 -#define GAME_STAT_GOT_RAINED_ON 40 -#define GAME_STAT_CHECKED_POKEDEX 41 -#define GAME_STAT_RECEIVED_RIBBONS 42 -#define GAME_STAT_JUMPED_DOWN_LEDGES 43 -#define GAME_STAT_WATCHED_TV 44 -#define GAME_STAT_CHECKED_CLOCK 45 -#define GAME_STAT_WON_POKEMON_LOTTERY 46 -#define GAME_STAT_USED_DAYCARE 47 -#define GAME_STAT_RODE_CABLE_CAR 48 -#define GAME_STAT_ENTERED_HOT_SPRINGS 49 -#define GAME_STAT_NUM_UNION_ROOM_BATTLES 50 -#define GAME_STAT_PLAYED_BERRY_CRUSH 51 +#define GAME_STAT_SAVED_GAME 0 +#define GAME_STAT_FIRST_HOF_PLAY_TIME 1 +#define GAME_STAT_STARTED_TRENDS 2 +#define GAME_STAT_PLANTED_BERRIES 3 +#define GAME_STAT_TRADED_BIKES 4 +#define GAME_STAT_STEPS 5 +#define GAME_STAT_GOT_INTERVIEWED 6 +#define GAME_STAT_TOTAL_BATTLES 7 +#define GAME_STAT_WILD_BATTLES 8 +#define GAME_STAT_TRAINER_BATTLES 9 +#define GAME_STAT_ENTERED_HOF 10 +#define GAME_STAT_POKEMON_CAPTURES 11 +#define GAME_STAT_FISHING_CAPTURES 12 +#define GAME_STAT_HATCHED_EGGS 13 +#define GAME_STAT_EVOLVED_POKEMON 14 +#define GAME_STAT_USED_POKECENTER 15 +#define GAME_STAT_RESTED_AT_HOME 16 +#define GAME_STAT_ENTERED_SAFARI_ZONE 17 +#define GAME_STAT_USED_CUT 18 +#define GAME_STAT_USED_ROCK_SMASH 19 +#define GAME_STAT_MOVED_SECRET_BASE 20 +#define GAME_STAT_POKEMON_TRADES 21 +#define GAME_STAT_UNKNOWN_22 22 +#define GAME_STAT_LINK_BATTLE_WINS 23 +#define GAME_STAT_LINK_BATTLE_LOSSES 24 +#define GAME_STAT_LINK_BATTLE_DRAWS 25 +#define GAME_STAT_USED_SPLASH 26 +#define GAME_STAT_USED_STRUGGLE 27 +#define GAME_STAT_SLOT_JACKPOTS 28 +#define GAME_STAT_CONSECUTIVE_ROULETTE_WINS 29 +#define GAME_STAT_ENTERED_BATTLE_TOWER 30 +#define GAME_STAT_UNKNOWN_31 31 +#define GAME_STAT_BATTLE_TOWER_SINGLES_STREAK 32 +#define GAME_STAT_POKEBLOCKS 33 +#define GAME_STAT_POKEBLOCKS_WITH_FRIENDS 34 +#define GAME_STAT_WON_LINK_CONTEST 35 +#define GAME_STAT_ENTERED_CONTEST 36 +#define GAME_STAT_WON_CONTEST 37 +#define GAME_STAT_SHOPPED 38 +#define GAME_STAT_USED_ITEMFINDER 39 +#define GAME_STAT_GOT_RAINED_ON 40 +#define GAME_STAT_CHECKED_POKEDEX 41 +#define GAME_STAT_RECEIVED_RIBBONS 42 +#define GAME_STAT_JUMPED_DOWN_LEDGES 43 +#define GAME_STAT_WATCHED_TV 44 +#define GAME_STAT_CHECKED_CLOCK 45 +#define GAME_STAT_WON_POKEMON_LOTTERY 46 +#define GAME_STAT_USED_DAYCARE 47 +#define GAME_STAT_RODE_CABLE_CAR 48 +#define GAME_STAT_ENTERED_HOT_SPRINGS 49 +#define GAME_STAT_NUM_UNION_ROOM_BATTLES 50 +#define GAME_STAT_PLAYED_BERRY_CRUSH 51 -#define NUM_USED_GAME_STATS 52 -#define NUM_GAME_STATS 64 +#define NUM_USED_GAME_STATS 52 +#define NUM_GAME_STATS 64 #endif // GUARD_CONSTANTS_GAME_STAT_H diff --git a/src/field_specials.c b/src/field_specials.c index 097a16b45c..a2023196ba 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1234,9 +1234,9 @@ void GetSecretBaseNearbyMapName(void) GetMapName(gStringVar1, VarGet(VAR_SECRET_BASE_MAP), 0); } -u16 GetBestBattleTowerStreak(void) +u16 GetBattleTowerSinglesStreak(void) { - return GetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK); + return GetGameStat(GAME_STAT_BATTLE_TOWER_SINGLES_STREAK); } void BufferEReaderTrainerName(void) diff --git a/src/frontier_util.c b/src/frontier_util.c index 686b69388a..4830f92117 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -2122,7 +2122,7 @@ static void IncrementWinStreak(void) gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]++; if (battleMode == FRONTIER_MODE_SINGLES) { - SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]); + SetGameStat(GAME_STAT_BATTLE_TOWER_SINGLES_STREAK, gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]); gSaveBlock2Ptr->frontier.towerSinglesStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]; } }