diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-06-25 17:50:27 -0500 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-06-25 17:50:27 -0500 |
commit | 605f8ac1141daf66d3428923e004f82f5a5e1594 (patch) | |
tree | a3e5fae5d271175c7f10b6b455fcdc7f0fdd553e /src/battle/anim/spit.c | |
parent | e88e39d5fda1644f77e41fd652d4310612da7532 (diff) | |
parent | 659437f07a44b6f560bb58d6c12d141ed8ba7643 (diff) |
Merge branch 'master' into contest_link_80C2020
Diffstat (limited to 'src/battle/anim/spit.c')
-rw-r--r-- | src/battle/anim/spit.c | 31 |
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]; |