diff options
Diffstat (limited to 'src/battle_anim_throw.c')
-rwxr-xr-x | src/battle_anim_throw.c | 36 |
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; |