diff options
author | camthesaxman <cameronghall@cox.net> | 2017-12-22 14:51:12 -0600 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2017-12-22 14:51:12 -0600 |
commit | 9c9bcee1e2fbd3fd374023146f99d0417cd8ab52 (patch) | |
tree | 848c1688fe743dd0410183b182024ee961f07980 /src/battle/anim/devil.c | |
parent | ce74d72c31a3ebda26adc6ae888700213f64b113 (diff) | |
parent | 62bdd4d480ced306b85791c828ee8497e9fa2acc (diff) |
fix merge conflicts
Diffstat (limited to 'src/battle/anim/devil.c')
-rw-r--r-- | src/battle/anim/devil.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/battle/anim/devil.c b/src/battle/anim/devil.c new file mode 100644 index 000000000..345ee53ea --- /dev/null +++ b/src/battle/anim/devil.c @@ -0,0 +1,37 @@ +#include "global.h" +#include "battle_anim.h" +#include "rom_8077ABC.h" +#include "sprite.h" +#include "trig.h" + +extern s16 gBattleAnimArgs[8]; +extern u8 gBattleAnimBankTarget; + +void sub_80D2ABC(struct Sprite *sprite) +{ + if (sprite->data[3] == 0) + { + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + StartSpriteAnim(sprite, 0); + sprite->subpriority = sub_8079E90(gBattleAnimBankTarget) - 1; + sprite->data[2] = 1; + } + sprite->data[0] += sprite->data[2]; + sprite->data[1] = (sprite->data[0] * 4) % 256; + if (sprite->data[1] < 0) + sprite->data[1] = 0; + sprite->pos2.x = Cos(sprite->data[1], 30 - sprite->data[0] / 4); + sprite->pos2.y = Sin(sprite->data[1], 10 - sprite->data[0] / 8); + if (sprite->data[1] > 128 && sprite->data[2] > 0) + sprite->data[2] = -1; + if (sprite->data[1] == 0 && sprite->data[2] < 0) + sprite->data[2] = 1; + sprite->data[3]++; + if (sprite->data[3] < 10 || sprite->data[3] > 0x50) + sprite->invisible = sprite->data[0] % 2; + else + sprite->invisible = FALSE; + if (sprite->data[3] > 0x5A) + move_anim_8072740(sprite); +} |