summaryrefslogtreecommitdiff
path: root/src/battle/anim/aurora.c
diff options
context:
space:
mode:
authorgarak <garakmon@gmail.com>2018-09-23 22:21:36 -0400
committergarak <garakmon@gmail.com>2018-09-23 22:21:36 -0400
commitfd6dcd2285920ec686254d3445571c82d0f5efa4 (patch)
treeaa44e1d11f3b8761d012d0f0609d3b71ac938a37 /src/battle/anim/aurora.c
parent9f0bbcdd6f7fe3d18320ec692478b4fdfc313e68 (diff)
label most ice anim functions
Diffstat (limited to 'src/battle/anim/aurora.c')
-rw-r--r--src/battle/anim/aurora.c34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/battle/anim/aurora.c b/src/battle/anim/aurora.c
index c17748440..3564da811 100644
--- a/src/battle/anim/aurora.c
+++ b/src/battle/anim/aurora.c
@@ -9,9 +9,9 @@ extern s16 gBattleAnimArgs[8];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-void sub_80D33B4(struct Sprite *sprite);
-static void sub_80D344C(struct Sprite *);
-static void sub_80D34D4(u8);
+void AnimAuroraRings(struct Sprite *sprite);
+static void AnimGrowAuroraRings(struct Sprite *);
+static void AnimTask_RotateMonPalette2(u8);
const union AnimCmd gSpriteAnim_83D9190[] =
{
@@ -43,7 +43,8 @@ const union AffineAnimCmd *const gSpriteAffineAnimTable_83D91C0[] =
gSpriteAffineAnim_83D91A8,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83D91C4 =
+// Multi-colored rings used in Aurora Beam.
+const struct SpriteTemplate RainbowRingSpriteTemplate =
{
.tileTag = 10140,
.paletteTag = 10140,
@@ -51,10 +52,16 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83D91C4 =
.anims = gSpriteAnimTable_83D91A0,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_83D91C0,
- .callback = sub_80D33B4,
+ .callback = AnimAuroraRings,
};
-void sub_80D33B4(struct Sprite *sprite)
+// Animates the colorful rings in Aurora Beam linearly towards the target mon.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: duration
+void AnimAuroraRings(struct Sprite *sprite)
{
s16 r6;
@@ -69,12 +76,14 @@ void sub_80D33B4(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3];
InitAnimLinearTranslation(sprite);
- sprite->callback = sub_80D344C;
+ sprite->callback = AnimGrowAuroraRings;
sprite->affineAnimPaused = TRUE;
sprite->callback(sprite);
}
-static void sub_80D344C(struct Sprite *sprite)
+// Grows the rings in Aurora Beam.
+// arg 7: if -1, grow the rings
+static void AnimGrowAuroraRings(struct Sprite *sprite)
{
if ((u16)gBattleAnimArgs[7] == 0xFFFF)
{
@@ -85,14 +94,17 @@ static void sub_80D344C(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_80D3490(u8 taskId)
+// This seems to rotate the palette of the attacking mon, but the visual
+// effect is not noticeable in-game.
+// arg 0: duration
+void AnimTask_RotateMonPalette1(u8 taskId)
{
gTasks[taskId].data[0] = gBattleAnimArgs[0];
gTasks[taskId].data[2] = 0x100 + IndexOfSpritePaletteTag(0x279C) * 16;
- gTasks[taskId].func = sub_80D34D4;
+ gTasks[taskId].func = AnimTask_RotateMonPalette2;
}
-static void sub_80D34D4(u8 taskId)
+static void AnimTask_RotateMonPalette2(u8 taskId)
{
gTasks[taskId].data[10]++;
if (gTasks[taskId].data[10] == 3)