diff options
Diffstat (limited to 'src/battle/anim/orbit_fast.c')
-rw-r--r-- | src/battle/anim/orbit_fast.c | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/battle/anim/orbit_fast.c b/src/battle/anim/orbit_fast.c deleted file mode 100644 index 67a59583f..000000000 --- a/src/battle/anim/orbit_fast.c +++ /dev/null @@ -1,63 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -static void AnimOrbitFastStep(struct Sprite* sprite); - -// Orbits a sphere in an ellipse around the mon. -// Used by MOVE_HIDDEN_POWER -// arg 0: duration -// arg 1: initial wave offset -void AnimOrbitFast(struct Sprite* sprite) -{ - sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); - sprite->affineAnimPaused = 1; - sprite->data[0] = gBattleAnimArgs[0]; - sprite->data[1] = gBattleAnimArgs[1]; - sprite->data[7] = sub_8079E90(gAnimBankAttacker); - sprite->callback = AnimOrbitFastStep; - sprite->callback(sprite); -} - -static void AnimOrbitFastStep(struct Sprite* sprite) -{ - if ((u16)(sprite->data[1] - 0x40) <= 0x7F) - sprite->subpriority = sprite->data[7] + 1; - else - sprite->subpriority = sprite->data[7] - 1; - - sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8); - sprite->pos2.y = Cos(sprite->data[1], sprite->data[3] >> 8); - sprite->data[1] = (sprite->data[1] + 9) & 0xFF; - switch (sprite->data[5]) - { - case 1: - sprite->data[2] -= 0x400; - sprite->data[3] -= 0x100; - if (++sprite->data[4] == sprite->data[0]) - { - sprite->data[5] = 2; - return; - } - break; - case 0: - sprite->data[2] += 0x400; - sprite->data[3] += 0x100; - if (++sprite->data[4] == sprite->data[0]) - { - sprite->data[4] = 0; - sprite->data[5] = 1; - } - break; - } - - if ((u16)gBattleAnimArgs[7] == 0xFFFF) - DestroyAnimSprite(sprite); -} |