diff options
Diffstat (limited to 'src/battle_anim_ground.c')
-rw-r--r-- | src/battle_anim_ground.c | 36 |
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; |