summaryrefslogtreecommitdiff
path: root/src/battle_anim_mons.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_anim_mons.c')
-rw-r--r--src/battle_anim_mons.c272
1 files changed, 136 insertions, 136 deletions
diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c
index d626e1604..2082512ff 100644
--- a/src/battle_anim_mons.c
+++ b/src/battle_anim_mons.c
@@ -16,27 +16,20 @@
#include "util.h"
#include "constants/battle_anim.h"
-#define GET_UNOWN_LETTER(personality) (( \
- (((personality & 0x03000000) >> 24) << 6) \
- | (((personality & 0x00030000) >> 16) << 4) \
- | (((personality & 0x00000300) >> 8) << 2) \
- | (((personality & 0x00000003) >> 0) << 0) \
-) % 28)
-
#define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64;
static void sub_80A6FB4(struct Sprite *sprite);
-static void sub_80A7144(struct Sprite *sprite);
+static void AnimFastTranslateLinearWaitEnd(struct Sprite *sprite);
static void AnimThrowProjectile_Step(struct Sprite *sprite);
static void sub_80A8DFC(struct Sprite *sprite);
-static void sub_80A8E88(struct Sprite *sprite);
+static void AnimWeatherBallUp_Step(struct Sprite *sprite);
static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
static void AnimTask_BlendPalInAndOutSetup(struct Task *task);
-static void sub_80A7AFC(u8 taskId);
-static void sub_80A8CAC(u8 taskId);
-static void AnimTask_BlendMonInAndOutStep(u8 taskId);
+static void AnimTask_AlphaFadeIn_Step(u8 taskId);
+static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId);
+static void AnimTask_BlendMonInAndOut_Step(u8 taskId);
static bool8 sub_80A7238(void);
static void sub_80A8D78(struct Task *task, u8 taskId);
@@ -86,11 +79,15 @@ static const u8 sCastformBackSpriteYCoords[] =
0, // HAIL
};
-static const struct SpriteTemplate sUnknown_08525F90[] =
+// Placeholders for pokemon sprites to be created for a move animation effect (e.g. Role Play / Snatch)
+#define TAG_MOVE_EFFECT_MON_1 55125
+#define TAG_MOVE_EFFECT_MON_2 55126
+
+static const struct SpriteTemplate sSpriteTemplate_MoveEffectMons[] =
{
{
- .tileTag = 55125,
- .paletteTag = 55125,
+ .tileTag = TAG_MOVE_EFFECT_MON_1,
+ .paletteTag = TAG_MOVE_EFFECT_MON_1,
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
@@ -98,8 +95,8 @@ static const struct SpriteTemplate sUnknown_08525F90[] =
.callback = SpriteCallbackDummy,
},
{
- .tileTag = 55126,
- .paletteTag = 55126,
+ .tileTag = TAG_MOVE_EFFECT_MON_2,
+ .paletteTag = TAG_MOVE_EFFECT_MON_2,
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
@@ -108,10 +105,10 @@ static const struct SpriteTemplate sUnknown_08525F90[] =
}
};
-static const struct SpriteSheet sUnknown_08525FC0[] =
+static const struct SpriteSheet sSpriteSheet_MoveEffectMons[] =
{
- { gMiscBlank_Gfx, 0x800, 55125, },
- { gMiscBlank_Gfx, 0x800, 55126, },
+ { gMiscBlank_Gfx, MON_PIC_SIZE, TAG_MOVE_EFFECT_MON_1, },
+ { gMiscBlank_Gfx, MON_PIC_SIZE, TAG_MOVE_EFFECT_MON_2, },
};
u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
@@ -852,90 +849,90 @@ bool8 IsDoubleBattle(void)
return IS_DOUBLE_BATTLE();
}
-void sub_80A6B30(struct BattleAnimBgData *unk)
+void GetBattleAnimBg1Data(struct BattleAnimBgData *out)
{
if (IsContest())
{
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
- unk->paletteId = 14;
- unk->bgId = 1;
- unk->tilesOffset = 0;
- unk->unused = 0;
+ out->bgTiles = gUnknown_0202305C;
+ out->bgTilemap = (u16 *)gUnknown_02023060;
+ out->paletteId = 14;
+ out->bgId = 1;
+ out->tilesOffset = 0;
+ out->unused = 0;
}
else
{
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
- unk->paletteId = 8;
- unk->bgId = 1;
- unk->tilesOffset = 0x200;
- unk->unused = 0;
+ out->bgTiles = gUnknown_0202305C;
+ out->bgTilemap = (u16 *)gUnknown_02023060;
+ out->paletteId = 8;
+ out->bgId = 1;
+ out->tilesOffset = 0x200;
+ out->unused = 0;
}
}
-void sub_80A6B90(struct BattleAnimBgData *unk, u32 arg1)
+void GetBattleAnimBgData(struct BattleAnimBgData *out, u32 bgId)
{
if (IsContest())
{
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
- unk->paletteId = 14;
- unk->bgId = 1;
- unk->tilesOffset = 0;
- unk->unused = 0;
+ out->bgTiles = gUnknown_0202305C;
+ out->bgTilemap = (u16 *)gUnknown_02023060;
+ out->paletteId = 14;
+ out->bgId = 1;
+ out->tilesOffset = 0;
+ out->unused = 0;
}
- else if (arg1 == 1)
+ else if (bgId == 1)
{
- sub_80A6B30(unk);
+ GetBattleAnimBg1Data(out);
}
else
{
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
- unk->paletteId = 9;
- unk->bgId = 2;
- unk->tilesOffset = 0x300;
- unk->unused = 0;
+ out->bgTiles = gUnknown_0202305C;
+ out->bgTilemap = (u16 *)gUnknown_02023060;
+ out->paletteId = 9;
+ out->bgId = 2;
+ out->tilesOffset = 0x300;
+ out->unused = 0;
}
}
-void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused)
+void sub_80A6BFC(struct BattleAnimBgData *out, u8 unused)
{
- unk->bgTiles = gUnknown_0202305C;
- unk->bgTilemap = (u16 *)gUnknown_02023060;
+ out->bgTiles = gUnknown_0202305C;
+ out->bgTilemap = (u16 *)gUnknown_02023060;
if (IsContest())
{
- unk->paletteId = 14;
- unk->bgId = 1;
- unk->tilesOffset = 0;
- unk->unused = 0;
+ out->paletteId = 14;
+ out->bgId = 1;
+ out->tilesOffset = 0;
+ out->unused = 0;
}
else if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
{
- unk->paletteId = 8;
- unk->bgId = 1;
- unk->tilesOffset = 0x200;
- unk->unused = 0;
+ out->paletteId = 8;
+ out->bgId = 1;
+ out->tilesOffset = 0x200;
+ out->unused = 0;
}
else
{
- unk->paletteId = 9;
- unk->bgId = 2;
- unk->tilesOffset = 0x300;
- unk->unused = 0;
+ out->paletteId = 9;
+ out->bgId = 2;
+ out->tilesOffset = 0x300;
+ out->unused = 0;
}
}
-void sub_80A6C68(u32 bgId)
+void ClearBattleAnimBg(u32 bgId)
{
- struct BattleAnimBgData unkStruct;
+ struct BattleAnimBgData bgAnimData;
- sub_80A6B90(&unkStruct, bgId);
- CpuFill32(0, unkStruct.bgTiles, 0x2000);
- LoadBgTiles(unkStruct.bgId, unkStruct.bgTiles, 0x2000, unkStruct.tilesOffset);
- FillBgTilemapBufferRect(unkStruct.bgId, 0, 0, 0, 32, 64, 17);
- CopyBgTilemapBufferToVram(unkStruct.bgId);
+ GetBattleAnimBgData(&bgAnimData, bgId);
+ CpuFill32(0, bgAnimData.bgTiles, 0x2000);
+ LoadBgTiles(bgAnimData.bgId, bgAnimData.bgTiles, 0x2000, bgAnimData.tilesOffset);
+ FillBgTilemapBufferRect(bgAnimData.bgId, 0, 0, 0, 32, 64, 17);
+ CopyBgTilemapBufferToVram(bgAnimData.bgId);
}
void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset)
@@ -973,9 +970,9 @@ u8 GetBattleBgPaletteNum(void)
return 2;
}
-void sub_80A6DAC(bool8 arg0)
+void UpdateAnimBg3ScreenSize(bool8 largeScreenSize)
{
- if (!arg0 || IsContest())
+ if (!largeScreenSize || IsContest())
{
SetAnimBgAttribute(3, BG_ANIM_SCREEN_SIZE, 0);
SetAnimBgAttribute(3, BG_ANIM_AREA_OVERFLOW_MODE, 1);
@@ -1039,7 +1036,7 @@ void StartAnimLinearTranslation(struct Sprite *sprite)
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
InitAnimLinearTranslation(sprite);
- sprite->callback = sub_80A6F98;
+ sprite->callback = AnimTranslateLinear_WaitEnd;
sprite->callback(sprite);
}
@@ -1082,7 +1079,7 @@ bool8 AnimTranslateLinear(struct Sprite *sprite)
return FALSE;
}
-void sub_80A6F98(struct Sprite *sprite)
+void AnimTranslateLinear_WaitEnd(struct Sprite *sprite)
{
if (AnimTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
@@ -1095,19 +1092,19 @@ static void sub_80A6FB4(struct Sprite *sprite)
SetCallbackToStoredInData6(sprite);
}
-void sub_80A6FD4(struct Sprite *sprite)
+void InitAnimLinearTranslationWithSpeed(struct Sprite *sprite)
{
int v1 = abs(sprite->data[2] - sprite->data[1]) << 8;
sprite->data[0] = v1 / sprite->data[0];
InitAnimLinearTranslation(sprite);
}
-void sub_80A7000(struct Sprite *sprite)
+void InitAnimLinearTranslationWithSpeedAndPos(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
- sub_80A6FD4(sprite);
- sprite->callback = sub_80A6F98;
+ InitAnimLinearTranslationWithSpeed(sprite);
+ sprite->callback = AnimTranslateLinear_WaitEnd;
sprite->callback(sprite);
}
@@ -1144,7 +1141,7 @@ void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite)
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
InitAnimFastLinearTranslation(sprite);
- sprite->callback = sub_80A7144;
+ sprite->callback = AnimFastTranslateLinearWaitEnd;
sprite->callback(sprite);
}
@@ -1178,7 +1175,7 @@ bool8 AnimFastTranslateLinear(struct Sprite *sprite)
return FALSE;
}
-static void sub_80A7144(struct Sprite *sprite)
+static void AnimFastTranslateLinearWaitEnd(struct Sprite *sprite)
{
if (AnimFastTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
@@ -1191,12 +1188,12 @@ void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite)
InitAnimFastLinearTranslation(sprite);
}
-void sub_80A718C(struct Sprite *sprite)
+void InitAnimFastLinearTranslationWithSpeedAndPos(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
InitAnimFastLinearTranslationWithSpeed(sprite);
- sprite->callback = sub_80A7144;
+ sprite->callback = AnimFastTranslateLinearWaitEnd;
sprite->callback(sprite);
}
@@ -1295,7 +1292,7 @@ void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 x
}
}
-void sub_80A749C(struct Sprite *sprite)
+void ResetSpriteRotScale_PreserveAffine(struct Sprite *sprite)
{
TrySetSpriteRotScale(sprite, TRUE, 0x100, 0x100, 0);
sprite->affineAnimPaused = FALSE;
@@ -1342,7 +1339,7 @@ void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor)
}
}
-u32 sub_80A75AC(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, u8 targetPartner, u8 a6, u8 a7)
+u32 GetBattleBgPalettesMask(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, u8 targetPartner, u8 a6, u8 a7)
{
u32 selectedPalettes = 0;
u32 shift;
@@ -1395,59 +1392,60 @@ u32 sub_80A75AC(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner,
return selectedPalettes;
}
-u32 sub_80A76C4(u8 a1, u8 a2, u8 a3, u8 a4)
+u32 GetBattleMonSpritePalettesMask(u8 playerLeft, u8 playerRight, u8 opponentLeft, u8 opponentRight)
{
- u32 var = 0;
+ u32 selectedPalettes = 0;
u32 shift;
if (IsContest())
{
- if (a1)
+ if (playerLeft)
{
- var |= 1 << 18;
- return var;
+ selectedPalettes |= 1 << 18;
+ return selectedPalettes;
}
}
else
{
- if (a1)
+ if (playerLeft)
{
if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)))
{
- var |= 1 << (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) + 16);
+ selectedPalettes |= 1 << (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) + 16);
}
}
- if (a2)
+ if (playerRight)
{
if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)))
{
shift = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) + 16;
- var |= 1 << shift;
+ selectedPalettes |= 1 << shift;
}
}
- if (a3)
+ if (opponentLeft)
{
if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)))
{
shift = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT) + 16;
- var |= 1 << shift;
+ selectedPalettes |= 1 << shift;
}
}
- if (a4)
+ if (opponentRight)
{
if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)))
{
shift = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT) + 16;
- var |= 1 << shift;
+ selectedPalettes |= 1 << shift;
}
}
}
- return var;
+ return selectedPalettes;
}
-u8 sub_80A77AC(u8 a1)
+// Presumably something commented here, just returns arg
+u8 AnimDummyReturnArg(u8 battler)
{
- return a1;
+ return battler;
}
static u8 GetBattlerAtPosition_(u8 position)
@@ -1571,7 +1569,7 @@ s16 CloneBattlerSpriteWithBlend(u8 animBattler)
u16 i;
u8 spriteId = GetAnimBattlerSpriteId(animBattler);
- if (spriteId != 0xFF)
+ if (spriteId != SPRITE_NONE)
{
for (i = 0; i < MAX_SPRITES; i++)
{
@@ -1618,10 +1616,10 @@ void AnimTask_AlphaFadeIn(u8 taskId)
gTasks[taskId].data[7] = gBattleAnimArgs[2];
gTasks[taskId].data[8] = gBattleAnimArgs[3];
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gBattleAnimArgs[0], gBattleAnimArgs[1]));
- gTasks[taskId].func = sub_80A7AFC;
+ gTasks[taskId].func = AnimTask_AlphaFadeIn_Step;
}
-static void sub_80A7AFC(u8 taskId)
+static void AnimTask_AlphaFadeIn_Step(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1657,7 +1655,7 @@ static void sub_80A7AFC(u8 taskId)
void AnimTask_BlendMonInAndOut(u8 task)
{
u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
- if (spriteId == 0xff)
+ if (spriteId == SPRITE_NONE)
{
DestroyAnimVisualTask(task);
return;
@@ -1675,10 +1673,10 @@ static void AnimTask_BlendPalInAndOutSetup(struct Task *task)
task->data[5] = gBattleAnimArgs[3];
task->data[6] = 0;
task->data[7] = gBattleAnimArgs[4];
- task->func = AnimTask_BlendMonInAndOutStep;
+ task->func = AnimTask_BlendMonInAndOut_Step;
}
-static void AnimTask_BlendMonInAndOutStep(u8 taskId)
+static void AnimTask_BlendMonInAndOut_Step(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1817,7 +1815,7 @@ void SetBattlerSpriteYOffsetFromYScale(u8 spriteId)
{
int var = 64 - GetBattlerYDeltaFromSpriteId(spriteId) * 2;
u16 matrix = gSprites[spriteId].oam.matrixNum;
- int var2 = (var << 8) / gOamMatrices[matrix].d;
+ int var2 = SAFE_DIV(var << 8, gOamMatrices[matrix].d);
if (var2 > 128)
var2 = 128;
@@ -1830,7 +1828,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
{
int var = 64 - GetBattlerYDeltaFromSpriteId(otherSpriteId) * 2;
u16 matrix = gSprites[spriteId].oam.matrixNum;
- int var2 = (var << 8) / gOamMatrices[matrix].d;
+ int var2 = SAFE_DIV(var << 8, gOamMatrices[matrix].d);
if (var2 > 128)
var2 = 128;
@@ -1898,19 +1896,19 @@ void *LoadPointerFromVars(s16 lo, s16 hi)
return (void *)((u16)lo | ((u16)hi << 16));
}
-void sub_80A805C(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7)
+void PrepareEruptAnimTaskData(struct Task *task, u8 spriteId, s16 xScaleStart, s16 yScaleStart, s16 xScaleEnd, s16 yScaleEnd, u16 duration)
{
- task->data[8] = a7;
- task->data[15] = a2; // spriteId
- task->data[9] = a3;
- task->data[10] = a4;
- task->data[13] = a5;
- task->data[14] = a6;
- task->data[11] = (a5 - a3) / a7;
- task->data[12] = (a6 - a4) / a7;
+ task->data[8] = duration;
+ task->data[15] = spriteId;
+ task->data[9] = xScaleStart;
+ task->data[10] = yScaleStart;
+ task->data[13] = xScaleEnd;
+ task->data[14] = yScaleEnd;
+ task->data[11] = (xScaleEnd - xScaleStart) / duration;
+ task->data[12] = (yScaleEnd - yScaleStart) / duration;
}
-u8 sub_80A80C8(struct Task *task)
+u8 UpdateEruptAnimTask(struct Task *task)
{
if (!task->data[8])
return 0;
@@ -2028,18 +2026,19 @@ u8 GetBattlerSpriteBGPriorityRank(u8 battlerId)
return 1;
}
-u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10)
+// Create pokemon sprite to be used for a move animation effect (e.g. Role Play / Snatch)
+u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, bool32 ignoreDeoxysForm)
{
u8 spriteId;
- u16 sheet = LoadSpriteSheet(&sUnknown_08525FC0[a3]);
- u16 palette = AllocSpritePalette(sUnknown_08525F90[a3].paletteTag);
+ u16 sheet = LoadSpriteSheet(&sSpriteSheet_MoveEffectMons[id]);
+ u16 palette = AllocSpritePalette(sSpriteTemplate_MoveEffectMons[id].paletteTag);
if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->buffer == NULL)
gMonSpritesGfxPtr->buffer = AllocZeroed(0x2000);
if (!isBackpic)
{
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
- if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
+ if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
gMonSpritesGfxPtr->buffer,
species,
@@ -2055,7 +2054,7 @@ u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority
else
{
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
- if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
+ if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species],
gMonSpritesGfxPtr->buffer,
species,
@@ -2069,18 +2068,18 @@ u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority
FALSE);
}
- RequestDma3Copy(gMonSpritesGfxPtr->buffer, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1);
+ RequestDma3Copy(gMonSpritesGfxPtr->buffer, (void *)(OBJ_VRAM0 + (sheet * 0x20)), MON_PIC_SIZE, 1);
FREE_AND_SET_NULL(gMonSpritesGfxPtr->buffer);
if (!isBackpic)
- spriteId = CreateSprite(&sUnknown_08525F90[a3], x, y + gMonFrontPicCoords[species].y_offset, subpriority);
+ spriteId = CreateSprite(&sSpriteTemplate_MoveEffectMons[id], x, y + gMonFrontPicCoords[species].y_offset, subpriority);
else
- spriteId = CreateSprite(&sUnknown_08525F90[a3], x, y + gMonBackPicCoords[species].y_offset, subpriority);
+ spriteId = CreateSprite(&sSpriteTemplate_MoveEffectMons[id], x, y + gMonBackPicCoords[species].y_offset, subpriority);
if (IsContest())
{
- gSprites[spriteId].affineAnims = gUnknown_082FF6C0;
- StartSpriteAffineAnim(&gSprites[spriteId], 0);
+ gSprites[spriteId].affineAnims = gAffineAnims_BattleSpriteContest;
+ StartSpriteAffineAnim(&gSprites[spriteId], BATTLER_AFFINE_NORMAL);
}
return spriteId;
}
@@ -2262,7 +2261,7 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x
*y = (battlerY + partnerY) / 2;
}
-u8 sub_80A89C8(int battlerId, u8 spriteId, int species)
+u8 CreateInvisibleSpriteCopy(int battlerId, u8 spriteId, int species)
{
u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
gSprites[newSpriteId] = gSprites[spriteId];
@@ -2274,7 +2273,7 @@ u8 sub_80A89C8(int battlerId, u8 spriteId, int species)
return newSpriteId;
}
-void sub_80A8A6C(struct Sprite *sprite)
+void AnimTranslateLinearAndFlicker_Flipped(struct Sprite *sprite)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker))
@@ -2296,7 +2295,8 @@ void sub_80A8A6C(struct Sprite *sprite)
sprite->callback = TranslateSpriteLinearAndFlicker;
}
-void sub_80A8AEC(struct Sprite *sprite)
+// Used by three different unused battle anim sprite templates.
+void AnimTranslateLinearAndFlicker(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
@@ -2344,7 +2344,7 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId)
task->data[2] = 0;
task->data[3] = 0;
gSprites[task->data[0]].pos2.x -= task->data[0];
- task->data[4] = AllocSpritePalette(10097);
+ task->data[4] = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
task->data[5] = 0;
dest = (task->data[4] + 0x10) * 0x10;
@@ -2356,10 +2356,10 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId)
task->data[6] = 3;
CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20);
BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]);
- task->func = sub_80A8CAC;
+ task->func = AnimTask_AttackerPunchWithTrace_Step;
}
-static void sub_80A8CAC(u8 taskId)
+static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId)
{
struct Task *task = &gTasks[taskId];
switch (task->data[2])
@@ -2426,10 +2426,10 @@ void AnimWeatherBallUp(struct Sprite *sprite)
else
sprite->data[0] = -10;
sprite->data[1] = -40;
- sprite->callback = sub_80A8E88;
+ sprite->callback = AnimWeatherBallUp_Step;
}
-static void sub_80A8E88(struct Sprite *sprite)
+static void AnimWeatherBallUp_Step(struct Sprite *sprite)
{
sprite->data[2] += sprite->data[0];
sprite->data[3] += sprite->data[1];