diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2020-02-14 18:11:04 -0500 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2020-02-25 12:54:08 -0600 |
commit | 501d0d3c18e3c81af2d5c58e19a26fe5a8577f0b (patch) | |
tree | a513a971c366bcbe03e7c6e30a7e64d65f5a0a8b /src | |
parent | faf0ba8662ecd54b4160920097074aad3c2dc8cb (diff) |
Document move anims C-H
Diffstat (limited to 'src')
-rwxr-xr-x | src/battle_anim_effects_2.c | 33 | ||||
-rw-r--r-- | src/battle_anim_mon_movement.c | 6 | ||||
-rw-r--r-- | src/battle_anim_mons.c | 7 | ||||
-rw-r--r-- | src/battle_anim_sound_tasks.c | 6 | ||||
-rw-r--r-- | src/battle_anim_status_effects.c | 4 | ||||
-rw-r--r-- | src/battle_anim_utility_funcs.c | 23 | ||||
-rw-r--r-- | src/dark.c | 26 | ||||
-rw-r--r-- | src/dragon.c | 28 | ||||
-rw-r--r-- | src/fight.c | 55 | ||||
-rw-r--r-- | src/fire.c | 40 | ||||
-rw-r--r-- | src/flying.c | 71 | ||||
-rw-r--r-- | src/ghost.c | 32 | ||||
-rw-r--r-- | src/ground.c | 238 | ||||
-rw-r--r-- | src/ice.c | 6 | ||||
-rw-r--r-- | src/normal.c | 60 | ||||
-rw-r--r-- | src/psychic.c | 10 | ||||
-rw-r--r-- | src/rock.c | 8 | ||||
-rw-r--r-- | src/water.c | 73 |
18 files changed, 384 insertions, 342 deletions
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 508af84ad..d64fbf9f4 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -87,7 +87,7 @@ static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *); static void AnimSoftBoiledEgg_Step3_Callback2(struct Sprite *); static void AnimSoftBoiledEgg_Step4(struct Sprite *); static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *); -static void StretchAttacker_Step(u8); +static void AttackerStretchAndDisappear_Step(u8); static void ExtremeSpeedImpact_Step(u8); static void ExtremeSpeedMonReappear_Step(u8); static void SpeedDust_Step1(u8); @@ -632,7 +632,7 @@ const struct SpriteTemplate gSnoreZSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimSnoreZ, + .callback = AnimTravelDiagonally, }; const union AnimCmd gExplosionAnimCmds[] = @@ -877,7 +877,9 @@ const struct SpriteTemplate gBellSpriteTemplate = .callback = AnimSpriteOnMonPos, }; -const u16 gMusicNotePaletteTagsTable[] = +#define NUM_MUSIC_NOTE_PAL_TAGS 3 + +static const u16 sMusicNotePaletteTagsTable[NUM_MUSIC_NOTE_PAL_TAGS] = { ANIM_TAG_MUSIC_NOTES_2, ANIM_SPRITES_START - 1, @@ -2773,22 +2775,23 @@ static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimTask_StretchAttacker(u8 taskId) +// Used by Extremespeed +void AnimTask_AttackerStretchAndDisappear(u8 taskId) { struct Task* task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; PrepareAffineAnimInTaskData(task, spriteId, gStretchAttackerAffineAnimCmds); - task->func = StretchAttacker_Step; + task->func = AttackerStretchAndDisappear_Step; } -static void StretchAttacker_Step(u8 taskId) +static void AttackerStretchAndDisappear_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) { gSprites[task->data[0]].pos2.y = 0; - gSprites[task->data[0]].invisible = 1; + gSprites[task->data[0]].invisible = TRUE; DestroyAnimVisualTask(taskId); } } @@ -2998,29 +3001,29 @@ void AnimSpeedDust(struct Sprite *sprite) } } -void sub_8105CB4(u8 taskId) +void AnimTask_LoadMusicNotesPal(u8 taskId) { int i; - u8 paletteNums[3]; + u8 paletteNums[NUM_MUSIC_NOTE_PAL_TAGS]; paletteNums[0] = IndexOfSpritePaletteTag(ANIM_TAG_MUSIC_NOTES_2); - for (i = 1; i < 3; i++) + for (i = 1; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) paletteNums[i] = AllocSpritePalette(ANIM_SPRITES_START - i); gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->field_17C); - for (i = 0; i < 3; i++) + for (i = 0; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) LoadPalette(&gMonSpritesGfxPtr->field_17C[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C); DestroyAnimVisualTask(taskId); } -void sub_8105D60(u8 taskId) +void AnimTask_FreeMusicNotesPal(u8 taskId) { int i; - for (i = 0; i < 3; i++) - FreeSpritePaletteByTag(gMusicNotePaletteTagsTable[i]); + for (i = 0; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) + FreeSpritePaletteByTag(sMusicNotePaletteTagsTable[i]); DestroyAnimVisualTask(taskId); } @@ -3031,7 +3034,7 @@ static void SetMusicNotePalette(struct Sprite *sprite, u8 a, u8 b) tile = (b & 1); tile = ((-tile | tile) >> 31) & 32; sprite->oam.tileNum += tile + (a << 2); - sprite->oam.paletteNum = IndexOfSpritePaletteTag(gMusicNotePaletteTagsTable[b >> 1]); + sprite->oam.paletteNum = IndexOfSpritePaletteTag(sMusicNotePaletteTagsTable[b >> 1]); } void AnimHealBellMusicNote(struct Sprite *sprite) diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 953f0223e..b9bfc0b2e 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -159,7 +159,7 @@ void AnimTask_ShakeMon2(u8 taskId) bool8 destroy = FALSE; u8 battlerId; - if (gBattleAnimArgs[0] < 4) + if (gBattleAnimArgs[0] < MAX_BATTLERS_COUNT) { spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == 0xff) @@ -979,7 +979,7 @@ void sub_80D6308(u8 taskId) } } -void sub_80D6388(u8 taskId) +void AnimTask_ShakeTargetBasedOnMovePowerOrDmg(u8 taskId) { if (!gBattleAnimArgs[0]) { @@ -1010,7 +1010,7 @@ void sub_80D6388(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[10] = gBattleAnimArgs[3]; gTasks[taskId].data[11] = gBattleAnimArgs[4]; - gTasks[taskId].data[7] = GetAnimBattlerSpriteId(1); + gTasks[taskId].data[7] = GetAnimBattlerSpriteId(ANIM_TARGET); gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].pos2.x; gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].pos2.y; gTasks[taskId].data[0] = 0; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index b356d57e0..a9bb4ce14 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -1532,7 +1532,7 @@ static void AnimThrowProjectile_Step(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimSnoreZ(struct Sprite *sprite) +void AnimTravelDiagonally(struct Sprite *sprite) { bool8 r4; u8 battlerId, coordType; @@ -1547,7 +1547,7 @@ void AnimSnoreZ(struct Sprite *sprite) r4 = FALSE; coordType = BATTLER_COORD_Y; } - if (!gBattleAnimArgs[5]) + if (gBattleAnimArgs[5] == ANIM_ATTACKER) { InitSpritePosToAnimAttacker(sprite, r4); battlerId = gBattleAnimAttacker; @@ -2316,7 +2316,8 @@ void sub_80A8AEC(struct Sprite *sprite) sprite->callback = TranslateSpriteLinearAndFlicker; } -void sub_80A8B64(struct Sprite *sprite) +// Used by Detect/Disable +void AnimSpinningSparkle(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker)) diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index 573feb41c..b089e3e1c 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -261,7 +261,7 @@ static void sub_8158FF4(u8 taskId) } // task end -void sub_8159078(u8 taskId) +void SoundTask_WaitForCry(u8 taskId) { if (gTasks[taskId].data[9] < 2) { @@ -332,7 +332,7 @@ static void sub_815913C(u8 taskId) } // task end -void sub_8159210(u8 taskId) +void SoundTask_PlaySE1WithPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]); @@ -341,7 +341,7 @@ void sub_8159210(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8159244(u8 taskId) +void SoundTask_PlaySE2WithPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]); diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 003b6d2ef..303927f57 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -112,7 +112,7 @@ static const union AnimCmd *const sSpriteAnimTable_853EE80[] = sSpriteAnim_853EE68 }; -const struct SpriteTemplate gUnknown_0853EE84 = +const struct SpriteTemplate gSpinningSparkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, @@ -120,7 +120,7 @@ const struct SpriteTemplate gUnknown_0853EE84 = .anims = sSpriteAnimTable_853EE80, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8B64, + .callback = AnimSpinningSparkle, }; const struct SpriteTemplate gUnknown_0853EE9C = diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index 93160b086..f46d64444 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -45,7 +45,7 @@ const u16 gUnknown_08597418 = RGB(31, 31, 31); const u8 gUnknown_0859741A[] = {REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT}; const u8 gUnknown_0859741E[] = {REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT}; -void sub_8116620(u8 taskId) +void AnimTask_BlendMonColor(u8 taskId) { u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]); selectedPalettes |= sub_80A76C4((gBattleAnimArgs[0] >> 7) & 1, @@ -193,7 +193,7 @@ static void AnimTask_BlendSpriteColor_Step2(u8 taskId) } } -void sub_8116960(u8 taskId) +void AnimTask_HardwarePaletteFade(u8 taskId) { BeginHardwarePaletteFade( gBattleAnimArgs[0], @@ -271,7 +271,8 @@ static void sub_8116AD0(struct Sprite *sprite) } } -void sub_8116B14(u8 taskId) +// Only used by Curse for non-Ghost mons +void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId) { u16 species; int spriteId, newSpriteId; @@ -600,7 +601,7 @@ static void sub_81172EC(u8 taskId) } } -void sub_8117494(u8 taskId) +void AnimTask_Flash(u8 taskId) { u32 selectedPalettes = sub_80A76C4(1, 1, 1, 1); sub_81175C4(selectedPalettes, 0); @@ -773,7 +774,6 @@ void AnimTask_SetAllBattlersButAttackerInvisiblity(u8 taskId) #undef tInvisible - void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette) { u16 species; @@ -1005,9 +1005,9 @@ void sub_8117DD8(u8 taskId) void AnimTask_IsContest(u8 taskId) { if (IsContest()) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[7] = TRUE; else - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[7] = FALSE; DestroyAnimVisualTask(taskId); } @@ -1022,14 +1022,14 @@ void sub_8117E94(u8 taskId) void AnimTask_IsTargetSameSide(u8 taskId) { if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[7] = TRUE; else - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[7] = FALSE; DestroyAnimVisualTask(taskId); } -void sub_8117F10(u8 taskId) +void AnimTask_SetAnimTargetToBattlerTarget(u8 taskId) { gBattleAnimTarget = gBattlerTarget; DestroyAnimVisualTask(taskId); @@ -1042,6 +1042,7 @@ void sub_8117F30(u8 taskId) DestroyAnimVisualTask(taskId); } +// TODO: Rename. Also used by Faint Attack void AnimTask_ExtremeSpeedMoveTarget(u8 taskId) { if (IsContest()) @@ -1051,7 +1052,7 @@ void AnimTask_ExtremeSpeedMoveTarget(u8 taskId) else { gTasks[taskId].data[0] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible; - gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = 1; + gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = TRUE; gTasks[taskId].func = ExtremSpeedMoveTarget_Step; gAnimVisualTaskCount--; } diff --git a/src/dark.c b/src/dark.c index 4c6c31ad1..7cb725aca 100644 --- a/src/dark.c +++ b/src/dark.c @@ -11,8 +11,8 @@ void sub_81138D4(struct Sprite *); static void AnimBite(struct Sprite *); -void sub_8113A90(struct Sprite *); -void sub_81144BC(struct Sprite *); +static void AnimTearDrop(struct Sprite *); +static void AnimClawSlash(struct Sprite *); static void sub_811375C(u8); static void sub_811381C(u8); static void sub_8113950(struct Sprite *); @@ -138,7 +138,7 @@ const union AffineAnimCmd *const gUnknown_085970E0[] = gUnknown_085970C8, }; -const struct SpriteTemplate gUnknown_085970E8 = +const struct SpriteTemplate gTearDropSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, @@ -146,7 +146,7 @@ const struct SpriteTemplate gUnknown_085970E8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085970E0, - .callback = sub_8113A90, + .callback = AnimTearDrop, }; const union AnimCmd gUnknown_08597100[] = @@ -175,7 +175,7 @@ const union AnimCmd *const gUnknown_08597130[] = gUnknown_08597118, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = +const struct SpriteTemplate gClawSlashSpriteTemplate = { .tileTag = ANIM_TAG_CLAW_SLASH, .paletteTag = ANIM_TAG_CLAW_SLASH, @@ -183,7 +183,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = .anims = gUnknown_08597130, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81144BC, + .callback = AnimClawSlash, }; void AnimTask_AttackerFadeToInvisible(u8 taskId) @@ -214,7 +214,7 @@ static void sub_811375C(u8 taskId) gTasks[taskId].data[2] = 0; if (blendA == 16) { - gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 1; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = TRUE; DestroyAnimVisualTask(taskId); } } @@ -342,12 +342,13 @@ static void sub_8113A58(struct Sprite *sprite) DestroySpriteAndMatrix(sprite); } -void sub_8113A90(struct Sprite *sprite) +// Launches a tear drop away from the battler. Used by Fake Tears +static void AnimTearDrop(struct Sprite *sprite) { u8 battler; s8 xOffset; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battler = gBattleAnimAttacker; else battler = gBattleAnimTarget; @@ -773,12 +774,12 @@ void sub_81143C0(u8 taskId) { u8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? 1 : 0; MoveBattlerSpriteToBG(gBattleAnimAttacker, toBG2, TRUE); - gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = FALSE; if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) { MoveBattlerSpriteToBG(gBattleAnimAttacker ^ 2, toBG2 ^ 1, TRUE); - gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = FALSE; } DestroyAnimVisualTask(taskId); @@ -795,7 +796,8 @@ void sub_8114470(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81144BC(struct Sprite *sprite) +// Animates a deep slash from a claw. Used by Metal Claw, Dragon Claw, and Crush Claw +static void AnimClawSlash(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/dragon.c b/src/dragon.c index fa91156d4..4c89ae6c7 100644 --- a/src/dragon.c +++ b/src/dragon.c @@ -6,9 +6,9 @@ #include "constants/rgb.h" void sub_8113064(struct Sprite *); -void sub_81131B4(struct Sprite *); -void sub_8113224(struct Sprite *); -void sub_8113250(struct Sprite *); +static void AnimDragonRageFirePlume(struct Sprite *); +static void AnimDragonFireToTarget(struct Sprite *); +static void AnimDragonDanceOrb(struct Sprite *); void sub_81135EC(struct Sprite *); static void sub_81132E0(struct Sprite *); static void sub_81134B8(u8); @@ -85,7 +85,7 @@ const union AffineAnimCmd *const gUnknown_08596EEC[] = gUnknown_08596ED4, }; -const struct SpriteTemplate gUnknown_08596EF4 = +const struct SpriteTemplate gDragonBreathFireSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -93,7 +93,7 @@ const struct SpriteTemplate gUnknown_08596EF4 = .anims = gUnknown_08596EB4, .images = NULL, .affineAnims = gUnknown_08596EEC, - .callback = sub_8113224, + .callback = AnimDragonFireToTarget, }; const union AnimCmd gUnknown_08596F0C[] = @@ -111,7 +111,7 @@ const union AnimCmd *const gUnknown_08596F24[] = gUnknown_08596F0C, }; -const struct SpriteTemplate gUnknown_08596F28 = +const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, @@ -119,7 +119,7 @@ const struct SpriteTemplate gUnknown_08596F28 = .anims = gUnknown_08596F24, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81131B4, + .callback = AnimDragonRageFirePlume, }; const union AnimCmd gUnknown_08596F40[] = @@ -154,7 +154,7 @@ const union AffineAnimCmd *const gUnknown_08596F78[] = gUnknown_08596F68, }; -const struct SpriteTemplate gUnknown_08596F80 = +const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -162,10 +162,10 @@ const struct SpriteTemplate gUnknown_08596F80 = .anims = gUnknown_08596F50, .images = NULL, .affineAnims = gUnknown_08596F78, - .callback = sub_8113224, + .callback = AnimDragonFireToTarget, }; -const struct SpriteTemplate gUnknown_08596F98 = +const struct SpriteTemplate gDragonDanceOrbSpriteTemplate = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, @@ -173,7 +173,7 @@ const struct SpriteTemplate gUnknown_08596F98 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8113250, + .callback = AnimDragonDanceOrb, }; const struct SpriteTemplate gUnknown_08596FB0 = @@ -238,7 +238,7 @@ static void sub_8113100(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_81131B4(struct Sprite *sprite) +static void AnimDragonRageFirePlume(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -257,7 +257,7 @@ void sub_81131B4(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_8113224(struct Sprite *sprite) +static void AnimDragonFireToTarget(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) StartSpriteAffineAnim(sprite, 1); @@ -265,7 +265,7 @@ void sub_8113224(struct Sprite *sprite) sub_8113100(sprite); } -void sub_8113250(struct Sprite *sprite) +static void AnimDragonDanceOrb(struct Sprite *sprite) { u16 r5; u16 r0; diff --git a/src/fight.c b/src/fight.c index 4c8dd2896..8c6dadb45 100644 --- a/src/fight.c +++ b/src/fight.c @@ -8,14 +8,14 @@ void unc_080B08A0(struct Sprite *); void sub_810CE68(struct Sprite *); -void sub_810CEB4(struct Sprite *); -void AnimBasicFistOrFoot(struct Sprite *); -void sub_810CF30(struct Sprite *); -void sub_810D10C(struct Sprite *); +static void AnimJumpKick(struct Sprite *); +static void AnimBasicFistOrFoot(struct Sprite *); +static void AnimFistOrFootRandomPos(struct Sprite *); +static void AnimCrossChopHand(struct Sprite *); void sub_810D1B4(struct Sprite *); -void AnimSpinningKickOrPunch(struct Sprite *); -void AnimStompFoot(struct Sprite *); -void sub_810D37C(struct Sprite *); +static void AnimSpinningKickOrPunch(struct Sprite *); +static void AnimStompFoot(struct Sprite *); +static void AnimDizzyPunchDuck(struct Sprite *); void sub_810D40C(struct Sprite *); void sub_810D4F4(struct Sprite *); void sub_810D608(struct Sprite *); @@ -23,7 +23,7 @@ void sub_810D714(struct Sprite *); void sub_810D874(struct Sprite *); static void AnimArmThrustHit(struct Sprite *); void sub_810DA10(struct Sprite *); -void sub_810DA7C(struct Sprite *); +static void AnimFocusPunchFist(struct Sprite *); static void sub_810D0B8(struct Sprite *); static void sub_810D164(struct Sprite *); static void sub_810D240(struct Sprite *); @@ -107,7 +107,7 @@ const struct SpriteTemplate gUnknown_08595E68 = .callback = sub_810CE68, }; -const struct SpriteTemplate gUnknown_08595E80 = +const struct SpriteTemplate gJumpKickSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_08595E80 = .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810CEB4, + .callback = AnimJumpKick, }; const struct SpriteTemplate gFistFootSpriteTemplate = @@ -129,7 +129,7 @@ const struct SpriteTemplate gFistFootSpriteTemplate = .callback = AnimBasicFistOrFoot, }; -const struct SpriteTemplate gUnknown_08595EB0 = +const struct SpriteTemplate gFistFootRandomPosSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -137,10 +137,10 @@ const struct SpriteTemplate gUnknown_08595EB0 = .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810CF30, + .callback = AnimFistOrFootRandomPos, }; -const struct SpriteTemplate gUnknown_08595EC8 = +const struct SpriteTemplate gCrossChopHandSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -148,7 +148,7 @@ const struct SpriteTemplate gUnknown_08595EC8 = .anims = gUnknown_08595E60, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D10C, + .callback = AnimCrossChopHand, }; const struct SpriteTemplate gUnknown_08595EE0 = @@ -220,7 +220,7 @@ const struct SpriteTemplate gUnknown_08595F60 = .callback = AnimStompFoot, }; -const struct SpriteTemplate gUnknown_08595F78 = +const struct SpriteTemplate gDizzyPunchDuckSpriteTemplate = { .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, @@ -228,7 +228,7 @@ const struct SpriteTemplate gUnknown_08595F78 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D37C, + .callback = AnimDizzyPunchDuck, }; const struct SpriteTemplate gUnknown_08595F90 = @@ -404,7 +404,7 @@ const union AffineAnimCmd *const gUnknown_08596100[] = gUnknown_085960E8, }; -const struct SpriteTemplate gUnknown_08596104 = +const struct SpriteTemplate gFocusPunchFistSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -412,7 +412,7 @@ const struct SpriteTemplate gUnknown_08596104 = .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gUnknown_08596100, - .callback = sub_810DA7C, + .callback = AnimFocusPunchFist, }; void unc_080B08A0(struct Sprite *sprite) @@ -434,10 +434,10 @@ void sub_810CE68(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[6]); gBattleAnimArgs[6] = 0; - AnimSnoreZ(sprite); + AnimTravelDiagonally(sprite); } -void sub_810CEB4(struct Sprite *sprite) +static void AnimJumpKick(struct Sprite *sprite) { if (IsContest()) { @@ -455,7 +455,7 @@ void sub_810CEB4(struct Sprite *sprite) // arg 2: duration // arg 3: ? (todo: related to initial pixel offsets) // arg 4: anim num -void AnimBasicFistOrFoot(struct Sprite *sprite) +static void AnimBasicFistOrFoot(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); @@ -469,7 +469,7 @@ void AnimBasicFistOrFoot(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810CF30(struct Sprite *sprite) +static void AnimFistOrFootRandomPos(struct Sprite *sprite) { u8 battler; s16 xMod, yMod; @@ -533,7 +533,7 @@ static void sub_810D0B8(struct Sprite *sprite) } } -void sub_810D10C(struct Sprite *sprite) +static void AnimCrossChopHand(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = 30; @@ -614,7 +614,7 @@ static void sub_810D240(struct Sprite *sprite) // arg 1: initial y pixel offset // arg 2: anim num // arg 3: spin duration -void AnimSpinningKickOrPunch(struct Sprite *sprite) +static void AnimSpinningKickOrPunch(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[2]); @@ -638,7 +638,7 @@ static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: initial wait duration -void AnimStompFoot(struct Sprite *sprite) +static void AnimStompFoot(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; @@ -667,7 +667,7 @@ static void AnimStompFootEnd(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810D37C(struct Sprite *sprite) +static void AnimDizzyPunchDuck(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -983,7 +983,8 @@ void sub_810DA10(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810DA7C(struct Sprite *sprite) +// Fist shrinks toward target and shakes +static void AnimFocusPunchFist(struct Sprite *sprite) { if (sprite->affineAnimEnded) { diff --git a/src/fire.c b/src/fire.c index be55abade..49f05aae8 100644 --- a/src/fire.c +++ b/src/fire.c @@ -7,7 +7,7 @@ #include "task.h" #include "trig.h" -static void sub_8108EC8(struct Sprite *); +static void AnimFireSpiralInward(struct Sprite *); static void AnimFireSpread(struct Sprite *); static void sub_8108F4C(struct Sprite *); static void sub_8108FBC(struct Sprite *); @@ -23,7 +23,7 @@ static void AnimFireRingStep2(struct Sprite *); static void AnimFireRingStep3(struct Sprite *); static void UpdateFireRingCircleOffset(struct Sprite *); static void AnimFireCross(struct Sprite *); -static void sub_81093A4(struct Sprite *); +static void AnimFireSpiralOutward(struct Sprite *); static void sub_81093E4(struct Sprite *); static void sub_810940C(struct Sprite *); static void sub_81094D0(u8 taskId); @@ -32,7 +32,7 @@ static void sub_81098EC(struct Sprite *); static u16 sub_8109930(u8 spriteId); static void sub_8109984(struct Sprite *sprite, s16 x, s16 y); static void sub_81099A0(struct Sprite *); -static void sub_8109A10(struct Sprite *); +static void AnimEruptionFallingRock(struct Sprite *); static void sub_8109A64(struct Sprite *); static void sub_8109AFC(struct Sprite *); static void sub_8109C4C(struct Sprite *); @@ -61,7 +61,7 @@ const union AnimCmd *const gUnknown_08595360[] = gUnknown_08595350, }; -const struct SpriteTemplate gUnknown_08595368 = +const struct SpriteTemplate gFireSpiralInwardSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -69,7 +69,7 @@ const struct SpriteTemplate gUnknown_08595368 = .anims = gUnknown_08595360, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108EC8, + .callback = AnimFireSpiralInward, }; const struct SpriteTemplate gFireSpreadSpriteTemplate = @@ -319,7 +319,7 @@ const struct SpriteTemplate gFireBlastCrossSpriteTemplate = .callback = AnimFireCross, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 = +const struct SpriteTemplate gFireSpiralOutwardSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -327,7 +327,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 = .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81093A4, + .callback = AnimFireSpiralOutward, }; const struct SpriteTemplate gUnknown_0859559C = @@ -364,7 +364,7 @@ const s16 gUnknown_085955CC[][2] = { 4, -7}, }; -const struct SpriteTemplate gUnknown_085955E8 = +const struct SpriteTemplate gEruptionFallingRockSpriteTemplate = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, @@ -372,7 +372,7 @@ const struct SpriteTemplate gUnknown_085955E8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8109A10, + .callback = AnimEruptionFallingRock, }; const union AnimCmd gUnknown_08595600[] = @@ -456,7 +456,8 @@ const s8 gUnknown_08595694[16] = -1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1, }; -static void sub_8108EC8(struct Sprite *sprite) +// For the first stage of Fire Punch +static void AnimFireSpiralInward(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = 0x3C; @@ -623,7 +624,7 @@ static void AnimEmberFlare(struct Sprite *sprite) || gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->callback = AnimSnoreZ; + sprite->callback = AnimTravelDiagonally; sprite->callback(sprite); } @@ -632,7 +633,7 @@ static void sub_8109200(struct Sprite *sprite) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->callback = AnimSnoreZ; + sprite->callback = AnimTravelDiagonally; } // Animates the a fire sprite in the first-half of the MOVE_FIRE_BLAST @@ -730,7 +731,7 @@ static void AnimFireCross(struct Sprite *sprite) sprite->callback = TranslateSpriteLinear; } -static void sub_81093A4(struct Sprite *sprite) +static void AnimFireSpiralOutward(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); @@ -766,11 +767,12 @@ static void sub_810940C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8109460(u8 taskId) // initialize animation task for Move_ERUPTION? +// Animates first stage of Eruption where the attacker squishes and launches rocks away from themself +void AnimTask_EruptionLaunchRocks(u8 taskId) { struct Task *task = &gTasks[taskId]; - task->data[15] = GetAnimBattlerSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = 0; task->data[1] = 0; @@ -992,7 +994,7 @@ static void sub_81099A0(struct Sprite *sprite) sprite->invisible = TRUE; } -static void sub_8109A10(struct Sprite *sprite) +static void AnimEruptionFallingRock(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -1178,14 +1180,14 @@ void sub_8109CB0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8109DBC(u8 taskId) +void AnimTask_MoveHeatWaveTargets(u8 taskId) { struct Task *task = &gTasks[taskId]; task->data[12] = !GetBattlerSide(gBattleAnimAttacker) ? 1 : -1; task->data[13] = IsBattlerSpriteVisible(gBattleAnimTarget ^ 2) + 1; - task->data[14] = GetAnimBattlerSpriteId(1); - task->data[15] = GetAnimBattlerSpriteId(3); + task->data[14] = GetAnimBattlerSpriteId(ANIM_TARGET); + task->data[15] = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER); task->func = sub_8109E2C; } diff --git a/src/flying.c b/src/flying.c index 77173c9af..9a773c594 100644 --- a/src/flying.c +++ b/src/flying.c @@ -6,24 +6,24 @@ #include "constants/rgb.h" #include "random.h" -extern const struct SpriteTemplate gUnknown_085973E8; +extern const struct SpriteTemplate gFlashingHitSplatSpriteTemplate; -void sub_810DE70(struct Sprite *); -void sub_810DFA8(struct Sprite *); +static void AnimEllipticalGust(struct Sprite *); +static void AnimGustToTarget(struct Sprite *); void sub_810E044(struct Sprite *); -void sub_810E13C(struct Sprite *); -void sub_810E1C8(struct Sprite *); -void sub_810E314(struct Sprite *); +static void AnimFlyBallUp(struct Sprite *); +static void AnimFlyBallAttack(struct Sprite *); +static void AnimFallingFeather(struct Sprite *); void sub_810E520(struct Sprite *); void sub_810EB40(struct Sprite *); void sub_810EA4C(struct Sprite *); void sub_810EAA0(struct Sprite *); void sub_810EC34(struct Sprite *); void sub_810EC94(struct Sprite *); -void sub_810ED28(struct Sprite *); +static void AnimDiveBall(struct Sprite *); void sub_810ED70(struct Sprite *); void sub_810EDD0(struct Sprite *); -void sub_810EE14(struct Sprite *); +static void AnimDiveWaterSplash(struct Sprite *); static void AnimSprayWaterDroplet(struct Sprite *); void sub_810EFA8(struct Sprite *); void sub_810F004(struct Sprite *); @@ -37,7 +37,7 @@ static void sub_810E184(struct Sprite *); static void sub_810E24C(struct Sprite *); -const struct SpriteTemplate gUnknown_08596270 = +const struct SpriteTemplate gEllipticalGustSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, @@ -45,7 +45,7 @@ const struct SpriteTemplate gUnknown_08596270 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810DE70, + .callback = AnimEllipticalGust, }; const union AffineAnimCmd gUnknown_08596288[] = @@ -60,7 +60,7 @@ const union AffineAnimCmd *const gUnknown_085962A0[] = gUnknown_08596288, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 = +const struct SpriteTemplate gGustToTargetSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, @@ -68,7 +68,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085962A0, - .callback = sub_810DFA8, + .callback = AnimGustToTarget, }; const union AnimCmd gUnknown_085962BC[] = @@ -128,7 +128,7 @@ const union AffineAnimCmd *const gUnknown_08596338[] = gUnknown_08596328, }; -const struct SpriteTemplate gUnknown_08596340 = +const struct SpriteTemplate gFlyBallUpSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -136,10 +136,10 @@ const struct SpriteTemplate gUnknown_08596340 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596314, - .callback = sub_810E13C, + .callback = AnimFlyBallUp, }; -const struct SpriteTemplate gUnknown_08596358 = +const struct SpriteTemplate gFlyBallAttackSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -147,7 +147,7 @@ const struct SpriteTemplate gUnknown_08596358 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596338, - .callback = sub_810E1C8, + .callback = AnimFlyBallAttack, }; const union AnimCmd gUnknown_08596370[] = @@ -168,7 +168,7 @@ const union AnimCmd *const gUnknown_08596380[] = gUnknown_08596378, }; -const struct SpriteTemplate gUnknown_08596388 = +const struct SpriteTemplate gFallingFeatherSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_FEATHER, .paletteTag = ANIM_TAG_WHITE_FEATHER, @@ -176,7 +176,7 @@ const struct SpriteTemplate gUnknown_08596388 = .anims = gUnknown_08596380, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810E314, + .callback = AnimFallingFeather, }; const struct SpriteTemplate gUnknown_085963A0 = @@ -278,7 +278,7 @@ const union AffineAnimCmd *const gUnknown_0859648C[] = gUnknown_08596464, }; -const struct SpriteTemplate gUnknown_08596490 = +const struct SpriteTemplate gDiveBallSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -286,7 +286,7 @@ const struct SpriteTemplate gUnknown_08596490 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859648C, - .callback = sub_810ED28, + .callback = AnimDiveBall, }; const union AffineAnimCmd gUnknown_085964A8[] = @@ -302,7 +302,7 @@ const union AffineAnimCmd *const gUnknown_085964C8[] = gUnknown_085964A8, }; -const struct SpriteTemplate gUnknown_085964CC = +const struct SpriteTemplate gDiveWaterSplashSpriteTemplate = { .tileTag = ANIM_TAG_SPLASH, .paletteTag = ANIM_TAG_SPLASH, @@ -310,7 +310,7 @@ const struct SpriteTemplate gUnknown_085964CC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810EE14, + .callback = AnimDiveWaterSplash, }; const struct SpriteTemplate gSprayWaterDropletSpriteTemplate = @@ -347,7 +347,7 @@ const struct SpriteTemplate gUnknown_08596514 = }; -void sub_810DE70(struct Sprite *sprite) +static void AnimEllipticalGust(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->pos1.y += 20; @@ -366,7 +366,8 @@ static void sub_810DE98(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810DED8(u8 taskId) +// Animates the palette on the gust tornado to make it look like its spinning +void AnimTask_AnimateGustTornadoPalette(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[1]; gTasks[taskId].data[1] = gBattleAnimArgs[0]; @@ -401,7 +402,7 @@ static void sub_810DF18(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_810DFA8(struct Sprite *sprite) +static void AnimGustToTarget(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -463,13 +464,13 @@ void sub_810E044(struct Sprite *sprite) SeekSpriteAnim(sprite, gBattleAnimArgs[5]); } -void sub_810E13C(struct Sprite *sprite) +static void AnimFlyBallUp(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; sprite->callback = sub_810E184; - gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = 1; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE; } static void sub_810E184(struct Sprite *sprite) @@ -488,7 +489,7 @@ static void sub_810E184(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810E1C8(struct Sprite *sprite) +static void AnimFlyBallAttack(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -565,7 +566,7 @@ struct FeatherDanceData u16 unkE_1:15; }; -void sub_810E314(struct Sprite *sprite) +static void AnimFallingFeather(struct Sprite *sprite) { u8 battler, matrixNum, sinIndex; s16 spriteCoord, sinVal; @@ -953,7 +954,7 @@ void sub_810EB40(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810EB88(u8 task) +void AnimTask_DrillPeckHitSplats(u8 task) { if (!(gTasks[task].data[0] % 32)) { @@ -964,7 +965,7 @@ void sub_810EB88(u8 task) gBattleAnimArgs[2] = 1; gBattleAnimArgs[3] = 3; - CreateSpriteAndAnimate(&gUnknown_085973E8, + CreateSpriteAndAnimate(&gFlashingHitSplatSpriteTemplate, GetBattlerSpriteCoord(gBattleAnimTarget, 2), GetBattlerSpriteCoord(gBattleAnimTarget, 3), 3); @@ -1017,13 +1018,13 @@ void sub_810EC94(struct Sprite *sprite) } } -void sub_810ED28(struct Sprite *sprite) +void AnimDiveBall(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; sprite->callback = sub_810ED70; - gSprites[GetAnimBattlerSpriteId(0)].invisible = 1; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE; } void sub_810ED70(struct Sprite *sprite) @@ -1039,7 +1040,7 @@ void sub_810ED70(struct Sprite *sprite) } else { - sprite->invisible = 1; + sprite->invisible = TRUE; if (sprite->data[3]++ > 20) sprite->callback = sub_810EDD0; } @@ -1056,7 +1057,7 @@ void sub_810EDD0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810EE14(struct Sprite *sprite) +static void AnimDiveWaterSplash(struct Sprite *sprite) { u32 matrixNum; int t1, t2; diff --git a/src/ghost.c b/src/ghost.c index 4288aa944..7faadc59c 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -31,14 +31,14 @@ static void sub_8112384(struct Sprite *); static void sub_81125E0(u8 taskId); static void sub_811280C(u8 taskId); static void sub_8112994(u8 taskId); -static void sub_81129F0(struct Sprite *); +static void AnimCurseNail(struct Sprite *); static void sub_8112A4C(struct Sprite *); static void sub_8112ACC(struct Sprite *); static void sub_8112B44(struct Sprite *); static void sub_8112B78(struct Sprite *); static void sub_8112C4C(struct Sprite *); static void sub_8112D10(u8 taskId); -static void sub_8112E9C(struct Sprite *); +static void AnimGrudgeFlame(struct Sprite *); static void sub_8112F60(struct Sprite *); static void sub_8112FB8(struct Sprite *); @@ -135,7 +135,7 @@ const union AffineAnimCmd *const gUnknown_08596DB4[] = gUnknown_08596DA4, }; -const struct SpriteTemplate gUnknown_08596DB8 = +const struct SpriteTemplate gWhiteShadowSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_SHADOW, .paletteTag = ANIM_TAG_WHITE_SHADOW, @@ -146,7 +146,7 @@ const struct SpriteTemplate gUnknown_08596DB8 = .callback = sub_8112264, }; -const struct SpriteTemplate gUnknown_08596DD0 = +const struct SpriteTemplate gCurseNailSpriteTemplate = { .tileTag = ANIM_TAG_NAIL, .paletteTag = ANIM_TAG_NAIL, @@ -154,10 +154,10 @@ const struct SpriteTemplate gUnknown_08596DD0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81129F0, + .callback = AnimCurseNail, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8596DE8 = +const struct SpriteTemplate gCurseGhostSpriteTemplate = { .tileTag = ANIM_TAG_GHOSTLY_SPIRIT, .paletteTag = ANIM_TAG_GHOSTLY_SPIRIT, @@ -193,7 +193,7 @@ const union AnimCmd *const gUnknown_08596E2C[] = gUnknown_08596E18, }; -const struct SpriteTemplate gUnknown_08596E30 = +const struct SpriteTemplate gGrudgeFlameSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_FLAME, .paletteTag = ANIM_TAG_PURPLE_FLAME, @@ -201,7 +201,7 @@ const struct SpriteTemplate gUnknown_08596E30 = .anims = gUnknown_08596E2C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8112E9C, + .callback = AnimGrudgeFlame, }; const struct SpriteTemplate gUnknown_08596E48 = @@ -789,7 +789,7 @@ static void sub_8112384(struct Sprite *sprite) } } -void sub_81123C4(u8 taskId) +void AnimTask_DestinyBondWhiteShadow(u8 taskId) { struct Task *task; s16 battler; @@ -811,13 +811,13 @@ void sub_81123C4(u8 taskId) baseY = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM); if (!IsContest()) { - for (battler = 0; battler < 4; battler++) + for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) { if (battler != gBattleAnimAttacker && battler != (gBattleAnimAttacker ^ 2) && IsBattlerSpriteVisible(battler)) { - spriteId = CreateSprite(&gUnknown_08596DB8, baseX, baseY, 55); + spriteId = CreateSprite(&gWhiteShadowSpriteTemplate, baseX, baseY, 55); if (spriteId != MAX_SPRITES) { x = GetBattlerSpriteCoord(battler, 2); @@ -839,7 +839,7 @@ void sub_81123C4(u8 taskId) } else { - spriteId = CreateSprite(&gUnknown_08596DB8, baseX, baseY, 55); + spriteId = CreateSprite(&gWhiteShadowSpriteTemplate, baseX, baseY, 55); if (spriteId != MAX_SPRITES) { x = 48; @@ -1029,7 +1029,7 @@ static void sub_8112994(u8 taskId) } } -static void sub_81129F0(struct Sprite *sprite) +static void AnimCurseNail(struct Sprite *sprite) { s16 xDelta; s16 xDelta2; @@ -1169,7 +1169,7 @@ static void sub_8112C4C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8112C6C(u8 taskId) +void AnimTask_GrudgeFlames(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1200,7 +1200,7 @@ static void sub_8112D10(u8 taskId) case 0: for (i = 0; i < 6; i++) { - spriteId = CreateSprite(&gUnknown_08596E30, task->data[9], task->data[10], task->data[6]); + spriteId = CreateSprite(&gGrudgeFlameSpriteTemplate, task->data[9], task->data[10], task->data[6]); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = taskId; @@ -1274,7 +1274,7 @@ static void sub_8112D10(u8 taskId) } } -static void sub_8112E9C(struct Sprite *sprite) +static void AnimGrudgeFlame(struct Sprite *sprite) { u16 index; diff --git a/src/ground.c b/src/ground.c index 676319498..4b67af389 100644 --- a/src/ground.c +++ b/src/ground.c @@ -6,25 +6,25 @@ #include "trig.h" #include "constants/rgb.h" -void AnimBonemerangProjectile(struct Sprite *); -void AnimBoneHitProjectile(struct Sprite *); -void AnimDirtScatter(struct Sprite *); -void AnimMudSportDirt(struct Sprite *); -void AnimFissureDirtPlumeParticle(struct Sprite *); -void AnimDigDirtMound(struct Sprite *); +static void AnimBonemerangProjectile(struct Sprite *); +static void AnimBoneHitProjectile(struct Sprite *); +static void AnimDirtScatter(struct Sprite *); +static void AnimMudSportDirt(struct Sprite *); +static void AnimDirtPlumeParticle(struct Sprite *); +static void AnimDigDirtMound(struct Sprite *); static void AnimBonemerangProjectileStep(struct Sprite *); static void AnimBonemerangProjectileEnd(struct Sprite *); static void AnimMudSportDirtRising(struct Sprite *); static void AnimMudSportDirtFalling(struct Sprite *); -static void sub_8114CFC(u8); -static void sub_8114EB4(u8); -static void sub_8114F54(u8); -static void sub_8114FD8(u8); +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 AnimFissureDirtPlumeParticleStep(struct Sprite *); -static void sub_81153AC(u8); -static void sub_81154A4(u8); -static void sub_8115588(struct Task *); +static void AnimDirtPlumeParticleStep(struct Sprite *); +static void AnimTask_ShakeTerrain(u8); +static void AnimTask_ShakeBattlers(u8); +static void SetBattlersXOffsetForShake(struct Task *); static void sub_81156D0(u8); const union AffineAnimCmd gUnknown_08597150[] = @@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_085971E4 = .callback = AnimMudSportDirt, }; -const struct SpriteTemplate gUnknown_085971FC = +const struct SpriteTemplate gDirtPlumeSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -123,10 +123,10 @@ const struct SpriteTemplate gUnknown_085971FC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimFissureDirtPlumeParticle, + .callback = AnimDirtPlumeParticle, }; -const struct SpriteTemplate gUnknown_08597214 = +const struct SpriteTemplate gDirtMoundSpriteTemplate = { .tileTag = ANIM_TAG_DIRT_MOUND, .paletteTag = ANIM_TAG_DIRT_MOUND, @@ -139,7 +139,7 @@ const struct SpriteTemplate gUnknown_08597214 = // Moves a bone projectile towards the target mon, which moves like // a boomerang. After hitting the target mon, it comes back to the user. -void AnimBonemerangProjectile(struct Sprite *sprite) +static void AnimBonemerangProjectile(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); @@ -181,7 +181,7 @@ static void AnimBonemerangProjectileEnd(struct Sprite *sprite) // arg 2: target x pixel offset // arg 3: target y pixel offset // arg 4: duration -void AnimBoneHitProjectile(struct Sprite *sprite) +static void AnimBoneHitProjectile(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -200,7 +200,7 @@ void AnimBoneHitProjectile(struct Sprite *sprite) // arg 2: duration // arg 3: target x pixel offset // arg 4: target y pixel offset -void AnimDirtScatter(struct Sprite *sprite) +static void AnimDirtScatter(struct Sprite *sprite) { u8 targetXPos, targetYPos; s16 xOffset, yOffset; @@ -229,7 +229,7 @@ void AnimDirtScatter(struct Sprite *sprite) // arg 0: 0 = dirt is rising into the air, 1 = dirt is falling down // arg 1: initial x pixel offset // arg 2: initial y pixel offset -void AnimMudSportDirt(struct Sprite *sprite) +static void AnimMudSportDirt(struct Sprite *sprite) { sprite->oam.tileNum++; if (gBattleAnimArgs[0] == 0) @@ -285,19 +285,19 @@ static void AnimMudSportDirtFalling(struct Sprite *sprite) } } -void sub_8114CBC(u8 taskId) +void AnimTask_DigDownMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[0] == 0) - task->func = sub_8114CFC; + if (gBattleAnimArgs[0] == FALSE) + task->func = AnimTask_DigBounceMovement; else - task->func = sub_8114EB4; + task->func = AnimTask_DigEndBounceMovementSetInvisible; task->func(taskId); } -static void sub_8114CFC(u8 taskId) +static void AnimTask_DigBounceMovement(u8 taskId) { u8 var0; struct Task *task = &gTasks[taskId]; @@ -305,7 +305,7 @@ static void sub_8114CFC(u8 taskId) switch (task->data[0]) { case 0: - task->data[10] = GetAnimBattlerSpriteId(0); + task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); if (task->data[11] == 1) { @@ -368,10 +368,10 @@ static void sub_8114CFC(u8 taskId) } } -static void sub_8114EB4(u8 taskId) +static void AnimTask_DigEndBounceMovementSetInvisible(u8 taskId) { - u8 spriteId = GetAnimBattlerSpriteId(0); - gSprites[spriteId].invisible = 1; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gSprites[spriteId].invisible = TRUE; gSprites[spriteId].pos2.x = 0; gSprites[spriteId].pos2.y = 0; @@ -383,27 +383,27 @@ static void sub_8114EB4(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8114F14(u8 taskId) +void AnimTask_DigUpMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[0] == 0) - task->func = sub_8114F54; + if (gBattleAnimArgs[0] == FALSE) + task->func = AnimTask_DigSetVisibleUnderground; else - task->func = sub_8114FD8; + task->func = AnimTask_DigRiseUpFromHole; task->func(taskId); } -static void sub_8114F54(u8 taskId) +static void AnimTask_DigSetVisibleUnderground(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) { case 0: - task->data[10] = GetAnimBattlerSpriteId(0); - gSprites[task->data[10]].invisible = 0; + 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; task->data[0]++; @@ -413,7 +413,7 @@ static void sub_8114F54(u8 taskId) } } -static void sub_8114FD8(u8 taskId) +static void AnimTask_DigRiseUpFromHole(u8 taskId) { u8 var0; struct Task *task = &gTasks[taskId]; @@ -421,7 +421,7 @@ static void sub_8114FD8(u8 taskId) switch (task->data[0]) { case 0: - task->data[10] = GetAnimBattlerSpriteId(0); + task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); if (task->data[11] == 1) task->data[12] = gBattle_BG1_X; @@ -501,7 +501,7 @@ static void sub_81150E0(u8 useBG1, s16 y, s16 endY) // arg 3: target y offset // arg 4: wave amplitude // arg 5: duration -void AnimFissureDirtPlumeParticle(struct Sprite *sprite) +void AnimDirtPlumeParticle(struct Sprite *sprite) { s8 battler; s16 xOffset; @@ -525,10 +525,10 @@ void AnimFissureDirtPlumeParticle(struct Sprite *sprite) sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[4]; InitAnimArcTranslation(sprite); - sprite->callback = AnimFissureDirtPlumeParticleStep; + sprite->callback = AnimDirtPlumeParticleStep; } -static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite) +static void AnimDirtPlumeParticleStep(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroyAnimSprite(sprite); @@ -540,7 +540,7 @@ static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite) // arg 0: which mon (0 = attacker, 1 = target) // arg 1: oam tile num (0 = left half of image, 1 = right half of image) // arg 2: duration -void AnimDigDirtMound(struct Sprite *sprite) +static void AnimDigDirtMound(struct Sprite *sprite) { s8 battler; @@ -557,156 +557,180 @@ void AnimDigDirtMound(struct Sprite *sprite) sprite->callback = WaitAnimForDuration; } -void sub_81152DC(u8 taskId) + +#define tState data[0] +#define tDelay data[1] +#define tTimer data[2] +#define tMaxTime data[3] +#define tbattlerSpriteIds(i) data[9 + (i)] +#define tNumBattlers data[13] // AnimTask_ShakeBattlers +#define tInitialX data[13] // AnimTask_ShakeTerrain +#define tHorizOffset data[14] +#define tInitHorizOffset data[15] + +// Shakes battler(s) or the battle terrain back and forth horizontally. Used by e.g. Earthquake, Eruption +// arg0: What to shake. 0-3 for any specific battler, MAX_BATTLERS_COUNT for all battlers, MAX_BATTLERS_COUNT + 1 for the terrain +// arg1: Shake intensity, used to calculate horizontal pixel offset (if 0, use move power instead) +// arg2: Length of time to shake for +void AnimTask_HorizontalShake(u8 taskId) { u16 i; struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[1]) - task->data[14] = task->data[15] = gBattleAnimArgs[1] + 3; + if (gBattleAnimArgs[1] != 0) + task->tHorizOffset = task->tInitHorizOffset = gBattleAnimArgs[1] + 3; else - task->data[14] = task->data[15] = (gAnimMovePower / 10) + 3; + task->tHorizOffset = task->tInitHorizOffset = (gAnimMovePower / 10) + 3; - task->data[3] = gBattleAnimArgs[2]; + task->tMaxTime = gBattleAnimArgs[2]; switch (gBattleAnimArgs[0]) { - case 5: - task->data[13] = gBattle_BG3_X; - task->func = sub_81153AC; + case MAX_BATTLERS_COUNT + 1: // Shake terrain + task->tInitialX = gBattle_BG3_X; + task->func = AnimTask_ShakeTerrain; break; - case 4: - task->data[13] = 0; + case MAX_BATTLERS_COUNT: // Shake all battlers + task->tNumBattlers = 0; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (IsBattlerSpriteVisible(i)) { - task->data[task->data[13] + 9] = gBattlerSpriteIds[i]; - task->data[13]++; + task->tbattlerSpriteIds(task->tNumBattlers) = gBattlerSpriteIds[i]; + task->tNumBattlers++; } } - task->func = sub_81154A4; + task->func = AnimTask_ShakeBattlers; break; - default: - task->data[9] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - if (task->data[9] == 0xFF) + default: // Shake specific battler + task->tbattlerSpriteIds(0) = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + if (task->tbattlerSpriteIds(0) == 0xFF) { DestroyAnimVisualTask(taskId); } else { - task->data[13] = 1; - task->func = sub_81154A4; + task->tNumBattlers = 1; + task->func = AnimTask_ShakeBattlers; } - break; } } -static void sub_81153AC(u8 taskId) +static void AnimTask_ShakeTerrain(u8 taskId) { struct Task *task = &gTasks[taskId]; - switch (task->data[0]) + switch (task->tState) { case 0: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - if ((task->data[2] & 1) == 0) - gBattle_BG3_X = task->data[13] + task->data[15]; + task->tDelay = 0; + if ((task->tTimer & 1) == 0) + gBattle_BG3_X = task->tInitialX + task->tInitHorizOffset; else - gBattle_BG3_X = task->data[13] - task->data[15]; + gBattle_BG3_X = task->tInitialX - task->tInitHorizOffset; - if (++task->data[2] == task->data[3]) + if (++task->tTimer == task->tMaxTime) { - task->data[2] = 0; - task->data[14]--; - task->data[0]++; + task->tTimer = 0; + task->tHorizOffset--; + task->tState++; } } break; case 1: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - if ((task->data[2] & 1) == 0) - gBattle_BG3_X = task->data[13] + task->data[14]; + task->tDelay = 0; + if ((task->tTimer & 1) == 0) + gBattle_BG3_X = task->tInitialX + task->tHorizOffset; else - gBattle_BG3_X = task->data[13] - task->data[14]; + gBattle_BG3_X = task->tInitialX - task->tHorizOffset; - if (++task->data[2] == 4) + if (++task->tTimer == 4) { - task->data[2] = 0; - if (--task->data[14] == 0) - task->data[0]++; + task->tTimer = 0; + if (--task->tHorizOffset == 0) + task->tState++; } } break; case 2: - gBattle_BG3_X = task->data[13]; + gBattle_BG3_X = task->tInitialX; DestroyAnimVisualTask(taskId); break; } } -static void sub_81154A4(u8 taskId) +static void AnimTask_ShakeBattlers(u8 taskId) { u16 i; struct Task *task = &gTasks[taskId]; - switch (task->data[0]) + switch (task->tState) { case 0: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - sub_8115588(task); - if (++task->data[2] == task->data[3]) + task->tDelay = 0; + SetBattlersXOffsetForShake(task); + if (++task->tTimer == task->tMaxTime) { - task->data[2] = 0; - task->data[14]--; - task->data[0]++; + task->tTimer = 0; + task->tHorizOffset--; + task->tState++; } } break; case 1: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - sub_8115588(task); - if (++task->data[2] == 4) + task->tDelay = 0; + SetBattlersXOffsetForShake(task); + if (++task->tTimer == 4) { - task->data[2] = 0; - if (--task->data[14] == 0) - task->data[0]++; + task->tTimer = 0; + if (--task->tHorizOffset == 0) + task->tState++; } } break; case 2: - for (i = 0; i < task->data[13]; i++) - gSprites[task->data[9 + i]].pos2.x = 0; + for (i = 0; i < task->tNumBattlers; i++) + gSprites[task->tbattlerSpriteIds(i)].pos2.x = 0; DestroyAnimVisualTask(taskId); break; } } -static void sub_8115588(struct Task *task) +static void SetBattlersXOffsetForShake(struct Task *task) { u16 i; u16 xOffset; - if ((task->data[2] & 1) == 0) - xOffset = (task->data[14] / 2) + (task->data[14] & 1); + if ((task->tTimer & 1) == 0) + xOffset = (task->tHorizOffset / 2) + (task->tHorizOffset & 1); else - xOffset = -(task->data[14] / 2); + xOffset = -(task->tHorizOffset / 2); - for (i = 0; i < task->data[13]; i++) + for (i = 0; i < task->tNumBattlers; i++) { - gSprites[task->data[9 + i]].pos2.x = xOffset; + gSprites[task->tbattlerSpriteIds(i)].pos2.x = xOffset; } } +#undef tState +#undef tDelay +#undef tTimer +#undef tMaxTime +#undef tbattlerSpriteIds +#undef tNumBattlers +#undef tInitialX +#undef tHorizOffset +#undef tInitHorizOffset + void AnimTask_IsPowerOver99(u8 taskId) { gBattleAnimArgs[15] = gAnimMovePower > 99; @@ -979,8 +979,8 @@ void AnimSwirlingFogAnim(struct Sprite *sprite) } } -// Fades mons to black and places foggy overlay in Haze. -void AnimTask_Haze1(u8 taskId) +// Adds moving foggy overlay. Used by Haze. +void AnimTask_HazeScrollingFog(u8 taskId) { struct BattleAnimBgData animBg; @@ -1330,7 +1330,7 @@ void MovePoisonGasCloud(struct Sprite *sprite) } // Creates Hail. -void AnimTask_Hail1(u8 taskId) +void AnimTask_HailStart(u8 taskId) { struct Task *task = &gTasks[taskId]; diff --git a/src/normal.c b/src/normal.c index d0363db04..4d192e6f9 100644 --- a/src/normal.c +++ b/src/normal.c @@ -12,12 +12,12 @@ u32 UnpackSelectedBattleAnimPalettes(s16); void sub_81158A4(struct Sprite *); void sub_81159B4(struct Sprite *); void sub_81160A4(struct Sprite *); -void sub_8116388(struct Sprite *); +static void AnimBasicHitSplat(struct Sprite *); void sub_8116420(struct Sprite *); -void sub_8116458(struct Sprite *); -void sub_81164F0(struct Sprite *); +static void AnimHitSplatRandom(struct Sprite *); +static void AnimExtremeSpeedHitSplat(struct Sprite *); void sub_8116560(struct Sprite *); -void sub_81165A8(struct Sprite *); +static void AnimFlashingHitSplat(struct Sprite *); static void AnimConfusionDuckStep(struct Sprite *); static void AnimSimplePaletteBlendStep(struct Sprite *); static void sub_81158F8(struct Sprite *); @@ -173,7 +173,7 @@ const struct SpriteTemplate gBasicHitSplatSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_8116388, + .callback = AnimBasicHitSplat, }; const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 = @@ -195,10 +195,10 @@ const struct SpriteTemplate gWaterHitSplatSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_8116388, + .callback = AnimBasicHitSplat, }; -const struct SpriteTemplate gUnknown_085973A0 = +const struct SpriteTemplate gRandomPosHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, @@ -206,10 +206,10 @@ const struct SpriteTemplate gUnknown_085973A0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_8116458, + .callback = AnimHitSplatRandom, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 = +const struct SpriteTemplate gExtremeSpeedHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, @@ -217,10 +217,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_81164F0, + .callback = AnimExtremeSpeedHitSplat, }; -const struct SpriteTemplate gUnknown_085973D0 = +const struct SpriteTemplate gCrossImpactSpriteTemplate = { .tileTag = ANIM_TAG_CROSS_IMPACT, .paletteTag = ANIM_TAG_CROSS_IMPACT, @@ -231,7 +231,7 @@ const struct SpriteTemplate gUnknown_085973D0 = .callback = sub_8116560, }; -const struct SpriteTemplate gUnknown_085973E8 = +const struct SpriteTemplate gFlashingHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, @@ -239,7 +239,7 @@ const struct SpriteTemplate gUnknown_085973E8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, - .callback = sub_81165A8, + .callback = AnimFlashingHitSplat, }; const struct SpriteTemplate gUnknown_08597400 = @@ -414,12 +414,12 @@ void sub_81159B4(struct Sprite *sprite) } // Task data for AnimTask_BlendCycleMonColor -#define tPalSelector data[0] -#define tDelay data[1] -#define tNumBlends data[2] -#define tInitialBlendY data[3] -#define tTargetBlendY data[4] -#define tBlendColor data[5] +#define tPalSelector data[0] // arg0 +#define tDelay data[1] // arg1 +#define tNumBlends data[2] // arg2 +#define tInitialBlendY data[3] // arg3 +#define tTargetBlendY data[4] // arg4 +#define tBlendColor data[5] // arg5 #define tRestoreBlend data[8] // Blends mon sprite to designated color or back alternately tNumBlends times @@ -703,7 +703,7 @@ static void sub_8115EB8(u8 taskId) } } -void sub_8115F10(u8 taskId) +void AnimTask_InvertScreenColor(u8 taskId) { u32 selectedPalettes = 0; u8 attackerBattler = gBattleAnimAttacker; @@ -895,10 +895,10 @@ static void sub_81162F8(u8 taskId) } } -void sub_8116388(struct Sprite *sprite) +static void AnimBasicHitSplat(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -910,7 +910,7 @@ void sub_8116388(struct Sprite *sprite) static void sub_81163D0(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -925,16 +925,16 @@ void sub_8116420(struct Sprite *sprite) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest()) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sub_8116388(sprite); + AnimBasicHitSplat(sprite); } -void sub_8116458(struct Sprite *sprite) +static void AnimHitSplatRandom(struct Sprite *sprite) { if (gBattleAnimArgs[1] == -1) gBattleAnimArgs[1] = Random2() & 3; StartSpriteAffineAnim(sprite, gBattleAnimArgs[1]); - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 0); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -946,7 +946,7 @@ void sub_8116458(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -void sub_81164F0(struct Sprite *sprite) +static void AnimExtremeSpeedHitSplat(struct Sprite *sprite) { sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x; @@ -960,7 +960,7 @@ void sub_81164F0(struct Sprite *sprite) void sub_8116560(struct Sprite *sprite) { - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -970,10 +970,10 @@ void sub_8116560(struct Sprite *sprite) sprite->callback = WaitAnimForDuration; } -void sub_81165A8(struct Sprite *sprite) +static void AnimFlashingHitSplat(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); diff --git a/src/psychic.c b/src/psychic.c index d7bbac957..804cd38f7 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -158,7 +158,7 @@ const struct SpriteTemplate gUnknown_08596624 = .callback = sub_810F58C, }; -const struct SpriteTemplate gUnknown_0859663C = +const struct SpriteTemplate gGoldRingSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_RING, .paletteTag = ANIM_TAG_GOLD_RING, @@ -947,7 +947,9 @@ void sub_810FDF0(struct Sprite *sprite) } } -void sub_810FE14(u8 taskId) +// The scanline effect that distorts the target during Extrasensory by segmenting the mon vertically and shifting the slices +// arg0: Stage. Stage 0 is a slight right distortion, 1 is a medium left distortion, and 2 is a severe right distortion +void AnimTask_ExtrasensoryDistortion(u8 taskId) { s16 i; u8 yOffset; @@ -1045,7 +1047,9 @@ static void sub_810FF34(u8 taskId) } } -void sub_8110034(u8 taskId) +// Creates a cloned transparent sprite of the battler that grows and then shrinks back to original size. Used by Extrasensory +// arg0: battler +void AnimTask_TransparentCloneGrowAndShrink(u8 taskId) { s16 spriteId; s16 matrixNum; diff --git a/src/rock.c b/src/rock.c index 8496ead58..6d0431fbc 100644 --- a/src/rock.c +++ b/src/rock.c @@ -14,7 +14,7 @@ extern const union AnimCmd *const gUnknown_085954D0[]; void sub_81109F0(struct Sprite *); void sub_8110AB4(struct Sprite *); -void AnimDirtParticleAcrossScreen(struct Sprite *); +static void AnimDirtParticleAcrossScreen(struct Sprite *); void AnimRaiseSprite(struct Sprite *); void sub_81110A4(u8 taskId); void sub_811131C(struct Sprite *); @@ -112,7 +112,7 @@ const struct SpriteTemplate gUnknown_08596B70 = .callback = sub_8110B38, }; -const struct SpriteTemplate gUnknown_08596B88 = +const struct SpriteTemplate gFireSpinSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -123,7 +123,7 @@ const struct SpriteTemplate gUnknown_08596B88 = .callback = sub_8110B38, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 = +const struct SpriteTemplate gFlyingDirtSpriteTemplate = { .tileTag = ANIM_TAG_FLYING_DIRT, .paletteTag = ANIM_TAG_FLYING_DIRT, @@ -499,7 +499,7 @@ static void sub_8110CB0(u8 taskId) // arg 1: projectile speed // arg 2: y pixel drop // arg 3: ??? unknown (possibly a color bit) -void AnimDirtParticleAcrossScreen(struct Sprite *sprite) +static void AnimDirtParticleAcrossScreen(struct Sprite *sprite) { if (sprite->data[0] == 0) { diff --git a/src/water.c b/src/water.c index 1a66835fb..b109d21a4 100644 --- a/src/water.c +++ b/src/water.c @@ -21,13 +21,13 @@ void sub_8107408(struct Sprite *); void sub_8107430(struct Sprite *); static void AnimAuroraBeamRings(struct Sprite *); void sub_81074E4(struct Sprite *); -void sub_81075EC(struct Sprite *); +static void AnimToTargetInSinWave(struct Sprite *); void sub_8107674(struct Sprite *); -void sub_8107730(struct Sprite *); -void sub_81077A4(struct Sprite *); -void sub_81077C0(struct Sprite *); +static void AnimHydroCannonCharge(struct Sprite *); +static void AnimWaitForHydroCannonChargeEnd(struct Sprite *); +static void AnimHydroCannonBeam(struct Sprite *); void sub_8107894(struct Sprite *); -void sub_81078D0(struct Sprite *); +static void AnimSmallBubblePair(struct Sprite *); void sub_810790C(struct Sprite *); void sub_8108034(struct Sprite *); void sub_8108098(struct Sprite *); @@ -41,7 +41,7 @@ void sub_8108C08(struct Sprite *); void sub_8108C54(struct Sprite *); void AnimWaterPulseRing_Step(struct Sprite *); void sub_810756C(u8); -void sub_81076F4(u8); +static void AnimTask_RunSinAnimTimer(u8); void sub_8107B84(u8); void sub_8107CC4(u8); void sub_8107D58(u8); @@ -181,7 +181,7 @@ const union AnimCmd *const gUnknown_085950E0[] = gUnknown_085950CC, }; -const struct SpriteTemplate gUnknown_085950E4 = +const struct SpriteTemplate gHydroPumpOrbSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, @@ -189,7 +189,7 @@ const struct SpriteTemplate gUnknown_085950E4 = .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const struct SpriteTemplate gUnknown_085950FC = @@ -200,7 +200,7 @@ const struct SpriteTemplate gUnknown_085950FC = .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const struct SpriteTemplate gUnknown_08595114 = @@ -211,7 +211,7 @@ const struct SpriteTemplate gUnknown_08595114 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const struct SpriteTemplate gUnknown_0859512C = @@ -222,7 +222,7 @@ const struct SpriteTemplate gUnknown_0859512C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const union AnimCmd gUnknown_08595144[] = @@ -238,7 +238,7 @@ const union AnimCmd *const gUnknown_08595154[] = gUnknown_08595144, }; -const struct SpriteTemplate gUnknown_08595158 = +const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -246,7 +246,7 @@ const struct SpriteTemplate gUnknown_08595158 = .anims = gUnknown_08595154, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const struct SpriteTemplate gUnknown_08595170 = @@ -257,7 +257,7 @@ const struct SpriteTemplate gUnknown_08595170 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gGrowingRingAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; const union AffineAnimCmd gUnknown_08595188[] = @@ -284,7 +284,7 @@ const union AffineAnimCmd *const gUnknown_085951BC[] = gUnknown_085951A8, }; -const struct SpriteTemplate gUnknown_085951C0 = +const struct SpriteTemplate gHydroCannonChargeSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, @@ -292,10 +292,10 @@ const struct SpriteTemplate gUnknown_085951C0 = .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_085951B8, - .callback = sub_8107730, + .callback = AnimHydroCannonCharge, }; -const struct SpriteTemplate gUnknown_085951D8 = +const struct SpriteTemplate gHydroCannonBeamSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, @@ -303,7 +303,7 @@ const struct SpriteTemplate gUnknown_085951D8 = .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_085951BC, - .callback = sub_81077C0, + .callback = AnimHydroCannonBeam, }; const union AnimCmd gUnknown_085951F0[] = @@ -352,16 +352,16 @@ const struct SpriteTemplate gUnknown_08595220 = const struct SpriteTemplate gSmallBubblePairSpriteTemplate = { - .tileTag = ANIM_TAG_ICE_CRYSTALS, + .tileTag = ANIM_TAG_ICE_CRYSTALS, // Little confusing. ice_crystals_4, which are basically bubbles. TODO: rename? .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AB8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81078D0, + .callback = AnimSmallBubblePair, }; -const struct SpriteTemplate gUnknown_08595250 = +const struct SpriteTemplate gSmallDriftingBubblesSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, @@ -721,7 +721,8 @@ _081075DE:\n\ } #endif -void sub_81075EC(struct Sprite *sprite) +// For animating undulating beam attacks (e.g. Flamethrower, Hydro Pump, Signal Beam) +static void AnimToTargetInSinWave(struct Sprite *sprite) { u16 retArg; @@ -764,21 +765,22 @@ void sub_8107674(struct Sprite *sprite) } } -void sub_81076C8(u8 taskId) +void AnimTask_StartSinAnimTimer(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; gBattleAnimArgs[ARG_RET_ID] = 0; - gTasks[taskId].func = sub_81076F4; + gTasks[taskId].func = AnimTask_RunSinAnimTimer; } -void sub_81076F4(u8 taskId) +static void AnimTask_RunSinAnimTimer(u8 taskId) { gBattleAnimArgs[ARG_RET_ID] = (gBattleAnimArgs[ARG_RET_ID] + 3) & 0xFF; if (--gTasks[taskId].data[0] == 0) DestroyAnimVisualTask(taskId); } -void sub_8107730(struct Sprite *sprite) +// Flashing blue orbs grow in size near the attacker. First stage of Hydro Cannon +static void AnimHydroCannonCharge(struct Sprite *sprite) { u8 priority; @@ -804,16 +806,17 @@ void sub_8107730(struct Sprite *sprite) sprite->pos2.x = -10; sprite->subpriority = priority + 2; } - sprite->callback = sub_81077A4; + sprite->callback = AnimWaitForHydroCannonChargeEnd; } -void sub_81077A4(struct Sprite *sprite) +static void AnimWaitForHydroCannonChargeEnd(struct Sprite *sprite) { if (sprite->affineAnimEnded) DestroyAnimSprite(sprite); } -void sub_81077C0(struct Sprite *sprite) +// Flashing blue orbs move from the attacker to the target. Second stage of Hydro Cannon +static void AnimHydroCannonBeam(struct Sprite *sprite) { bool8 animType; u8 coordType; @@ -851,9 +854,9 @@ void sub_8107894(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_81078D0(struct Sprite *sprite) +static void AnimSmallBubblePair(struct Sprite *sprite) { - if (gBattleAnimArgs[3]) + if (gBattleAnimArgs[3] != ANIM_ATTACKER) InitSpritePosToAnimTarget(sprite, TRUE); else InitSpritePosToAnimAttacker(sprite, TRUE); @@ -1719,17 +1722,17 @@ void sub_810862C(u8 taskId) } if (task->data[10] != 0 && task->data[13] == 0) { - gBattleAnimArgs[0] = 1; + gBattleAnimArgs[0] = ANIM_TARGET; gBattleAnimArgs[1] = 0; gBattleAnimArgs[2] = 12; - taskId2 = CreateTask(sub_81152DC, 80); + taskId2 = CreateTask(AnimTask_HorizontalShake, 80); if (taskId2 != 0xFF) { gTasks[taskId2].func(taskId2); gAnimVisualTaskCount++; } - gBattleAnimArgs[0] = 3; - taskId2 = CreateTask(sub_81152DC, 80); + gBattleAnimArgs[0] = ANIM_DEF_PARTNER; + taskId2 = CreateTask(AnimTask_HorizontalShake, 80); if (taskId2 != 0xFF) { gTasks[taskId2].func(taskId2); |