From 4fe6a8bd80ff947661aea391060207a53895338e Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 10 Feb 2018 23:49:54 -0800 Subject: Document battle anim things related to SWIFT and TWISTER --- src/battle/anim/bug.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/battle/anim/bug.c') diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index dbc0f75a5..b2726d8dd 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -76,7 +76,7 @@ void sub_80DC9A0(struct Sprite *sprite) if (IsContest()) gBattleAnimArgs[2] /= 2; - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; @@ -88,7 +88,7 @@ void sub_80DC9A0(struct Sprite *sprite) } else { - sub_807A3FC(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); } sub_8078BD4(sprite); @@ -98,7 +98,7 @@ void sub_80DC9A0(struct Sprite *sprite) static void sub_80DCA38(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { DestroyAnimSprite(sprite); return; @@ -111,7 +111,7 @@ static void sub_80DCA38(struct Sprite *sprite) // used in Move_STRING_SHOT void sub_80DCA70(struct Sprite *sprite) { - sub_807A3FC(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); if (GetBankSide(gAnimBankAttacker)) sprite->pos1.x -= gBattleAnimArgs[0]; else @@ -212,7 +212,7 @@ void sub_80DCBCC(struct Sprite *sprite) } } - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); lVarX = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; lVarY = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; @@ -232,7 +232,7 @@ void sub_80DCBCC(struct Sprite *sprite) // Move_PIN_MISSILE, Move_ICICLE_SPEAR void sub_80DCCFC(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -251,7 +251,7 @@ void sub_80DCD78(struct Sprite *sprite) { sprite->invisible = FALSE; - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { DestroyAnimSprite(sprite); } @@ -271,7 +271,7 @@ void sub_80DCD78(struct Sprite *sprite) x2 += x1; y2 += y1; - if (!sub_8078718(sprite)) + if (!TranslateAnimSpriteLinearAndSine(sprite)) { u16 rot = sub_80790F0(sprite->pos1.x + sprite->pos2.x - x2, sprite->pos1.y + sprite->pos2.y - y2); -- cgit v1.2.3 From c775680d716299ae74cbcfb7eeb41c8982010021 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 11 Feb 2018 12:43:48 -0800 Subject: Document battle anim things related to STRENGTH, TACKLE, BODY_SLAM, and SUPERSONIC --- src/battle/anim/bug.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/battle/anim/bug.c') diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index b2726d8dd..e12f55a8b 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -40,7 +40,7 @@ void sub_80DC824(struct Sprite *sprite) sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -65,7 +65,7 @@ void sub_80DC8F4(struct Sprite *sprite) sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -224,7 +224,7 @@ void sub_80DCBCC(struct Sprite *sprite) sprite->data[2] = lVarX; sprite->data[4] = lVarY; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -- cgit v1.2.3 From 570d547ee7d3a57da026d2fac007036beaf80233 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 15 Mar 2018 08:12:14 -0700 Subject: Document PIN_MISSILE and ICICLE_SPEAR anims --- src/battle/anim/bug.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'src/battle/anim/bug.c') diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index e12f55a8b..d24f8bfef 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -13,7 +13,7 @@ static void sub_80DCA38(struct Sprite *sprite); static void sub_80DCAEC(struct Sprite *sprite); static void sub_80DCB5C(struct Sprite *sprite); static void sub_80DCBB4(struct Sprite *sprite); -void sub_80DCD78(struct Sprite *sprite); +static void AnimMissileArcStep(struct Sprite *sprite); // used in Move_MEGAHORN void sub_80DC824(struct Sprite *sprite) @@ -216,7 +216,7 @@ void sub_80DCBCC(struct Sprite *sprite) lVarX = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; lVarY = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; - rot = sub_80790F0(lVarX - sprite->pos1.x, lVarY - sprite->pos1.y); + rot = ArcTan2Neg(lVarX - sprite->pos1.x, lVarY - sprite->pos1.y); rot += 0xC000; sub_8078FDC(sprite, FALSE, 0x100, 0x100, rot); @@ -230,7 +230,14 @@ void sub_80DCBCC(struct Sprite *sprite) // used in 2 moves: // Move_PIN_MISSILE, Move_ICICLE_SPEAR -void sub_80DCCFC(struct Sprite *sprite) +// Rotates sprite and moves it in an arc, so that it appears like a missle or arrow traveling. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: target x pixel offset +// arg 3: target y pixel offset +// arg 4: duration +// arg 5: wave amplitude +void AnimMissileArc(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -241,13 +248,13 @@ void sub_80DCCFC(struct Sprite *sprite) sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; - sub_80786EC(sprite); + InitAnimSpriteTranslationOverDuration(sprite); - sprite->callback = sub_80DCD78; + sprite->callback = AnimMissileArcStep; sprite->invisible = TRUE; } -void sub_80DCD78(struct Sprite *sprite) +static void AnimMissileArcStep(struct Sprite *sprite) { sprite->invisible = FALSE; @@ -273,10 +280,10 @@ void sub_80DCD78(struct Sprite *sprite) if (!TranslateAnimSpriteLinearAndSine(sprite)) { - u16 rot = sub_80790F0(sprite->pos1.x + sprite->pos2.x - x2, + u16 rotation = ArcTan2Neg(sprite->pos1.x + sprite->pos2.x - x2, sprite->pos1.y + sprite->pos2.y - y2); - rot += 0xC000; - sub_8078FDC(sprite, FALSE, 0x100, 0x100, rot); + rotation += 0xC000; + sub_8078FDC(sprite, FALSE, 0x100, 0x100, rotation); for (i = 0; i < 8; i++) data[i] = tempData[i]; -- cgit v1.2.3 From 3c9552befdbd295b94a06fca31a4c03c667465b3 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 17 Mar 2018 11:44:32 -0700 Subject: More battle anim documentation --- src/battle/anim/bug.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/battle/anim/bug.c') diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index d24f8bfef..d57a1046e 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -174,9 +174,15 @@ static void sub_80DCBB4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -// used in 3 moves: -// Move_POISON_STING, Move_TWINEEDLE, Move_SPIKE_CANNON -void sub_80DCBCC(struct Sprite *sprite) +// Translates a stinger sprite linearly to a destination location. The sprite is +// initially rotated so that it appears to be traveling in a straight line. +// Used by Move_POISON_STING, Move_TWINEEDLE, Move_SPIKE_CANNON +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: target x pixel offset +// arg 3: target y pixel offset +// arg 4: duration +void AnimTranslateStinger(struct Sprite *sprite) { s16 lVarX, lVarY; u16 rot; -- cgit v1.2.3