summaryrefslogtreecommitdiff
path: root/src/battle/anim/breath.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle/anim/breath.c')
-rw-r--r--src/battle/anim/breath.c45
1 files changed, 41 insertions, 4 deletions
diff --git a/src/battle/anim/breath.c b/src/battle/anim/breath.c
index 831b222ad..87c737fac 100644
--- a/src/battle/anim/breath.c
+++ b/src/battle/anim/breath.c
@@ -8,25 +8,62 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
+void sub_80D0930(struct Sprite* sprite);
+
// breath (a puff of smoke, usually from the mouth or nose of the Pokemon.)
// Used in Swagger and Bulk Up.
+const union AnimCmd gSpriteAnim_83D7734[] =
+{
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(4, 40, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(12, 4, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D7748[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(4, 40),
+ ANIMCMD_FRAME(8, 4),
+ ANIMCMD_FRAME(12, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D775C[] =
+{
+ gSpriteAnim_83D7734,
+ gSpriteAnim_83D7748,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7764 =
+{
+ .tileTag = 10086,
+ .paletteTag = 10086,
+ .oam = &gOamData_837DF2C,
+ .anims = gSpriteAnimTable_83D775C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D0930,
+};
+
void sub_80D0930(struct Sprite* sprite)
{
- if (GetBankSide(gAnimBankAttacker) == 0)
+ if (GetBattlerSide(gAnimBankAttacker) == 0)
{
StartSpriteAnim(sprite, 0);
- sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + 32;
+ sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + 32;
sprite->data[1] = 0x40;
}
else
{
StartSpriteAnim(sprite, 1);
- sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) - 32;
+ sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) - 32;
sprite->data[1] = -0x40;
}
- sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3);
+ sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3);
sprite->data[0] = 0x34;
sprite->data[2] = 0;
sprite->data[3] = 0;