summaryrefslogtreecommitdiff
path: root/src/battle/anim/strike.c
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-06-25 17:50:27 -0500
committerMarcus Huderle <huderlem@gmail.com>2018-06-25 17:50:27 -0500
commit605f8ac1141daf66d3428923e004f82f5a5e1594 (patch)
treea3e5fae5d271175c7f10b6b455fcdc7f0fdd553e /src/battle/anim/strike.c
parente88e39d5fda1644f77e41fd652d4310612da7532 (diff)
parent659437f07a44b6f560bb58d6c12d141ed8ba7643 (diff)
Merge branch 'master' into contest_link_80C2020
Diffstat (limited to 'src/battle/anim/strike.c')
-rw-r--r--src/battle/anim/strike.c49
1 files changed, 45 insertions, 4 deletions
diff --git a/src/battle/anim/strike.c b/src/battle/anim/strike.c
index bfa1dc4f7..79dd833a9 100644
--- a/src/battle/anim/strike.c
+++ b/src/battle/anim/strike.c
@@ -8,11 +8,52 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
+void sub_80CE670(struct Sprite* sprite);
static void sub_80CE798(struct Sprite* sprite);
// strike (A red strike towards the opponent.)
// Used in Horn Attack, Fury Attack, and Horn Drill.
+const union AnimCmd gSpriteAnim_83D7010[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_FRAME(80, 3),
+ ANIMCMD_FRAME(96, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D7034[] =
+{
+ gSpriteAnim_83D7010,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7038 =
+{
+ .tileTag = 10031,
+ .paletteTag = 10031,
+ .oam = &gOamData_837DF34,
+ .anims = gSpriteAnimTable_83D7034,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80793C4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7050 =
+{
+ .tileTag = 10020,
+ .paletteTag = 10020,
+ .oam = &gOamData_837DF34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80CE670,
+};
+
void sub_80CE670(struct Sprite* sprite)
{
if (gBattleAnimArgs[2] <= 1)
@@ -23,8 +64,8 @@ void sub_80CE670(struct Sprite* sprite)
sprite->data[0] = 0;
sprite->data[1] = gBattleAnimArgs[2];
- sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[0];
- sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[1];
+ sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[1];
sprite->data[6] = sprite->pos1.x;
sprite->data[7] = sprite->pos1.y;
if (IsContest() != 0)
@@ -37,7 +78,7 @@ void sub_80CE670(struct Sprite* sprite)
sprite->data[4] = sprite->pos1.y << 7;
sprite->data[5] = -0xA00 / sprite->data[1];
}
- else if (GetBankSide(gAnimBankAttacker) == 0)
+ else if (GetBattlerSide(gAnimBankAttacker) == 0)
{
sprite->pos1.x -= 40;
sprite->pos1.y += 20;
@@ -60,7 +101,7 @@ void sub_80CE670(struct Sprite* sprite)
sprite->callback = sub_80CE798;
}
-void sub_80CE798(struct Sprite* sprite)
+static void sub_80CE798(struct Sprite* sprite)
{
sprite->data[2] += sprite->data[3];
sprite->data[4] += sprite->data[5];