From e23d43ecb06b6fd5f8e6f72accf7787895833ea6 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sun, 26 Nov 2017 19:37:57 -0500 Subject: move src/anim to src/battle/anim. --- src/battle/anim/seed.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 src/battle/anim/seed.c (limited to 'src/battle/anim/seed.c') diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c new file mode 100755 index 000000000..bd072849a --- /dev/null +++ b/src/battle/anim/seed.c @@ -0,0 +1,50 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "trig.h" +#include "battle_anim.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gBattleAnimBankAttacker; +extern u8 gBattleAnimBankTarget; + +static void sub_80CAB88(struct Sprite* sprite); +static void sub_80CABC0(struct Sprite* sprite); + +// seed (sprouts a sapling from a seed.) +// Used by Leech Seed. + +void sub_80CAB18(struct Sprite* sprite) +{ + sub_80787B0(sprite, 1); + if (GetBankSide(gBattleAnimBankAttacker)) + { + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + } + + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = sub_8077ABC(gBattleAnimBankTarget, 0) + gBattleAnimArgs[2]; + sprite->data[4] = sub_8077ABC(gBattleAnimBankTarget, 1) + gBattleAnimArgs[3]; + sprite->data[5] = gBattleAnimArgs[5]; + sub_80786EC(sprite); + sprite->callback = sub_80CAB88; +} + +void sub_80CAB88(struct Sprite* sprite) +{ + if (sub_8078718(sprite)) + { + sprite->invisible = 1; + sprite->data[0] = 10; + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, sub_80CABC0); + } +} + +void sub_80CABC0(struct Sprite* sprite) +{ + sprite->invisible = 0; + StartSpriteAnim(sprite, 1); + sprite->data[0] = 60; + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, move_anim_8072740); +} -- cgit v1.2.3 From 16e0d8089194a8d098da47c7a7b07fbc4dcc0292 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 27 Dec 2017 13:15:01 -0600 Subject: Port battle_anim changes from pokeemerald --- src/battle/anim/seed.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/battle/anim/seed.c') diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c index bd072849a..be8613a74 100755 --- a/src/battle/anim/seed.c +++ b/src/battle/anim/seed.c @@ -4,8 +4,8 @@ #include "battle_anim.h" extern s16 gBattleAnimArgs[]; -extern u8 gBattleAnimBankAttacker; -extern u8 gBattleAnimBankTarget; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; static void sub_80CAB88(struct Sprite* sprite); static void sub_80CABC0(struct Sprite* sprite); @@ -16,14 +16,14 @@ static void sub_80CABC0(struct Sprite* sprite); void sub_80CAB18(struct Sprite* sprite) { sub_80787B0(sprite, 1); - if (GetBankSide(gBattleAnimBankAttacker)) + if (GetBankSide(gAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = sub_8077ABC(gBattleAnimBankTarget, 0) + gBattleAnimArgs[2]; - sprite->data[4] = sub_8077ABC(gBattleAnimBankTarget, 1) + gBattleAnimArgs[3]; + sprite->data[2] = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[2]; + sprite->data[4] = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; sub_80786EC(sprite); sprite->callback = sub_80CAB88; @@ -46,5 +46,5 @@ void sub_80CABC0(struct Sprite* sprite) StartSpriteAnim(sprite, 1); sprite->data[0] = 60; sprite->callback = sub_80782D8; - StoreSpriteCallbackInData(sprite, move_anim_8072740); + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -- cgit v1.2.3