summaryrefslogtreecommitdiff
path: root/src/battle/anim/spit.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/spit.c
parente88e39d5fda1644f77e41fd652d4310612da7532 (diff)
parent659437f07a44b6f560bb58d6c12d141ed8ba7643 (diff)
Merge branch 'master' into contest_link_80C2020
Diffstat (limited to 'src/battle/anim/spit.c')
-rw-r--r--src/battle/anim/spit.c31
1 files changed, 28 insertions, 3 deletions
diff --git a/src/battle/anim/spit.c b/src/battle/anim/spit.c
index 1e65ba53e..792d7e0eb 100644
--- a/src/battle/anim/spit.c
+++ b/src/battle/anim/spit.c
@@ -8,10 +8,35 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
+void sub_80D28AC(struct Sprite* sprite);
+
// spit (hurls sprites outward from the pokemon. Similar to orbit_fast, but takes another argument.)
// Used in Spit Up.
-void sub_80D287C(struct Sprite* sprite)
+const union AffineAnimCmd gSpriteAffineAnim_83D7B44[] =
+{
+ AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7B5C[] =
+{
+ gSpriteAffineAnim_83D7B44,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7B60 =
+{
+ .tileTag = 10237,
+ .paletteTag = 10237,
+ .oam = &gOamData_837DFE4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_83D7B5C,
+ .callback = sub_80D28AC,
+};
+
+static void sub_80D287C(struct Sprite* sprite)
{
sprite->pos2.x += sprite->data[0];
sprite->pos2.y += sprite->data[1];
@@ -21,8 +46,8 @@ void sub_80D287C(struct Sprite* sprite)
void sub_80D28AC(struct Sprite* sprite)
{
- sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2);
- sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3);
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
sprite->data[2] = gBattleAnimArgs[1];