Use constants for ball particles

This commit is contained in:
DizzyEggg
2019-04-14 12:38:44 +02:00
committed by huderlem
parent 59797e4801
commit 19fdfaa5f2
+154 -141
View File
@@ -104,39 +104,52 @@ static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] =
}, },
}; };
const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] = #define TAG_PARTICLES_POKEBALL 55020
#define TAG_PARTICLES_GREATBALL 55021
#define TAG_PARTICLES_SAFARIBALL 55022
#define TAG_PARTICLES_ULTRABALL 55023
#define TAG_PARTICLES_MASTERBALL 55024
#define TAG_PARTICLES_NETBALL 55025
#define TAG_PARTICLES_DIVEBALL 55026
#define TAG_PARTICLES_NESTBALL 55027
#define TAG_PARTICLES_REPEATBALL 55028
#define TAG_PARTICLES_TIMERBALL 55029
#define TAG_PARTICLES_LUXURYBALL 55030
#define TAG_PARTICLES_PREMIERBALL 55031
const struct CompressedSpriteSheet gBallParticleSpritesheets[] =
{ {
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6EC}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6ED}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6EE}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6EF}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F0}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_MASTERBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F1}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NETBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F2}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DIVEBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F3}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NESTBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F4}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_REPEATBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F5}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_TIMERBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F6}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUXURYBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, 0xD6F7}, {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PREMIERBALL},
}; };
const struct CompressedSpritePalette gBallOpenParticlePalettes[] = const struct CompressedSpritePalette gBallParticlePalettes[] =
{ {
{gBattleAnimSpritePal_CircleImpact, 0xD6EC}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6ED}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6EE}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6EF}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6F0}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_MASTERBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6F1}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NETBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6F2}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DIVEBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6F3}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NESTBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6F4}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_REPEATBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6F5}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_TIMERBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6F6}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUXURYBALL},
{gBattleAnimSpritePal_CircleImpact, 0xD6F7}, {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PREMIERBALL},
}; };
const union AnimCmd gUnknown_085E5154[] = const union AnimCmd gAnim_RegularBall[] =
{ {
ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(1, 1), ANIMCMD_FRAME(1, 1),
@@ -147,64 +160,64 @@ const union AnimCmd gUnknown_085E5154[] =
ANIMCMD_JUMP(0), ANIMCMD_JUMP(0),
}; };
const union AnimCmd gUnknown_085E5170[] = const union AnimCmd gAnim_MasterBall[] =
{ {
ANIMCMD_FRAME(3, 1), ANIMCMD_FRAME(3, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
const union AnimCmd gUnknown_085E5178[] = const union AnimCmd gAnim_NetDiveBall[] =
{ {
ANIMCMD_FRAME(4, 1), ANIMCMD_FRAME(4, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
const union AnimCmd gUnknown_085E5180[] = const union AnimCmd gAnim_NestBall[] =
{ {
ANIMCMD_FRAME(5, 1), ANIMCMD_FRAME(5, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
const union AnimCmd gUnknown_085E5188[] = const union AnimCmd gAnim_LuxuryPremierBall[] =
{ {
ANIMCMD_FRAME(6, 4), ANIMCMD_FRAME(6, 4),
ANIMCMD_FRAME(7, 4), ANIMCMD_FRAME(7, 4),
ANIMCMD_JUMP(0), ANIMCMD_JUMP(0),
}; };
const union AnimCmd gUnknown_085E5194[] = const union AnimCmd gAnim_UltraRepeatTimerBall[] =
{ {
ANIMCMD_FRAME(7, 4), ANIMCMD_FRAME(7, 4),
ANIMCMD_END, ANIMCMD_END,
}; };
const union AnimCmd *const gUnknown_085E519C[] = const union AnimCmd *const gAnims_BallParticles[] =
{ {
gUnknown_085E5154, gAnim_RegularBall,
gUnknown_085E5170, gAnim_MasterBall,
gUnknown_085E5178, gAnim_NetDiveBall,
gUnknown_085E5180, gAnim_NestBall,
gUnknown_085E5188, gAnim_LuxuryPremierBall,
gUnknown_085E5194, gAnim_UltraRepeatTimerBall,
}; };
const u8 gBallOpenParticleAnimNums[] = const u8 gBallParticleAnimNums[] =
{ {
0, [BALL_POKE] = 0,
0, [BALL_GREAT] = 0,
0, [BALL_SAFARI] = 0,
5, [BALL_ULTRA] = 5,
1, [BALL_MASTER] = 1,
2, [BALL_NET] = 2,
2, [BALL_DIVE] = 2,
3, [BALL_NEST] = 3,
5, [BALL_REPEAT] = 5,
5, [BALL_TIMER] = 5,
4, [BALL_LUXURY] = 4,
4, [BALL_PREMIER] = 4,
}; };
const TaskFunc gBallOpenParticleAnimationFuncs[] = const TaskFunc gBallParticleAnimationFuncs[] =
{ {
PokeBallOpenParticleAnimation, PokeBallOpenParticleAnimation,
GreatBallOpenParticleAnimation, GreatBallOpenParticleAnimation,
@@ -220,132 +233,134 @@ const TaskFunc gBallOpenParticleAnimationFuncs[] =
PremierBallOpenParticleAnimation, PremierBallOpenParticleAnimation,
}; };
const struct SpriteTemplate gUnknown_085E51F0[] = const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{ {
{ {
.tileTag = 55020, .tileTag = TAG_PARTICLES_POKEBALL,
.paletteTag = 55020, .paletteTag = TAG_PARTICLES_POKEBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55021, .tileTag = TAG_PARTICLES_GREATBALL,
.paletteTag = 55021, .paletteTag = TAG_PARTICLES_GREATBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55022, .tileTag = TAG_PARTICLES_SAFARIBALL,
.paletteTag = 55022, .paletteTag = TAG_PARTICLES_SAFARIBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55023, .tileTag = TAG_PARTICLES_ULTRABALL,
.paletteTag = 55023, .paletteTag = TAG_PARTICLES_ULTRABALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55024, .tileTag = TAG_PARTICLES_MASTERBALL,
.paletteTag = 55024, .paletteTag = TAG_PARTICLES_MASTERBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55025, .tileTag = TAG_PARTICLES_NETBALL,
.paletteTag = 55025, .paletteTag = TAG_PARTICLES_NETBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55026, .tileTag = TAG_PARTICLES_DIVEBALL,
.paletteTag = 55026, .paletteTag = TAG_PARTICLES_DIVEBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55027, .tileTag = TAG_PARTICLES_NESTBALL,
.paletteTag = 55027, .paletteTag = TAG_PARTICLES_NESTBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55028, .tileTag = TAG_PARTICLES_REPEATBALL,
.paletteTag = 55028, .paletteTag = TAG_PARTICLES_REPEATBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55029, .tileTag = TAG_PARTICLES_TIMERBALL,
.paletteTag = 55029, .paletteTag = TAG_PARTICLES_TIMERBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55030, .tileTag = TAG_PARTICLES_LUXURYBALL,
.paletteTag = 55030, .paletteTag = TAG_PARTICLES_LUXURYBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
{ {
.tileTag = 55031, .tileTag = TAG_PARTICLES_PREMIERBALL,
.paletteTag = 55031, .paletteTag = TAG_PARTICLES_PREMIERBALL,
.oam = &gUnknown_08524904, .oam = &gUnknown_08524904,
.anims = gUnknown_085E519C, .anims = gAnims_BallParticles,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}, },
}; };
const u16 gUnknown_085E5310[] = const u16 gBallOpenFadeColors[] =
{ {
RGB(31, 22, 30), [BALL_POKE] = RGB(31, 22, 30),
RGB(16, 23, 30), [BALL_GREAT] = RGB(16, 23, 30),
RGB(23, 30, 20), [BALL_SAFARI] = RGB(23, 30, 20),
RGB(31, 31, 15), [BALL_ULTRA] = RGB(31, 31, 15),
RGB(23, 20, 28), [BALL_MASTER] = RGB(23, 20, 28),
RGB(21, 31, 25), [BALL_NET] = RGB(21, 31, 25),
RGB(12, 25, 30), [BALL_DIVE] = RGB(12, 25, 30),
RGB(30, 27, 10), [BALL_NEST] = RGB(30, 27, 10),
RGB(31, 24, 16), [BALL_REPEAT] = RGB(31, 24, 16),
RGB(29, 30, 30), [BALL_TIMER] = RGB(29, 30, 30),
RGB(31, 17, 10), [BALL_LUXURY] = RGB(31, 17, 10),
RGB(31, 9, 10), [BALL_PREMIER] = RGB(31, 9, 10),
// Garbage data
RGB(0, 0, 0), RGB(0, 0, 0),
RGB(1, 16, 0), RGB(1, 16, 0),
RGB(3, 0, 1), RGB(3, 0, 1),
@@ -1259,7 +1274,7 @@ static void sub_81719EC(struct Sprite *sprite)
sub_8171D60(4); sub_8171D60(4);
for (i = 0; i < 3; i++) for (i = 0; i < 3; i++)
{ {
u8 spriteId = CreateSprite(&gUnknown_085E51F0[4], sprite->pos1.x, sprite->pos1.y, subpriority); u8 spriteId = CreateSprite(&gBallParticlesSpriteTemplates[4], sprite->pos1.x, sprite->pos1.y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
gSprites[spriteId].data[0] = 24; gSprites[spriteId].data[0] = 24;
@@ -1268,7 +1283,7 @@ static void sub_81719EC(struct Sprite *sprite)
gSprites[spriteId].data[5] = sBallCaptureSuccessStarData[i].unk2; gSprites[spriteId].data[5] = sBallCaptureSuccessStarData[i].unk2;
InitAnimArcTranslation(&gSprites[spriteId]); InitAnimArcTranslation(&gSprites[spriteId]);
gSprites[spriteId].callback = sub_8171AAC; gSprites[spriteId].callback = sub_8171AAC;
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[4]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[4]);
} }
} }
} }
@@ -1369,10 +1384,10 @@ static void sub_8171D60(u8 ballId)
{ {
u8 taskId; u8 taskId;
if (GetSpriteTileStartByTag(gBallOpenParticleSpritesheets[ballId].tag) == 0xFFFF) if (GetSpriteTileStartByTag(gBallParticleSpritesheets[ballId].tag) == 0xFFFF)
{ {
LoadCompressedSpriteSheetUsingHeap(&gBallOpenParticleSpritesheets[ballId]); LoadCompressedSpriteSheetUsingHeap(&gBallParticleSpritesheets[ballId]);
LoadCompressedSpritePaletteUsingHeap(&gBallOpenParticlePalettes[ballId]); LoadCompressedSpritePaletteUsingHeap(&gBallParticlePalettes[ballId]);
} }
} }
@@ -1381,7 +1396,7 @@ u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
u8 taskId; u8 taskId;
sub_8171D60(ballId); sub_8171D60(ballId);
taskId = CreateTask(gBallOpenParticleAnimationFuncs[ballId], 5); taskId = CreateTask(gBallParticleAnimationFuncs[ballId], 5);
gTasks[taskId].data[1] = x; gTasks[taskId].data[1] = x;
gTasks[taskId].data[2] = y; gTasks[taskId].data[2] = y;
gTasks[taskId].data[3] = priority; gTasks[taskId].data[3] = priority;
@@ -1414,11 +1429,11 @@ static void PokeBallOpenParticleAnimation(u8 taskId)
priority = gTasks[taskId].data[3]; priority = gTasks[taskId].data[3];
subpriority = gTasks[taskId].data[4]; subpriority = gTasks[taskId].data[4];
spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
sub_8171E20(); sub_8171E20();
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = PokeBallOpenParticleAnimation_Step1; gSprites[spriteId].callback = PokeBallOpenParticleAnimation_Step1;
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
@@ -1473,11 +1488,11 @@ static void TimerBallOpenParticleAnimation(u8 taskId)
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
{ {
spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
sub_8171E20(); sub_8171E20();
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32; gSprites[spriteId].data[0] = i * 32;
@@ -1507,11 +1522,11 @@ static void DiveBallOpenParticleAnimation(u8 taskId)
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
{ {
spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
sub_8171E20(); sub_8171E20();
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32; gSprites[spriteId].data[0] = i * 32;
@@ -1542,11 +1557,11 @@ static void SafariBallOpenParticleAnimation(u8 taskId)
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
{ {
spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
sub_8171E20(); sub_8171E20();
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32; gSprites[spriteId].data[0] = i * 32;
@@ -1577,11 +1592,11 @@ static void UltraBallOpenParticleAnimation(u8 taskId)
for (i = 0; i < 10; i++) for (i = 0; i < 10; i++)
{ {
spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
sub_8171E20(); sub_8171E20();
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 25; gSprites[spriteId].data[0] = i * 25;
@@ -1618,11 +1633,11 @@ static void GreatBallOpenParticleAnimation(u8 taskId)
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
{ {
spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
sub_8171E20(); sub_8171E20();
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32; gSprites[spriteId].data[0] = i * 32;
@@ -1666,13 +1681,13 @@ static void RepeatBallOpenParticleAnimation(u8 taskId)
priority = gTasks[taskId].data[3]; priority = gTasks[taskId].data[3];
subpriority = gTasks[taskId].data[4]; subpriority = gTasks[taskId].data[4];
for (i = 0; i < 12; i++) for (i = 0; i < POKEBALL_COUNT; i++)
{ {
spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
sub_8171E20(); sub_8171E20();
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = RepeatBallOpenParticleAnimation_Step1; gSprites[spriteId].callback = RepeatBallOpenParticleAnimation_Step1;
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 21; gSprites[spriteId].data[0] = i * 21;
@@ -1712,11 +1727,11 @@ static void MasterBallOpenParticleAnimation(u8 taskId)
{ {
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
{ {
spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
sub_8171E20(); sub_8171E20();
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32; gSprites[spriteId].data[0] = i * 32;
@@ -1756,11 +1771,11 @@ static void PremierBallOpenParticleAnimation(u8 taskId)
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
{ {
spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
sub_8171E20(); sub_8171E20();
StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]);
gSprites[spriteId].callback = PremierBallOpenParticleAnimation_Step1; gSprites[spriteId].callback = PremierBallOpenParticleAnimation_Step1;
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].data[0] = i * 32; gSprites[spriteId].data[0] = i * 32;
@@ -1787,12 +1802,10 @@ static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite)
static void DestroyBallOpenAnimationParticle(struct Sprite *sprite) static void DestroyBallOpenAnimationParticle(struct Sprite *sprite)
{ {
int i, j; int i, j;
int temp;
if (!gMain.inBattle) if (!gMain.inBattle)
{ {
temp = sprite->data[7]; // temp var needed to match if (sprite->data[7] == 1)
if (temp == 1)
DestroySpriteAndFreeResources(sprite); DestroySpriteAndFreeResources(sprite);
else else
DestroySprite(sprite); DestroySprite(sprite);
@@ -1802,18 +1815,18 @@ static void DestroyBallOpenAnimationParticle(struct Sprite *sprite)
gBattleSpritesDataPtr->animationData->field_A--; gBattleSpritesDataPtr->animationData->field_A--;
if (gBattleSpritesDataPtr->animationData->field_A == 0) if (gBattleSpritesDataPtr->animationData->field_A == 0)
{ {
for (i = 0; i < 12; i++) for (i = 0; i < POKEBALL_COUNT; i++)
{ {
if (FuncIsActiveTask(gBallOpenParticleAnimationFuncs[i]) == TRUE) if (FuncIsActiveTask(gBallParticleAnimationFuncs[i]) == TRUE)
break; break;
} }
if (i == 12) if (i == POKEBALL_COUNT)
{ {
for (j = 0; j < 12; j++) for (j = 0; j < POKEBALL_COUNT; j++)
{ {
FreeSpriteTilesByTag(gBallOpenParticleSpritesheets[j].tag); FreeSpriteTilesByTag(gBallParticleSpritesheets[j].tag);
FreeSpritePaletteByTag(gBallOpenParticlePalettes[j].tag); FreeSpritePaletteByTag(gBallParticlePalettes[j].tag);
} }
} }
@@ -1838,12 +1851,12 @@ u8 LaunchBallFadeMonTask(u8 unfadeLater, u8 battler, u32 selectedPalettes, u8 ba
if (!unfadeLater) if (!unfadeLater)
{ {
BlendPalette(battler * 16 + 0x100, 16, 0, gUnknown_085E5310[ballId]); BlendPalette(battler * 16 + 0x100, 16, 0, gBallOpenFadeColors[ballId]);
gTasks[taskId].data[1] = 1; gTasks[taskId].data[1] = 1;
} }
else else
{ {
BlendPalette(battler * 16 + 0x100, 16, 16, gUnknown_085E5310[ballId]); BlendPalette(battler * 16 + 0x100, 16, 16, gBallOpenFadeColors[ballId]);
gTasks[taskId].data[0] = 16; gTasks[taskId].data[0] = 16;
gTasks[taskId].data[1] = -1; gTasks[taskId].data[1] = -1;
gTasks[taskId].func = sub_8172B40; gTasks[taskId].func = sub_8172B40;
@@ -1859,7 +1872,7 @@ static void sub_8172AB0(u8 taskId)
if (gTasks[taskId].data[2] <= 16) if (gTasks[taskId].data[2] <= 16)
{ {
BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]); BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gBallOpenFadeColors[ballId]);
gTasks[taskId].data[0] += gTasks[taskId].data[1]; gTasks[taskId].data[0] += gTasks[taskId].data[1];
gTasks[taskId].data[2]++; gTasks[taskId].data[2]++;
} }
@@ -1887,7 +1900,7 @@ static void sub_8172B90(u8 taskId)
if (gTasks[taskId].data[2] <= 16) if (gTasks[taskId].data[2] <= 16)
{ {
BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]); BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gBallOpenFadeColors[ballId]);
gTasks[taskId].data[0] += gTasks[taskId].data[1]; gTasks[taskId].data[0] += gTasks[taskId].data[1];
gTasks[taskId].data[2]++; gTasks[taskId].data[2]++;
} }