From 9e0b866f093107352c90f7096935ac208c304b48 Mon Sep 17 00:00:00 2001 From: ultima-soul Date: Fri, 18 Jun 2021 21:46:20 -0700 Subject: [PATCH] Rearranged Poke Ball item ids. --- include/constants/items.h | 54 +-- include/graphics.h | 108 +++--- include/pokeball.h | 28 +- src/battle_anim_throw.c | 489 ++++++++++++------------ src/data/graphics/interface_pokeballs.h | 62 +-- src/data/graphics/items.h | 70 ++-- src/data/item_icon_table.h | 34 +- src/data/items.h | 272 ++++++------- src/data/text/item_descriptions.h | 112 +++--- src/pokeball.c | 226 +++++------ 10 files changed, 726 insertions(+), 729 deletions(-) diff --git a/include/constants/items.h b/include/constants/items.h index 630ab6414..60f25dbed 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -3,39 +3,39 @@ #define ITEM_NONE 0 // Balls -#define ITEM_MASTER_BALL 1 -#define ITEM_ULTRA_BALL 2 -#define ITEM_GREAT_BALL 3 -#define ITEM_POKE_BALL 4 -#define ITEM_SAFARI_BALL 5 -#define ITEM_NET_BALL 6 -#define ITEM_DIVE_BALL 7 +#define ITEM_POKE_BALL 1 +#define ITEM_GREAT_BALL 2 +#define ITEM_ULTRA_BALL 3 +#define ITEM_MASTER_BALL 4 +#define ITEM_PREMIER_BALL 5 +#define ITEM_HEAL_BALL 6 +#define ITEM_NET_BALL 7 #define ITEM_NEST_BALL 8 -#define ITEM_REPEAT_BALL 9 -#define ITEM_TIMER_BALL 10 -#define ITEM_LUXURY_BALL 11 -#define ITEM_DUSK_BALL 12 -#define ITEM_HEAL_BALL 13 -#define ITEM_QUICK_BALL 14 -#define ITEM_CHERISH_BALL 15 -#define ITEM_FAST_BALL 16 -#define ITEM_LEVEL_BALL 17 -#define ITEM_LURE_BALL 18 -#define ITEM_HEAVY_BALL 19 -#define ITEM_LOVE_BALL 20 -#define ITEM_FRIEND_BALL 21 -#define ITEM_MOON_BALL 22 -#define ITEM_SPORT_BALL 23 -#define ITEM_PARK_BALL 24 -#define ITEM_DREAM_BALL 25 +#define ITEM_DIVE_BALL 9 +#define ITEM_DUSK_BALL 10 +#define ITEM_TIMER_BALL 11 +#define ITEM_QUICK_BALL 12 +#define ITEM_REPEAT_BALL 13 +#define ITEM_LUXURY_BALL 14 +#define ITEM_LEVEL_BALL 15 +#define ITEM_LURE_BALL 16 +#define ITEM_MOON_BALL 17 +#define ITEM_FRIEND_BALL 18 +#define ITEM_LOVE_BALL 19 +#define ITEM_FAST_BALL 20 +#define ITEM_HEAVY_BALL 21 +#define ITEM_DREAM_BALL 22 +#define ITEM_SAFARI_BALL 23 +#define ITEM_SPORT_BALL 24 +#define ITEM_PARK_BALL 25 #define ITEM_BEAST_BALL 26 -#define ITEM_PREMIER_BALL 27 +#define ITEM_CHERISH_BALL 27 // Note: If moving ball IDs around, updating FIRST_BALL/LAST_BALL is not sufficient // Several places expect the ball IDs to be first and contiguous (e.g. MON_DATA_POKEBALL) // If adding new balls, it's easiest to insert them after the last ball and increment the below IDs (and removing ITEM_034 for example) -#define FIRST_BALL ITEM_MASTER_BALL -#define LAST_BALL ITEM_PREMIER_BALL +#define FIRST_BALL ITEM_POKE_BALL +#define LAST_BALL ITEM_CHERISH_BALL // Pokemon Items #define ITEM_POTION 28 diff --git a/include/graphics.h b/include/graphics.h index db04cb5e9..70a4638dd 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -10,26 +10,30 @@ extern const u32 gInterfaceGfx_PokeBall[]; extern const u32 gInterfacePal_PokeBall[]; extern const u32 gInterfaceGfx_GreatBall[]; extern const u32 gInterfacePal_GreatBall[]; -extern const u32 gInterfaceGfx_SafariBall[]; -extern const u32 gInterfacePal_SafariBall[]; extern const u32 gInterfaceGfx_UltraBall[]; extern const u32 gInterfacePal_UltraBall[]; extern const u32 gInterfaceGfx_MasterBall[]; extern const u32 gInterfacePal_MasterBall[]; -extern const u32 gInterfaceGfx_NetBall[]; -extern const u32 gInterfacePal_NetBall[]; -extern const u32 gInterfaceGfx_DiveBall[]; -extern const u32 gInterfacePal_DiveBall[]; -extern const u32 gInterfaceGfx_NestBall[]; -extern const u32 gInterfacePal_NestBall[]; -extern const u32 gInterfaceGfx_RepeatBall[]; -extern const u32 gInterfacePal_RepeatBall[]; -extern const u32 gInterfaceGfx_TimerBall[]; -extern const u32 gInterfacePal_TimerBall[]; -extern const u32 gInterfaceGfx_LuxuryBall[]; -extern const u32 gInterfacePal_LuxuryBall[]; extern const u32 gInterfaceGfx_PremierBall[]; extern const u32 gInterfacePal_PremierBall[]; +extern const u32 gInterfaceGfx_HealBall[]; +extern const u32 gInterfacePal_HealBall[]; +extern const u32 gInterfaceGfx_NetBall[]; +extern const u32 gInterfacePal_NetBall[]; +extern const u32 gInterfaceGfx_NestBall[]; +extern const u32 gInterfacePal_NestBall[]; +extern const u32 gInterfaceGfx_DiveBall[]; +extern const u32 gInterfacePal_DiveBall[]; +extern const u32 gInterfaceGfx_DuskBall[]; +extern const u32 gInterfacePal_DuskBall[]; +extern const u32 gInterfaceGfx_TimerBall[]; +extern const u32 gInterfacePal_TimerBall[]; +extern const u32 gInterfaceGfx_QuickBall[]; +extern const u32 gInterfacePal_QuickBall[]; +extern const u32 gInterfaceGfx_RepeatBall[]; +extern const u32 gInterfacePal_RepeatBall[]; +extern const u32 gInterfaceGfx_LuxuryBall[]; +extern const u32 gInterfacePal_LuxuryBall[]; extern const u32 gInterfaceGfx_LevelBall[]; extern const u32 gInterfacePal_LevelBall[]; extern const u32 gInterfaceGfx_LureBall[]; @@ -40,26 +44,22 @@ extern const u32 gInterfaceGfx_FriendBall[]; extern const u32 gInterfacePal_FriendBall[]; extern const u32 gInterfaceGfx_LoveBall[]; extern const u32 gInterfacePal_LoveBall[]; -extern const u32 gInterfaceGfx_HeavyBall[]; -extern const u32 gInterfacePal_HeavyBall[]; extern const u32 gInterfaceGfx_FastBall[]; extern const u32 gInterfacePal_FastBall[]; -extern const u32 gInterfaceGfx_SportBall[]; -extern const u32 gInterfacePal_SportBall[]; -extern const u32 gInterfaceGfx_DuskBall[]; -extern const u32 gInterfacePal_DuskBall[]; -extern const u32 gInterfaceGfx_QuickBall[]; -extern const u32 gInterfacePal_QuickBall[]; -extern const u32 gInterfaceGfx_HealBall[]; -extern const u32 gInterfacePal_HealBall[]; -extern const u32 gInterfaceGfx_CherishBall[]; -extern const u32 gInterfacePal_CherishBall[]; -extern const u32 gInterfaceGfx_ParkBall[]; -extern const u32 gInterfacePal_ParkBall[]; +extern const u32 gInterfaceGfx_HeavyBall[]; +extern const u32 gInterfacePal_HeavyBall[]; extern const u32 gInterfaceGfx_DreamBall[]; extern const u32 gInterfacePal_DreamBall[]; +extern const u32 gInterfaceGfx_SafariBall[]; +extern const u32 gInterfacePal_SafariBall[]; +extern const u32 gInterfaceGfx_SportBall[]; +extern const u32 gInterfacePal_SportBall[]; +extern const u32 gInterfaceGfx_ParkBall[]; +extern const u32 gInterfacePal_ParkBall[]; extern const u32 gInterfaceGfx_BeastBall[]; extern const u32 gInterfacePal_BeastBall[]; +extern const u32 gInterfaceGfx_CherishBall[]; +extern const u32 gInterfacePal_CherishBall[]; extern const u32 gOpenPokeballGfx[]; // pokemon gfx @@ -3393,28 +3393,32 @@ extern const u32 gRaySceneChasesAway_Light_Gfx[]; extern const u32 gRaySceneChasesAway_Ring_Gfx[]; // Pokeballs -extern const u32 gItemIcon_MasterBall[]; -extern const u32 gItemIconPalette_MasterBall[]; -extern const u32 gItemIcon_UltraBall[]; -extern const u32 gItemIconPalette_UltraBall[]; -extern const u32 gItemIcon_GreatBall[]; -extern const u32 gItemIconPalette_GreatBall[]; extern const u32 gItemIcon_PokeBall[]; extern const u32 gItemIconPalette_PokeBall[]; -extern const u32 gItemIcon_SafariBall[]; -extern const u32 gItemIconPalette_SafariBall[]; +extern const u32 gItemIcon_GreatBall[]; +extern const u32 gItemIconPalette_GreatBall[]; +extern const u32 gItemIcon_UltraBall[]; +extern const u32 gItemIconPalette_UltraBall[]; +extern const u32 gItemIcon_MasterBall[]; +extern const u32 gItemIconPalette_MasterBall[]; +extern const u32 gItemIcon_PremierBall[]; +extern const u32 gItemIcon_HealBall[]; +extern const u32 gItemIconPalette_HealBall[]; extern const u32 gItemIcon_NetBall[]; extern const u32 gItemIconPalette_NetBall[]; -extern const u32 gItemIcon_DiveBall[]; -extern const u32 gItemIconPalette_DiveBall[]; extern const u32 gItemIcon_NestBall[]; extern const u32 gItemIconPalette_NestBall[]; +extern const u32 gItemIcon_DiveBall[]; +extern const u32 gItemIconPalette_DiveBall[]; +extern const u32 gItemIcon_DuskBall[]; +extern const u32 gItemIconPalette_DuskBall[]; +extern const u32 gItemIcon_TimerBall[]; +extern const u32 gItemIcon_QuickBall[]; +extern const u32 gItemIconPalette_QuickBall[]; extern const u32 gItemIcon_RepeatBall[]; extern const u32 gItemIconPalette_RepeatBall[]; -extern const u32 gItemIcon_TimerBall[]; extern const u32 gItemIcon_LuxuryBall[]; extern const u32 gItemIconPalette_LuxuryBall[]; -extern const u32 gItemIcon_PremierBall[]; extern const u32 gItemIcon_LevelBall[]; extern const u32 gItemIconPalette_LevelBall[]; extern const u32 gItemIcon_LureBall[]; @@ -3425,26 +3429,22 @@ extern const u32 gItemIcon_FriendBall[]; extern const u32 gItemIconPalette_FriendBall[]; extern const u32 gItemIcon_LoveBall[]; extern const u32 gItemIconPalette_LoveBall[]; -extern const u32 gItemIcon_HeavyBall[]; -extern const u32 gItemIconPalette_HeavyBall[]; extern const u32 gItemIcon_FastBall[]; extern const u32 gItemIconPalette_FastBall[]; -extern const u32 gItemIcon_SportBall[]; -extern const u32 gItemIconPalette_SportBall[]; -extern const u32 gItemIcon_DuskBall[]; -extern const u32 gItemIconPalette_DuskBall[]; -extern const u32 gItemIcon_QuickBall[]; -extern const u32 gItemIconPalette_QuickBall[]; -extern const u32 gItemIcon_HealBall[]; -extern const u32 gItemIconPalette_HealBall[]; -extern const u32 gItemIcon_CherishBall[]; -extern const u32 gItemIconPalette_CherishBall[]; -extern const u32 gItemIcon_ParkBall[]; -extern const u32 gItemIconPalette_ParkBall[]; +extern const u32 gItemIcon_HeavyBall[]; +extern const u32 gItemIconPalette_HeavyBall[]; extern const u32 gItemIcon_DreamBall[]; extern const u32 gItemIconPalette_DreamBall[]; +extern const u32 gItemIcon_SafariBall[]; +extern const u32 gItemIconPalette_SafariBall[]; +extern const u32 gItemIcon_SportBall[]; +extern const u32 gItemIconPalette_SportBall[]; +extern const u32 gItemIcon_ParkBall[]; +extern const u32 gItemIconPalette_ParkBall[]; extern const u32 gItemIcon_BeastBall[]; extern const u32 gItemIconPalette_BeastBall[]; +extern const u32 gItemIcon_CherishBall[]; +extern const u32 gItemIconPalette_CherishBall[]; // Medicine extern const u32 gItemIcon_Potion[]; extern const u32 gItemIconPalette_Potion[]; diff --git a/include/pokeball.h b/include/pokeball.h index 84016c570..27115039e 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -5,31 +5,31 @@ enum { BALL_POKE, BALL_GREAT, - BALL_SAFARI, BALL_ULTRA, BALL_MASTER, - BALL_NET, - BALL_DIVE, - BALL_NEST, - BALL_REPEAT, - BALL_TIMER, - BALL_LUXURY, BALL_PREMIER, + BALL_HEAL, + BALL_NET, + BALL_NEST, + BALL_DIVE, + BALL_DUSK, + BALL_TIMER, + BALL_QUICK, + BALL_REPEAT, + BALL_LUXURY, BALL_LEVEL, BALL_LURE, BALL_MOON, BALL_FRIEND, BALL_LOVE, - BALL_HEAVY, BALL_FAST, - BALL_SPORT, - BALL_DUSK, - BALL_QUICK, - BALL_HEAL, - BALL_CHERISH, - BALL_PARK, + BALL_HEAVY, BALL_DREAM, + BALL_SAFARI, + BALL_SPORT, + BALL_PARK, BALL_BEAST, + BALL_CHERISH, POKEBALL_COUNT }; diff --git a/src/battle_anim_throw.c b/src/battle_anim_throw.c index d8aceb5a4..55a4f1f97 100755 --- a/src/battle_anim_throw.c +++ b/src/battle_anim_throw.c @@ -129,31 +129,31 @@ static const struct CaptureStar sCaptureStars[] = #define TAG_PARTICLES_POKEBALL 65030 #define TAG_PARTICLES_GREATBALL 65031 -#define TAG_PARTICLES_SAFARIBALL 65032 -#define TAG_PARTICLES_ULTRABALL 65033 -#define TAG_PARTICLES_MASTERBALL 65034 -#define TAG_PARTICLES_NETBALL 65035 -#define TAG_PARTICLES_DIVEBALL 65036 +#define TAG_PARTICLES_ULTRABALL 65032 +#define TAG_PARTICLES_MASTERBALL 65033 +#define TAG_PARTICLES_PREMIERBALL 65034 +#define TAG_PARTICLES_HEALBALL 65035 +#define TAG_PARTICLES_NETBALL 65036 #define TAG_PARTICLES_NESTBALL 65037 -#define TAG_PARTICLES_REPEATBALL 65038 -#define TAG_PARTICLES_TIMERBALL 65039 -#define TAG_PARTICLES_LUXURYBALL 65040 -#define TAG_PARTICLES_PREMIERBALL 65041 -#define TAG_PARTICLES_LEVELBALL 65042 -#define TAG_PARTICLES_LUREBALL 65043 -#define TAG_PARTICLES_MOONBALL 65044 -#define TAG_PARTICLES_FRIENDBALL 65045 -#define TAG_PARTICLES_LOVEBALL 65046 -#define TAG_PARTICLES_HEAVYBALL 65047 -#define TAG_PARTICLES_FASTBALL 65048 -#define TAG_PARTICLES_SPORTBALL 65049 -#define TAG_PARTICLES_DUSKBALL 65050 -#define TAG_PARTICLES_QUICKBALL 65051 -#define TAG_PARTICLES_HEALBALL 65052 -#define TAG_PARTICLES_CHERISHBALL 65053 +#define TAG_PARTICLES_DIVEBALL 65038 +#define TAG_PARTICLES_DUSKBALL 65039 +#define TAG_PARTICLES_TIMERBALL 65040 +#define TAG_PARTICLES_QUICKBALL 65041 +#define TAG_PARTICLES_REPEATBALL 65042 +#define TAG_PARTICLES_LUXURYBALL 65043 +#define TAG_PARTICLES_LEVELBALL 65044 +#define TAG_PARTICLES_LUREBALL 65045 +#define TAG_PARTICLES_MOONBALL 65046 +#define TAG_PARTICLES_FRIENDBALL 65047 +#define TAG_PARTICLES_LOVEBALL 65048 +#define TAG_PARTICLES_FASTBALL 65049 +#define TAG_PARTICLES_HEAVYBALL 65050 +#define TAG_PARTICLES_DREAMBALL 65051 +#define TAG_PARTICLES_SAFARIBALL 65052 +#define TAG_PARTICLES_SPORTBALL 65053 #define TAG_PARTICLES_PARKBALL 65054 -#define TAG_PARTICLES_DREAMBALL 65065 -#define TAG_PARTICLES_BEASTBALL 65056 +#define TAG_PARTICLES_BEASTBALL 65065 +#define TAG_PARTICLES_CHERISHBALL 65056 static const u32 sNewParticlesGfx[] = INCBIN_U32("graphics/interface/ball/particles2.4bpp.lz"); static const u32 sNewParticlesPal[] = INCBIN_U32("graphics/interface/ball/particles2.gbapal.lz"); @@ -162,62 +162,62 @@ static const struct CompressedSpriteSheet sBallParticleSpriteSheets[] = { [BALL_POKE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL}, [BALL_GREAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL}, - [BALL_SAFARI] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL}, [BALL_ULTRA] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL}, [BALL_MASTER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_MASTERBALL}, - [BALL_NET] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NETBALL}, - [BALL_DIVE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DIVEBALL}, - [BALL_NEST] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NESTBALL}, - [BALL_REPEAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_REPEATBALL}, - [BALL_TIMER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_TIMERBALL}, - [BALL_LUXURY] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUXURYBALL}, [BALL_PREMIER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PREMIERBALL}, + [BALL_HEAL] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEALBALL}, + [BALL_NET] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NETBALL}, + [BALL_NEST] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NESTBALL}, + [BALL_DIVE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DIVEBALL}, + [BALL_DUSK] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_DUSKBALL}, + [BALL_TIMER] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_TIMERBALL}, + [BALL_QUICK] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_QUICKBALL}, + [BALL_REPEAT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_REPEATBALL}, + [BALL_LUXURY] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUXURYBALL}, [BALL_LEVEL] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_LEVELBALL}, [BALL_LURE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUREBALL}, [BALL_MOON] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_MOONBALL}, [BALL_FRIEND] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_FRIENDBALL}, [BALL_LOVE] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LOVEBALL}, - [BALL_HEAVY] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEAVYBALL}, [BALL_FAST] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_FASTBALL}, - [BALL_SPORT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SPORTBALL}, - [BALL_DUSK] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_DUSKBALL}, - [BALL_QUICK] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_QUICKBALL}, - [BALL_HEAL] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEALBALL}, - [BALL_CHERISH] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_CHERISHBALL}, - [BALL_PARK] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PARKBALL}, + [BALL_HEAVY] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_HEAVYBALL}, [BALL_DREAM] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DREAMBALL}, + [BALL_SAFARI] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL}, + [BALL_SPORT] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SPORTBALL}, + [BALL_PARK] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PARKBALL}, [BALL_BEAST] = {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_BEASTBALL}, + [BALL_CHERISH] = {sNewParticlesGfx, 0x100, TAG_PARTICLES_CHERISHBALL}, }; static const struct CompressedSpritePalette sBallParticlePalettes[] = { [BALL_POKE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL}, [BALL_GREAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL}, - [BALL_SAFARI] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL}, [BALL_ULTRA] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL}, [BALL_MASTER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_MASTERBALL}, - [BALL_NET] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NETBALL}, - [BALL_DIVE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DIVEBALL}, - [BALL_NEST] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NESTBALL}, - [BALL_REPEAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_REPEATBALL}, - [BALL_TIMER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_TIMERBALL}, - [BALL_LUXURY] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUXURYBALL}, [BALL_PREMIER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PREMIERBALL}, + [BALL_HEAL] = {sNewParticlesPal, TAG_PARTICLES_HEALBALL}, + [BALL_NET] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NETBALL}, + [BALL_NEST] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NESTBALL}, + [BALL_DIVE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DIVEBALL}, + [BALL_DUSK] = {sNewParticlesPal, TAG_PARTICLES_DUSKBALL}, + [BALL_TIMER] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_TIMERBALL}, + [BALL_QUICK] = {sNewParticlesPal, TAG_PARTICLES_QUICKBALL}, + [BALL_REPEAT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_REPEATBALL}, + [BALL_LUXURY] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUXURYBALL}, [BALL_LEVEL] = {sNewParticlesPal, TAG_PARTICLES_LEVELBALL}, [BALL_LURE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUREBALL}, [BALL_MOON] = {sNewParticlesPal, TAG_PARTICLES_MOONBALL}, [BALL_FRIEND] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_FRIENDBALL}, [BALL_LOVE] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LOVEBALL}, - [BALL_HEAVY] = {sNewParticlesPal, TAG_PARTICLES_HEAVYBALL}, [BALL_FAST] = {sNewParticlesPal, TAG_PARTICLES_FASTBALL}, - [BALL_SPORT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SPORTBALL}, - [BALL_DUSK] = {sNewParticlesPal, TAG_PARTICLES_DUSKBALL}, - [BALL_QUICK] = {sNewParticlesPal, TAG_PARTICLES_QUICKBALL}, - [BALL_HEAL] = {sNewParticlesPal, TAG_PARTICLES_HEALBALL}, - [BALL_CHERISH] = {sNewParticlesPal, TAG_PARTICLES_CHERISHBALL}, - [BALL_PARK] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PARKBALL}, + [BALL_HEAVY] = {sNewParticlesPal, TAG_PARTICLES_HEAVYBALL}, [BALL_DREAM] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DREAMBALL}, + [BALL_SAFARI] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL}, + [BALL_SPORT] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SPORTBALL}, + [BALL_PARK] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PARKBALL}, [BALL_BEAST] = {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_BEASTBALL}, + [BALL_CHERISH] = {sNewParticlesPal, TAG_PARTICLES_CHERISHBALL}, }; static const union AnimCmd sAnim_RegularBall[] = @@ -276,65 +276,63 @@ static const u8 sBallParticleAnimNums[POKEBALL_COUNT] = { [BALL_POKE] = 0, [BALL_GREAT] = 0, - [BALL_SAFARI] = 0, [BALL_ULTRA] = 5, [BALL_MASTER] = 1, - [BALL_NET] = 2, - [BALL_DIVE] = 2, - [BALL_NEST] = 3, - [BALL_REPEAT] = 5, - [BALL_TIMER] = 5, - [BALL_LUXURY] = 4, [BALL_PREMIER] = 4, - - [BALL_LEVEL] = 5, - [BALL_LURE] = 2, - [BALL_MOON] = 4, - [BALL_FRIEND] = 3, - [BALL_LOVE] = 3, - [BALL_HEAVY] = 0, - [BALL_FAST] = 4, - [BALL_SPORT] = 0, - [BALL_DUSK] = 2, - [BALL_QUICK] = 4, - [BALL_HEAL] = 0, + [BALL_HEAL] = 0, + [BALL_NET] = 2, + [BALL_NEST] = 3, + [BALL_DIVE] = 2, + [BALL_DUSK] = 2, + [BALL_TIMER] = 5, + [BALL_QUICK] = 4, + [BALL_REPEAT] = 5, + [BALL_LUXURY] = 4, + [BALL_LEVEL] = 5, + [BALL_LURE] = 2, + [BALL_MOON] = 4, + [BALL_FRIEND] = 3, + [BALL_LOVE] = 3, + [BALL_FAST] = 4, + [BALL_HEAVY] = 0, + [BALL_DREAM] = 5, + [BALL_SAFARI] = 0, + [BALL_SPORT] = 0, + [BALL_PARK] = 5, + [BALL_BEAST] = 5, [BALL_CHERISH] = 0, - [BALL_PARK] = 5, - [BALL_DREAM] = 5, - [BALL_BEAST] = 5, }; -static const TaskFunc sBallParticleAnimationFuncs[] = +static const TaskFunc sBallParticleAnimationFuncs[POKEBALL_COUNT] = { - [BALL_POKE] = PokeBallOpenParticleAnimation, - [BALL_GREAT] = GreatBallOpenParticleAnimation, - [BALL_SAFARI] = SafariBallOpenParticleAnimation, - [BALL_ULTRA] = UltraBallOpenParticleAnimation, - [BALL_MASTER] = MasterBallOpenParticleAnimation, - [BALL_NET] = SafariBallOpenParticleAnimation, - [BALL_DIVE] = DiveBallOpenParticleAnimation, - [BALL_NEST] = UltraBallOpenParticleAnimation, - [BALL_REPEAT] = RepeatBallOpenParticleAnimation, - [BALL_TIMER] = TimerBallOpenParticleAnimation, - [BALL_LUXURY] = GreatBallOpenParticleAnimation, - [BALL_PREMIER] = PremierBallOpenParticleAnimation, - // Todo: assign and possibly create different particles - [BALL_LEVEL] = SafariBallOpenParticleAnimation, - [BALL_LURE] = GreatBallOpenParticleAnimation, - [BALL_MOON] = UltraBallOpenParticleAnimation, - [BALL_FRIEND] = UltraBallOpenParticleAnimation, - [BALL_LOVE] = GreatBallOpenParticleAnimation, - [BALL_HEAVY] = GreatBallOpenParticleAnimation, - [BALL_FAST] = GreatBallOpenParticleAnimation, - [BALL_SPORT] = UltraBallOpenParticleAnimation, - [BALL_DUSK] = UltraBallOpenParticleAnimation, - [BALL_QUICK] = UltraBallOpenParticleAnimation, - [BALL_HEAL] = PokeBallOpenParticleAnimation, + [BALL_POKE] = PokeBallOpenParticleAnimation, + [BALL_GREAT] = GreatBallOpenParticleAnimation, + [BALL_ULTRA] = UltraBallOpenParticleAnimation, + [BALL_MASTER] = MasterBallOpenParticleAnimation, + [BALL_PREMIER] = PremierBallOpenParticleAnimation, + [BALL_HEAL] = PokeBallOpenParticleAnimation, + [BALL_NET] = SafariBallOpenParticleAnimation, + [BALL_NEST] = UltraBallOpenParticleAnimation, + [BALL_DIVE] = DiveBallOpenParticleAnimation, + [BALL_DUSK] = UltraBallOpenParticleAnimation, + [BALL_TIMER] = TimerBallOpenParticleAnimation, + [BALL_QUICK] = UltraBallOpenParticleAnimation, + [BALL_REPEAT] = RepeatBallOpenParticleAnimation, + [BALL_LUXURY] = GreatBallOpenParticleAnimation, + [BALL_LEVEL] = SafariBallOpenParticleAnimation, + [BALL_LURE] = GreatBallOpenParticleAnimation, + [BALL_MOON] = UltraBallOpenParticleAnimation, + [BALL_FRIEND] = UltraBallOpenParticleAnimation, + [BALL_LOVE] = GreatBallOpenParticleAnimation, + [BALL_FAST] = GreatBallOpenParticleAnimation, + [BALL_HEAVY] = GreatBallOpenParticleAnimation, + [BALL_DREAM] = UltraBallOpenParticleAnimation, + [BALL_SAFARI] = SafariBallOpenParticleAnimation, + [BALL_SPORT] = UltraBallOpenParticleAnimation, + [BALL_PARK] = UltraBallOpenParticleAnimation, + [BALL_BEAST] = UltraBallOpenParticleAnimation, [BALL_CHERISH] = MasterBallOpenParticleAnimation, - [BALL_PARK] = UltraBallOpenParticleAnimation, - [BALL_DREAM] = UltraBallOpenParticleAnimation, - [BALL_BEAST] = UltraBallOpenParticleAnimation }; static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] = @@ -357,15 +355,6 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - [BALL_SAFARI] = { - .tileTag = TAG_PARTICLES_SAFARIBALL, - .paletteTag = TAG_PARTICLES_SAFARIBALL, - .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = sAnims_BallParticles, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }, [BALL_ULTRA] = { .tileTag = TAG_PARTICLES_ULTRABALL, .paletteTag = TAG_PARTICLES_ULTRABALL, @@ -384,18 +373,27 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - [BALL_NET] = { - .tileTag = TAG_PARTICLES_NETBALL, - .paletteTag = TAG_PARTICLES_NETBALL, + [BALL_PREMIER] = { + .tileTag = TAG_PARTICLES_PREMIERBALL, + .paletteTag = TAG_PARTICLES_PREMIERBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = sAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - [BALL_DIVE] = { - .tileTag = TAG_PARTICLES_DIVEBALL, - .paletteTag = TAG_PARTICLES_DIVEBALL, + [BALL_HEAL] = { + .tileTag = TAG_PARTICLES_HEALBALL, + .paletteTag = TAG_PARTICLES_HEALBALL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_BallParticles, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + [BALL_NET] = { + .tileTag = TAG_PARTICLES_NETBALL, + .paletteTag = TAG_PARTICLES_NETBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = sAnims_BallParticles, .images = NULL, @@ -411,9 +409,18 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - [BALL_REPEAT] = { - .tileTag = TAG_PARTICLES_REPEATBALL, - .paletteTag = TAG_PARTICLES_REPEATBALL, + [BALL_DIVE] = { + .tileTag = TAG_PARTICLES_DIVEBALL, + .paletteTag = TAG_PARTICLES_DIVEBALL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_BallParticles, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + [BALL_DUSK] = { + .tileTag = TAG_PARTICLES_DUSKBALL, + .paletteTag = TAG_PARTICLES_DUSKBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = sAnims_BallParticles, .images = NULL, @@ -429,6 +436,24 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, + [BALL_QUICK] = { + .tileTag = TAG_PARTICLES_QUICKBALL, + .paletteTag = TAG_PARTICLES_QUICKBALL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_BallParticles, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + [BALL_REPEAT] = { + .tileTag = TAG_PARTICLES_REPEATBALL, + .paletteTag = TAG_PARTICLES_REPEATBALL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_BallParticles, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, [BALL_LUXURY] = { .tileTag = TAG_PARTICLES_LUXURYBALL, .paletteTag = TAG_PARTICLES_LUXURYBALL, @@ -438,16 +463,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - [BALL_PREMIER] = { - .tileTag = TAG_PARTICLES_PREMIERBALL, - .paletteTag = TAG_PARTICLES_PREMIERBALL, - .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = sAnims_BallParticles, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }, - { + [BALL_LEVEL] = { .tileTag = TAG_PARTICLES_LEVELBALL, .paletteTag = TAG_PARTICLES_LEVELBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, @@ -456,7 +472,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - { + [BALL_LURE] = { .tileTag = TAG_PARTICLES_LUREBALL, .paletteTag = TAG_PARTICLES_LUREBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, @@ -465,7 +481,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - { + [BALL_MOON] = { .tileTag = TAG_PARTICLES_MOONBALL, .paletteTag = TAG_PARTICLES_MOONBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, @@ -474,7 +490,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - { + [BALL_FRIEND] = { .tileTag = TAG_PARTICLES_FRIENDBALL, .paletteTag = TAG_PARTICLES_FRIENDBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, @@ -483,7 +499,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - { + [BALL_LOVE] = { .tileTag = TAG_PARTICLES_LOVEBALL, .paletteTag = TAG_PARTICLES_LOVEBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, @@ -492,16 +508,7 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - { - .tileTag = TAG_PARTICLES_HEAVYBALL, - .paletteTag = TAG_PARTICLES_HEAVYBALL, - .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = sAnims_BallParticles, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }, - { + [BALL_FAST] = { .tileTag = TAG_PARTICLES_FASTBALL, .paletteTag = TAG_PARTICLES_FASTBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, @@ -510,61 +517,16 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - { - .tileTag = TAG_PARTICLES_SPORTBALL, - .paletteTag = TAG_PARTICLES_SPORTBALL, + [BALL_HEAVY] = { + .tileTag = TAG_PARTICLES_HEAVYBALL, + .paletteTag = TAG_PARTICLES_HEAVYBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = sAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - { - .tileTag = TAG_PARTICLES_DUSKBALL, - .paletteTag = TAG_PARTICLES_DUSKBALL, - .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = sAnims_BallParticles, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }, - { - .tileTag = TAG_PARTICLES_QUICKBALL, - .paletteTag = TAG_PARTICLES_QUICKBALL, - .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = sAnims_BallParticles, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }, - { - .tileTag = TAG_PARTICLES_HEALBALL, - .paletteTag = TAG_PARTICLES_HEALBALL, - .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = sAnims_BallParticles, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }, - { - .tileTag = TAG_PARTICLES_CHERISHBALL, - .paletteTag = TAG_PARTICLES_CHERISHBALL, - .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = sAnims_BallParticles, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }, - { - .tileTag = TAG_PARTICLES_PARKBALL, - .paletteTag = TAG_PARTICLES_PARKBALL, - .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = sAnims_BallParticles, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, - }, - { + [BALL_DREAM] = { .tileTag = TAG_PARTICLES_DREAMBALL, .paletteTag = TAG_PARTICLES_DREAMBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, @@ -573,7 +535,34 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, - { + [BALL_SAFARI] = { + .tileTag = TAG_PARTICLES_SAFARIBALL, + .paletteTag = TAG_PARTICLES_SAFARIBALL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_BallParticles, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + [BALL_SPORT] = { + .tileTag = TAG_PARTICLES_SPORTBALL, + .paletteTag = TAG_PARTICLES_SPORTBALL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_BallParticles, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + [BALL_PARK] = { + .tileTag = TAG_PARTICLES_PARKBALL, + .paletteTag = TAG_PARTICLES_PARKBALL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_BallParticles, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + [BALL_BEAST] = { .tileTag = TAG_PARTICLES_BEASTBALL, .paletteTag = TAG_PARTICLES_BEASTBALL, .oam = &gOamData_AffineOff_ObjNormal_8x8, @@ -582,39 +571,47 @@ static const struct SpriteTemplate sBallParticleSpriteTemplates[POKEBALL_COUNT] .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, + [BALL_CHERISH] = { + .tileTag = TAG_PARTICLES_CHERISHBALL, + .paletteTag = TAG_PARTICLES_CHERISHBALL, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_BallParticles, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, }; const u16 gBallOpenFadeColors[] = { + // Todo, assign different colors [BALL_POKE] = RGB(31, 22, 30), [BALL_GREAT] = RGB(16, 23, 30), - [BALL_SAFARI] = RGB(23, 30, 20), [BALL_ULTRA] = RGB(31, 31, 15), [BALL_MASTER] = RGB(23, 20, 28), - [BALL_NET] = RGB(21, 31, 25), - [BALL_DIVE] = RGB(12, 25, 30), - [BALL_NEST] = RGB(30, 27, 10), - [BALL_REPEAT] = RGB(31, 24, 16), - [BALL_TIMER] = RGB(29, 30, 30), - [BALL_LUXURY] = RGB(31, 17, 10), [BALL_PREMIER] = RGB(31, 9, 10), - - // Todo, assign different colors + [BALL_HEAL] = RGB(31, 23, 27), + [BALL_NET] = RGB(21, 31, 25), + [BALL_NEST] = RGB(30, 27, 10), + [BALL_DIVE] = RGB(12, 25, 30), + [BALL_DUSK] = RGB(7, 1, 13), + [BALL_TIMER] = RGB(29, 30, 30), + [BALL_QUICK] = RGB(16, 25, 30), + [BALL_REPEAT] = RGB(31, 24, 16), + [BALL_LUXURY] = RGB(31, 17, 10), [BALL_LEVEL] = RGB(24, 4, 4), [BALL_LURE] = RGB(9, 22, 27), [BALL_MOON] = RGB(30, 25, 8), [BALL_FRIEND] = RGB(17, 24, 7), [BALL_LOVE] = RGB(31, 19, 26), - [BALL_HEAVY] = RGB(7, 11, 20), [BALL_FAST] = RGB(29, 17, 8), - [BALL_SPORT] = RGB(31, 31, 15), - [BALL_DUSK] = RGB(7, 1, 13), - [BALL_QUICK] = RGB(16, 25, 30), - [BALL_HEAL] = RGB(31, 23, 27), - [BALL_CHERISH] = RGB(25, 4, 3), - [BALL_PARK] = RGB(31, 31, 15), + [BALL_HEAVY] = RGB(7, 11, 20), [BALL_DREAM] = RGB(31, 31, 15), + [BALL_SAFARI] = RGB(23, 30, 20), + [BALL_SPORT] = RGB(31, 31, 15), + [BALL_PARK] = RGB(31, 31, 15), [BALL_BEAST] = RGB(31, 31, 15), + [BALL_CHERISH] = RGB(25, 4, 3), }; const struct SpriteTemplate gPokeblockSpriteTemplate = @@ -952,30 +949,34 @@ u8 ItemIdToBallId(u16 ballItem) { switch (ballItem) { - case ITEM_MASTER_BALL: - return BALL_MASTER; - case ITEM_ULTRA_BALL: - return BALL_ULTRA; - case ITEM_GREAT_BALL: - return BALL_GREAT; - case ITEM_SAFARI_BALL: - return BALL_SAFARI; - case ITEM_NET_BALL: - return BALL_NET; - case ITEM_DIVE_BALL: - return BALL_DIVE; - case ITEM_NEST_BALL: - return BALL_NEST; - case ITEM_REPEAT_BALL: - return BALL_REPEAT; - case ITEM_TIMER_BALL: - return BALL_TIMER; - case ITEM_LUXURY_BALL: - return BALL_LUXURY; - case ITEM_PREMIER_BALL: - return BALL_PREMIER; case ITEM_POKE_BALL: return BALL_POKE; + case ITEM_GREAT_BALL: + return BALL_GREAT; + case ITEM_ULTRA_BALL: + return BALL_ULTRA; + case ITEM_MASTER_BALL: + return BALL_MASTER; + case ITEM_PREMIER_BALL: + return BALL_PREMIER; + case ITEM_HEAL_BALL: + return BALL_HEAL; + case ITEM_NET_BALL: + return BALL_NET; + case ITEM_NEST_BALL: + return BALL_NEST; + case ITEM_DIVE_BALL: + return BALL_DIVE; + case ITEM_DUSK_BALL: + return BALL_DUSK; + case ITEM_TIMER_BALL: + return BALL_TIMER; + case ITEM_QUICK_BALL: + return BALL_QUICK; + case ITEM_REPEAT_BALL: + return BALL_REPEAT; + case ITEM_LUXURY_BALL: + return BALL_LUXURY; case ITEM_LEVEL_BALL: return BALL_LEVEL; case ITEM_LURE_BALL: @@ -986,26 +987,22 @@ u8 ItemIdToBallId(u16 ballItem) return BALL_FRIEND; case ITEM_LOVE_BALL: return BALL_LOVE; - case ITEM_HEAVY_BALL: - return BALL_HEAVY; case ITEM_FAST_BALL: return BALL_FAST; - case ITEM_SPORT_BALL: - return BALL_SPORT; - case ITEM_DUSK_BALL: - return BALL_DUSK; - case ITEM_QUICK_BALL: - return BALL_QUICK; - case ITEM_HEAL_BALL: - return BALL_HEAL; - case ITEM_CHERISH_BALL: - return BALL_CHERISH; - case ITEM_PARK_BALL: - return BALL_PARK; + case ITEM_HEAVY_BALL: + return BALL_HEAVY; case ITEM_DREAM_BALL: return BALL_DREAM; + case ITEM_SAFARI_BALL: + return BALL_SAFARI; + case ITEM_SPORT_BALL: + return BALL_SPORT; + case ITEM_PARK_BALL: + return BALL_PARK; case ITEM_BEAST_BALL: return BALL_BEAST; + case ITEM_CHERISH_BALL: + return BALL_CHERISH; default: return BALL_POKE; } @@ -1674,7 +1671,7 @@ static void MakeCaptureStars(struct Sprite *sprite) LoadBallParticleGfx(BALL_MASTER); for (i = 0; i < ARRAY_COUNT(sCaptureStars); i++) { - u8 spriteId = CreateSprite(&sBallParticleSpriteTemplates[4], sprite->pos1.x, sprite->pos1.y, subpriority); + u8 spriteId = CreateSprite(&sBallParticleSpriteTemplates[BALL_MASTER], sprite->pos1.x, sprite->pos1.y, subpriority); if (spriteId != MAX_SPRITES) { gSprites[spriteId].sDuration = 24; diff --git a/src/data/graphics/interface_pokeballs.h b/src/data/graphics/interface_pokeballs.h index c3842571b..b3711f63a 100644 --- a/src/data/graphics/interface_pokeballs.h +++ b/src/data/graphics/interface_pokeballs.h @@ -4,36 +4,42 @@ const u32 gInterfacePal_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.gb const u32 gInterfaceGfx_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.4bpp.lz"); const u32 gInterfacePal_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.gbapal.lz"); -const u32 gInterfaceGfx_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.4bpp.lz"); -const u32 gInterfacePal_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.gbapal.lz"); - const u32 gInterfaceGfx_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.4bpp.lz"); const u32 gInterfacePal_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.gbapal.lz"); const u32 gInterfaceGfx_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.4bpp.lz"); const u32 gInterfacePal_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.gbapal.lz"); +const u32 gInterfaceGfx_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.4bpp.lz"); +const u32 gInterfacePal_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.gbapal.lz"); + +const u32 gInterfaceGfx_HealBall[] = INCBIN_U32("graphics/interface/ball/heal.4bpp.lz"); +const u32 gInterfacePal_HealBall[] = INCBIN_U32("graphics/interface/ball/heal.gbapal.lz"); + const u32 gInterfaceGfx_NetBall[] = INCBIN_U32("graphics/interface/ball/net.4bpp.lz"); const u32 gInterfacePal_NetBall[] = INCBIN_U32("graphics/interface/ball/net.gbapal.lz"); -const u32 gInterfaceGfx_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.lz"); -const u32 gInterfacePal_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.gbapal.lz"); - const u32 gInterfaceGfx_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.4bpp.lz"); const u32 gInterfacePal_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.gbapal.lz"); -const u32 gInterfaceGfx_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.4bpp.lz"); -const u32 gInterfacePal_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.gbapal.lz"); +const u32 gInterfaceGfx_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.lz"); +const u32 gInterfacePal_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.gbapal.lz"); + +const u32 gInterfaceGfx_DuskBall[] = INCBIN_U32("graphics/interface/ball/dusk.4bpp.lz"); +const u32 gInterfacePal_DuskBall[] = INCBIN_U32("graphics/interface/ball/dusk.gbapal.lz"); const u32 gInterfaceGfx_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.4bpp.lz"); const u32 gInterfacePal_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.gbapal.lz"); +const u32 gInterfaceGfx_QuickBall[] = INCBIN_U32("graphics/interface/ball/quick.4bpp.lz"); +const u32 gInterfacePal_QuickBall[] = INCBIN_U32("graphics/interface/ball/quick.gbapal.lz"); + +const u32 gInterfaceGfx_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.4bpp.lz"); +const u32 gInterfacePal_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.gbapal.lz"); + const u32 gInterfaceGfx_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.4bpp.lz"); const u32 gInterfacePal_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.gbapal.lz"); -const u32 gInterfaceGfx_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.4bpp.lz"); -const u32 gInterfacePal_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.gbapal.lz"); - const u32 gInterfaceGfx_LevelBall[] = INCBIN_U32("graphics/interface/ball/level.4bpp.lz"); const u32 gInterfacePal_LevelBall[] = INCBIN_U32("graphics/interface/ball/level.gbapal.lz"); @@ -49,34 +55,28 @@ const u32 gInterfacePal_FriendBall[] = INCBIN_U32("graphics/interface/ball/frien const u32 gInterfaceGfx_LoveBall[] = INCBIN_U32("graphics/interface/ball/love.4bpp.lz"); const u32 gInterfacePal_LoveBall[] = INCBIN_U32("graphics/interface/ball/love.gbapal.lz"); -const u32 gInterfaceGfx_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.4bpp.lz"); -const u32 gInterfacePal_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.gbapal.lz"); - const u32 gInterfaceGfx_FastBall[] = INCBIN_U32("graphics/interface/ball/fast.4bpp.lz"); const u32 gInterfacePal_FastBall[] = INCBIN_U32("graphics/interface/ball/fast.gbapal.lz"); -const u32 gInterfaceGfx_SportBall[] = INCBIN_U32("graphics/interface/ball/sport.4bpp.lz"); -const u32 gInterfacePal_SportBall[] = INCBIN_U32("graphics/interface/ball/sport.gbapal.lz"); - -const u32 gInterfaceGfx_DuskBall[] = INCBIN_U32("graphics/interface/ball/dusk.4bpp.lz"); -const u32 gInterfacePal_DuskBall[] = INCBIN_U32("graphics/interface/ball/dusk.gbapal.lz"); - -const u32 gInterfaceGfx_QuickBall[] = INCBIN_U32("graphics/interface/ball/quick.4bpp.lz"); -const u32 gInterfacePal_QuickBall[] = INCBIN_U32("graphics/interface/ball/quick.gbapal.lz"); - -const u32 gInterfaceGfx_HealBall[] = INCBIN_U32("graphics/interface/ball/heal.4bpp.lz"); -const u32 gInterfacePal_HealBall[] = INCBIN_U32("graphics/interface/ball/heal.gbapal.lz"); - -const u32 gInterfaceGfx_CherishBall[] = INCBIN_U32("graphics/interface/ball/cherish.4bpp.lz"); -const u32 gInterfacePal_CherishBall[] = INCBIN_U32("graphics/interface/ball/cherish.gbapal.lz"); - -const u32 gInterfaceGfx_ParkBall[] = INCBIN_U32("graphics/interface/ball/park.4bpp.lz"); -const u32 gInterfacePal_ParkBall[] = INCBIN_U32("graphics/interface/ball/park.gbapal.lz"); +const u32 gInterfaceGfx_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.4bpp.lz"); +const u32 gInterfacePal_HeavyBall[] = INCBIN_U32("graphics/interface/ball/heavy.gbapal.lz"); const u32 gInterfaceGfx_DreamBall[] = INCBIN_U32("graphics/interface/ball/dream.4bpp.lz"); const u32 gInterfacePal_DreamBall[] = INCBIN_U32("graphics/interface/ball/dream.gbapal.lz"); +const u32 gInterfaceGfx_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.4bpp.lz"); +const u32 gInterfacePal_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.gbapal.lz"); + +const u32 gInterfaceGfx_SportBall[] = INCBIN_U32("graphics/interface/ball/sport.4bpp.lz"); +const u32 gInterfacePal_SportBall[] = INCBIN_U32("graphics/interface/ball/sport.gbapal.lz"); + +const u32 gInterfaceGfx_ParkBall[] = INCBIN_U32("graphics/interface/ball/park.4bpp.lz"); +const u32 gInterfacePal_ParkBall[] = INCBIN_U32("graphics/interface/ball/park.gbapal.lz"); + const u32 gInterfaceGfx_BeastBall[] = INCBIN_U32("graphics/interface/ball/beast.4bpp.lz"); const u32 gInterfacePal_BeastBall[] = INCBIN_U32("graphics/interface/ball/beast.gbapal.lz"); +const u32 gInterfaceGfx_CherishBall[] = INCBIN_U32("graphics/interface/ball/cherish.4bpp.lz"); +const u32 gInterfacePal_CherishBall[] = INCBIN_U32("graphics/interface/ball/cherish.gbapal.lz"); + const u32 gOpenPokeballGfx[] = INCBIN_U32("graphics/interface/ball_open.4bpp.lz"); diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h index c3d44debd..d0bd00144 100644 --- a/src/data/graphics/items.h +++ b/src/data/graphics/items.h @@ -6,40 +6,46 @@ const u32 gItemIconPalette_ReturnToFieldArrow[] = INCBIN_U32("graphics/items/ico // Pokeballs -const u32 gItemIcon_MasterBall[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz"); -const u32 gItemIconPalette_MasterBall[] = INCBIN_U32("graphics/items/icon_palettes/master_ball.gbapal.lz"); - -const u32 gItemIcon_UltraBall[] = INCBIN_U32("graphics/items/icons/ultra_ball.4bpp.lz"); -const u32 gItemIconPalette_UltraBall[] = INCBIN_U32("graphics/items/icon_palettes/ultra_ball.gbapal.lz"); +const u32 gItemIcon_PokeBall[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz"); +const u32 gItemIconPalette_PokeBall[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz"); const u32 gItemIcon_GreatBall[] = INCBIN_U32("graphics/items/icons/great_ball.4bpp.lz"); const u32 gItemIconPalette_GreatBall[] = INCBIN_U32("graphics/items/icon_palettes/great_ball.gbapal.lz"); -const u32 gItemIcon_PokeBall[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz"); -const u32 gItemIconPalette_PokeBall[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz"); +const u32 gItemIcon_UltraBall[] = INCBIN_U32("graphics/items/icons/ultra_ball.4bpp.lz"); +const u32 gItemIconPalette_UltraBall[] = INCBIN_U32("graphics/items/icon_palettes/ultra_ball.gbapal.lz"); -const u32 gItemIcon_SafariBall[] = INCBIN_U32("graphics/items/icons/safari_ball.4bpp.lz"); -const u32 gItemIconPalette_SafariBall[] = INCBIN_U32("graphics/items/icon_palettes/safari_ball.gbapal.lz"); +const u32 gItemIcon_MasterBall[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz"); +const u32 gItemIconPalette_MasterBall[] = INCBIN_U32("graphics/items/icon_palettes/master_ball.gbapal.lz"); + +const u32 gItemIcon_PremierBall[] = INCBIN_U32("graphics/items/icons/premier_ball.4bpp.lz"); + +const u32 gItemIcon_HealBall[] = INCBIN_U32("graphics/items/icons/heal_ball.4bpp.lz"); +const u32 gItemIconPalette_HealBall[] = INCBIN_U32("graphics/items/icon_palettes/heal_ball.gbapal.lz"); const u32 gItemIcon_NetBall[] = INCBIN_U32("graphics/items/icons/net_ball.4bpp.lz"); const u32 gItemIconPalette_NetBall[] = INCBIN_U32("graphics/items/icon_palettes/net_ball.gbapal.lz"); +const u32 gItemIcon_NestBall[] = INCBIN_U32("graphics/items/icons/nest_ball.4bpp.lz"); +const u32 gItemIconPalette_NestBall[] = INCBIN_U32("graphics/items/icon_palettes/nest_ball.gbapal.lz"); + const u32 gItemIcon_DiveBall[] = INCBIN_U32("graphics/items/icons/dive_ball.4bpp.lz"); const u32 gItemIconPalette_DiveBall[] = INCBIN_U32("graphics/items/icon_palettes/dive_ball.gbapal.lz"); -const u32 gItemIcon_NestBall[] = INCBIN_U32("graphics/items/icons/nest_ball.4bpp.lz"); -const u32 gItemIconPalette_NestBall[] = INCBIN_U32("graphics/items/icon_palettes/nest_ball.gbapal.lz"); +const u32 gItemIcon_DuskBall[] = INCBIN_U32("graphics/items/icons/dusk_ball.4bpp.lz"); +const u32 gItemIconPalette_DuskBall[] = INCBIN_U32("graphics/items/icon_palettes/dusk_ball.gbapal.lz"); + +const u32 gItemIcon_TimerBall[] = INCBIN_U32("graphics/items/icons/timer_ball.4bpp.lz"); + +const u32 gItemIcon_QuickBall[] = INCBIN_U32("graphics/items/icons/quick_ball.4bpp.lz"); +const u32 gItemIconPalette_QuickBall[] = INCBIN_U32("graphics/items/icon_palettes/quick_ball.gbapal.lz"); const u32 gItemIcon_RepeatBall[] = INCBIN_U32("graphics/items/icons/repeat_ball.4bpp.lz"); const u32 gItemIconPalette_RepeatBall[] = INCBIN_U32("graphics/items/icon_palettes/repeat_ball.gbapal.lz"); -const u32 gItemIcon_TimerBall[] = INCBIN_U32("graphics/items/icons/timer_ball.4bpp.lz"); - const u32 gItemIcon_LuxuryBall[] = INCBIN_U32("graphics/items/icons/luxury_ball.4bpp.lz"); const u32 gItemIconPalette_LuxuryBall[] = INCBIN_U32("graphics/items/icon_palettes/luxury_ball.gbapal.lz"); -const u32 gItemIcon_PremierBall[] = INCBIN_U32("graphics/items/icons/premier_ball.4bpp.lz"); - const u32 gItemIcon_LevelBall[] = INCBIN_U32("graphics/items/icons/level_ball.4bpp.lz"); const u32 gItemIconPalette_LevelBall[] = INCBIN_U32("graphics/items/icon_palettes/level_ball.gbapal.lz"); @@ -55,36 +61,30 @@ const u32 gItemIconPalette_FriendBall[] = INCBIN_U32("graphics/items/icon_palett const u32 gItemIcon_LoveBall[] = INCBIN_U32("graphics/items/icons/love_ball.4bpp.lz"); const u32 gItemIconPalette_LoveBall[] = INCBIN_U32("graphics/items/icon_palettes/love_ball.gbapal.lz"); -const u32 gItemIcon_HeavyBall[] = INCBIN_U32("graphics/items/icons/heavy_ball.4bpp.lz"); -const u32 gItemIconPalette_HeavyBall[] = INCBIN_U32("graphics/items/icon_palettes/heavy_ball.gbapal.lz"); - const u32 gItemIcon_FastBall[] = INCBIN_U32("graphics/items/icons/fast_ball.4bpp.lz"); const u32 gItemIconPalette_FastBall[] = INCBIN_U32("graphics/items/icon_palettes/fast_ball.gbapal.lz"); -const u32 gItemIcon_SportBall[] = INCBIN_U32("graphics/items/icons/sport_ball.4bpp.lz"); -const u32 gItemIconPalette_SportBall[] = INCBIN_U32("graphics/items/icon_palettes/sport_ball.gbapal.lz"); - -const u32 gItemIcon_DuskBall[] = INCBIN_U32("graphics/items/icons/dusk_ball.4bpp.lz"); -const u32 gItemIconPalette_DuskBall[] = INCBIN_U32("graphics/items/icon_palettes/dusk_ball.gbapal.lz"); - -const u32 gItemIcon_QuickBall[] = INCBIN_U32("graphics/items/icons/quick_ball.4bpp.lz"); -const u32 gItemIconPalette_QuickBall[] = INCBIN_U32("graphics/items/icon_palettes/quick_ball.gbapal.lz"); - -const u32 gItemIcon_HealBall[] = INCBIN_U32("graphics/items/icons/heal_ball.4bpp.lz"); -const u32 gItemIconPalette_HealBall[] = INCBIN_U32("graphics/items/icon_palettes/heal_ball.gbapal.lz"); - -const u32 gItemIcon_CherishBall[] = INCBIN_U32("graphics/items/icons/cherish_ball.4bpp.lz"); -const u32 gItemIconPalette_CherishBall[] = INCBIN_U32("graphics/items/icon_palettes/cherish_ball.gbapal.lz"); - -const u32 gItemIcon_ParkBall[] = INCBIN_U32("graphics/items/icons/park_ball.4bpp.lz"); -const u32 gItemIconPalette_ParkBall[] = INCBIN_U32("graphics/items/icon_palettes/park_ball.gbapal.lz"); +const u32 gItemIcon_HeavyBall[] = INCBIN_U32("graphics/items/icons/heavy_ball.4bpp.lz"); +const u32 gItemIconPalette_HeavyBall[] = INCBIN_U32("graphics/items/icon_palettes/heavy_ball.gbapal.lz"); const u32 gItemIcon_DreamBall[] = INCBIN_U32("graphics/items/icons/dream_ball.4bpp.lz"); const u32 gItemIconPalette_DreamBall[] = INCBIN_U32("graphics/items/icon_palettes/dream_ball.gbapal.lz"); +const u32 gItemIcon_SafariBall[] = INCBIN_U32("graphics/items/icons/safari_ball.4bpp.lz"); +const u32 gItemIconPalette_SafariBall[] = INCBIN_U32("graphics/items/icon_palettes/safari_ball.gbapal.lz"); + +const u32 gItemIcon_SportBall[] = INCBIN_U32("graphics/items/icons/sport_ball.4bpp.lz"); +const u32 gItemIconPalette_SportBall[] = INCBIN_U32("graphics/items/icon_palettes/sport_ball.gbapal.lz"); + +const u32 gItemIcon_ParkBall[] = INCBIN_U32("graphics/items/icons/park_ball.4bpp.lz"); +const u32 gItemIconPalette_ParkBall[] = INCBIN_U32("graphics/items/icon_palettes/park_ball.gbapal.lz"); + const u32 gItemIcon_BeastBall[] = INCBIN_U32("graphics/items/icons/beast_ball.4bpp.lz"); const u32 gItemIconPalette_BeastBall[] = INCBIN_U32("graphics/items/icon_palettes/beast_ball.gbapal.lz"); +const u32 gItemIcon_CherishBall[] = INCBIN_U32("graphics/items/icons/cherish_ball.4bpp.lz"); +const u32 gItemIconPalette_CherishBall[] = INCBIN_U32("graphics/items/icon_palettes/cherish_ball.gbapal.lz"); + // Medicine const u32 gItemIcon_Potion[] = INCBIN_U32("graphics/items/icons/potion.4bpp.lz"); diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h index 1002e741c..2454d5aa4 100644 --- a/src/data/item_icon_table.h +++ b/src/data/item_icon_table.h @@ -2,33 +2,33 @@ const u32 *const gItemIconTable[][2] = { [ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // Pokeballs - [ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall}, - [ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall}, - [ITEM_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall}, [ITEM_POKE_BALL] = {gItemIcon_PokeBall, gItemIconPalette_PokeBall}, - [ITEM_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall}, - [ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall}, - [ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall}, - [ITEM_NEST_BALL] = {gItemIcon_NestBall, gItemIconPalette_NestBall}, - [ITEM_REPEAT_BALL] = {gItemIcon_RepeatBall, gItemIconPalette_RepeatBall}, - [ITEM_TIMER_BALL] = {gItemIcon_TimerBall, gItemIconPalette_RepeatBall}, - [ITEM_LUXURY_BALL] = {gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall}, + [ITEM_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall}, + [ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall}, + [ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall}, [ITEM_PREMIER_BALL] = {gItemIcon_PremierBall, gItemIconPalette_LuxuryBall}, + [ITEM_HEAL_BALL] = {gItemIcon_HealBall, gItemIconPalette_HealBall}, + [ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall}, + [ITEM_NEST_BALL] = {gItemIcon_NestBall, gItemIconPalette_NestBall}, + [ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall}, + [ITEM_DUSK_BALL] = {gItemIcon_DuskBall, gItemIconPalette_DuskBall}, + [ITEM_TIMER_BALL] = {gItemIcon_TimerBall, gItemIconPalette_RepeatBall}, + [ITEM_QUICK_BALL] = {gItemIcon_QuickBall, gItemIconPalette_QuickBall}, + [ITEM_REPEAT_BALL] = {gItemIcon_RepeatBall, gItemIconPalette_RepeatBall}, + [ITEM_LUXURY_BALL] = {gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall}, [ITEM_LEVEL_BALL] = {gItemIcon_LevelBall, gItemIconPalette_LevelBall}, [ITEM_LURE_BALL] = {gItemIcon_LureBall, gItemIconPalette_LureBall}, [ITEM_MOON_BALL] = {gItemIcon_MoonBall, gItemIconPalette_MoonBall}, [ITEM_FRIEND_BALL] = {gItemIcon_FriendBall, gItemIconPalette_FriendBall}, [ITEM_LOVE_BALL] = {gItemIcon_LoveBall, gItemIconPalette_LoveBall}, - [ITEM_HEAVY_BALL] = {gItemIcon_HeavyBall, gItemIconPalette_HeavyBall}, [ITEM_FAST_BALL] = {gItemIcon_FastBall, gItemIconPalette_FastBall}, - [ITEM_SPORT_BALL] = {gItemIcon_SportBall, gItemIconPalette_SportBall}, - [ITEM_DUSK_BALL] = {gItemIcon_DuskBall, gItemIconPalette_DuskBall}, - [ITEM_QUICK_BALL] = {gItemIcon_QuickBall, gItemIconPalette_QuickBall}, - [ITEM_HEAL_BALL] = {gItemIcon_HealBall, gItemIconPalette_HealBall}, - [ITEM_CHERISH_BALL] = {gItemIcon_CherishBall, gItemIconPalette_CherishBall}, - [ITEM_PARK_BALL] = {gItemIcon_ParkBall, gItemIconPalette_ParkBall}, + [ITEM_HEAVY_BALL] = {gItemIcon_HeavyBall, gItemIconPalette_HeavyBall}, [ITEM_DREAM_BALL] = {gItemIcon_DreamBall, gItemIconPalette_DreamBall}, + [ITEM_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall}, + [ITEM_SPORT_BALL] = {gItemIcon_SportBall, gItemIconPalette_SportBall}, + [ITEM_PARK_BALL] = {gItemIcon_ParkBall, gItemIconPalette_ParkBall}, [ITEM_BEAST_BALL] = {gItemIcon_BeastBall, gItemIconPalette_BeastBall}, + [ITEM_CHERISH_BALL] = {gItemIcon_CherishBall, gItemIconPalette_CherishBall}, // Medicine [ITEM_POTION] = {gItemIcon_Potion, gItemIconPalette_Potion}, [ITEM_ANTIDOTE] = {gItemIcon_Antidote, gItemIconPalette_Antidote}, diff --git a/src/data/items.h b/src/data/items.h index 48b3fc0c7..13e2e0708 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -13,30 +13,17 @@ const struct Item gItems[] = // Pokeballs - [ITEM_MASTER_BALL] = + [ITEM_POKE_BALL] = { - .name = _("Master Ball"), - .itemId = ITEM_MASTER_BALL, - .price = 0, - .description = sMasterBallDesc, + .name = _("Poké Ball"), + .itemId = ITEM_POKE_BALL, + .price = 200, + .description = sPokeBallDesc, .pocket = POCKET_POKE_BALLS, - .type = ITEM_MASTER_BALL - FIRST_BALL, + .type = ITEM_POKE_BALL - FIRST_BALL, .battleUsage = ITEM_B_USE_OTHER, .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_MASTER_BALL - FIRST_BALL, - }, - - [ITEM_ULTRA_BALL] = - { - .name = _("Ultra Ball"), - .itemId = ITEM_ULTRA_BALL, - .price = 800, - .description = sUltraBallDesc, - .pocket = POCKET_POKE_BALLS, - .type = ITEM_ULTRA_BALL - FIRST_BALL, - .battleUsage = ITEM_B_USE_OTHER, - .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_ULTRA_BALL - FIRST_BALL, + .secondaryId = ITEM_POKE_BALL - FIRST_BALL, }, [ITEM_GREAT_BALL] = @@ -52,30 +39,56 @@ const struct Item gItems[] = .secondaryId = ITEM_GREAT_BALL - FIRST_BALL, }, - [ITEM_POKE_BALL] = + [ITEM_ULTRA_BALL] = { - .name = _("Poké Ball"), - .itemId = ITEM_POKE_BALL, - .price = 200, - .description = sPokeBallDesc, + .name = _("Ultra Ball"), + .itemId = ITEM_ULTRA_BALL, + .price = 800, + .description = sUltraBallDesc, .pocket = POCKET_POKE_BALLS, - .type = ITEM_POKE_BALL - FIRST_BALL, + .type = ITEM_ULTRA_BALL - FIRST_BALL, .battleUsage = ITEM_B_USE_OTHER, .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_POKE_BALL - FIRST_BALL, + .secondaryId = ITEM_ULTRA_BALL - FIRST_BALL, }, - [ITEM_SAFARI_BALL] = + [ITEM_MASTER_BALL] = { - .name = _("Safari Ball"), - .itemId = ITEM_SAFARI_BALL, + .name = _("Master Ball"), + .itemId = ITEM_MASTER_BALL, .price = 0, - .description = sSafariBallDesc, + .description = sMasterBallDesc, .pocket = POCKET_POKE_BALLS, - .type = ITEM_SAFARI_BALL - FIRST_BALL, + .type = ITEM_MASTER_BALL - FIRST_BALL, .battleUsage = ITEM_B_USE_OTHER, .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_SAFARI_BALL - FIRST_BALL, + .secondaryId = ITEM_MASTER_BALL - FIRST_BALL, + }, + + [ITEM_PREMIER_BALL] = + { + .name = _("Premier Ball"), + .itemId = ITEM_PREMIER_BALL, + .price = 20, + .description = sPremierBallDesc, + .pocket = POCKET_POKE_BALLS, + .type = ITEM_PREMIER_BALL - FIRST_BALL, + .battleUsage = ITEM_B_USE_OTHER, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = ITEM_PREMIER_BALL - FIRST_BALL, + }, + + [ITEM_HEAL_BALL] = + { + .name = _("Heal Ball"), + .itemId = ITEM_HEAL_BALL, + .price = 300, + .description = sHealBallDesc, + .pocket = POCKET_POKE_BALLS, + .type = ITEM_HEAL_BALL - FIRST_BALL, + .battleUsage = ITEM_B_USE_OTHER, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = ITEM_HEAL_BALL - FIRST_BALL, }, [ITEM_NET_BALL] = @@ -91,19 +104,6 @@ const struct Item gItems[] = .secondaryId = ITEM_NET_BALL - FIRST_BALL, }, - [ITEM_DIVE_BALL] = - { - .name = _("Dive Ball"), - .itemId = ITEM_DIVE_BALL, - .price = 1000, - .description = sDiveBallDesc, - .pocket = POCKET_POKE_BALLS, - .type = ITEM_DIVE_BALL - FIRST_BALL, - .battleUsage = ITEM_B_USE_OTHER, - .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_DIVE_BALL - FIRST_BALL, - }, - [ITEM_NEST_BALL] = { .name = _("Nest Ball"), @@ -117,17 +117,30 @@ const struct Item gItems[] = .secondaryId = ITEM_NEST_BALL - FIRST_BALL, }, - [ITEM_REPEAT_BALL] = + [ITEM_DIVE_BALL] = { - .name = _("Repeat Ball"), - .itemId = ITEM_REPEAT_BALL, + .name = _("Dive Ball"), + .itemId = ITEM_DIVE_BALL, .price = 1000, - .description = sRepeatBallDesc, + .description = sDiveBallDesc, .pocket = POCKET_POKE_BALLS, - .type = ITEM_REPEAT_BALL - FIRST_BALL, + .type = ITEM_DIVE_BALL - FIRST_BALL, .battleUsage = ITEM_B_USE_OTHER, .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_REPEAT_BALL - FIRST_BALL, + .secondaryId = ITEM_DIVE_BALL - FIRST_BALL, + }, + + [ITEM_DUSK_BALL] = + { + .name = _("Dusk Ball"), + .itemId = ITEM_DUSK_BALL, + .price = 1000, + .description = sDuskBallDesc, + .pocket = POCKET_POKE_BALLS, + .type = ITEM_DUSK_BALL - FIRST_BALL, + .battleUsage = ITEM_B_USE_OTHER, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = ITEM_DUSK_BALL - FIRST_BALL, }, [ITEM_TIMER_BALL] = @@ -143,6 +156,32 @@ const struct Item gItems[] = .secondaryId = ITEM_TIMER_BALL - FIRST_BALL, }, + [ITEM_QUICK_BALL] = + { + .name = _("Quick Ball"), + .itemId = ITEM_QUICK_BALL, + .price = 1000, + .description = sQuickBallDesc, + .pocket = POCKET_POKE_BALLS, + .type = ITEM_QUICK_BALL - FIRST_BALL, + .battleUsage = ITEM_B_USE_OTHER, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = ITEM_QUICK_BALL - FIRST_BALL, + }, + + [ITEM_REPEAT_BALL] = + { + .name = _("Repeat Ball"), + .itemId = ITEM_REPEAT_BALL, + .price = 1000, + .description = sRepeatBallDesc, + .pocket = POCKET_POKE_BALLS, + .type = ITEM_REPEAT_BALL - FIRST_BALL, + .battleUsage = ITEM_B_USE_OTHER, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = ITEM_REPEAT_BALL - FIRST_BALL, + }, + [ITEM_LUXURY_BALL] = { .name = _("Luxury Ball"), @@ -156,19 +195,6 @@ const struct Item gItems[] = .secondaryId = ITEM_LUXURY_BALL - FIRST_BALL, }, - [ITEM_PREMIER_BALL] = - { - .name = _("Premier Ball"), - .itemId = ITEM_PREMIER_BALL, - .price = 20, - .description = sPremierBallDesc, - .pocket = POCKET_POKE_BALLS, - .type = ITEM_PREMIER_BALL - FIRST_BALL, - .battleUsage = ITEM_B_USE_OTHER, - .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_PREMIER_BALL - FIRST_BALL, - }, - [ITEM_LEVEL_BALL] = { .name = _("Level Ball"), @@ -234,19 +260,6 @@ const struct Item gItems[] = .secondaryId = ITEM_LOVE_BALL - FIRST_BALL, }, - [ITEM_HEAVY_BALL] = - { - .name = _("Heavy Ball"), - .itemId = ITEM_HEAVY_BALL, - .price = 0, - .description = sHeavyBallDesc, - .pocket = POCKET_POKE_BALLS, - .type = ITEM_HEAVY_BALL - FIRST_BALL, - .battleUsage = ITEM_B_USE_OTHER, - .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_HEAVY_BALL - FIRST_BALL, - }, - [ITEM_FAST_BALL] = { .name = _("Fast Ball"), @@ -260,56 +273,43 @@ const struct Item gItems[] = .secondaryId = ITEM_FAST_BALL - FIRST_BALL, }, - [ITEM_HEAL_BALL] = + [ITEM_HEAVY_BALL] = { - .name = _("Heal Ball"), - .itemId = ITEM_HEAL_BALL, - .price = 300, - .description = sHealBallDesc, - .pocket = POCKET_POKE_BALLS, - .type = ITEM_HEAL_BALL - FIRST_BALL, - .battleUsage = ITEM_B_USE_OTHER, - .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_HEAL_BALL - FIRST_BALL, - }, - - [ITEM_QUICK_BALL] = - { - .name = _("Quick Ball"), - .itemId = ITEM_QUICK_BALL, - .price = 1000, - .description = sQuickBallDesc, - .pocket = POCKET_POKE_BALLS, - .type = ITEM_QUICK_BALL - FIRST_BALL, - .battleUsage = ITEM_B_USE_OTHER, - .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_QUICK_BALL - FIRST_BALL, - }, - - [ITEM_DUSK_BALL] = - { - .name = _("Dusk Ball"), - .itemId = ITEM_DUSK_BALL, - .price = 1000, - .description = sDuskBallDesc, - .pocket = POCKET_POKE_BALLS, - .type = ITEM_DUSK_BALL - FIRST_BALL, - .battleUsage = ITEM_B_USE_OTHER, - .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_DUSK_BALL - FIRST_BALL, - }, - - [ITEM_CHERISH_BALL] = - { - .name = _("Cherish Ball"), - .itemId = ITEM_CHERISH_BALL, + .name = _("Heavy Ball"), + .itemId = ITEM_HEAVY_BALL, .price = 0, - .description = sCherishBallDesc, + .description = sHeavyBallDesc, .pocket = POCKET_POKE_BALLS, - .type = ITEM_CHERISH_BALL - FIRST_BALL, + .type = ITEM_HEAVY_BALL - FIRST_BALL, .battleUsage = ITEM_B_USE_OTHER, .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_CHERISH_BALL - FIRST_BALL, + .secondaryId = ITEM_HEAVY_BALL - FIRST_BALL, + }, + + [ITEM_DREAM_BALL] = + { + .name = _("Dream Ball"), + .itemId = ITEM_DREAM_BALL, + .price = 0, + .description = sDreamBallDesc, + .pocket = POCKET_POKE_BALLS, + .type = ITEM_DREAM_BALL - FIRST_BALL, + .battleUsage = ITEM_B_USE_OTHER, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = ITEM_DREAM_BALL - FIRST_BALL, + }, + + [ITEM_SAFARI_BALL] = + { + .name = _("Safari Ball"), + .itemId = ITEM_SAFARI_BALL, + .price = 0, + .description = sSafariBallDesc, + .pocket = POCKET_POKE_BALLS, + .type = ITEM_SAFARI_BALL - FIRST_BALL, + .battleUsage = ITEM_B_USE_OTHER, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = ITEM_SAFARI_BALL - FIRST_BALL, }, [ITEM_SPORT_BALL] = @@ -338,19 +338,6 @@ const struct Item gItems[] = .secondaryId = ITEM_PARK_BALL - FIRST_BALL, }, - [ITEM_DREAM_BALL] = - { - .name = _("Dream Ball"), - .itemId = ITEM_DREAM_BALL, - .price = 0, - .description = sDreamBallDesc, - .pocket = POCKET_POKE_BALLS, - .type = ITEM_DREAM_BALL - FIRST_BALL, - .battleUsage = ITEM_B_USE_OTHER, - .battleUseFunc = ItemUseInBattle_PokeBall, - .secondaryId = ITEM_DREAM_BALL - FIRST_BALL, - }, - [ITEM_BEAST_BALL] = { .name = _("Beast Ball"), @@ -364,6 +351,19 @@ const struct Item gItems[] = .secondaryId = ITEM_BEAST_BALL - FIRST_BALL, }, + [ITEM_CHERISH_BALL] = + { + .name = _("Cherish Ball"), + .itemId = ITEM_CHERISH_BALL, + .price = 0, + .description = sCherishBallDesc, + .pocket = POCKET_POKE_BALLS, + .type = ITEM_CHERISH_BALL - FIRST_BALL, + .battleUsage = ITEM_B_USE_OTHER, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = ITEM_CHERISH_BALL - FIRST_BALL, + }, + // Medicine [ITEM_POTION] = diff --git a/src/data/text/item_descriptions.h b/src/data/text/item_descriptions.h index c102b4116..4464f857c 100644 --- a/src/data/text/item_descriptions.h +++ b/src/data/text/item_descriptions.h @@ -2,66 +2,76 @@ static const u8 sDummyDesc[] = _( "?????"); // Pokeballs -static const u8 sMasterBallDesc[] = _( - "The best Ball that\n" - "catches a Pokémon\n" - "without fail."); - -static const u8 sUltraBallDesc[] = _( - "A better Ball with\n" - "a higher catch rate\n" - "than a Great Ball."); +static const u8 sPokeBallDesc[] = _( + "A tool used for\n" + "catching wild\n" + "Pokémon."); static const u8 sGreatBallDesc[] = _( "A good Ball with a\n" "higher catch rate\n" "than a Poké Ball."); -static const u8 sPokeBallDesc[] = _( - "A tool used for\n" - "catching wild\n" - "Pokémon."); +static const u8 sUltraBallDesc[] = _( + "A better Ball with\n" + "a higher catch rate\n" + "than a Great Ball."); -static const u8 sSafariBallDesc[] = _( - "A special Ball that\n" - "is used only in the\n" - "Safari Zone."); +static const u8 sMasterBallDesc[] = _( + "The best Ball that\n" + "catches a Pokémon\n" + "without fail."); + +static const u8 sPremierBallDesc[] = _( + "A rare Ball made\n" + "in commemoration\n" + "of some event."); + +static const u8 sHealBallDesc[] = _( + "A remedial Ball\n" + "that restores\n" + "caught Pokémon."); static const u8 sNetBallDesc[] = _( "A Ball that works\n" "well on Water- and\n" "Bug-type Pokémon."); -static const u8 sDiveBallDesc[] = _( - "A Ball that works\n" - "better on Pokémon\n" - "on the ocean floor."); - static const u8 sNestBallDesc[] = _( "A Ball that works\n" "better on weaker\n" "Pokémon."); -static const u8 sRepeatBallDesc[] = _( +static const u8 sDiveBallDesc[] = _( "A Ball that works\n" "better on Pokémon\n" - "caught before."); + "on the ocean floor."); + +static const u8 sDuskBallDesc[] = _( + "Works well if\n" + "used in a\n" + "dark place."); static const u8 sTimerBallDesc[] = _( "A Ball that gains\n" "power in battles\n" "taking many turns."); +static const u8 sQuickBallDesc[] = _( + "Works well if\n" + "used on the\n" + "first turn."); + +static const u8 sRepeatBallDesc[] = _( + "A Ball that works\n" + "better on Pokémon\n" + "caught before."); + static const u8 sLuxuryBallDesc[] = _( "A cozy Ball that\n" "makes Pokémon\n" "more friendly."); -static const u8 sPremierBallDesc[] = _( - "A rare Ball made\n" - "in commemoration\n" - "of some event."); - static const u8 sLevelBallDesc[] = _( "A Ball that works\n" "well on lower\n" @@ -87,35 +97,25 @@ static const u8 sLoveBallDesc[] = _( "Pokémon of the\n" "opposite gender."); -static const u8 sHeavyBallDesc[] = _( - "Works well on\n" - "very heavy\n" - "Pokémon."); - static const u8 sFastBallDesc[] = _( "Works well on\n" "very fast\n" "Pokémon."); -static const u8 sHealBallDesc[] = _( - "A remedial Ball\n" - "that restores\n" - "caught Pokémon."); +static const u8 sHeavyBallDesc[] = _( + "Works well on\n" + "very heavy\n" + "Pokémon."); -static const u8 sQuickBallDesc[] = _( - "Works well if\n" - "used on the\n" - "first turn."); +static const u8 sDreamBallDesc[] = _( + "A Poké Ball used in\n" + "the Entree Forest.\n" + "It doesn't fail."); -static const u8 sDuskBallDesc[] = _( - "Works well if\n" - "used in a\n" - "dark place."); - -static const u8 sCherishBallDesc[] = _( - "A rare Ball made\n" - "in commemoration\n" - "of some event."); +static const u8 sSafariBallDesc[] = _( + "A special Ball that\n" + "is used only in the\n" + "Safari Zone."); static const u8 sSportBallDesc[] = _( "A special Ball used\n" @@ -126,15 +126,15 @@ static const u8 sParkBallDesc[] = _( "A special Ball for\n" "the Pal Park."); -static const u8 sDreamBallDesc[] = _( - "A Poké Ball used in\n" - "the Entree Forest.\n" - "It doesn't fail."); - static const u8 sBeastBallDesc[] = _( "A Ball designed to\n" "catch Ultra Beasts."); +static const u8 sCherishBallDesc[] = _( + "A rare Ball made\n" + "in commemoration\n" + "of some event."); + // Medicine static const u8 sPotionDesc[] = _( "Restores the HP of\n" diff --git a/src/pokeball.c b/src/pokeball.c index 500c4a789..141c9f20c 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -49,92 +49,92 @@ static u16 GetBattlerPokeballItemId(u8 battlerId); #define GFX_TAG_POKEBALL 55000 #define GFX_TAG_GREATBALL 55001 -#define GFX_TAG_SAFARIBALL 55002 -#define GFX_TAG_ULTRABALL 55003 -#define GFX_TAG_MASTERBALL 55004 -#define GFX_TAG_NETBALL 55005 -#define GFX_TAG_DIVEBALL 55006 +#define GFX_TAG_ULTRABALL 55002 +#define GFX_TAG_MASTERBALL 55003 +#define GFX_TAG_PREMIERBALL 55004 +#define GFX_TAG_HEALBALL 55005 +#define GFX_TAG_NETBALL 55006 #define GFX_TAG_NESTBALL 55007 -#define GFX_TAG_REPEATBALL 55008 -#define GFX_TAG_TIMERBALL 55009 -#define GFX_TAG_LUXURYBALL 55010 -#define GFX_TAG_PREMIERBALL 55011 -#define GFX_TAG_LEVELBALL 55012 -#define GFX_TAG_LUREBALL 55013 -#define GFX_TAG_MOONBALL 55014 -#define GFX_TAG_FRIENDBALL 55015 -#define GFX_TAG_LOVEBALL 55016 -#define GFX_TAG_HEAVYBALL 55017 -#define GFX_TAG_FASTBALL 55018 -#define GFX_TAG_SPORTBALL 55019 -#define GFX_TAG_DUSKBALL 55020 -#define GFX_TAG_QUICKBALL 55021 -#define GFX_TAG_HEALBALL 55022 -#define GFX_TAG_CHERISHBALL 55023 +#define GFX_TAG_DIVEBALL 55008 +#define GFX_TAG_DUSKBALL 55009 +#define GFX_TAG_TIMERBALL 55010 +#define GFX_TAG_QUICKBALL 55011 +#define GFX_TAG_REPEATBALL 55012 +#define GFX_TAG_LUXURYBALL 55013 +#define GFX_TAG_LEVELBALL 55014 +#define GFX_TAG_LUREBALL 55015 +#define GFX_TAG_MOONBALL 55016 +#define GFX_TAG_FRIENDBALL 55017 +#define GFX_TAG_LOVEBALL 55018 +#define GFX_TAG_FASTBALL 55019 +#define GFX_TAG_HEAVYBALL 55020 +#define GFX_TAG_DREAMBALL 55021 +#define GFX_TAG_SAFARIBALL 55022 +#define GFX_TAG_SPORTBALL 55023 #define GFX_TAG_PARKBALL 55024 -#define GFX_TAG_DREAMBALL 55025 -#define GFX_TAG_BEASTBALL 55026 +#define GFX_TAG_BEASTBALL 55025 +#define GFX_TAG_CHERISHBALL 55026 const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] = { [BALL_POKE] = {gInterfaceGfx_PokeBall, 384, GFX_TAG_POKEBALL}, [BALL_GREAT] = {gInterfaceGfx_GreatBall, 384, GFX_TAG_GREATBALL}, - [BALL_SAFARI] = {gInterfaceGfx_SafariBall, 384, GFX_TAG_SAFARIBALL}, [BALL_ULTRA] = {gInterfaceGfx_UltraBall, 384, GFX_TAG_ULTRABALL}, [BALL_MASTER] = {gInterfaceGfx_MasterBall, 384, GFX_TAG_MASTERBALL}, - [BALL_NET] = {gInterfaceGfx_NetBall, 384, GFX_TAG_NETBALL}, - [BALL_DIVE] = {gInterfaceGfx_DiveBall, 384, GFX_TAG_DIVEBALL}, - [BALL_NEST] = {gInterfaceGfx_NestBall, 384, GFX_TAG_NESTBALL}, - [BALL_REPEAT] = {gInterfaceGfx_RepeatBall, 384, GFX_TAG_REPEATBALL}, - [BALL_TIMER] = {gInterfaceGfx_TimerBall, 384, GFX_TAG_TIMERBALL}, - [BALL_LUXURY] = {gInterfaceGfx_LuxuryBall, 384, GFX_TAG_LUXURYBALL}, [BALL_PREMIER] = {gInterfaceGfx_PremierBall, 384, GFX_TAG_PREMIERBALL}, + [BALL_HEAL] = {gInterfaceGfx_HealBall, 384, GFX_TAG_HEALBALL}, + [BALL_NET] = {gInterfaceGfx_NetBall, 384, GFX_TAG_NETBALL}, + [BALL_NEST] = {gInterfaceGfx_NestBall, 384, GFX_TAG_NESTBALL}, + [BALL_DIVE] = {gInterfaceGfx_DiveBall, 384, GFX_TAG_DIVEBALL}, + [BALL_DUSK] = {gInterfaceGfx_DuskBall, 384, GFX_TAG_DUSKBALL}, + [BALL_TIMER] = {gInterfaceGfx_TimerBall, 384, GFX_TAG_TIMERBALL}, + [BALL_QUICK] = {gInterfaceGfx_QuickBall, 384, GFX_TAG_QUICKBALL}, + [BALL_REPEAT] = {gInterfaceGfx_RepeatBall, 384, GFX_TAG_REPEATBALL}, + [BALL_LUXURY] = {gInterfaceGfx_LuxuryBall, 384, GFX_TAG_LUXURYBALL}, [BALL_LEVEL] = {gInterfaceGfx_LevelBall, 384, GFX_TAG_LEVELBALL}, [BALL_LURE] = {gInterfaceGfx_LureBall, 384, GFX_TAG_LUREBALL}, [BALL_MOON] = {gInterfaceGfx_MoonBall, 384, GFX_TAG_MOONBALL}, [BALL_FRIEND] = {gInterfaceGfx_FriendBall, 384, GFX_TAG_FRIENDBALL}, [BALL_LOVE] = {gInterfaceGfx_LoveBall, 384, GFX_TAG_LOVEBALL}, - [BALL_HEAVY] = {gInterfaceGfx_HeavyBall, 384, GFX_TAG_HEAVYBALL}, [BALL_FAST] = {gInterfaceGfx_FastBall, 384, GFX_TAG_FASTBALL}, - [BALL_SPORT] = {gInterfaceGfx_SportBall, 384, GFX_TAG_SPORTBALL}, - [BALL_DUSK] = {gInterfaceGfx_DuskBall, 384, GFX_TAG_DUSKBALL}, - [BALL_QUICK] = {gInterfaceGfx_QuickBall, 384, GFX_TAG_QUICKBALL}, - [BALL_HEAL] = {gInterfaceGfx_HealBall, 384, GFX_TAG_HEALBALL}, - [BALL_CHERISH] = {gInterfaceGfx_CherishBall, 384, GFX_TAG_CHERISHBALL}, - [BALL_PARK] = {gInterfaceGfx_ParkBall, 384, GFX_TAG_PARKBALL}, + [BALL_HEAVY] = {gInterfaceGfx_HeavyBall, 384, GFX_TAG_HEAVYBALL}, [BALL_DREAM] = {gInterfaceGfx_DreamBall, 384, GFX_TAG_DREAMBALL}, + [BALL_SAFARI] = {gInterfaceGfx_SafariBall, 384, GFX_TAG_SAFARIBALL}, + [BALL_SPORT] = {gInterfaceGfx_SportBall, 384, GFX_TAG_SPORTBALL}, + [BALL_PARK] = {gInterfaceGfx_ParkBall, 384, GFX_TAG_PARKBALL}, [BALL_BEAST] = {gInterfaceGfx_BeastBall, 384, GFX_TAG_BEASTBALL}, + [BALL_CHERISH] = {gInterfaceGfx_CherishBall, 384, GFX_TAG_CHERISHBALL}, }; const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] = { [BALL_POKE] = {gInterfacePal_PokeBall, GFX_TAG_POKEBALL}, [BALL_GREAT] = {gInterfacePal_GreatBall, GFX_TAG_GREATBALL}, - [BALL_SAFARI] = {gInterfacePal_SafariBall, GFX_TAG_SAFARIBALL}, [BALL_ULTRA] = {gInterfacePal_UltraBall, GFX_TAG_ULTRABALL}, [BALL_MASTER] = {gInterfacePal_MasterBall, GFX_TAG_MASTERBALL}, - [BALL_NET] = {gInterfacePal_NetBall, GFX_TAG_NETBALL}, - [BALL_DIVE] = {gInterfacePal_DiveBall, GFX_TAG_DIVEBALL}, - [BALL_NEST] = {gInterfacePal_NestBall, GFX_TAG_NESTBALL}, - [BALL_REPEAT] = {gInterfacePal_RepeatBall, GFX_TAG_REPEATBALL}, - [BALL_TIMER] = {gInterfacePal_TimerBall, GFX_TAG_TIMERBALL}, - [BALL_LUXURY] = {gInterfacePal_LuxuryBall, GFX_TAG_LUXURYBALL}, [BALL_PREMIER] = {gInterfacePal_PremierBall, GFX_TAG_PREMIERBALL}, + [BALL_HEAL] = {gInterfacePal_HealBall, GFX_TAG_HEALBALL}, + [BALL_NET] = {gInterfacePal_NetBall, GFX_TAG_NETBALL}, + [BALL_NEST] = {gInterfacePal_NestBall, GFX_TAG_NESTBALL}, + [BALL_DIVE] = {gInterfacePal_DiveBall, GFX_TAG_DIVEBALL}, + [BALL_DUSK] = {gInterfacePal_DuskBall, GFX_TAG_DUSKBALL}, + [BALL_TIMER] = {gInterfacePal_TimerBall, GFX_TAG_TIMERBALL}, + [BALL_QUICK] = {gInterfacePal_QuickBall, GFX_TAG_QUICKBALL}, + [BALL_REPEAT] = {gInterfacePal_RepeatBall, GFX_TAG_REPEATBALL}, + [BALL_LUXURY] = {gInterfacePal_LuxuryBall, GFX_TAG_LUXURYBALL}, [BALL_LEVEL] = {gInterfacePal_LevelBall, GFX_TAG_LEVELBALL}, [BALL_LURE] = {gInterfacePal_LureBall, GFX_TAG_LUREBALL}, [BALL_MOON] = {gInterfacePal_MoonBall, GFX_TAG_MOONBALL}, [BALL_FRIEND] = {gInterfacePal_FriendBall, GFX_TAG_FRIENDBALL}, [BALL_LOVE] = {gInterfacePal_LoveBall, GFX_TAG_LOVEBALL}, - [BALL_HEAVY] = {gInterfacePal_HeavyBall, GFX_TAG_HEAVYBALL}, [BALL_FAST] = {gInterfacePal_FastBall, GFX_TAG_FASTBALL}, - [BALL_SPORT] = {gInterfacePal_SportBall, GFX_TAG_SPORTBALL}, - [BALL_DUSK] = {gInterfacePal_DuskBall, GFX_TAG_DUSKBALL}, - [BALL_QUICK] = {gInterfacePal_QuickBall, GFX_TAG_QUICKBALL}, - [BALL_HEAL] = {gInterfacePal_HealBall, GFX_TAG_HEALBALL}, - [BALL_CHERISH] = {gInterfacePal_CherishBall, GFX_TAG_CHERISHBALL}, - [BALL_PARK] = {gInterfacePal_ParkBall, GFX_TAG_PARKBALL}, + [BALL_HEAVY] = {gInterfacePal_HeavyBall, GFX_TAG_HEAVYBALL}, [BALL_DREAM] = {gInterfacePal_DreamBall, GFX_TAG_DREAMBALL}, + [BALL_SAFARI] = {gInterfacePal_SafariBall, GFX_TAG_SAFARIBALL}, + [BALL_SPORT] = {gInterfacePal_SportBall, GFX_TAG_SPORTBALL}, + [BALL_PARK] = {gInterfacePal_ParkBall, GFX_TAG_PARKBALL}, [BALL_BEAST] = {gInterfacePal_BeastBall, GFX_TAG_BEASTBALL}, + [BALL_CHERISH] = {gInterfacePal_CherishBall, GFX_TAG_CHERISHBALL}, }; static const struct OamData sBallOamData = @@ -270,15 +270,6 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .affineAnims = sAffineAnim_BallRotate, .callback = SpriteCB_BallThrow, }, - { - .tileTag = GFX_TAG_SAFARIBALL, - .paletteTag = GFX_TAG_SAFARIBALL, - .oam = &sBallOamData, - .anims = sBallAnimSequences, - .images = NULL, - .affineAnims = sAffineAnim_BallRotate, - .callback = SpriteCB_BallThrow, - }, { .tileTag = GFX_TAG_ULTRABALL, .paletteTag = GFX_TAG_ULTRABALL, @@ -298,8 +289,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .callback = SpriteCB_BallThrow, }, { - .tileTag = GFX_TAG_NETBALL, - .paletteTag = GFX_TAG_NETBALL, + .tileTag = GFX_TAG_PREMIERBALL, + .paletteTag = GFX_TAG_PREMIERBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sAffineAnim_BallRotate, + .callback = SpriteCB_BallThrow, + }, + { + .tileTag = GFX_TAG_HEALBALL, + .paletteTag = GFX_TAG_HEALBALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -307,8 +307,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .callback = SpriteCB_BallThrow, }, { - .tileTag = GFX_TAG_DIVEBALL, - .paletteTag = GFX_TAG_DIVEBALL, + .tileTag = GFX_TAG_NETBALL, + .paletteTag = GFX_TAG_NETBALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -325,8 +325,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .callback = SpriteCB_BallThrow, }, { - .tileTag = GFX_TAG_REPEATBALL, - .paletteTag = GFX_TAG_REPEATBALL, + .tileTag = GFX_TAG_DIVEBALL, + .paletteTag = GFX_TAG_DIVEBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sAffineAnim_BallRotate, + .callback = SpriteCB_BallThrow, + }, + { + .tileTag = GFX_TAG_DUSKBALL, + .paletteTag = GFX_TAG_DUSKBALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -342,9 +351,9 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .affineAnims = sAffineAnim_BallRotate, .callback = SpriteCB_BallThrow, }, - { - .tileTag = GFX_TAG_LUXURYBALL, - .paletteTag = GFX_TAG_LUXURYBALL, + { + .tileTag = GFX_TAG_QUICKBALL, + .paletteTag = GFX_TAG_QUICKBALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -352,8 +361,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .callback = SpriteCB_BallThrow, }, { - .tileTag = GFX_TAG_PREMIERBALL, - .paletteTag = GFX_TAG_PREMIERBALL, + .tileTag = GFX_TAG_REPEATBALL, + .paletteTag = GFX_TAG_REPEATBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sAffineAnim_BallRotate, + .callback = SpriteCB_BallThrow, + }, + { + .tileTag = GFX_TAG_LUXURYBALL, + .paletteTag = GFX_TAG_LUXURYBALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -404,6 +422,15 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .images = NULL, .affineAnims = sAffineAnim_BallRotate, .callback = SpriteCB_BallThrow, + }, + { + .tileTag = GFX_TAG_FASTBALL, + .paletteTag = GFX_TAG_FASTBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sAffineAnim_BallRotate, + .callback = SpriteCB_BallThrow, }, { .tileTag = GFX_TAG_HEAVYBALL, @@ -415,8 +442,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .callback = SpriteCB_BallThrow, }, { - .tileTag = GFX_TAG_FASTBALL, - .paletteTag = GFX_TAG_FASTBALL, + .tileTag = GFX_TAG_DREAMBALL, + .paletteTag = GFX_TAG_DREAMBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sAffineAnim_BallRotate, + .callback = SpriteCB_BallThrow, + }, + { + .tileTag = GFX_TAG_SAFARIBALL, + .paletteTag = GFX_TAG_SAFARIBALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -431,42 +467,6 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .images = NULL, .affineAnims = sAffineAnim_BallRotate, .callback = SpriteCB_BallThrow, - }, - { - .tileTag = GFX_TAG_DUSKBALL, - .paletteTag = GFX_TAG_DUSKBALL, - .oam = &sBallOamData, - .anims = sBallAnimSequences, - .images = NULL, - .affineAnims = sAffineAnim_BallRotate, - .callback = SpriteCB_BallThrow, - }, - { - .tileTag = GFX_TAG_QUICKBALL, - .paletteTag = GFX_TAG_QUICKBALL, - .oam = &sBallOamData, - .anims = sBallAnimSequences, - .images = NULL, - .affineAnims = sAffineAnim_BallRotate, - .callback = SpriteCB_BallThrow, - }, - { - .tileTag = GFX_TAG_HEALBALL, - .paletteTag = GFX_TAG_HEALBALL, - .oam = &sBallOamData, - .anims = sBallAnimSequences, - .images = NULL, - .affineAnims = sAffineAnim_BallRotate, - .callback = SpriteCB_BallThrow, - }, - { - .tileTag = GFX_TAG_CHERISHBALL, - .paletteTag = GFX_TAG_CHERISHBALL, - .oam = &sBallOamData, - .anims = sBallAnimSequences, - .images = NULL, - .affineAnims = sAffineAnim_BallRotate, - .callback = SpriteCB_BallThrow, }, { .tileTag = GFX_TAG_PARKBALL, @@ -478,8 +478,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .callback = SpriteCB_BallThrow, }, { - .tileTag = GFX_TAG_DREAMBALL, - .paletteTag = GFX_TAG_DREAMBALL, + .tileTag = GFX_TAG_BEASTBALL, + .paletteTag = GFX_TAG_BEASTBALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL, @@ -487,8 +487,8 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = .callback = SpriteCB_BallThrow, }, { - .tileTag = GFX_TAG_BEASTBALL, - .paletteTag = GFX_TAG_BEASTBALL, + .tileTag = GFX_TAG_CHERISHBALL, + .paletteTag = GFX_TAG_CHERISHBALL, .oam = &sBallOamData, .anims = sBallAnimSequences, .images = NULL,