summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle/anim/bug.c25
-rw-r--r--src/battle/anim/cutter.c2
-rw-r--r--src/battle/anim/dark.c2
-rw-r--r--src/battle/anim/flying_path.c14
-rw-r--r--src/battle/anim/homing.c2
-rw-r--r--src/battle/anim/money.c2
-rw-r--r--src/battle/anim/orbs.c2
-rw-r--r--src/battle/anim/poison.c4
-rw-r--r--src/battle/anim/psychic.c2
-rw-r--r--src/battle/anim/rock.c2
-rw-r--r--src/battle/anim/seed.c2
-rw-r--r--src/battle/anim/sonic.c2
-rw-r--r--src/battle/pokeball.c6
-rw-r--r--src/rom_8077ABC.c6
14 files changed, 40 insertions, 33 deletions
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];
diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c
index 0f23fed82..fed3598fc 100644
--- a/src/battle/anim/cutter.c
+++ b/src/battle/anim/cutter.c
@@ -43,7 +43,7 @@ void AnimTranslateLinearSingleSineWave(struct Sprite* sprite)
}
sprite->data[5] = gBattleAnimArgs[5];
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget))
{
sprite->data[0] = 1;
diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c
index aaf8507c6..055cf5802 100644
--- a/src/battle/anim/dark.c
+++ b/src/battle/anim/dark.c
@@ -238,7 +238,7 @@ void sub_80DFFD0(struct Sprite *sprite)
sprite->data[4] = sprite->pos1.y + 12;
sprite->data[5] = -12;
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
sprite->callback = sub_80E00D0;
}
diff --git a/src/battle/anim/flying_path.c b/src/battle/anim/flying_path.c
index 559f617c6..70c418afc 100644
--- a/src/battle/anim/flying_path.c
+++ b/src/battle/anim/flying_path.c
@@ -40,7 +40,7 @@ void sub_80CBDF4(u8 taskId)
gSprites[task->data[2]].data[3] = task->data[9];
gSprites[task->data[2]].data[4] = task->data[7] + (task->data[11] / 2 + 10) * task->data[5];
gSprites[task->data[2]].data[5] = sub_80CC338(&gSprites[task->data[2]]);
- sub_80786EC(&gSprites[task->data[2]]);
+ InitAnimSpriteTranslationOverDuration(&gSprites[task->data[2]]);
task->func = sub_80CBF5C;
}
@@ -98,7 +98,7 @@ void sub_80CBF5C(u8 taskId)
task->data[3] = a;
sprite->subpriority = task->data[4];
StartSpriteAnim(sprite, task->data[3]);
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
task->data[0]++;
break;
case 2:
@@ -123,7 +123,7 @@ void sub_80CBF5C(u8 taskId)
task->data[3] = 2;
sprite->subpriority = task->data[4];
StartSpriteAnim(sprite, task->data[3]);
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
task->data[0]++;
break;
case 5:
@@ -141,7 +141,7 @@ void sub_80CBF5C(u8 taskId)
task->data[3] = 3;
sprite->subpriority = task->data[4];
StartSpriteAnim(sprite, task->data[3]);
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
task->data[0]++;
break;
case 6:
@@ -167,7 +167,7 @@ void sub_80CBF5C(u8 taskId)
task->data[3] = 4;
sprite->subpriority = task->data[4];
StartSpriteAnim(sprite, task->data[3]);
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
task->data[0]++;
break;
case 9:
@@ -184,7 +184,7 @@ void sub_80CBF5C(u8 taskId)
task->data[3] = 5;
sprite->subpriority = task->data[4];
StartSpriteAnim(sprite, task->data[3]);
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
task->data[0]++;
break;
case 10:
@@ -215,7 +215,7 @@ void sub_80CBF5C(u8 taskId)
task->data[3] = 6;
sprite->subpriority = task->data[4];
StartSpriteAnim(sprite, task->data[3]);
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
task->data[0]++;
break;
}
diff --git a/src/battle/anim/homing.c b/src/battle/anim/homing.c
index 6fb4a76d8..208d3b831 100644
--- a/src/battle/anim/homing.c
+++ b/src/battle/anim/homing.c
@@ -60,7 +60,7 @@ void sub_80CC6CC(struct Sprite* sprite)
sprite->data[2] = y * 16;
sprite->data[3] = (sprite->data[5] - sprite->pos1.x) * 16 / gBattleAnimArgs[4];
sprite->data[4] = (sprite->data[6] - sprite->pos1.y) * 16 / gBattleAnimArgs[4];
- c = sub_80790F0(sprite->data[5] - x, sprite->data[6] - y);
+ c = ArcTan2Neg(sprite->data[5] - x, sprite->data[6] - y);
if (IsContest())
c -= 0x8000;
diff --git a/src/battle/anim/money.c b/src/battle/anim/money.c
index 0ee381e13..c3d130750 100644
--- a/src/battle/anim/money.c
+++ b/src/battle/anim/money.c
@@ -26,7 +26,7 @@ void sub_80CFE9C(struct Sprite* sprite)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
r6 += gBattleAnimArgs[2];
- var = sub_80790F0(r6 - sprite->pos1.x, r7 - sprite->pos1.y);
+ var = ArcTan2Neg(r6 - sprite->pos1.x, r7 - sprite->pos1.y);
var += 0xC000;
sub_8078FDC(sprite, 0, 0x100, 0x100, var);
sprite->data[0] = gBattleAnimArgs[4];
diff --git a/src/battle/anim/orbs.c b/src/battle/anim/orbs.c
index b965cacb8..6f1bba9c3 100644
--- a/src/battle/anim/orbs.c
+++ b/src/battle/anim/orbs.c
@@ -99,7 +99,7 @@ void sub_80CA9A8(struct Sprite* sprite)
sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2);
sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3);
sprite->data[5] = gBattleAnimArgs[2];
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
sprite->callback = sub_80CA9F8;
}
diff --git a/src/battle/anim/poison.c b/src/battle/anim/poison.c
index 272d99e84..019e2acff 100644
--- a/src/battle/anim/poison.c
+++ b/src/battle/anim/poison.c
@@ -24,7 +24,7 @@ void sub_80D9D70(struct Sprite *sprite)
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
sprite->data[5] = -30;
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
sprite->callback = sub_80D9DD4;
}
@@ -52,7 +52,7 @@ void sub_80D9DF0(struct Sprite *sprite)
sprite->data[4] = l2 + gBattleAnimArgs[5];
sprite->data[5] = -30;
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
sprite->callback = sub_80D9E78;
}
diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c
index b108c496a..42f396870 100644
--- a/src/battle/anim/psychic.c
+++ b/src/battle/anim/psychic.c
@@ -522,7 +522,7 @@ static void sub_80DC1FC(u8 taskId)
gSprites[spriteId].data[4] = task->data[14];
gSprites[spriteId].data[5] = task->data[10];
- sub_80786EC(&gSprites[spriteId]);
+ InitAnimSpriteTranslationOverDuration(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], task->data[2] & 3);
}
diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c
index 1d1772b1b..6fbe065b8 100644
--- a/src/battle/anim/rock.c
+++ b/src/battle/anim/rock.c
@@ -446,7 +446,7 @@ static void sub_80DD774(struct Task *task)
gSprites[spriteId].data[5] = -16 - (task->data[1] * 2);
gSprites[spriteId].oam.tileNum += var0;
- sub_80786EC(&gSprites[spriteId]);
+ InitAnimSpriteTranslationOverDuration(&gSprites[spriteId]);
task->data[11]++;
}
diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c
index e3d4bd3fb..ef4cdddb2 100644
--- a/src/battle/anim/seed.c
+++ b/src/battle/anim/seed.c
@@ -25,7 +25,7 @@ void sub_80CAB18(struct Sprite* sprite)
sprite->data[2] = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5];
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
sprite->callback = sub_80CAB88;
}
diff --git a/src/battle/anim/sonic.c b/src/battle/anim/sonic.c
index 2808c86c2..ff3ba9480 100644
--- a/src/battle/anim/sonic.c
+++ b/src/battle/anim/sonic.c
@@ -32,7 +32,7 @@ void sub_80CF6DC(struct Sprite* sprite)
InitAnimSpritePos(sprite, 1);
a = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
b = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3];
- c = sub_80790F0(a - sprite->pos1.x, b - sprite->pos1.y);
+ c = ArcTan2Neg(a - sprite->pos1.x, b - sprite->pos1.y);
c += 0xF000;
if (IsContest())
c -= 0x6000;
diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c
index 3a47e0204..20c6d8676 100644
--- a/src/battle/pokeball.c
+++ b/src/battle/pokeball.c
@@ -297,7 +297,7 @@ const struct SpriteTemplate gBallSpriteTemplates[] =
};
extern u32 ball_number_to_ball_processing_index(u16); // not sure of return type
-extern void sub_80786EC();
+extern void InitAnimSpriteTranslationOverDuration();
extern bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *);
extern u8 sub_814086C(u8, u8, int, int, u8);
extern u8 sub_8141314(u8, u8, int, u8);
@@ -397,7 +397,7 @@ static void sub_8046464(u8 taskId)
gSprites[spriteId].data[2] = GetBankPosition(gBankTarget, 0);
gSprites[spriteId].data[4] = GetBankPosition(gBankTarget, 1) - 16;
gSprites[spriteId].data[5] = -40;
- sub_80786EC(&gSprites[spriteId]);
+ InitAnimSpriteTranslationOverDuration(&gSprites[spriteId]);
gSprites[spriteId].oam.affineParam = taskId;
gTasks[taskId].data[4] = gBankTarget;
gTasks[taskId].func = TaskDummy;
@@ -834,7 +834,7 @@ static void sub_8047074(struct Sprite *sprite)
sprite->data[4] = GetBankPosition(sprite->data[6], 3) + 24;
sprite->data[5] = -30;
sprite->oam.affineParam = sprite->data[6];
- sub_80786EC(sprite);
+ InitAnimSpriteTranslationOverDuration(sprite);
sprite->callback = sub_80470C4;
}
diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c
index 395736d03..89526f372 100644
--- a/src/rom_8077ABC.c
+++ b/src/rom_8077ABC.c
@@ -764,7 +764,7 @@ void sub_807867C(struct Sprite *sprite, s16 a2)
}
}
-void sub_80786EC(struct Sprite *sprite)
+void InitAnimSpriteTranslationOverDuration(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
@@ -1234,7 +1234,7 @@ static u16 ArcTan2_(s16 a, s16 b)
return ArcTan2(a, b);
}
-u16 sub_80790F0(s16 a, s16 b)
+u16 ArcTan2Neg(s16 a, s16 b)
{
u16 var = ArcTan2_(a, b);
return -var;
@@ -1437,7 +1437,7 @@ void sub_80794A8(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_8079518;
}