summaryrefslogtreecommitdiff
path: root/src/battle/anim/slash.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle/anim/slash.c')
-rw-r--r--src/battle/anim/slash.c79
1 files changed, 68 insertions, 11 deletions
diff --git a/src/battle/anim/slash.c b/src/battle/anim/slash.c
index 306968111..f71bc6eaa 100644
--- a/src/battle/anim/slash.c
+++ b/src/battle/anim/slash.c
@@ -8,6 +8,9 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
+void sub_80CDD74(struct Sprite* sprite);
+void sub_80CDDDC(struct Sprite* sprite);
+void sub_80CDE24(struct Sprite* sprite);
static void sub_80CDE78(struct Sprite* sprite);
static void sub_80CDEB0(struct Sprite* sprite);
static void sub_80CDEC0(struct Sprite* sprite);
@@ -15,17 +18,71 @@ static void sub_80CDEC0(struct Sprite* sprite);
// slash (a cutting animation)
// Used in Slash and False Swipe.
+const union AnimCmd gSpriteAnim_83D6E14[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D6E28[] =
+{
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D6E30[] =
+{
+ gSpriteAnim_83D6E14,
+ gSpriteAnim_83D6E28,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6E38 =
+{
+ .tileTag = 10183,
+ .paletteTag = 10183,
+ .oam = &gOamData_837DF34,
+ .anims = gSpriteAnimTable_83D6E30,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80CDD74,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6E50 =
+{
+ .tileTag = 10286,
+ .paletteTag = 10286,
+ .oam = &gOamData_837DF34,
+ .anims = gSpriteAnimTable_83D6E30,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80CDDDC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6E68 =
+{
+ .tileTag = 10286,
+ .paletteTag = 10286,
+ .oam = &gOamData_837DF34,
+ .anims = gSpriteAnimTable_83D6E30,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80CDE24,
+};
+
void sub_80CDD74(struct Sprite* sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2];
+ sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2];
}
else
{
- sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[2];
+ sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[2];
}
sprite->data[0] = 0;
@@ -36,23 +93,23 @@ void sub_80CDD74(struct Sprite* sprite)
void sub_80CDDDC(struct Sprite* sprite)
{
- sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + 0xFFD0;
- sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + 0xFFD0;
+ sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3);
StoreSpriteCallbackInData(sprite, sub_80CDE78);
sprite->callback = sub_8078600;
}
void sub_80CDE24(struct Sprite* sprite)
{
- sprite->pos1.x = sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + 0xFFD0 + gBattleAnimArgs[0];
- sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3);
+ sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + 0xFFD0 + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3);
StartSpriteAnim(sprite, 1);
sprite->data[0] = 0;
sprite->data[1] = 0;
sprite->callback = sub_80CDEC0;
}
-void sub_80CDE78(struct Sprite* sprite)
+static void sub_80CDE78(struct Sprite* sprite)
{
if (++sprite->data[0] > 8)
{
@@ -64,14 +121,14 @@ void sub_80CDE78(struct Sprite* sprite)
}
}
-void sub_80CDEB0(struct Sprite* sprite)
+static void sub_80CDEB0(struct Sprite* sprite)
{
sprite->data[0] = 0;
sprite->data[1] = 0;
sprite->callback = sub_80CDEC0;
}
-void sub_80CDEC0(struct Sprite* sprite)
+static void sub_80CDEC0(struct Sprite* sprite)
{
if (++sprite->data[0] > 1)
{