summaryrefslogtreecommitdiff
path: root/src/battle_anim_throw.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_anim_throw.c')
-rwxr-xr-xsrc/battle_anim_throw.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/battle_anim_throw.c b/src/battle_anim_throw.c
index fef301326..83768b476 100755
--- a/src/battle_anim_throw.c
+++ b/src/battle_anim_throw.c
@@ -16,6 +16,7 @@
#include "task.h"
#include "trig.h"
#include "util.h"
+#include "data.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/songs.h"
@@ -48,7 +49,7 @@ enum {
SHINY_STAR_DIAGONAL,
};
-static void sub_8170660(u8);
+static void AnimTask_UnusedLevelUpHealthBox_Step(u8);
static void AnimTask_FlashHealthboxOnLevelUp_Step(u8);
static void AnimTask_ThrowBall_Step(u8);
static void SpriteCB_Ball_Throw(struct Sprite *);
@@ -429,9 +430,12 @@ static const struct SpriteTemplate sSafariRockSpriteTemplate =
extern const struct SpriteTemplate gWishStarSpriteTemplate;
extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate;
-void unref_sub_8170478(u8 taskId)
+// This is an unused function, but it seems likely that it was
+// intended to be an additional effect during the level-up animation.
+// It is an upward blue gradient effect on the mon's healthbox.
+void AnimTask_UnusedLevelUpHealthBox(u8 taskId)
{
- struct BattleAnimBgData unknownStruct;
+ struct BattleAnimBgData animBgData;
u8 healthBoxSpriteId;
u8 battler;
u8 spriteId1, spriteId2, spriteId3, spriteId4;
@@ -464,20 +468,20 @@ void unref_sub_8170478(u8 taskId)
gSprites[spriteId3].callback = SpriteCallbackDummy;
gSprites[spriteId4].callback = SpriteCallbackDummy;
- sub_80A6B30(&unknownStruct);
- AnimLoadCompressedBgTilemap(unknownStruct.bgId, gUnknown_08C2EA9C);
- AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C2EA50, unknownStruct.tilesOffset);
- LoadCompressedPalette(gCureBubblesPal, unknownStruct.paletteId << 4, 32);
+ GetBattleAnimBg1Data(&animBgData);
+ AnimLoadCompressedBgTilemap(animBgData.bgId, UnusedLevelupAnimationTilemap);
+ AnimLoadCompressedBgGfx(animBgData.bgId, UnusedLevelupAnimationGfx, animBgData.tilesOffset);
+ LoadCompressedPalette(gCureBubblesPal, animBgData.paletteId << 4, 32);
gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32;
gTasks[taskId].data[1] = 640;
gTasks[taskId].data[0] = spriteId3;
gTasks[taskId].data[2] = spriteId4;
- gTasks[taskId].func = sub_8170660;
+ gTasks[taskId].func = AnimTask_UnusedLevelUpHealthBox_Step;
}
-static void sub_8170660(u8 taskId)
+static void AnimTask_UnusedLevelUpHealthBox_Step(u8 taskId)
{
u8 spriteId1, spriteId2;
u8 battler;
@@ -511,7 +515,7 @@ static void sub_8170660(u8 taskId)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
if (gTasks[taskId].data[12] == 0)
{
- sub_80A477C(0);
+ ResetBattleAnimBg(0);
gBattle_WIN0H = 0;
gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
@@ -686,7 +690,7 @@ void AnimTask_SwitchOutBallEffect(u8 taskId)
priority = gSprites[spriteId].oam.priority;
subpriority = gSprites[spriteId].subpriority;
gTasks[taskId].data[10] = AnimateBallOpenParticles(x, y + 32, priority, subpriority, ballId);
- selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
+ selectedPalettes = GetBattleBgPalettesMask(1, 0, 0, 0, 0, 0, 0);
gTasks[taskId].data[11] = LaunchBallFadeMonTask(FALSE, gBattleAnimAttacker, selectedPalettes, ballId);
gTasks[taskId].data[0]++;
break;
@@ -1468,7 +1472,7 @@ static void SpriteCB_Ball_Release_Step(struct Sprite *sprite)
// Animate Pokémon emerging from Poké Ball
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = FALSE;
- StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 1);
+ StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], BATTLER_AFFINE_EMERGE);
AnimateSprite(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]]);
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].sOffsetY = 4096;
}
@@ -1482,7 +1486,7 @@ static void SpriteCB_Ball_Release_Wait(struct Sprite *sprite)
if (gSprites[gBattlerSpriteIds[gBattleAnimTarget]].affineAnimEnded)
{
- StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 0);
+ StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], BATTLER_AFFINE_NORMAL);
released = TRUE;
}
else
@@ -1534,7 +1538,7 @@ static void SpriteCB_Ball_Block_Step(struct Sprite *sprite)
sprite->sDy = (sprite->sDy + 0x800) & 0xFF;
sprite->sDx = (sprite->sDx + 0x680) & 0xFF;
- if (sprite->pos1.y + sprite->pos2.y > 160
+ if (sprite->pos1.y + sprite->pos2.y > DISPLAY_HEIGHT
|| sprite->pos1.x + sprite->pos2.x < -8)
{
sprite->sFrame = 0;
@@ -1551,8 +1555,6 @@ static void SpriteCB_Ball_Block_Step(struct Sprite *sprite)
static void LoadBallParticleGfx(u8 ballId)
{
- u8 taskId;
-
if (GetSpriteTileStartByTag(sBallParticleSpriteSheets[ballId].tag) == 0xFFFF)
{
LoadCompressedSpriteSheetUsingHeap(&sBallParticleSpriteSheets[ballId]);
@@ -2181,7 +2183,7 @@ void AnimTask_SubstituteFadeToInvisible(u8 taskId)
break;
case 2:
spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
- RequestDma3Fill(0, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, 0x800, 1);
+ RequestDma3Fill(0, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, MON_PIC_SIZE, 1);
ClearBehindSubstituteBit(gBattleAnimAttacker);
DestroyAnimVisualTask(taskId);
break;