From 7c939bcdb9b9eeac3e544250185e44904d70bbb8 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Mon, 11 Dec 2017 22:06:35 -0600 Subject: decompile devil --- src/battle/anim/devil.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/battle/anim/devil.c (limited to 'src/battle/anim/devil.c') 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); +} -- cgit v1.2.3