diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-12-20 15:54:25 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-20 15:54:25 -0600 |
commit | 871ae4c283ec8bc7730df52790b5ca53baa82230 (patch) | |
tree | 6899e26a068d4854a026e3d13b7c51c36b68208a /src/battle/anim/guard.c | |
parent | 3c5f725de49371aced1788a21f5e53df5b498b5f (diff) | |
parent | 5e6bfe67a87e041ebdc9e0b573d1ae1f22b79d59 (diff) |
Merge pull request #494 from huderlem/battle_anim
Decompile small battle_anim effects
Diffstat (limited to 'src/battle/anim/guard.c')
-rw-r--r-- | src/battle/anim/guard.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/battle/anim/guard.c b/src/battle/anim/guard.c new file mode 100644 index 000000000..4769db2e4 --- /dev/null +++ b/src/battle/anim/guard.c @@ -0,0 +1,34 @@ +#include "global.h" +#include "battle_anim.h" +#include "rom_8077ABC.h" + +extern s16 gBattleAnimArgs[8]; +extern u8 gBattleAnimBankAttacker; +extern u8 gBattleAnimBankTarget; +extern u16 gBattleTypeFlags; + +// guard (moves guard rings upwards) +// Used in Safeguard. + +void sub_80D3014(struct Sprite *sprite) +{ + if ((gBattleTypeFlags & 1) && IsAnimBankSpriteVisible(gBattleAnimBankAttacker ^ 2)) + { + sub_807A3FC(gBattleAnimBankAttacker, 0, &sprite->pos1.x, &sprite->pos1.y); + sprite->pos1.y += 40; + + StartSpriteAffineAnim(sprite, 1); + } + else + { + sprite->pos1.x = sub_8077ABC(gBattleAnimBankAttacker, 0); + sprite->pos1.y = sub_8077ABC(gBattleAnimBankAttacker, 1) + 40; + } + + sprite->data[0] = 13; + sprite->data[2] = sprite->pos1.x; + sprite->data[4] = sprite->pos1.y - 72; + + sprite->callback = sub_8078B34; + StoreSpriteCallbackInData(sprite, move_anim_8072740); +} |