summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle/anim/ghost.c19
-rw-r--r--src/battle/anim/normal.c28
-rw-r--r--src/battle/anim/rock.c28
-rw-r--r--src/battle/anim/splash.c11
-rw-r--r--src/battle/anim/wisp_fire.c5
5 files changed, 60 insertions, 31 deletions
diff --git a/src/battle/anim/ghost.c b/src/battle/anim/ghost.c
index 124ff1c4e..cba7b2b82 100644
--- a/src/battle/anim/ghost.c
+++ b/src/battle/anim/ghost.c
@@ -24,8 +24,8 @@ static void sub_80DDD58(struct Sprite *sprite);
static void sub_80DDD78(struct Sprite *);
static void sub_80DDE7C(u8 taskId);
static void sub_80DDED0(u8 taskId);
-static void sub_80DDF40(struct Sprite *sprite);
-static void sub_80DDFE8(struct Sprite *);
+static void InitAnimShadowBall(struct Sprite *sprite);
+static void AnimShadowBallStep(struct Sprite *);
static void sub_80DE0FC(struct Sprite *sprite);
static void sub_80DE114(struct Sprite *);
static void sub_80DE2DC(u8 taskId);
@@ -94,7 +94,7 @@ const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAEA4[] =
gSpriteAffineAnim_83DAE94,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAEA8 =
+const struct SpriteTemplate gShadowBallSpriteTemplate =
{
.tileTag = 10176,
.paletteTag = 10176,
@@ -102,7 +102,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAEA8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_83DAEA4,
- .callback = sub_80DDF40,
+ .callback = InitAnimShadowBall,
};
const union AnimCmd gSpriteAnim_83DAEC0[] =
@@ -399,7 +399,12 @@ static void sub_80DDED0(u8 taskId)
}
}
-static void sub_80DDF40(struct Sprite *sprite)
+// Spins a sprite towards the target, pausing in the middle.
+// Used in Shadow Ball.
+// arg 0: duration step 1 (attacker -> center)
+// arg 1: duration step 2 (spin center)
+// arg 2: duration step 3 (center -> target)
+static void InitAnimShadowBall(struct Sprite *sprite)
{
u16 r5, r6;
r5 = sprite->pos1.x;
@@ -414,10 +419,10 @@ static void sub_80DDF40(struct Sprite *sprite)
sprite->data[5] = sprite->pos1.y << 4;
sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1);
sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1);
- sprite->callback = sub_80DDFE8;
+ sprite->callback = AnimShadowBallStep;
}
-static void sub_80DDFE8(struct Sprite *sprite)
+static void AnimShadowBallStep(struct Sprite *sprite)
{
switch (sprite->data[0])
{
diff --git a/src/battle/anim/normal.c b/src/battle/anim/normal.c
index 596eb919f..51c575b5e 100644
--- a/src/battle/anim/normal.c
+++ b/src/battle/anim/normal.c
@@ -69,8 +69,8 @@ static void sub_80E260C(void);
static void sub_80E255C(struct Sprite *sprite);
static void sub_80E2710(u8 taskId);
static void sub_80E29FC(struct Sprite *sprite);
-static void sub_80E2C8C(u8 taskId, u32 selectedPalettes);
-static void sub_80E2CD0(u8 taskId);
+static void AnimTask_BlendSpriteColor_Step1(u8 taskId, u32 selectedPalettes);
+static void AnimTask_BlendSpriteColor_Step2(u8 taskId);
static void sub_80E2DB8(u8 taskId);
static void sub_80E2E10(u8 taskId);
static void sub_80E2EE8(struct Sprite *sprite);
@@ -950,7 +950,7 @@ void sub_80E2A38(u8 taskId)
(gBattleAnimArgs[0] >> 9) & 1,
(gBattleAnimArgs[0] >> 10) & 1);
- sub_80E2C8C(taskId, selectedPalettes);
+ AnimTask_BlendSpriteColor_Step1(taskId, selectedPalettes);
}
void sub_80E2A7C(u8 taskId)
@@ -1001,7 +1001,7 @@ void sub_80E2A7C(u8 taskId)
}
}
- sub_80E2C8C(taskId, selectedPalettes);
+ AnimTask_BlendSpriteColor_Step1(taskId, selectedPalettes);
}
void sub_80E2B74(u8 taskId)
@@ -1042,16 +1042,22 @@ void sub_80E2B74(u8 taskId)
break;
}
- sub_80E2C8C(taskId, selectedPalettes);
+ AnimTask_BlendSpriteColor_Step1(taskId, selectedPalettes);
}
-void sub_80E2C60(u8 taskId)
+// Used to add a color mask to a Sprite.
+// arg 0: spriteId
+// arg 1: ??? unknown
+// arg 2: ??? unknown
+// arg 3: opacity [0,15]
+// arg 4: color code
+void AnimTask_BlendSpriteColor(u8 taskId)
{
u8 paletteIndex = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
- sub_80E2C8C(taskId, 1 << (paletteIndex + 16));
+ AnimTask_BlendSpriteColor_Step1(taskId, 1 << (paletteIndex + 16));
}
-static void sub_80E2C8C(u8 taskId, u32 selectedPalettes)
+static void AnimTask_BlendSpriteColor_Step1(u8 taskId, u32 selectedPalettes)
{
gTasks[taskId].data[0] = selectedPalettes;
gTasks[taskId].data[1] = selectedPalettes >> 16;
@@ -1060,11 +1066,11 @@ static void sub_80E2C8C(u8 taskId, u32 selectedPalettes)
gTasks[taskId].data[4] = gBattleAnimArgs[3];
gTasks[taskId].data[5] = gBattleAnimArgs[4];
gTasks[taskId].data[10] = gBattleAnimArgs[2];
- gTasks[taskId].func = sub_80E2CD0;
+ gTasks[taskId].func = AnimTask_BlendSpriteColor_Step2;
gTasks[taskId].func(taskId);
}
-static void sub_80E2CD0(u8 taskId)
+static void AnimTask_BlendSpriteColor_Step2(u8 taskId)
{
u32 selectedPalettes;
u16 singlePaletteMask = 0;
@@ -1577,7 +1583,7 @@ void sub_80E3A08(u8 taskId)
for (j = 5; j != 0; j--)
gBattleAnimArgs[j] = gBattleAnimArgs[j - 1];
- sub_80E2C8C(taskId, selectedPalettes);
+ AnimTask_BlendSpriteColor_Step1(taskId, selectedPalettes);
}
void sub_80E3A58(u8 taskId)
diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c
index a4d2441f3..92a27c115 100644
--- a/src/battle/anim/rock.c
+++ b/src/battle/anim/rock.c
@@ -28,8 +28,8 @@ extern void AnimMoveTwisterParticle(struct Sprite *sprite);
void sub_80DCE9C(struct Sprite *sprite);
void sub_80DCF60(struct Sprite *sprite);
void sub_80DCFE4(struct Sprite *sprite);
-void sub_80DD3AC(struct Sprite *sprite);
-void sub_80DD490(struct Sprite *sprite);
+void AnimSandstormParticleAcrossScreen(struct Sprite *sprite);
+void AnimRaiseSprite(struct Sprite *sprite);
void sub_80DD87C(struct Sprite *sprite);
void sub_80DD8E8(struct Sprite *sprite);
void sub_80DD978(struct Sprite *sprite);
@@ -136,7 +136,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DACD0 =
.callback = sub_80DCFE4,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83DACE8 =
+const struct SpriteTemplate gSandstormDustSpriteTemplate =
{
.tileTag = 10261,
.paletteTag = 10261,
@@ -144,7 +144,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DACE8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80DD3AC,
+ .callback = AnimSandstormParticleAcrossScreen,
};
const struct Subsprite gSubspriteTable_83DAD00[] =
@@ -212,7 +212,7 @@ const union AnimCmd *const gSpriteAnimTable_83DAD58[] =
gSpriteAnim_83DAD40,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAD60 =
+const struct SpriteTemplate gAncientPowerRockSpriteTemplate =
{
.tileTag = 10058,
.paletteTag = 10058,
@@ -220,7 +220,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAD60 =
.anims = gSpriteAnimTable_83DAD48,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80DD490,
+ .callback = AnimRaiseSprite,
};
const struct SpriteTemplate gSpriteTemplate_83DAD78 =
@@ -510,7 +510,13 @@ static void sub_80DD190(u8 taskId)
}
}
-void sub_80DD3AC(struct Sprite *sprite)
+// Animates the sprites that fly diagonally across the screen
+// in Sandstorm and Heat Wave.
+// arg 0: initial y pixel offset
+// arg 1: projectile speed
+// arg 2: y pixel drop
+// arg 3: ??? unknown (possibly a color bit)
+void AnimSandstormParticleAcrossScreen(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -555,7 +561,13 @@ void sub_80DD3AC(struct Sprite *sprite)
}
}
-void sub_80DD490(struct Sprite *sprite)
+// Animates the rising rocks in Ancient Power.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: terminal y offset
+// arg 3: duration
+// arg 4: sprite size [1,5]
+void AnimRaiseSprite(struct Sprite *sprite)
{
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
InitAnimSpritePos(sprite, 0);
diff --git a/src/battle/anim/splash.c b/src/battle/anim/splash.c
index c01748953..7e3d08554 100644
--- a/src/battle/anim/splash.c
+++ b/src/battle/anim/splash.c
@@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-static void sub_80D07AC(u8 taskId);
+static void AnimTask_SplashStep(u8 taskId);
// splash (splash effect of hopping up and down)
// Used in Splash, Mud Sport, and Sketch.
@@ -21,7 +21,10 @@ const union AffineAnimCmd gSpriteAffineAnim_83D76F4[] =
AFFINEANIMCMD_END,
};
-void sub_80D074C(u8 taskId)
+// Task to facilitate expanding and hopping effect seen in Splash.
+// arg 0: anim battler
+// arg 1: num hops
+void AnimTask_Splash(u8 taskId)
{
struct Task* task = &gTasks[taskId];
if (gBattleAnimArgs[1] == 0)
@@ -37,11 +40,11 @@ void sub_80D074C(u8 taskId)
task->data[3] = 0;
task->data[4] = 0;
sub_80798F4(task, spriteId, &gSpriteAffineAnim_83D76F4);
- task->func = sub_80D07AC;
+ task->func = AnimTask_SplashStep;
}
}
-void sub_80D07AC(u8 taskId)
+void AnimTask_SplashStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
switch (task->data[1])
diff --git a/src/battle/anim/wisp_fire.c b/src/battle/anim/wisp_fire.c
index c96a3a86f..a8ced992a 100644
--- a/src/battle/anim/wisp_fire.c
+++ b/src/battle/anim/wisp_fire.c
@@ -186,7 +186,10 @@ static void sub_80D5E4C(u8 taskId)
}
}
-void sub_80D6080(u8 taskId)
+// Used to add a color mask to the battle interface / HUD in Heat Wave.
+// arg 0: opacity
+// arg 1: color code
+void AnimTask_BlendInterfaceColor(u8 taskId)
{
struct Struct_sub_8078914 unk;
sub_8078914(&unk);