summaryrefslogtreecommitdiff
path: root/src/battle/anim
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-02-10 17:29:11 -0800
committerMarcus Huderle <huderlem@gmail.com>2018-02-10 17:29:11 -0800
commitc59acc702458caa610ce856ce20ac6dc12d16621 (patch)
tree04816e5a26540fd5cd99061d6911c6fc3360574c /src/battle/anim
parentaaf065aba01db7456ed9a8fd82ccb2961ea9d97a (diff)
Start documenting battle anims
Diffstat (limited to 'src/battle/anim')
-rw-r--r--src/battle/anim/dark.c18
-rw-r--r--src/battle/anim/dragon.c2
-rw-r--r--src/battle/anim/fight.c6
-rw-r--r--src/battle/anim/lunge_1.c10
-rw-r--r--src/battle/anim/lunge_2.c4
-rw-r--r--src/battle/anim/powder.c17
-rw-r--r--src/battle/anim/psychic.c10
-rw-r--r--src/battle/anim/ring.c14
-rw-r--r--src/battle/anim/unused_4.c4
-rw-r--r--src/battle/anim/unused_7.c4
-rw-r--r--src/battle/anim/wisp_fire.c4
-rw-r--r--src/battle/anim/withdraw.c6
12 files changed, 52 insertions, 47 deletions
diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c
index 1c88dc23e..674ae5188 100644
--- a/src/battle/anim/dark.c
+++ b/src/battle/anim/dark.c
@@ -14,7 +14,7 @@
extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
extern u16 gBattle_BG1_X;
extern u16 gBattle_BG1_Y;
extern u16 gBattle_BG2_X;
@@ -69,7 +69,7 @@ static void sub_80DFC9C(u8 taskId)
gTasks[taskId].data[2] = 0;
if (r2 == 16)
{
- gSprites[gObjectBankIDs[gAnimBankAttacker]].invisible = 1;
+ gSprites[gBankSpriteIds[gAnimBankAttacker]].invisible = 1;
DestroyAnimVisualTask(taskId);
}
}
@@ -792,13 +792,13 @@ static void sub_80E08CC(u8 priority)
void sub_80E0918(u8 taskId)
{
u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0;
- sub_8076034(gAnimBankAttacker, toBG2);
- gSprites[gObjectBankIDs[gAnimBankAttacker]].invisible = 0;
+ MoveBattlerSpriteToBG(gAnimBankAttacker, toBG2);
+ gSprites[gBankSpriteIds[gAnimBankAttacker]].invisible = 0;
if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2))
{
- sub_8076034(gAnimBankAttacker ^ 2, toBG2 ^ 1);
- gSprites[gObjectBankIDs[gAnimBankAttacker ^ 2]].invisible = 0;
+ MoveBattlerSpriteToBG(gAnimBankAttacker ^ 2, toBG2 ^ 1);
+ gSprites[gBankSpriteIds[gAnimBankAttacker ^ 2]].invisible = 0;
}
DestroyAnimVisualTask(taskId);
@@ -851,7 +851,7 @@ void sub_80E0A4C(u8 taskId)
{
if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2) == TRUE)
{
- gSprites[gObjectBankIDs[gAnimBankAttacker ^ 2]].oam.priority--;
+ gSprites[gBankSpriteIds[gAnimBankAttacker ^ 2]].oam.priority--;
REG_BG1CNT_BITFIELD.priority = 1;
var0 = 1;
}
@@ -937,7 +937,7 @@ static void sub_80E0CD0(u8 taskId)
if (gTasks[taskIdCopy].data[6] == 1)
{
- gSprites[gObjectBankIDs[gAnimBankAttacker ^ 2]].oam.priority++;
+ gSprites[gBankSpriteIds[gAnimBankAttacker ^ 2]].oam.priority++;
}
DestroyAnimVisualTask(taskIdCopy);
@@ -985,7 +985,7 @@ void sub_80E0E24(u8 taskId)
{
bank = GetBankByIdentity(identity);
if (IsAnimBankSpriteVisible(bank))
- spriteId = gObjectBankIDs[bank];
+ spriteId = gBankSpriteIds[bank];
else
spriteId = 0xFF;
}
diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c
index bf39e01c0..4f25cf1a5 100644
--- a/src/battle/anim/dragon.c
+++ b/src/battle/anim/dragon.c
@@ -19,7 +19,7 @@ extern u8 gBankAttacker;
extern u16 gBattle_BG1_X;
extern u16 gBattle_BG2_X;
extern u16 gUnknown_03000730[];
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
// Outrage
diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c
index b20813fcb..160b51274 100644
--- a/src/battle/anim/fight.c
+++ b/src/battle/anim/fight.c
@@ -11,7 +11,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gBankAttacker;
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
extern u8 gBanksBySide[];
extern u16 gBattle_BG1_X;
extern u16 gBattle_BG1_Y;
@@ -24,7 +24,7 @@ extern u16 gBattle_WIN0V;
extern u16 gBattlePartyID[];
extern u8 gAnimMoveTurn;
-extern struct SpriteTemplate gBattleAnimSpriteTemplate_83DB4A8;
+extern struct SpriteTemplate gBasicHitSplatSpriteTemplate;
static void sub_80D927C(struct Sprite *sprite);
static void sub_80D9328(struct Sprite *sprite);
@@ -122,7 +122,7 @@ void sub_80D90F4(struct Sprite *sprite)
sprite->pos1.y += y;
sprite->data[0] = gBattleAnimArgs[1];
- sprite->data[7] = CreateSprite(&gBattleAnimSpriteTemplate_83DB4A8, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1);
+ sprite->data[7] = CreateSprite(&gBasicHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1);
if (sprite->data[7] != 64)
{
StartSpriteAffineAnim(&gSprites[sprite->data[7]], 0);
diff --git a/src/battle/anim/lunge_1.c b/src/battle/anim/lunge_1.c
index d379c8f09..a2adfba13 100644
--- a/src/battle/anim/lunge_1.c
+++ b/src/battle/anim/lunge_1.c
@@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
static void sub_80CD7CC(struct Sprite* sprite);
static void sub_80CD81C(struct Sprite* sprite);
@@ -46,7 +46,7 @@ void sub_80CD7CC(struct Sprite* sprite)
sprite->data[0] = 6;
sprite->data[1] = (GetBankSide(gAnimBankAttacker)) ? 2 : -2;
sprite->data[2] = 0;
- sprite->data[3] = gObjectBankIDs[gAnimBankAttacker];
+ sprite->data[3] = gBankSpriteIds[gAnimBankAttacker];
StoreSpriteCallbackInData(sprite, sub_80CD81C);
sprite->callback = sub_8078458;
}
@@ -55,7 +55,7 @@ void sub_80CD81C(struct Sprite* sprite)
{
if (sprite->data[0] == 0)
{
- sprite->data[3] = gObjectBankIDs[gAnimBankAttacker];
+ sprite->data[3] = gBankSpriteIds[gAnimBankAttacker];
sub_8078E70(sprite->data[3], 0);
sprite->data[4] = (sprite->data[6] = GetBankSide(gAnimBankAttacker)) ? 0x300 : 0xFFFFFD00;
sprite->data[5] = 0;
@@ -76,7 +76,7 @@ void sub_80CD8A8(struct Sprite* sprite)
sprite->data[0] = 4;
sprite->data[1] = (GetBankSide(gAnimBankAttacker)) ? -3 : 3;
sprite->data[2] = 0;
- sprite->data[3] = gObjectBankIDs[gAnimBankAttacker];
+ sprite->data[3] = gBankSpriteIds[gAnimBankAttacker];
StoreSpriteCallbackInData(sprite, sub_80CD9B8);
sprite->callback = sub_8078458;
}
@@ -94,7 +94,7 @@ void sub_80CD91C(struct Sprite* sprite)
{
if (sprite->data[0] == 0)
{
- sprite->data[3] = gObjectBankIDs[gAnimBankAttacker];
+ sprite->data[3] = gBankSpriteIds[gAnimBankAttacker];
sprite->data[6] = GetBankSide(gAnimBankAttacker);
if (GetBankSide(gAnimBankAttacker))
{
diff --git a/src/battle/anim/lunge_2.c b/src/battle/anim/lunge_2.c
index fe2470567..f222b291d 100644
--- a/src/battle/anim/lunge_2.c
+++ b/src/battle/anim/lunge_2.c
@@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
static void sub_80CDB60(u8 taskId);
static void sub_80CDD20(u8 taskId);
@@ -20,7 +20,7 @@ void sub_80CDAC8(u8 taskId)
{
u8 a;
- gTasks[taskId].data[0] = gObjectBankIDs[gAnimBankAttacker];
+ gTasks[taskId].data[0] = gBankSpriteIds[gAnimBankAttacker];
a = GetBankSide(gAnimBankAttacker);
gTasks[taskId].data[1] = a;
gTasks[taskId].data[2] = 0;
diff --git a/src/battle/anim/powder.c b/src/battle/anim/powder.c
index a0be20d6f..5d67311dc 100644
--- a/src/battle/anim/powder.c
+++ b/src/battle/anim/powder.c
@@ -6,12 +6,17 @@
extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
-static void sub_80CA768(struct Sprite* sprite);
+static void AnimMovePowderParticleStep(struct Sprite* sprite);
-// powder
+// Animates the falling particles that horizontally wave back and forth.
// Used by Sleep Powder, Stun Spore, and Poison Powder.
-
-void sub_80CA710(struct Sprite* sprite)
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: total duration in frames
+// arg 3: vertical movement speed (sub-pixel value)
+// arg 4: wave amplitude
+// arg 5: wave speed
+void AnimMovePowderParticle(struct Sprite* sprite)
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
@@ -28,10 +33,10 @@ void sub_80CA710(struct Sprite* sprite)
}
sprite->data[4] = gBattleAnimArgs[5];
- sprite->callback = sub_80CA768;
+ sprite->callback = AnimMovePowderParticleStep;
}
-void sub_80CA768(struct Sprite* sprite)
+static void AnimMovePowderParticleStep(struct Sprite* sprite)
{
if (sprite->data[0] > 0)
{
diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c
index 6617183cb..37c527183 100644
--- a/src/battle/anim/psychic.c
+++ b/src/battle/anim/psychic.c
@@ -14,7 +14,7 @@ extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
extern u16 gBattle_BG1_X;
extern u16 gBattle_BG2_X;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
extern const union AffineAnimCmd *const gUnknown_083DA888[];
extern struct AffineAnimFrameCmd gUnknown_083DA8A4;
@@ -53,11 +53,11 @@ void sub_80DB74C(struct Sprite *sprite)
u8 toBG_2 = (identity ^ var0) != 0;
if (IsAnimBankSpriteVisible(bank))
- sub_8076034(bank, toBG_2);
+ MoveBattlerSpriteToBG(bank, toBG_2);
bank = bankCopy ^ 2;
if (IsAnimBankSpriteVisible(bank))
- sub_8076034(bank, toBG_2 ^ var0);
+ MoveBattlerSpriteToBG(bank, toBG_2 ^ var0);
}
if (!IsContest() && IsDoubleBattle())
@@ -134,11 +134,11 @@ static void sub_80DB92C(struct Sprite *sprite)
u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
if (IsAnimBankSpriteVisible(bank))
- gSprites[gObjectBankIDs[bank]].invisible = 0;
+ gSprites[gBankSpriteIds[bank]].invisible = 0;
bank = bankCopy ^ 2;
if (IsAnimBankSpriteVisible(bank))
- gSprites[gObjectBankIDs[bank]].invisible = 0;
+ gSprites[gBankSpriteIds[bank]].invisible = 0;
}
sprite->invisible = 1;
diff --git a/src/battle/anim/ring.c b/src/battle/anim/ring.c
index 915cadcbc..759652f0c 100644
--- a/src/battle/anim/ring.c
+++ b/src/battle/anim/ring.c
@@ -10,7 +10,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
static void sub_80D1098(struct Sprite* sprite);
@@ -94,23 +94,23 @@ void sub_80D10B8(struct Sprite* sprite)
{
r9 = GetBankPosition(bankr7, r10) + gBattleAnimArgs[0];
if (IsAnimBankSpriteVisible(bankr8 ^ 2))
- sprite->subpriority = gSprites[gObjectBankIDs[bankr8 ^ 2]].subpriority - 1;
+ sprite->subpriority = gSprites[gBankSpriteIds[bankr8 ^ 2]].subpriority - 1;
else
- sprite->subpriority = gSprites[gObjectBankIDs[bankr8]].subpriority - 1;
+ sprite->subpriority = gSprites[gBankSpriteIds[bankr8]].subpriority - 1;
}
else
{
r9 = GetBankPosition(bankr7, r10) - gBattleAnimArgs[0];
if (gMain.inBattle && IsAnimBankSpriteVisible(bankr7 ^ 2))
{
- if (gSprites[gObjectBankIDs[bankr7]].pos1.x < gSprites[gObjectBankIDs[bankr7 ^ 2]].pos1.x)
- sprite->subpriority = gSprites[gObjectBankIDs[bankr7 ^ 2]].subpriority + 1;
+ if (gSprites[gBankSpriteIds[bankr7]].pos1.x < gSprites[gBankSpriteIds[bankr7 ^ 2]].pos1.x)
+ sprite->subpriority = gSprites[gBankSpriteIds[bankr7 ^ 2]].subpriority + 1;
else
- sprite->subpriority = gSprites[gObjectBankIDs[bankr7]].subpriority - 1;
+ sprite->subpriority = gSprites[gBankSpriteIds[bankr7]].subpriority - 1;
}
else
{
- sprite->subpriority = gSprites[gObjectBankIDs[bankr7]].subpriority - 1;
+ sprite->subpriority = gSprites[gBankSpriteIds[bankr7]].subpriority - 1;
}
}
diff --git a/src/battle/anim/unused_4.c b/src/battle/anim/unused_4.c
index bda476a0a..50ffaba4a 100644
--- a/src/battle/anim/unused_4.c
+++ b/src/battle/anim/unused_4.c
@@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
static void sub_80CD9D4(struct Sprite* sprite);
@@ -27,7 +27,7 @@ void sub_80CD9D4(struct Sprite* sprite)
{
case 0:
sprite->data[1] = 0;
- sprite->data[2] = gObjectBankIDs[gAnimBankAttacker];
+ sprite->data[2] = gBankSpriteIds[gAnimBankAttacker];
sprite->data[3] = GetBankSide(gAnimBankAttacker);
sprite->data[4] = (sprite->data[3] != 0) ? 0x200 : -0x200;
sprite->data[5] = 0;
diff --git a/src/battle/anim/unused_7.c b/src/battle/anim/unused_7.c
index 2be6e7633..5a2de33c3 100644
--- a/src/battle/anim/unused_7.c
+++ b/src/battle/anim/unused_7.c
@@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
// unused_7
@@ -32,7 +32,7 @@ void sub_80CF3C4(struct Sprite* sprite)
u8 a;
sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2);
sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3);
- a = gObjectBankIDs[gAnimBankTarget];
+ a = gBankSpriteIds[gAnimBankTarget];
if (GetBankSide(gAnimBankAttacker) != 0)
{
sprite->pos1.x -= gBattleAnimArgs[0];
diff --git a/src/battle/anim/wisp_fire.c b/src/battle/anim/wisp_fire.c
index 348ce6426..24cecb60c 100644
--- a/src/battle/anim/wisp_fire.c
+++ b/src/battle/anim/wisp_fire.c
@@ -10,7 +10,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankTarget;
extern u8 gAnimBankAttacker;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
extern s8 gUnknown_083D9794[16];
extern s8 gUnknown_083D97A4[16];
@@ -175,7 +175,7 @@ void sub_80D60B4(u8 taskId)
}
gTasks[taskId].data[0]++;
- spriteId = gObjectBankIDs[gAnimBankTarget];
+ spriteId = gBankSpriteIds[gAnimBankTarget];
if (!gTasks[taskId].data[4])
unk = gUnknown_083D9794[gTasks[taskId].data[0] % 10];
diff --git a/src/battle/anim/withdraw.c b/src/battle/anim/withdraw.c
index e67248b9f..933c97fa9 100644
--- a/src/battle/anim/withdraw.c
+++ b/src/battle/anim/withdraw.c
@@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern u8 gObjectBankIDs[];
+extern u8 gBankSpriteIds[];
static void sub_80CF514(u8 taskId);
@@ -17,13 +17,13 @@ static void sub_80CF514(u8 taskId);
void sub_80CF4D8(u8 taskId)
{
- sub_8078E70(gObjectBankIDs[gAnimBankAttacker], 0);
+ sub_8078E70(gBankSpriteIds[gAnimBankAttacker], 0);
gTasks[taskId].func = sub_80CF514;
}
void sub_80CF514(u8 taskId)
{
- u8 a = gObjectBankIDs[gAnimBankAttacker];
+ u8 a = gBankSpriteIds[gAnimBankAttacker];
s16 b;
if (GetBankSide(gAnimBankAttacker) == 0)
{