summaryrefslogtreecommitdiff
path: root/src/battle_anim_ground.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_anim_ground.c')
-rw-r--r--src/battle_anim_ground.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/battle_anim_ground.c b/src/battle_anim_ground.c
index 875ecbd75..aa089394e 100644
--- a/src/battle_anim_ground.c
+++ b/src/battle_anim_ground.c
@@ -21,11 +21,11 @@ static void AnimTask_DigBounceMovement(u8);
static void AnimTask_DigEndBounceMovementSetInvisible(u8);
static void AnimTask_DigSetVisibleUnderground(u8);
static void AnimTask_DigRiseUpFromHole(u8);
-static void sub_81150E0(u8, s16, s16);
+static void SetDigScanlineEffect(u8, s16, s16);
static void AnimTask_ShakeTerrain(u8);
static void AnimTask_ShakeBattlers(u8);
static void SetBattlersXOffsetForShake(struct Task *);
-static void sub_81156D0(u8);
+static void WaitForFissureCompletion(u8);
static const union AffineAnimCmd sAffineAnim_Bonemerang[] =
{
@@ -299,7 +299,7 @@ void AnimTask_DigDownMovement(u8 taskId)
static void AnimTask_DigBounceMovement(u8 taskId)
{
- u8 var0;
+ u8 y;
struct Task *task = &gTasks[taskId];
switch (task->data[0])
@@ -318,9 +318,9 @@ static void AnimTask_DigBounceMovement(u8 taskId)
task->data[13] = gBattle_BG2_Y;
}
- var0 = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
- task->data[14] = var0 - 32;
- task->data[15] = var0 + 32;
+ y = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
+ task->data[14] = y - 32;
+ task->data[15] = y + 32;
if (task->data[14] < 0)
task->data[14] = 0;
@@ -328,7 +328,7 @@ static void AnimTask_DigBounceMovement(u8 taskId)
task->data[0]++;
break;
case 1:
- sub_81150E0(task->data[11], task->data[14], task->data[15]);
+ SetDigScanlineEffect(task->data[11], task->data[14], task->data[15]);
task->data[0]++;
break;
case 2:
@@ -353,7 +353,7 @@ static void AnimTask_DigBounceMovement(u8 taskId)
else
gBattle_BG2_Y = task->data[13] - task->data[5];
- gSprites[task->data[10]].pos2.x = 272 - gSprites[task->data[10]].pos1.x;
+ gSprites[task->data[10]].pos2.x = DISPLAY_WIDTH + 32 - gSprites[task->data[10]].pos1.x;
task->data[0]++;
}
break;
@@ -405,7 +405,7 @@ static void AnimTask_DigSetVisibleUnderground(u8 taskId)
task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
gSprites[task->data[10]].invisible = FALSE;
gSprites[task->data[10]].pos2.x = 0;
- gSprites[task->data[10]].pos2.y = 160 - gSprites[task->data[10]].pos1.y;
+ gSprites[task->data[10]].pos2.y = DISPLAY_HEIGHT - gSprites[task->data[10]].pos1.y;
task->data[0]++;
break;
case 1:
@@ -434,7 +434,7 @@ static void AnimTask_DigRiseUpFromHole(u8 taskId)
task->data[0]++;
break;
case 1:
- sub_81150E0(task->data[11], 0, task->data[15]);
+ SetDigScanlineEffect(task->data[11], 0, task->data[15]);
task->data[0]++;
break;
case 2:
@@ -455,7 +455,7 @@ static void AnimTask_DigRiseUpFromHole(u8 taskId)
}
}
-static void sub_81150E0(u8 useBG1, s16 y, s16 endY)
+static void SetDigScanlineEffect(u8 useBG1, s16 y, s16 endY)
{
s16 bgX;
struct ScanlineEffectParams scanlineParams;
@@ -603,7 +603,7 @@ void AnimTask_HorizontalShake(u8 taskId)
break;
default: // Shake specific battler
task->tbattlerSpriteIds(0) = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
- if (task->tbattlerSpriteIds(0) == 0xFF)
+ if (task->tbattlerSpriteIds(0) == SPRITE_NONE)
{
DestroyAnimVisualTask(taskId);
}
@@ -743,21 +743,23 @@ void AnimTask_PositionFissureBgOnBattler(u8 taskId)
u8 battler = (gBattleAnimArgs[0] & ANIM_TARGET) ? gBattleAnimTarget : gBattleAnimAttacker;
if (gBattleAnimArgs[0] > ANIM_TARGET)
- battler ^= 2;
+ battler = BATTLE_PARTNER(battler);
- newTask = &gTasks[CreateTask(sub_81156D0, gBattleAnimArgs[1])];
- newTask->data[1] = (32 - GetBattlerSpriteCoord(battler, 2)) & 0x1FF;
- newTask->data[2] = (64 - GetBattlerSpriteCoord(battler, 3)) & 0xFF;
+ newTask = &gTasks[CreateTask(WaitForFissureCompletion, gBattleAnimArgs[1])];
+ newTask->data[1] = (32 - GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2)) & 0x1FF;
+ newTask->data[2] = (64 - GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET)) & 0xFF;
gBattle_BG3_X = newTask->data[1];
gBattle_BG3_Y = newTask->data[2];
newTask->data[3] = gBattleAnimArgs[2];
DestroyAnimVisualTask(taskId);
}
-static void sub_81156D0(u8 taskId)
+static void WaitForFissureCompletion(u8 taskId)
{
struct Task *task = &gTasks[taskId];
+ // Holds the BG3 offsets until gBattleAnimArgs[7]
+ // is set to a special terminator value.
if (gBattleAnimArgs[7] == task->data[3])
{
gBattle_BG3_X = 0;