summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_anim_effects_1.c4
-rw-r--r--src/battle_anim_effects_2.c18
-rw-r--r--src/battle_anim_effects_3.c4
-rw-r--r--src/battle_anim_mon_movement.c10
-rw-r--r--src/battle_anim_mons.c8
-rw-r--r--src/battle_anim_sound_tasks.c14
-rw-r--r--src/battle_anim_special.c24
-rw-r--r--src/battle_anim_status_effects.c8
-rw-r--r--src/battle_anim_utility_funcs.c26
-rw-r--r--src/bg.c8
-rw-r--r--src/bug.c86
-rw-r--r--src/dark.c116
-rw-r--r--src/dragon.c94
-rw-r--r--src/electric.c248
-rw-r--r--src/fighting.c236
-rw-r--r--src/fire.c221
-rw-r--r--src/flying.c192
-rw-r--r--src/ghost.c116
-rw-r--r--src/graphics.c13
-rw-r--r--src/ground.c46
-rw-r--r--src/help_message.c1
-rw-r--r--src/help_system.c1
-rw-r--r--src/ice.c213
-rw-r--r--src/librfu_rfu.c57
-rw-r--r--src/normal.c128
-rw-r--r--src/poison.c108
-rw-r--r--src/psychic.c204
-rw-r--r--src/rock.c182
-rw-r--r--src/water.c2229
29 files changed, 3423 insertions, 1192 deletions
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c
index d1f75ff8f..4fd58b19e 100644
--- a/src/battle_anim_effects_1.c
+++ b/src/battle_anim_effects_1.c
@@ -2767,7 +2767,7 @@ static void AnimConstrictBindingStep2(struct Sprite* sprite)
}
}
-void sub_80A2F0C(u8 taskId)
+void AnimTask_ShrinkTargetCopy(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
@@ -3605,7 +3605,7 @@ static void AnimFlyingParticleStep(struct Sprite* sprite)
DestroySpriteAndMatrix(sprite);
}
-void sub_80A41C4(u8 taskId)
+void AnimTask_CycleMagicalLeafPal(u8 taskId)
{
struct Task* task = &gTasks[taskId];
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index 94423bab9..563e3ffc2 100644
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -32,7 +32,7 @@ static void AnimTask_SplashStep(u8);
static void AnimTask_GrowAndShrinkStep(u8);
static void ThrashMoveMonStep(u8);
static void ThrashMoveMon(u8);
-static void AnimTask_SketchDrawMon(u8);
+static void AnimTask_SketchDrawMon_Step(u8);
static void AnimPencil_Step(struct Sprite *);
static void AnimSoftBoiledEgg_Step1(struct Sprite *);
static void AnimSoftBoiledEgg_Step2(struct Sprite *);
@@ -115,7 +115,7 @@ static const struct SpriteTemplate sUnknown_83E3B30 =
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7910,
+ .affineAnims = gAffineAnims_Bite,
.callback = sub_80A7020,
};
@@ -2347,7 +2347,7 @@ static void ThrashMoveMon(u8 taskId)
}
}
-void sub_80A8874(u8 taskId)
+void AnimTask_SketchDrawMon(u8 taskId)
{
struct Task* task = &gTasks[taskId];
struct ScanlineEffectParams params;
@@ -2385,10 +2385,10 @@ void sub_80A8874(u8 taskId)
params.initState = 1;
params.unused9 = 0;
ScanlineEffect_SetParams(params);
- task->func = AnimTask_SketchDrawMon;
+ task->func = AnimTask_SketchDrawMon_Step;
}
-static void AnimTask_SketchDrawMon(u8 taskId)
+static void AnimTask_SketchDrawMon_Step(u8 taskId)
{
struct Task* task = &gTasks[taskId];
@@ -2983,7 +2983,7 @@ void AnimSpeedDust(struct Sprite *sprite)
}
}
-void sub_80A96B4(u8 taskId)
+void AnimTask_LoadMusicNotesPals(u8 taskId)
{
int i;
u8 paletteNums[3];
@@ -3001,7 +3001,7 @@ void sub_80A96B4(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80A9760(u8 taskId)
+void AnimTask_FreeMusicNotesPals(u8 taskId)
{
int i;
@@ -3101,7 +3101,7 @@ static void FakeOutStep2(u8 taskId)
}
}
-void sub_80A9A20(u8 taskId)
+void AnimTask_StretchTargetUp(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
@@ -3122,7 +3122,7 @@ void sub_80A9A20(u8 taskId)
}
}
-void sub_80A9AB0(u8 taskId)
+void AnimTask_StretchAttackerUp(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index e9bfb2618..c60f51c31 100644
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -3571,7 +3571,7 @@ static void sub_80E1AD8(u8 taskId)
}
}
-void sub_80E1C48(u8 taskId)
+void AnimTask_SlideMonForFocusBand(u8 taskId)
{
gTasks[taskId].data[15] = gBattlerSpriteIds[gBattleAnimAttacker];
gTasks[taskId].data[14] = gBattleAnimArgs[0];
@@ -3751,7 +3751,7 @@ static void AnimTask_FacadeColorBlendStep(u8 taskId)
}
}
-void sub_80E2084(u8 taskId)
+void AnimTask_StatusClearedEffect(u8 taskId)
{
sub_80BBA20(taskId, 0, 0x1A0, gBattleAnimAttacker, gBattleAnimArgs[0], 10, 2, 30, gCureBubblesGfx, gCureBubblesTilemap, gCureBubblesPal);
}
diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c
index 8ed996993..5045f26ed 100644
--- a/src/battle_anim_mon_movement.c
+++ b/src/battle_anim_mon_movement.c
@@ -73,7 +73,7 @@ const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate =
.callback = SlideMonToOffset,
};
-const struct SpriteTemplate gUnknown_83D4EB4 =
+const struct SpriteTemplate gSlideMonToOffsetAndBackSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
@@ -620,7 +620,7 @@ static void AnimTask_WindUpLungePart2(u8 taskId)
}
}
-void sub_80995FC(u8 taskId)
+void AnimTask_SlideOffScreen(u8 taskId)
{
u8 spriteId;
@@ -772,7 +772,7 @@ static void AnimTask_ScaleMonAndRestoreStep(u8 taskId)
}
}
-void sub_8099980(u8 taskId)
+void AnimTask_RotateMonSpriteToSide(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]);
PrepareBattlerSpriteForRotScale(spriteId, 0);
@@ -805,7 +805,7 @@ void sub_8099980(u8 taskId)
gTasks[taskId].func = sub_8099B54;
}
-void sub_8099A78(u8 taskId)
+void AnimTask_RotateMonToSideAndRestore(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]);
PrepareBattlerSpriteForRotScale(spriteId, 0);
@@ -866,7 +866,7 @@ static void sub_8099B54(u8 taskId)
}
}
-void sub_8099BD4(u8 taskId)
+void AnimTask_ShakeTargetBasedOnMovePowerOrDmg(u8 taskId)
{
if (gBattleAnimArgs[0] == 0)
{
diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c
index 741fdf312..036e1b052 100644
--- a/src/battle_anim_mons.c
+++ b/src/battle_anim_mons.c
@@ -1466,7 +1466,7 @@ void obj_delete_but_dont_free_vram(struct Sprite *sprite)
DestroySprite(sprite);
}
-void sub_8076048(u8 taskId)
+void AnimTask_AlphaFadeIn(u8 taskId)
{
s16 v1 = 0, v2 = 0;
@@ -1584,7 +1584,7 @@ static void AnimTask_BlendMonInAndOutStep(u8 taskId)
}
}
-void sub_8076288(u8 taskId)
+void AnimTask_BlendPalInAndOutByTag(u8 taskId)
{
u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
@@ -2117,7 +2117,7 @@ void sub_8076FD0(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_8077030(u8 taskId)
+void AnimTask_AttackerPunchWithTrace(u8 taskId)
{
u16 src;
u16 dest;
@@ -2225,7 +2225,7 @@ static void sub_80772F4(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_8077350(struct Sprite *sprite)
+void AnimWeatherBallDown(struct Sprite *sprite)
{
s32 x;
diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c
index a820667fb..ee99b75a6 100644
--- a/src/battle_anim_sound_tasks.c
+++ b/src/battle_anim_sound_tasks.c
@@ -66,7 +66,7 @@ static void sub_80DCEE4(u8 taskId)
}
}
-void mas_80DCF38(u8 taskId)
+void SoundTask_LoopSEAdjustPanning(u8 taskId)
{
u16 songId = gBattleAnimArgs[0];
s8 targetPan = gBattleAnimArgs[2];
@@ -116,7 +116,7 @@ static void sub_80DCFE8(u8 taskId)
}
}
-void sub_80DD06C(u8 taskId)
+void SoundTask_PlayCryHighPitch(u8 taskId)
{
u16 species = SPECIES_NONE;
u8 battlerId;
@@ -147,7 +147,7 @@ void sub_80DD06C(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80DD148(u8 taskId)
+void SoundTask_PlayDoubleCry(u8 taskId)
{
u16 species = SPECIES_NONE;
u8 battlerId;
@@ -214,7 +214,7 @@ static void sub_80DD270(u8 taskId)
}
}
-void sub_80DD2F4(u8 taskId)
+void SoundTask_WaitForCry(u8 taskId)
{
if (gTasks[taskId].data[9] < 2)
++gTasks[taskId].data[9];
@@ -259,7 +259,7 @@ static void sub_80DD390(u8 taskId)
}
}
-void sub_80DD3DC(u8 taskId)
+void SoundTask_PlaySE1WithPanning(u8 taskId)
{
u16 songId = gBattleAnimArgs[0];
s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]);
@@ -268,7 +268,7 @@ void sub_80DD3DC(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80DD410(u8 taskId)
+void SoundTask_PlaySE2WithPanning(u8 taskId)
{
u16 songId = gBattleAnimArgs[0];
s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]);
@@ -277,7 +277,7 @@ void sub_80DD410(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80DD444(u8 taskId)
+void SoundTask_AdjustPanningVar(u8 taskId)
{
s8 targetPan = gBattleAnimArgs[1];
s8 panIncrement = gBattleAnimArgs[2];
diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c
index c753f5dc4..677090a65 100644
--- a/src/battle_anim_special.c
+++ b/src/battle_anim_special.c
@@ -397,7 +397,7 @@ static const union AnimCmd *const sSpriteAnimTable_840C20C[] =
sUnknown_840C204,
};
-const struct SpriteTemplate gUnknown_840C210 =
+const struct SpriteTemplate gSafariRockTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
@@ -534,7 +534,7 @@ void sub_80EEFC8(u8 *paletteId1, u8 *paletteId2, u8 battler)
gSprites[spriteId2].oam.paletteNum = *paletteId2;
}
-void sub_80EF0B4(u8 taskId)
+void AnimTask_LoadHealthboxPalsForLevelUp(u8 taskId)
{
u8 paletteId1, paletteId2;
@@ -560,13 +560,13 @@ void sub_80EF0E0(u8 battler)
gSprites[spriteId2].oam.paletteNum = paletteId2;
}
-void sub_80EF180(u8 taskId)
+void AnimTask_FreeHealthboxPalsForLevelUp(u8 taskId)
{
sub_80EF0E0(gBattleAnimAttacker);
DestroyAnimVisualTask(taskId);
}
-void sub_80EF1A0(u8 taskId)
+void AnimTask_FlashHealthboxOnLevelUp(u8 taskId)
{
gTasks[taskId].data[10] = gBattleAnimArgs[0];
gTasks[taskId].data[11] = gBattleAnimArgs[1];
@@ -610,7 +610,7 @@ static void sub_80EF1CC(u8 taskId)
}
}
-void sub_80EF298(u8 taskId)
+void AnimTask_SwitchOutShrinkMon(u8 taskId)
{
u8 spriteId;
@@ -637,7 +637,7 @@ void sub_80EF298(u8 taskId)
}
}
-void sub_80EF344(u8 taskId)
+void AnimTask_SwitchOutBallEffect(u8 taskId)
{
u8 spriteId;
u16 ball;
@@ -672,7 +672,7 @@ void sub_80EF344(u8 taskId)
}
}
-void sub_80EF490(u8 taskId)
+void AnimTask_LoadBallGfx(u8 taskId)
{
u8 ballId = ItemIdToBallId(gLastUsedItem);
@@ -680,7 +680,7 @@ void sub_80EF490(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80EF4B8(u8 taskId)
+void AnimTask_FreeBallGfx(u8 taskId)
{
u8 ballId = ItemIdToBallId(gLastUsedItem);
@@ -738,7 +738,7 @@ u8 ItemIdToBallId(u16 ballItem)
}
}
-void sub_80EF5AC(u8 taskId)
+void AnimTask_ThrowBall(u8 taskId)
{
u8 ballId;
u8 spriteId;
@@ -762,7 +762,7 @@ static void sub_80EF698(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80EF6D4(u8 taskId)
+void AnimTask_ThrowBallSpecial(u8 taskId)
{
int x, y;
u8 ballId;
@@ -1942,7 +1942,7 @@ static void sub_80F13C0(u8 taskId)
}
}
-void sub_80F1420(u8 taskId)
+void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId)
{
u8 spriteId;
u32 x;
@@ -2000,7 +2000,7 @@ void sub_80F1420(u8 taskId)
}
}
-void sub_80F15C8(u8 taskId)
+void AnimTask_SubstituteFadeToInvisible(u8 taskId)
{
u8 spriteId;
diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c
index 4eb475a5c..23dc0461e 100644
--- a/src/battle_anim_status_effects.c
+++ b/src/battle_anim_status_effects.c
@@ -68,7 +68,7 @@ static const union AnimCmd *const sSpriteAnimTable_83BF430[] =
sUnknown_83BF428
};
-const struct SpriteTemplate gSpriteTemplate_83BF434 =
+const struct SpriteTemplate gWeatherBallUpSpriteTemplate =
{
.tileTag = ANIM_TAG_WEATHER_BALL,
.paletteTag = ANIM_TAG_WEATHER_BALL,
@@ -79,7 +79,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF434 =
.callback = sub_807729C,
};
-const struct SpriteTemplate gSpriteTemplate_83BF44C =
+const struct SpriteTemplate gWeatherBallNormalDownSpriteTemplate =
{
.tileTag = ANIM_TAG_WEATHER_BALL,
.paletteTag = ANIM_TAG_WEATHER_BALL,
@@ -87,7 +87,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF44C =
.anims = sSpriteAnimTable_83BF430,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8077350,
+ .callback = AnimWeatherBallDown,
};
static const union AnimCmd sUnknown_83BF464[] =
@@ -343,7 +343,7 @@ static void sub_8078380(struct Sprite *sprite)
}
}
-void sub_80783FC(u8 taskId)
+void AnimTask_FrozenIceCube(u8 taskId)
{
s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32;
s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) - 36;
diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c
index a1897b94a..489198ed4 100644
--- a/src/battle_anim_utility_funcs.c
+++ b/src/battle_anim_utility_funcs.c
@@ -577,7 +577,7 @@ static void sub_80BB4B8(u8 taskId)
}
}
-void sub_80BB660(u8 taskId)
+void AnimTask_Flash(u8 taskId)
{
u32 selectedPalettes = SelectBattlerSpritePalettes(1, 1, 1, 1);
@@ -646,7 +646,7 @@ static void sub_80BB790(u32 selectedPalettes, u16 color)
gPlttBufferFaded[curOffset] = color;
}
-void sub_80BB7DC(u8 taskId)
+void AnimTask_BlendNonAttackerPalettes(u8 taskId)
{
s32 j;
u32 battler, selectedPalettes = 0;
@@ -659,7 +659,7 @@ void sub_80BB7DC(u8 taskId)
StartBlendAnimSpriteColor(taskId, selectedPalettes);
}
-void sub_80BB82C(u8 taskId)
+void AnimTask_StartSlidingBg(u8 taskId)
{
u8 newTaskId;
@@ -712,7 +712,7 @@ void AnimTask_GetTargetIsAttackerPartner(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80BB9B0(u8 taskId)
+void AnimTask_SetAllNonAttackersInvisiblity(u8 taskId)
{
u16 battler;
@@ -837,19 +837,19 @@ void AnimTask_GetBattleTerrain(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80BBE10(u8 taskId)
+void AnimTask_AllocBackupPalBuffer(u8 taskId)
{
gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000);
DestroyAnimVisualTask(taskId);
}
-void sub_80BBE3C(u8 taskId)
+void AnimTask_FreeBackupPalBuffer(u8 taskId)
{
FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C);
DestroyAnimVisualTask(taskId);
}
-void sub_80BBE6C(u8 taskId)
+void AnimTask_CopyPalUnfadedToBackup(u8 taskId)
{
u32 selectedPalettes;
s32 paletteIndex = 0;
@@ -867,7 +867,7 @@ void sub_80BBE6C(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80BBF08(u8 taskId)
+void AnimTask_CopyPalUnfadedFromBackup(u8 taskId)
{
u32 selectedPalettes;
s32 paletteIndex = 0;
@@ -885,7 +885,7 @@ void sub_80BBF08(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80BBFA4(u8 taskId)
+void AnimTask_CopyPalFadedToUnfaded(u8 taskId)
{
u32 selectedPalettes;
s32 paletteIndex = 0;
@@ -912,7 +912,7 @@ void AnimTask_IsContest(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80BC060(u8 taskId)
+void AnimTask_SetAnimAttackerAndTargetForEffectTgt(u8 taskId)
{
gBattleAnimAttacker = gBattlerTarget;
gBattleAnimTarget = gEffectBattler;
@@ -928,20 +928,20 @@ void AnimTask_IsTargetSameSide(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80BC0DC(u8 taskId)
+void AnimTask_SetAnimTargetToBattlerTarget(u8 taskId)
{
gBattleAnimTarget = gBattlerTarget;
DestroyAnimVisualTask(taskId);
}
-void sub_80BC0FC(u8 taskId)
+void AnimTask_SetAnimAttackerAndTargetForEffectAtk(u8 taskId)
{
gBattleAnimAttacker = gBattlerAttacker;
gBattleAnimTarget = gEffectBattler;
DestroyAnimVisualTask(taskId);
}
-void sub_80BC12C(u8 taskId)
+void AnimTask_SetAttackerInvisibleWaitForSignal(u8 taskId)
{
if (IsContest())
{
diff --git a/src/bg.c b/src/bg.c
index 598f402af..5db690332 100644
--- a/src/bg.c
+++ b/src/bg.c
@@ -1,3 +1,4 @@
+#include <limits.h>
#include "global.h"
#include "bg.h"
#include "dma3.h"
@@ -1136,20 +1137,19 @@ void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s
{
u16 var;
- if (palette1 == 16)
- goto CASE_16;
switch (palette1)
{
- case 0 ... 16:
+ case 0 ... 15:
var = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12);
break;
- CASE_16:
+ case 16:
var = *dest;
var &= 0xFC00;
var += palette2 << 12;
var |= (*src + tileOffset) & 0x3FF;
break;
default:
+ case 17 ... INT_MAX:
var = *src + tileOffset + (palette2 << 12);
break;
}
diff --git a/src/bug.c b/src/bug.c
index e3bcb68ab..6e6b8f400 100644
--- a/src/bug.c
+++ b/src/bug.c
@@ -3,90 +3,90 @@
#include "gpu_regs.h"
#include "trig.h"
-static void sub_80B3FAC(struct Sprite *sprite);
-static void sub_80B407C(struct Sprite *sprite);
+static void AnimMegahornHorn(struct Sprite *sprite);
+static void AnimLeechLifeNeedle(struct Sprite *sprite);
static void AnimTranslateWebThread(struct Sprite *sprite);
-static void sub_80B41F8(struct Sprite *sprite);
-static void sub_80B42C0(struct Sprite *sprite);
+static void AnimStringWrap(struct Sprite *sprite);
+static void AnimSpiderWeb(struct Sprite *sprite);
static void AnimTranslateStinger(struct Sprite *sprite);
static void AnimMissileArc(struct Sprite *sprite);
-static void sub_80B45D8(struct Sprite *sprite);
+static void AnimTailGlowOrb(struct Sprite *sprite);
static void sub_80B41C0(struct Sprite *sprite);
static void sub_80B4274(struct Sprite *sprite);
static void sub_80B42E8(struct Sprite *sprite);
static void sub_80B4344(struct Sprite *sprite);
static void AnimMissileArcStep(struct Sprite *sprite);
-static const union AffineAnimCmd gUnknown_83E71E8[] =
+static const union AffineAnimCmd sAffineAnim_MegahornHorn_0[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 30, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E71F8[] =
+static const union AffineAnimCmd sAffineAnim_MegahornHorn_1[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E7208[] =
+static const union AffineAnimCmd sAffineAnim_MegahornHorn_2[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E7218[] =
+static const union AffineAnimCmd *const sAffineAnims_MegahornHorn[] =
{
- gUnknown_83E71E8,
- gUnknown_83E71F8,
- gUnknown_83E7208,
+ sAffineAnim_MegahornHorn_0,
+ sAffineAnim_MegahornHorn_1,
+ sAffineAnim_MegahornHorn_2,
};
-const struct SpriteTemplate gUnknown_83E7224 =
+const struct SpriteTemplate gMegahornHornSpriteTemplate =
{
.tileTag = ANIM_TAG_HORN_HIT_2,
.paletteTag = ANIM_TAG_HORN_HIT_2,
.oam = &gOamData_AffineDouble_ObjNormal_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7218,
- .callback = sub_80B3FAC,
+ .affineAnims = sAffineAnims_MegahornHorn,
+ .callback = AnimMegahornHorn,
};
-static const union AffineAnimCmd gUnknown_83E723C[] =
+static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E724C[] =
+static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E725C[] =
+static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_2[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E726C[] =
+static const union AffineAnimCmd *const sAffineAnims_LeechLifeNeedle[] =
{
- gUnknown_83E723C,
- gUnknown_83E724C,
- gUnknown_83E725C,
+ sAffineAnim_LeechLifeNeedle_0,
+ sAffineAnim_LeechLifeNeedle_1,
+ sAffineAnim_LeechLifeNeedle_2,
};
-const struct SpriteTemplate gUnknown_83E7278 =
+const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate =
{
.tileTag = ANIM_TAG_NEEDLE,
.paletteTag = ANIM_TAG_NEEDLE,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E726C,
- .callback = sub_80B407C,
+ .affineAnims = sAffineAnims_LeechLifeNeedle,
+ .callback = AnimLeechLifeNeedle,
};
const struct SpriteTemplate gWebThreadSpriteTemplate =
@@ -100,7 +100,7 @@ const struct SpriteTemplate gWebThreadSpriteTemplate =
.callback = AnimTranslateWebThread,
};
-const struct SpriteTemplate gUnknown_83E72A8 =
+const struct SpriteTemplate gStringWrapSpriteTemplate =
{
.tileTag = ANIM_TAG_STRING,
.paletteTag = ANIM_TAG_STRING,
@@ -108,19 +108,19 @@ const struct SpriteTemplate gUnknown_83E72A8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B41F8,
+ .callback = AnimStringWrap,
};
-static const union AffineAnimCmd gUnknown_83E72C0[] =
+static const union AffineAnimCmd sAffineAnim_SpiderWeb[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1),
AFFINEANIMCMD_JUMP(1),
};
-static const union AffineAnimCmd *const gUnknown_83E72D8[] =
+static const union AffineAnimCmd *const sAffineAnims_SpiderWeb[] =
{
- gUnknown_83E72C0,
+ sAffineAnim_SpiderWeb,
};
const struct SpriteTemplate gSpiderWebSpriteTemplate =
@@ -130,8 +130,8 @@ const struct SpriteTemplate gSpiderWebSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E72D8,
- .callback = sub_80B42C0,
+ .affineAnims = sAffineAnims_SpiderWeb,
+ .callback = AnimSpiderWeb,
};
const struct SpriteTemplate gLinearStingerSpriteTemplate =
@@ -167,7 +167,7 @@ const struct SpriteTemplate gIcicleSpearSpriteTemplate =
.callback = AnimMissileArc,
};
-static const union AffineAnimCmd gUnknown_83E733C[] =
+static const union AffineAnimCmd sAffineAnim_TailGlowOrb[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18),
@@ -178,23 +178,23 @@ static const union AffineAnimCmd gUnknown_83E733C[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E7374[] =
+static const union AffineAnimCmd *const sAffineAnims_TailGlowOrb[] =
{
- gUnknown_83E733C,
+ sAffineAnim_TailGlowOrb,
};
-const struct SpriteTemplate gUnknown_83E7378 =
+const struct SpriteTemplate gTailGlowOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7374,
- .callback = sub_80B45D8,
+ .affineAnims = sAffineAnims_TailGlowOrb,
+ .callback = AnimTailGlowOrb,
};
-static void sub_80B3FAC(struct Sprite *sprite)
+static void AnimMegahornHorn(struct Sprite *sprite)
{
if (IsContest())
{
@@ -219,7 +219,7 @@ static void sub_80B3FAC(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-static void sub_80B407C(struct Sprite *sprite)
+static void AnimLeechLifeNeedle(struct Sprite *sprite)
{
if (IsContest())
{
@@ -280,7 +280,7 @@ static void sub_80B41C0(struct Sprite *sprite)
sprite->data[6] = (sprite->data[6] + 13) & 0xFF;
}
-static void sub_80B41F8(struct Sprite *sprite)
+static void AnimStringWrap(struct Sprite *sprite)
{
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -306,7 +306,7 @@ static void sub_80B4274(struct Sprite *sprite)
}
}
-static void sub_80B42C0(struct Sprite *sprite)
+static void AnimSpiderWeb(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
@@ -445,7 +445,7 @@ static void AnimMissileArcStep(struct Sprite *sprite)
}
}
-static void sub_80B45D8(struct Sprite *sprite)
+static void AnimTailGlowOrb(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
diff --git a/src/dark.c b/src/dark.c
index d2e0996bd..86523f2f1 100644
--- a/src/dark.c
+++ b/src/dark.c
@@ -7,11 +7,11 @@
#include "util.h"
static void sub_80B7ACC(struct Sprite *sprite);
-static void sub_80B7BD4(struct Sprite *sprite);
-static void sub_80B7C88(struct Sprite *sprite);
-static void sub_80B86B0(struct Sprite *sprite);
-static void sub_80B7954(u8 taskId);
-static void sub_80B7A14(u8 taskId);
+static void AnimBite(struct Sprite *sprite);
+static void AnimTearDrop(struct Sprite *sprite);
+static void AnimClawSlash(struct Sprite *sprite);
+static void AnimTask_AttackerFadeToInvisible_Step(u8 taskId);
+static void AnimTask_AttackerFadeFromInvisible_Step(u8 taskId);
static void sub_80B7B48(struct Sprite *sprite);
static void sub_80B7C10(struct Sprite *sprite);
static void sub_80B7C50(struct Sprite *sprite);
@@ -33,120 +33,120 @@ const struct SpriteTemplate gUnknown_83E7878 =
.callback = sub_80B7ACC,
};
-static const union AffineAnimCmd gUnknown_83E7890[] =
+static const union AffineAnimCmd sAffineAnim_Bite_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E78A0[] =
+static const union AffineAnimCmd sAffineAnim_Bite_1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 32, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E78B0[] =
+static const union AffineAnimCmd sAffineAnim_Bite_2[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 64, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E78C0[] =
+static const union AffineAnimCmd sAffineAnim_Bite_3[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E78D0[] =
+static const union AffineAnimCmd sAffineAnim_Bite_4[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -128, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E78E0[] =
+static const union AffineAnimCmd sAffineAnim_Bite_5[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E78F0[] =
+static const union AffineAnimCmd sAffineAnim_Bite_6[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -64, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E7900[] =
+static const union AffineAnimCmd sAffineAnim_Bite_7[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -32, 1),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_83E7910[] =
+const union AffineAnimCmd *const gAffineAnims_Bite[] =
{
- gUnknown_83E7890,
- gUnknown_83E78A0,
- gUnknown_83E78B0,
- gUnknown_83E78C0,
- gUnknown_83E78D0,
- gUnknown_83E78E0,
- gUnknown_83E78F0,
- gUnknown_83E7900,
+ sAffineAnim_Bite_0,
+ sAffineAnim_Bite_1,
+ sAffineAnim_Bite_2,
+ sAffineAnim_Bite_3,
+ sAffineAnim_Bite_4,
+ sAffineAnim_Bite_5,
+ sAffineAnim_Bite_6,
+ sAffineAnim_Bite_7,
};
-const struct SpriteTemplate gUnknown_83E7930 =
+const struct SpriteTemplate gSharpTeethSpriteTemplate =
{
.tileTag = ANIM_TAG_SHARP_TEETH,
.paletteTag = ANIM_TAG_SHARP_TEETH,
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7910,
- .callback = sub_80B7BD4,
+ .affineAnims = gAffineAnims_Bite,
+ .callback = AnimBite,
};
-const struct SpriteTemplate gUnknown_83E7948 =
+const struct SpriteTemplate gClampJawSpriteTemplate =
{
.tileTag = ANIM_TAG_CLAMP,
.paletteTag = ANIM_TAG_CLAMP,
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7910,
- .callback = sub_80B7BD4,
+ .affineAnims = gAffineAnims_Bite,
+ .callback = AnimBite,
};
-static const union AffineAnimCmd gUnknown_83E7960[] =
+static const union AffineAnimCmd sAffineAnim_TearDrop_0[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, 80, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 8),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E7978[] =
+static const union AffineAnimCmd sAffineAnim_TearDrop_1[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, -80, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 8),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E7990[] =
+static const union AffineAnimCmd *const sAffineAnims_TearDrop[] =
{
- gUnknown_83E7960,
- gUnknown_83E7978,
+ sAffineAnim_TearDrop_0,
+ sAffineAnim_TearDrop_1,
};
-const struct SpriteTemplate gUnknown_83E7998 =
+const struct SpriteTemplate gTearDropSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7990,
- .callback = sub_80B7C88,
+ .affineAnims = sAffineAnims_TearDrop,
+ .callback = AnimTearDrop,
};
-static const union AnimCmd gUnknown_83E79B0[] =
+static const union AnimCmd sAnim_ClawSlash_0[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@@ -156,7 +156,7 @@ static const union AnimCmd gUnknown_83E79B0[] =
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E79C8[] =
+static const union AnimCmd sAnim_ClawSlash_1[] =
{
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
@@ -166,24 +166,24 @@ static const union AnimCmd gUnknown_83E79C8[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E79E0[] =
+static const union AnimCmd *const sAnims_ClawSlash[] =
{
- gUnknown_83E79B0,
- gUnknown_83E79C8,
+ sAnim_ClawSlash_0,
+ sAnim_ClawSlash_1,
};
-const struct SpriteTemplate gUnknown_83E79E8 =
+const struct SpriteTemplate gClawSlashSpriteTemplate =
{
.tileTag = ANIM_TAG_CLAW_SLASH,
.paletteTag = ANIM_TAG_CLAW_SLASH,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E79E0,
+ .anims = sAnims_ClawSlash,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B86B0,
+ .callback = AnimClawSlash,
};
-void sub_80B78E0(u8 taskId)
+void AnimTask_AttackerFadeToInvisible(u8 taskId)
{
s32 battler;
@@ -195,10 +195,10 @@ void sub_80B78E0(u8 taskId)
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
else
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2);
- gTasks[taskId].func = sub_80B7954;
+ gTasks[taskId].func = AnimTask_AttackerFadeToInvisible_Step;
}
-static void sub_80B7954(u8 taskId)
+static void AnimTask_AttackerFadeToInvisible_Step(u8 taskId)
{
u8 blendA = gTasks[taskId].data[1] >> 8;
u8 blendB = gTasks[taskId].data[1];
@@ -222,15 +222,15 @@ static void sub_80B7954(u8 taskId)
}
}
-void sub_80B79DC(u8 taskId)
+void AnimTask_AttackerFadeFromInvisible(u8 taskId)
{
gTasks[taskId].data[0] = gBattleAnimArgs[0];
gTasks[taskId].data[1] = BLDALPHA_BLEND(0, 16);
- gTasks[taskId].func = sub_80B7A14;
+ gTasks[taskId].func = AnimTask_AttackerFadeFromInvisible_Step;
SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1]);
}
-static void sub_80B7A14(u8 taskId)
+static void AnimTask_AttackerFadeFromInvisible_Step(u8 taskId)
{
u8 blendA = gTasks[taskId].data[1] >> 8;
u8 blendB = gTasks[taskId].data[1];
@@ -255,7 +255,7 @@ static void sub_80B7A14(u8 taskId)
}
}
-void sub_80B7A80(u8 taskId)
+void AnimTask_InitAttackerFadeFromInvisible(u8 taskId)
{
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
@@ -306,7 +306,7 @@ static void sub_80B7B48(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B7BD4(struct Sprite *sprite)
+static void AnimBite(struct Sprite *sprite)
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
@@ -337,7 +337,7 @@ static void sub_80B7C50(struct Sprite *sprite)
DestroySpriteAndMatrix(sprite);
}
-static void sub_80B7C88(struct Sprite *sprite)
+static void AnimTearDrop(struct Sprite *sprite)
{
u8 battler;
s8 xOffset;
@@ -385,7 +385,7 @@ static void sub_80B7D88(struct Sprite *sprite)
DestroySpriteAndMatrix(sprite);
}
-void sub_80B7DA4(u8 taskId)
+void AnimTask_MoveAttackerMementoShadow(u8 taskId)
{
struct ScanlineEffectParams scanlineParams;
struct BattleAnimBgData animBg;
@@ -502,7 +502,7 @@ static void sub_80B7F58(u8 taskId)
}
}
-void sub_80B8070(u8 taskId)
+void AnimTask_MoveTargetMementoShadow(u8 taskId)
{
struct BattleAnimBgData animBg;
struct ScanlineEffectParams scanlineParams;
@@ -724,7 +724,7 @@ static void sub_80B856C(u8 priority)
}
}
-void sub_80B85B8(u8 taskId)
+void AnimTask_InitMementoShadow(u8 taskId)
{
bool8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? TRUE : FALSE;
@@ -748,7 +748,7 @@ void sub_80B8664(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-static void sub_80B86B0(struct Sprite *sprite)
+static void AnimClawSlash(struct Sprite *sprite)
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
@@ -910,7 +910,7 @@ void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80B8B38(u8 taskId)
+void GetIsDoomDesireHitTurn(u8 taskId)
{
if (gAnimMoveTurn < 2)
gBattleAnimArgs[7] = 0;
diff --git a/src/dragon.c b/src/dragon.c
index d18cf25df..747efdb7c 100644
--- a/src/dragon.c
+++ b/src/dragon.c
@@ -5,10 +5,10 @@
#include "trig.h"
static void sub_80B725C(struct Sprite *sprite);
-static void sub_80B741C(struct Sprite *sprite);
-static void sub_80B73AC(struct Sprite *sprite);
-static void sub_80B7448(struct Sprite *sprite);
-static void sub_80B77E4(struct Sprite *sprite);
+static void AnimDragonFireToTarget(struct Sprite *sprite);
+static void AnimDragonRageFirePlume(struct Sprite *sprite);
+static void AnimDragonDanceOrb(struct Sprite *sprite);
+static void AnimOverheatFlame(struct Sprite *sprite);
static void sub_80B74D8(struct Sprite *sprite);
static void sub_80B76B0(u8 taskId);
static void sub_80B776C(struct Task *task);
@@ -31,7 +31,7 @@ static const union AnimCmd *const gUnknown_83E7728[] =
gUnknown_83E7710,
};
-const struct SpriteTemplate gUnknown_83E772C =
+const struct SpriteTemplate gOutrageFlameSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
@@ -42,7 +42,7 @@ const struct SpriteTemplate gUnknown_83E772C =
.callback = sub_80B725C,
};
-static const union AnimCmd gUnknown_83E7744[] =
+static const union AnimCmd sAnim_DragonBreathFire_0[] =
{
ANIMCMD_FRAME(16, 3),
ANIMCMD_FRAME(32, 3),
@@ -50,7 +50,7 @@ static const union AnimCmd gUnknown_83E7744[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd gUnknown_83E7754[] =
+static const union AnimCmd sAnim_DragonBreathFire_1[] =
{
ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(32, 3, .vFlip = TRUE, .hFlip = TRUE),
@@ -58,44 +58,44 @@ static const union AnimCmd gUnknown_83E7754[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E7764[] =
+static const union AnimCmd *const sAnims_DragonBreathFire[] =
{
- gUnknown_83E7744,
- gUnknown_83E7754,
+ sAnim_DragonBreathFire_0,
+ sAnim_DragonBreathFire_1,
};
-static const union AffineAnimCmd gUnknown_83E776C[] =
+static const union AffineAnimCmd sAffineAnim_DragonBreathFire_0[] =
{
AFFINEANIMCMD_FRAME(0x50, 0x50, 127, 0),
AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E7784[] =
+static const union AffineAnimCmd sAffineAnim_DragonBreathFire_1[] =
{
AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E779C[] =
+static const union AffineAnimCmd *const sAffineAnims_DragonBreathFire[] =
{
- gUnknown_83E776C,
- gUnknown_83E7784,
+ sAffineAnim_DragonBreathFire_0,
+ sAffineAnim_DragonBreathFire_1,
};
-const struct SpriteTemplate gUnknown_83E77A4 =
+const struct SpriteTemplate gDragonBreathFireSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
- .anims = gUnknown_83E7764,
+ .anims = sAnims_DragonBreathFire,
.images = NULL,
- .affineAnims = gUnknown_83E779C,
- .callback = sub_80B741C,
+ .affineAnims = sAffineAnims_DragonBreathFire,
+ .callback = AnimDragonFireToTarget,
};
-const union AnimCmd gUnknown_83E77BC[] =
+const union AnimCmd sAnim_DragonRageFirePlume[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@@ -105,23 +105,23 @@ const union AnimCmd gUnknown_83E77BC[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E77D4[] =
+static const union AnimCmd *const sAnims_DragonRageFirePlume[] =
{
- gUnknown_83E77BC,
+ sAnim_DragonRageFirePlume,
};
-const struct SpriteTemplate gUnknown_83E77D8 =
+const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate =
{
.tileTag = ANIM_TAG_FIRE_PLUME,
.paletteTag = ANIM_TAG_FIRE_PLUME,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E77D4,
+ .anims = sAnims_DragonRageFirePlume,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B73AC,
+ .callback = AnimDragonRageFirePlume,
};
-static const union AnimCmd gUnknown_83E77F0[] =
+static const union AnimCmd sAnim_DragonRageFire[] =
{
ANIMCMD_FRAME(16, 3),
ANIMCMD_FRAME(32, 3),
@@ -129,42 +129,42 @@ static const union AnimCmd gUnknown_83E77F0[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E7800[] =
+static const union AnimCmd *const sAnims_DragonRageFire[] =
{
- gUnknown_83E77F0,
- gUnknown_83E77F0,
+ sAnim_DragonRageFire,
+ sAnim_DragonRageFire,
};
-static const union AffineAnimCmd gUnknown_83E7808[] =
+static const union AffineAnimCmd sAffineAnim_DragonRageFire_0[] =
{
AFFINEANIMCMD_FRAME(0x64, 0x64, 127, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E7818[] =
+static const union AffineAnimCmd sAffineAnim_DragonRageFire_1[] =
{
AFFINEANIMCMD_FRAME(0x64, 0x64, 0, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E7828[] =
+static const union AffineAnimCmd *const sAffineAnims_DragonRageFire[] =
{
- gUnknown_83E7808,
- gUnknown_83E7818,
+ sAffineAnim_DragonRageFire_0,
+ sAffineAnim_DragonRageFire_1,
};
-const struct SpriteTemplate gUnknown_83E7830 =
+const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
- .anims = gUnknown_83E7800,
+ .anims = sAnims_DragonRageFire,
.images = NULL,
- .affineAnims = gUnknown_83E7828,
- .callback = sub_80B741C,
+ .affineAnims = sAffineAnims_DragonRageFire,
+ .callback = AnimDragonFireToTarget,
};
-const struct SpriteTemplate gUnknown_83E7848 =
+const struct SpriteTemplate gDragonDanceOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_HOLLOW_ORB,
.paletteTag = ANIM_TAG_HOLLOW_ORB,
@@ -172,10 +172,10 @@ const struct SpriteTemplate gUnknown_83E7848 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B7448,
+ .callback = AnimDragonDanceOrb,
};
-const struct SpriteTemplate gUnknown_83E7860 =
+const struct SpriteTemplate gOverheatFlameSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
@@ -183,7 +183,7 @@ const struct SpriteTemplate gUnknown_83E7860 =
.anims = gUnknown_83E7728,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B77E4,
+ .callback = AnimOverheatFlame,
};
static void sub_80B725C(struct Sprite *sprite)
@@ -235,7 +235,7 @@ static void sub_80B72F8(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
-static void sub_80B73AC(struct Sprite *sprite)
+static void AnimDragonRageFirePlume(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -253,14 +253,14 @@ static void sub_80B73AC(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
-static void sub_80B741C(struct Sprite *sprite)
+static void AnimDragonFireToTarget(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
StartSpriteAffineAnim(sprite, 1);
sub_80B72F8(sprite);
}
-static void sub_80B7448(struct Sprite *sprite)
+static void AnimDragonDanceOrb(struct Sprite *sprite)
{
u16 r5;
u16 r0;
@@ -319,7 +319,7 @@ static void sub_80B74D8(struct Sprite *sprite)
}
}
-void sub_80B75E0(u8 taskId)
+void AnimTask_DragonDanceWaver(u8 taskId)
{
struct ScanlineEffectParams sp;
struct Task *task = &gTasks[taskId];
@@ -404,7 +404,7 @@ static void sub_80B776C(struct Task *task)
task->data[5] = (task->data[5] + 9) & 0xFF;
}
-static void sub_80B77E4(struct Sprite *sprite)
+static void AnimOverheatFlame(struct Sprite *sprite)
{
s32 i, r6 = (gBattleAnimArgs[2] * 3) / 5;
diff --git a/src/electric.c b/src/electric.c
index 908ce60a4..d3fe25924 100644
--- a/src/electric.c
+++ b/src/electric.c
@@ -4,22 +4,22 @@
#include "sound.h"
#include "constants/songs.h"
-static void sub_80ADBEC(struct Sprite *sprite);
+static void AnimLightning(struct Sprite *sprite);
static void sub_80ADC58(struct Sprite *sprite);
static void sub_80ADCB8(struct Sprite *sprite);
static void sub_80ADD4C(struct Sprite *sprite);
-static void sub_80ADEB0(struct Sprite *sprite);
-static void sub_80AE000(struct Sprite *sprite);
-static void sub_80AE06C(struct Sprite *sprite);
-static void sub_80AE1A0(struct Sprite *sprite);
-static void sub_80AE420(struct Sprite *sprite);
-static void sub_80AE470(struct Sprite *sprite);
-static void sub_80AE71C(struct Sprite *sprite);
-static void sub_80AE774(struct Sprite *sprite);
-static void sub_80AE7DC(struct Sprite *sprite);
-static void sub_80AEC34(struct Sprite *sprite);
-static void sub_80AEC80(struct Sprite *sprite);
-static void sub_80AEF60(struct Sprite *sprite);
+static void AnimZapCannonSpark(struct Sprite *sprite);
+static void AnimThunderboltOrb(struct Sprite *sprite);
+static void AnimSparkElectricityFlashing(struct Sprite *sprite);
+static void AnimElectricity(struct Sprite *sprite);
+static void AnimElectricBoltSegment(struct Sprite *sprite);
+static void AnimThunderWave(struct Sprite *sprite);
+static void AnimGrowingChargeOrb(struct Sprite *sprite);
+static void AnimElectricPuff(struct Sprite *sprite);
+static void AnimVoltTackleOrbSlide(struct Sprite *sprite);
+static void AnimVoltTackleBolt(struct Sprite *sprite);
+static void AnimGrowingShockWaveOrb(struct Sprite *sprite);
+static void AnimShockWaveProgressingBolt(struct Sprite *sprite);
static void sub_80ADC3C(struct Sprite *sprite);
static void sub_80ADC9C(struct Sprite *sprite);
static void sub_80ADF38(struct Sprite *sprite);
@@ -34,7 +34,7 @@ static bool8 sub_80AEE74(struct Task *task, u8 taskId);
static bool8 sub_80AF058(struct Task *task, u8 taskId);
static void sub_80AF0C8(struct Sprite *sprite);
-static const union AnimCmd gUnknown_83E5F1C[] =
+static const union AnimCmd sAnim_Lightning[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@@ -44,20 +44,20 @@ static const union AnimCmd gUnknown_83E5F1C[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E5F34[] =
+static const union AnimCmd *const sAnims_Lightning[] =
{
- gUnknown_83E5F1C,
+ sAnim_Lightning,
};
-const struct SpriteTemplate gUnknown_83E5F38 =
+const struct SpriteTemplate gLightningSpriteTemplate =
{
.tileTag = ANIM_TAG_LIGHTNING,
.paletteTag = ANIM_TAG_LIGHTNING,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5F34,
+ .anims = sAnims_Lightning,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80ADBEC,
+ .callback = AnimLightning,
};
static const union AffineAnimCmd gUnknown_83E5F50[] =
@@ -111,7 +111,7 @@ const struct SpriteTemplate gUnknown_83E5FAC =
.callback = sub_80ADCB8,
};
-const struct SpriteTemplate gUnknown_83E5FC4 =
+const struct SpriteTemplate gSparkElectricitySpriteTemplate =
{
.tileTag = ANIM_TAG_SPARK_2,
.paletteTag = ANIM_TAG_SPARK_2,
@@ -122,7 +122,7 @@ const struct SpriteTemplate gUnknown_83E5FC4 =
.callback = sub_80ADD4C,
};
-const struct SpriteTemplate gUnknown_83E5FDC =
+const struct SpriteTemplate gZapCannonBallSpriteTemplate =
{
.tileTag = ANIM_TAG_BLACK_BALL_2,
.paletteTag = ANIM_TAG_BLACK_BALL_2,
@@ -133,29 +133,29 @@ const struct SpriteTemplate gUnknown_83E5FDC =
.callback = TranslateAnimSpriteToTargetMonLocation,
};
-static const union AffineAnimCmd gUnknown_83E5FF4[] =
+static const union AffineAnimCmd sAffineAnim_FlashingSpark[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd *const gUnknown_83E6004[] =
+static const union AffineAnimCmd *const sAffineAnims_FlashingSpark[] =
{
- gUnknown_83E5FF4,
+ sAffineAnim_FlashingSpark,
};
-const struct SpriteTemplate gUnknown_83E6008 =
+const struct SpriteTemplate gZapCannonSparkSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARK_2,
.paletteTag = ANIM_TAG_SPARK_2,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6004,
- .callback = sub_80ADEB0,
+ .affineAnims = sAffineAnims_FlashingSpark,
+ .callback = AnimZapCannonSpark,
};
-static const union AnimCmd gUnknown_83E6020[] =
+static const union AnimCmd sAnim_ThunderboltOrb[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(16, 6),
@@ -163,12 +163,12 @@ static const union AnimCmd gUnknown_83E6020[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E6030[] =
+static const union AnimCmd *const sAnims_ThunderboltOrb[] =
{
- gUnknown_83E6020,
+ sAnim_ThunderboltOrb,
};
-static const union AffineAnimCmd gUnknown_83E6034[] =
+static const union AffineAnimCmd sAffineAnim_ThunderboltOrb[] =
{
AFFINEANIMCMD_FRAME(0xE8, 0xE8, 0, 0),
AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 10),
@@ -176,31 +176,31 @@ static const union AffineAnimCmd gUnknown_83E6034[] =
AFFINEANIMCMD_JUMP(1),
};
-static const union AffineAnimCmd *const gUnknown_83E6054[] =
+static const union AffineAnimCmd *const sAffineAnims_ThunderboltOrb[] =
{
- gUnknown_83E6034,
+ sAffineAnim_ThunderboltOrb,
};
-const struct SpriteTemplate gUnknown_83E6058 =
+const struct SpriteTemplate gThunderboltOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_SHOCK_3,
.paletteTag = ANIM_TAG_SHOCK_3,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
- .anims = gUnknown_83E6030,
+ .anims = sAnims_ThunderboltOrb,
.images = NULL,
- .affineAnims = gUnknown_83E6054,
- .callback = sub_80AE000,
+ .affineAnims = sAffineAnims_ThunderboltOrb,
+ .callback = AnimThunderboltOrb,
};
-const struct SpriteTemplate gUnknown_83E6070 =
+const struct SpriteTemplate gSparkElectricityFlashingSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARK_2,
.paletteTag = ANIM_TAG_SPARK_2,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6004,
- .callback = sub_80AE06C,
+ .affineAnims = sAffineAnims_FlashingSpark,
+ .callback = AnimSparkElectricityFlashing,
};
const struct SpriteTemplate gElectricitySpriteTemplate =
@@ -211,10 +211,10 @@ const struct SpriteTemplate gElectricitySpriteTemplate =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AE1A0,
+ .callback = AnimElectricity,
};
-static const struct SpriteTemplate gUnknown_83E60A0 =
+static const struct SpriteTemplate sElectricBoltSegmentSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK,
@@ -222,10 +222,10 @@ static const struct SpriteTemplate gUnknown_83E60A0 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AE420,
+ .callback = AnimElectricBoltSegment,
};
-const struct SpriteTemplate gUnknown_83E60B8 =
+const struct SpriteTemplate gThunderWaveSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARK_H,
.paletteTag = ANIM_TAG_SPARK_H,
@@ -233,10 +233,10 @@ const struct SpriteTemplate gUnknown_83E60B8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AE470,
+ .callback = AnimThunderWave,
};
-static const s8 gUnknown_83E60D0[][2] =
+static const s8 sElectricChargingParticleCoordOffsets[][2] =
{
{ 58, -60},
{-56, -36},
@@ -256,7 +256,7 @@ static const s8 gUnknown_83E60D0[][2] =
{ 48, 48},
};
-static const union AnimCmd gUnknown_83E60F0[] =
+static const union AnimCmd sAnim_ElectricChargingParticles_0[] =
{
ANIMCMD_FRAME(3, 1),
ANIMCMD_FRAME(2, 1),
@@ -265,7 +265,7 @@ static const union AnimCmd gUnknown_83E60F0[] =
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E6104[] =
+static const union AnimCmd sAnim_ElectricChargingParticles_1[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(1, 5),
@@ -274,24 +274,24 @@ static const union AnimCmd gUnknown_83E6104[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6118[] =
+static const union AnimCmd *const sAnims_ElectricChargingParticles[] =
{
- gUnknown_83E60F0,
- gUnknown_83E6104,
+ sAnim_ElectricChargingParticles_0,
+ sAnim_ElectricChargingParticles_1,
};
-static const struct SpriteTemplate gUnknown_83E6120 =
+static const struct SpriteTemplate gElectricChargingParticlesSpriteTemplate =
{
.tileTag = ANIM_TAG_ELECTRIC_ORBS,
.paletteTag = ANIM_TAG_ELECTRIC_ORBS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
- .anims = gUnknown_83E6118,
+ .anims = sAnims_ElectricChargingParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
};
-static const union AffineAnimCmd gUnknown_83E6138[] =
+static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_0[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 60),
@@ -303,7 +303,7 @@ static const union AffineAnimCmd gUnknown_83E6138[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E6178[] =
+static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_1[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
@@ -313,7 +313,7 @@ static const union AffineAnimCmd gUnknown_83E6178[] =
AFFINEANIMCMD_JUMP(3),
};
-static const union AffineAnimCmd gUnknown_83E61A8[] =
+static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_2[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
@@ -321,25 +321,25 @@ static const union AffineAnimCmd gUnknown_83E61A8[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E61C8[] =
+static const union AffineAnimCmd *const sAffineAnims_GrowingElectricOrb[] =
{
- gUnknown_83E6138,
- gUnknown_83E6178,
- gUnknown_83E61A8,
+ sAffineAnim_GrowingElectricOrb_0,
+ sAffineAnim_GrowingElectricOrb_1,
+ sAffineAnim_GrowingElectricOrb_2,
};
-const struct SpriteTemplate gUnknown_83E61D4 =
+const struct SpriteTemplate gGrowingChargeOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E61C8,
- .callback = sub_80AE71C,
+ .affineAnims = sAffineAnims_GrowingElectricOrb,
+ .callback = AnimGrowingChargeOrb,
};
-static const union AnimCmd gUnknown_83E61EC[] =
+static const union AnimCmd sAnim_ElectricPuff[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@@ -348,99 +348,99 @@ static const union AnimCmd gUnknown_83E61EC[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6200[] =
+static const union AnimCmd *const sAnims_ElectricPuff[] =
{
- gUnknown_83E61EC,
+ sAnim_ElectricPuff,
};
-const struct SpriteTemplate gUnknown_83E6204 =
+const struct SpriteTemplate gElectricPuffSpriteTemplate =
{
.tileTag = ANIM_TAG_ELECTRICITY,
.paletteTag = ANIM_TAG_ELECTRICITY,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E6200,
+ .anims = sAnims_ElectricPuff,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AE774,
+ .callback = AnimElectricPuff,
};
-const struct SpriteTemplate gUnknown_83E621C =
+const struct SpriteTemplate gVoltTackleOrbSlideSpriteTemplate =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E61C8,
- .callback = sub_80AE7DC,
+ .affineAnims = sAffineAnims_GrowingElectricOrb,
+ .callback = AnimVoltTackleOrbSlide,
};
-static const union AnimCmd gUnknown_83E6234[] =
+static const union AnimCmd sAnim_VoltTackleBolt_0[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E623C[] =
+static const union AnimCmd sAnim_VoltTackleBolt_1[] =
{
ANIMCMD_FRAME(2, 3),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E6244[] =
+static const union AnimCmd sAnim_VoltTackleBolt_2[] =
{
ANIMCMD_FRAME(4, 3),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E624C[] =
+static const union AnimCmd sAnim_VoltTackleBolt_3[] =
{
ANIMCMD_FRAME(6, 3),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6254[] =
+static const union AnimCmd *const sAnims_VoltTackleBolt[] =
{
- gUnknown_83E6234,
- gUnknown_83E623C,
- gUnknown_83E6244,
- gUnknown_83E624C,
+ sAnim_VoltTackleBolt_0,
+ sAnim_VoltTackleBolt_1,
+ sAnim_VoltTackleBolt_2,
+ sAnim_VoltTackleBolt_3,
};
-static const union AffineAnimCmd gUnknown_83E6264[] =
+static const union AffineAnimCmd sAffineAnim_VoltTackleBolt[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6274[] =
+static const union AffineAnimCmd *const sAffineAnims_VoltTackleBolt[] =
{
- gUnknown_83E6264,
+ sAffineAnim_VoltTackleBolt,
};
-static const struct SpriteTemplate gUnknown_83E6278 =
+static const struct SpriteTemplate gVoltTackleBoltSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK,
.oam = &gOamData_AffineDouble_ObjNormal_8x16,
- .anims = gUnknown_83E6254,
+ .anims = sAnims_VoltTackleBolt,
.images = NULL,
- .affineAnims = gUnknown_83E6274,
- .callback = sub_80AEC34,
+ .affineAnims = sAffineAnims_VoltTackleBolt,
+ .callback = AnimVoltTackleBolt,
};
-const struct SpriteTemplate gUnknown_83E6290 =
+const struct SpriteTemplate gGrowingShockWaveOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E61C8,
- .callback = sub_80AEC80,
+ .affineAnims = sAffineAnims_GrowingElectricOrb,
+ .callback = AnimGrowingShockWaveOrb,
};
-static const struct SpriteTemplate gUnknown_83E62A8 =
+static const struct SpriteTemplate sShockWaveProgressingBoltSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK,
@@ -448,10 +448,10 @@ static const struct SpriteTemplate gUnknown_83E62A8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AEF60,
+ .callback = AnimShockWaveProgressingBolt,
};
-static void sub_80ADBEC(struct Sprite *sprite)
+static void AnimLightning(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos1.x -= gBattleAnimArgs[0];
@@ -555,7 +555,7 @@ static void sub_80ADD4C(struct Sprite *sprite)
sprite->callback = sub_80B1D3C;
}
-static void sub_80ADEB0(struct Sprite *sprite)
+static void AnimZapCannonSpark(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[0] = gBattleAnimArgs[3];
@@ -599,7 +599,7 @@ static void sub_80ADFB0(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80AE000(struct Sprite *sprite)
+static void AnimThunderboltOrb(struct Sprite *sprite)
{
if (IsContest() || GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
@@ -611,7 +611,7 @@ static void sub_80AE000(struct Sprite *sprite)
sprite->callback = sub_80ADFB0;
}
-static void sub_80AE06C(struct Sprite *sprite)
+static void AnimSparkElectricityFlashing(struct Sprite *sprite)
{
u8 battler;
@@ -644,7 +644,7 @@ static void sub_80AE130(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80AE1A0(struct Sprite *sprite)
+static void AnimElectricity(struct Sprite *sprite)
{
InitSpritePosToAnimTarget(sprite, FALSE);
sprite->oam.tileNum += gBattleAnimArgs[3] * 4;
@@ -657,7 +657,7 @@ static void sub_80AE1A0(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_80AE220(u8 taskId)
+void AnimTask_ElectricBolt(u8 taskId)
{
gTasks[taskId].data[0] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[0];
gTasks[taskId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[1];
@@ -692,30 +692,30 @@ static void sub_80AE278(u8 taskId)
{
case 0:
r12 *= 1;
- spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2);
+ spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2);
++r7;
break;
case 2:
r12 *= 2;
r8 += r2;
- spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2);
+ spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2);
++r7;
break;
case 4:
r12 *= 3;
r8 += r2 * 2;
- spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2);
+ spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2);
++r7;
break;
case 6:
r12 *= 4;
r8 += r2 * 3;
- spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2);
+ spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2);
++r7;
break;
case 8:
r12 *= 5;
- spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2);
+ spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2);
++r7;
break;
case 10:
@@ -731,7 +731,7 @@ static void sub_80AE278(u8 taskId)
++gTasks[taskId].data[10];
}
-static void sub_80AE420(struct Sprite *sprite)
+static void AnimElectricBoltSegment(struct Sprite *sprite)
{
if (!sprite->data[0])
{
@@ -747,13 +747,13 @@ static void sub_80AE420(struct Sprite *sprite)
DestroySprite(sprite);
}
-static void sub_80AE470(struct Sprite *sprite)
+static void AnimThunderWave(struct Sprite *sprite)
{
u8 spriteId;
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
- spriteId = CreateSprite(&gUnknown_83E60B8, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority);
+ spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority);
gSprites[spriteId].oam.tileNum += 8;
++gAnimVisualTaskCount;
gSprites[spriteId].callback = sub_80AE4F4;
@@ -771,7 +771,7 @@ static void sub_80AE4F4(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_80AE540(u8 taskId)
+void AnimTask_ElectricChargingParticles(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -807,13 +807,13 @@ static void sub_80AE5BC(u8 taskId)
u8 spriteId;
task->data[12] = 0;
- spriteId = CreateSprite(&gUnknown_83E6120, task->data[14], task->data[15], 2);
+ spriteId = CreateSprite(&gElectricChargingParticlesSpriteTemplate, task->data[14], task->data[15], 2);
if (spriteId != MAX_SPRITES)
{
struct Sprite *sprite = &gSprites[spriteId];
- sprite->pos1.x += gUnknown_83E60D0[task->data[9]][0];
- sprite->pos1.y += gUnknown_83E60D0[task->data[9]][1];
+ sprite->pos1.x += sElectricChargingParticleCoordOffsets[task->data[9]][0];
+ sprite->pos1.y += sElectricChargingParticleCoordOffsets[task->data[9]][1];
sprite->data[0] = 40 - task->data[8] * 5;
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = task->data[14];
@@ -857,7 +857,7 @@ static void sub_80AE704(struct Sprite *sprite)
sprite->callback = sub_80AE6D0;
}
-static void sub_80AE71C(struct Sprite *sprite)
+static void AnimGrowingChargeOrb(struct Sprite *sprite)
{
if (!gBattleAnimArgs[0])
{
@@ -873,7 +873,7 @@ static void sub_80AE71C(struct Sprite *sprite)
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
-static void sub_80AE774(struct Sprite *sprite)
+static void AnimElectricPuff(struct Sprite *sprite)
{
if (!gBattleAnimArgs[0])
{
@@ -891,7 +891,7 @@ static void sub_80AE774(struct Sprite *sprite)
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
-static void sub_80AE7DC(struct Sprite *sprite)
+static void AnimVoltTackleOrbSlide(struct Sprite *sprite)
{
StartSpriteAffineAnim(sprite, 1);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
@@ -920,7 +920,7 @@ static void sub_80AE83C(struct Sprite *sprite)
}
}
-void sub_80AE8A0(u8 taskId)
+void AnimTask_VoltTackleAttackerReappear(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -975,7 +975,7 @@ void sub_80AE8A0(u8 taskId)
}
}
-void sub_80AEA10(u8 taskId)
+void AnimTask_VoltTackleBolt(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1049,7 +1049,7 @@ void sub_80AEA10(u8 taskId)
static bool8 sub_80AEB98(struct Task *task, u8 taskId)
{
- u8 spriteId = CreateSprite(&gUnknown_83E6278, task->data[3], task->data[5], 35);
+ u8 spriteId = CreateSprite(&gVoltTackleBoltSpriteTemplate, task->data[3], task->data[5], 35);
if (spriteId != MAX_SPRITES)
{
@@ -1070,7 +1070,7 @@ static bool8 sub_80AEB98(struct Task *task, u8 taskId)
return FALSE;
}
-static void sub_80AEC34(struct Sprite *sprite)
+static void AnimVoltTackleBolt(struct Sprite *sprite)
{
if (++sprite->data[0] > 12)
{
@@ -1080,7 +1080,7 @@ static void sub_80AEC34(struct Sprite *sprite)
}
}
-static void sub_80AEC80(struct Sprite *sprite)
+static void AnimGrowingShockWaveOrb(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -1097,7 +1097,7 @@ static void sub_80AEC80(struct Sprite *sprite)
}
}
-void sub_80AECE0(u8 taskId)
+void AnimTask_ShockWaveProgressingBolt(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1174,7 +1174,7 @@ void sub_80AECE0(u8 taskId)
static bool8 sub_80AEE74(struct Task *task, u8 taskId)
{
- u8 spriteId = CreateSprite(&gUnknown_83E62A8, task->data[6], task->data[7], 35);
+ u8 spriteId = CreateSprite(&sShockWaveProgressingBoltSpriteTemplate, task->data[6], task->data[7], 35);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].oam.tileNum += task->data[4];
@@ -1206,7 +1206,7 @@ static bool8 sub_80AEE74(struct Task *task, u8 taskId)
}
}
-static void sub_80AEF60(struct Sprite *sprite)
+static void AnimShockWaveProgressingBolt(struct Sprite *sprite)
{
if (++sprite->data[0] > 12)
{
@@ -1215,7 +1215,7 @@ static void sub_80AEF60(struct Sprite *sprite)
}
}
-void sub_80AEFA0(u8 taskId)
+void AnimTask_ShockWaveLightning(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1247,7 +1247,7 @@ void sub_80AEFA0(u8 taskId)
static bool8 sub_80AF058(struct Task *task, u8 taskId)
{
- u8 spriteId = CreateSprite(&gUnknown_83E5F38, task->data[13], task->data[14], task->data[12]);
+ u8 spriteId = CreateSprite(&gLightningSpriteTemplate, task->data[13], task->data[14], task->data[12]);
if (spriteId != MAX_SPRITES)
{
diff --git a/src/fighting.c b/src/fighting.c
index fcfee5c54..ab477cd43 100644
--- a/src/fighting.c
+++ b/src/fighting.c
@@ -6,23 +6,23 @@
#include "trig.h"
static void unc_080B08A0(struct Sprite *sprite);
-static void sub_80B08DC(struct Sprite *sprite);
-static void sub_80B0928(struct Sprite *sprite);
+static void AnimSlideHandOrFootToTarget(struct Sprite *sprite);
+static void AnimJumpKick(struct Sprite *sprite);
static void AnimBasicFistOrFoot(struct Sprite *sprite);
-static void sub_80B09A4(struct Sprite *sprite);
-static void sub_80B0B80(struct Sprite *sprite);
-static void sub_80B0C28(struct Sprite *sprite);
+static void AnimFistOrFootRandomPos(struct Sprite *sprite);
+static void AnimCrossChopHand(struct Sprite *sprite);
+static void AnimSlidingKick(struct Sprite *sprite);
static void AnimSpinningKickOrPunch(struct Sprite *sprite);
static void AnimStompFoot(struct Sprite *sprite);
-static void sub_80B0DF0(struct Sprite *sprite);
-static void sub_80B0E80(struct Sprite *sprite);
-static void sub_80B0F68(struct Sprite *sprite);
-static void sub_80B107C(struct Sprite *sprite);
-static void sub_80B1188(struct Sprite *sprite);
-static void sub_80B12E8(struct Sprite *sprite);
-static void sub_80B13F8(struct Sprite *sprite);
-static void sub_80B1484(struct Sprite *sprite);
-static void sub_80B14F0(struct Sprite *sprite);
+static void AnimDizzyPunchDuck(struct Sprite *sprite);
+static void AnimBrickBreakWall(struct Sprite *sprite);
+static void AnimBrickBreakWallShard(struct Sprite *sprite);
+static void AnimSuperpowerOrb(struct Sprite *sprite);
+static void AnimSuperpowerRock(struct Sprite *sprite);
+static void AnimSuperpowerFireball(struct Sprite *sprite);
+static void AnimArmThrustHit(struct Sprite *sprite);
+static void AnimRevengeScratch(struct Sprite *sprite);
+static void AnimFocusPunchFist(struct Sprite *sprite);
static void sub_80B0B2C(struct Sprite *sprite);
static void sub_80B0BD8(struct Sprite *sprite);
static void sub_80B0CB4(struct Sprite *sprite);
@@ -46,73 +46,73 @@ const struct SpriteTemplate gUnknown_83E668C =
.callback = unc_080B08A0,
};
-static const union AnimCmd gUnknown_83E66A4[] =
+static const union AnimCmd sAnim_HandOrFoot[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E66AC[] =
+static const union AnimCmd sAnim_SlidingKick_0[] =
{
ANIMCMD_FRAME(16, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E66B4[] =
+static const union AnimCmd sAnim_SlidingKick_1[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E66BC[] =
+static const union AnimCmd sAnim_CrossChopHand_0[] =
{
ANIMCMD_FRAME(48, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E66C4[] =
+static const union AnimCmd sAnim_CrossChopHand_1[] =
{
ANIMCMD_FRAME(48, 1, .hFlip = TRUE),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E66CC[] =
+static const union AnimCmd *const sAnims_HandOrFoot[] =
{
- gUnknown_83E66A4,
+ sAnim_HandOrFoot,
};
-static const union AnimCmd *const gUnknown_83E66D0[] =
+static const union AnimCmd *const sAnims_SlidingKick[] =
{
- gUnknown_83E66AC,
- gUnknown_83E66B4,
+ sAnim_SlidingKick_0,
+ sAnim_SlidingKick_1,
};
-static const union AnimCmd *const gUnknown_83E66D8[] =
+static const union AnimCmd *const sAnims_CrossChopHand[] =
{
- gUnknown_83E66BC,
- gUnknown_83E66C4,
+ sAnim_CrossChopHand_0,
+ sAnim_CrossChopHand_1,
};
-const struct SpriteTemplate gUnknown_83E66E0 =
+const struct SpriteTemplate gKarateChopSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E66CC,
+ .anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B08DC,
+ .callback = AnimSlideHandOrFootToTarget,
};
-const struct SpriteTemplate gUnknown_83E66F8 =
+const struct SpriteTemplate gJumpKickSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E66CC,
+ .anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B0928,
+ .callback = AnimJumpKick,
};
const struct SpriteTemplate gFistFootSpriteTemplate =
@@ -120,78 +120,78 @@ const struct SpriteTemplate gFistFootSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E66CC,
+ .anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimBasicFistOrFoot,
};
-const struct SpriteTemplate gUnknown_83E6728 =
+const struct SpriteTemplate gFistFootRandomPosSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E66CC,
+ .anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B09A4,
+ .callback = AnimFistOrFootRandomPos,
};
-const struct SpriteTemplate gUnknown_83E6740 =
+const struct SpriteTemplate gCrossChopHandSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E66D8,
+ .anims = sAnims_CrossChopHand,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B0B80,
+ .callback = AnimCrossChopHand,
};
-const struct SpriteTemplate gUnknown_83E6758 =
+const struct SpriteTemplate gSlidingKickSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E66D0,
+ .anims = sAnims_SlidingKick,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B0C28,
+ .callback = AnimSlidingKick,
};
-static const union AffineAnimCmd gUnknown_83E6770[] =
+static const union AffineAnimCmd sAffineAnim_SpinningHandOrFoot[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(-0x8, -0x8, 20, 1),
AFFINEANIMCMD_JUMP(1),
};
-static const union AffineAnimCmd *const gUnknown_83E6788[] =
+static const union AffineAnimCmd *const sAffineAnims_SpinningHandOrFoot[] =
{
- gUnknown_83E6770,
+ sAffineAnim_SpinningHandOrFoot,
};
-const struct SpriteTemplate gUnknown_83E678C =
+const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
- .anims = gUnknown_83E66CC,
+ .anims = sAnims_HandOrFoot,
.images = NULL,
- .affineAnims = gUnknown_83E6788,
+ .affineAnims = sAffineAnims_SpinningHandOrFoot,
.callback = AnimSpinningKickOrPunch,
};
-static const union AffineAnimCmd gUnknown_83E67A4[] =
+static const union AffineAnimCmd sAffineAnim_MegaPunchKick[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(-0x4, -0x4, 20, 1),
AFFINEANIMCMD_JUMP(1),
};
-static const union AffineAnimCmd *const gUnknown_83E67BC[] =
+static const union AffineAnimCmd *const sAffineAnims_MegaPunchKick[] =
{
- gUnknown_83E67A4,
+ sAffineAnim_MegaPunchKick,
};
const struct SpriteTemplate gMegaPunchKickSpriteTemplate =
@@ -199,24 +199,24 @@ const struct SpriteTemplate gMegaPunchKickSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
- .anims = gUnknown_83E66CC,
+ .anims = sAnims_HandOrFoot,
.images = NULL,
- .affineAnims = gUnknown_83E67BC,
+ .affineAnims = sAffineAnims_MegaPunchKick,
.callback = AnimSpinningKickOrPunch,
};
-const struct SpriteTemplate gUnknown_83E67D8 =
+const struct SpriteTemplate gStompFootSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E66D0,
+ .anims = sAnims_SlidingKick,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimStompFoot,
};
-const struct SpriteTemplate gUnknown_83E67F0 =
+const struct SpriteTemplate gDizzyPunchDuckSpriteTemplate =
{
.tileTag = ANIM_TAG_DUCK,
.paletteTag = ANIM_TAG_DUCK,
@@ -224,10 +224,10 @@ const struct SpriteTemplate gUnknown_83E67F0 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B0DF0,
+ .callback = AnimDizzyPunchDuck,
};
-const struct SpriteTemplate gUnknown_83E6808 =
+const struct SpriteTemplate gBrickBreakWallSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_LIGHT_WALL,
.paletteTag = ANIM_TAG_BLUE_LIGHT_WALL,
@@ -235,10 +235,10 @@ const struct SpriteTemplate gUnknown_83E6808 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B0E80,
+ .callback = AnimBrickBreakWall,
};
-const struct SpriteTemplate gUnknown_83E6820 =
+const struct SpriteTemplate gBrickBreakWallShardSpriteTemplate =
{
.tileTag = ANIM_TAG_TORN_METAL,
.paletteTag = ANIM_TAG_TORN_METAL,
@@ -246,10 +246,10 @@ const struct SpriteTemplate gUnknown_83E6820 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B0F68,
+ .callback = AnimBrickBreakWallShard,
};
-static const union AffineAnimCmd gUnknown_83E6838[] =
+static const union AffineAnimCmd sAffineAnim_SuperpowerOrb[] =
{
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 64),
@@ -258,23 +258,23 @@ static const union AffineAnimCmd gUnknown_83E6838[] =
AFFINEANIMCMD_JUMP(2),
};
-static const union AffineAnimCmd *const gUnknown_83E6860[] =
+static const union AffineAnimCmd *const sAffineAnims_SuperpowerOrb[] =
{
- gUnknown_83E6838,
+ sAffineAnim_SuperpowerOrb,
};
-const struct SpriteTemplate gUnknown_83E6864 =
+const struct SpriteTemplate gSuperpowerOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6860,
- .callback = sub_80B107C,
+ .affineAnims = sAffineAnims_SuperpowerOrb,
+ .callback = AnimSuperpowerOrb,
};
-const struct SpriteTemplate gUnknown_83E687C =
+const struct SpriteTemplate gSuperpowerRockSpriteTemplate =
{
.tileTag = ANIM_TAG_FLAT_ROCK,
.paletteTag = ANIM_TAG_FLAT_ROCK,
@@ -282,10 +282,10 @@ const struct SpriteTemplate gUnknown_83E687C =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B1188,
+ .callback = AnimSuperpowerRock,
};
-const struct SpriteTemplate gUnknown_83E6894 =
+const struct SpriteTemplate gSuperpowerFireballSpriteTemplate =
{
.tileTag = ANIM_TAG_METEOR,
.paletteTag = ANIM_TAG_METEOR,
@@ -293,21 +293,21 @@ const struct SpriteTemplate gUnknown_83E6894 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B12E8,
+ .callback = AnimSuperpowerFireball,
};
-const struct SpriteTemplate gUnknown_83E68AC =
+const struct SpriteTemplate gArmThrustHandSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E66CC,
+ .anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B13F8,
+ .callback = AnimArmThrustHit,
};
-static const union AnimCmd gUnknown_83E68C4[] =
+static const union AnimCmd sAnim_RevengeSmallScratch_0[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@@ -315,7 +315,7 @@ static const union AnimCmd gUnknown_83E68C4[] =
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E68D4[] =
+static const union AnimCmd sAnim_RevengeSmallScratch_1[] =
{
ANIMCMD_FRAME(0, 4, .vFlip = TRUE),
ANIMCMD_FRAME(16, 4, .vFlip = TRUE),
@@ -323,7 +323,7 @@ static const union AnimCmd gUnknown_83E68D4[] =
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E68E4[] =
+static const union AnimCmd sAnim_RevengeSmallScratch_2[] =
{
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
@@ -331,84 +331,84 @@ static const union AnimCmd gUnknown_83E68E4[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E68F4[] =
+static const union AnimCmd *const sAnims_RevengeSmallScratch[] =
{
- gUnknown_83E68C4,
- gUnknown_83E68D4,
- gUnknown_83E68E4,
+ sAnim_RevengeSmallScratch_0,
+ sAnim_RevengeSmallScratch_1,
+ sAnim_RevengeSmallScratch_2,
};
-const struct SpriteTemplate gUnknown_83E6900 =
+const struct SpriteTemplate gRevengeSmallScratchSpriteTemplate =
{
.tileTag = ANIM_TAG_PURPLE_SCRATCH,
.paletteTag = ANIM_TAG_PURPLE_SCRATCH,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E68F4,
+ .anims = sAnims_RevengeSmallScratch,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B1484,
+ .callback = AnimRevengeScratch,
};
-static const union AnimCmd gUnknown_83E6918[] =
+static const union AnimCmd sAnim_RevengeBigScratch_0[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(64, 6),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E6924[] =
+static const union AnimCmd sAnim_RevengeBigScratch_1[] =
{
ANIMCMD_FRAME(0, 6, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(64, 6, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E6930[] =
+static const union AnimCmd sAnim_RevengeBigScratch_2[] =
{
ANIMCMD_FRAME(0, 6, .hFlip = TRUE),
ANIMCMD_FRAME(64, 6, .hFlip = TRUE),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E693C[] =
+static const union AnimCmd *const sAnims_RevengeBigScratch[] =
{
- gUnknown_83E6918,
- gUnknown_83E6924,
- gUnknown_83E6930,
+ sAnim_RevengeBigScratch_0,
+ sAnim_RevengeBigScratch_1,
+ sAnim_RevengeBigScratch_2,
};
-const struct SpriteTemplate gUnknown_83E6948 =
+const struct SpriteTemplate gRevengeBigScratchSpriteTemplate =
{
.tileTag = ANIM_TAG_PURPLE_SWIPE,
.paletteTag = ANIM_TAG_PURPLE_SWIPE,
.oam = &gOamData_AffineOff_ObjNormal_64x64,
- .anims = gUnknown_83E693C,
+ .anims = sAnims_RevengeBigScratch,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B1484,
+ .callback = AnimRevengeScratch,
};
-static const union AffineAnimCmd gUnknown_83E6960[] =
+static const union AffineAnimCmd sAffineAnim_FocusPunchFist[] =
{
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
AFFINEANIMCMD_FRAME(-0x20, -0x20, 0, 8),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6978[] =
+static const union AffineAnimCmd *const sAffineAnims_FocusPunchFist[] =
{
- gUnknown_83E6960,
+ sAffineAnim_FocusPunchFist,
};
-const struct SpriteTemplate gUnknown_83E697C =
+const struct SpriteTemplate gFocusPunchFistSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
- .anims = gUnknown_83E66CC,
+ .anims = sAnims_HandOrFoot,
.images = NULL,
- .affineAnims = gUnknown_83E6978,
- .callback = sub_80B14F0,
+ .affineAnims = sAffineAnims_FocusPunchFist,
+ .callback = AnimFocusPunchFist,
};
static void unc_080B08A0(struct Sprite *sprite)
@@ -420,7 +420,7 @@ static void unc_080B08A0(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-static void sub_80B08DC(struct Sprite *sprite)
+static void AnimSlideHandOrFootToTarget(struct Sprite *sprite)
{
if (gBattleAnimArgs[7] == 1 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
@@ -432,14 +432,14 @@ static void sub_80B08DC(struct Sprite *sprite)
AnimSnoreZ(sprite);
}
-static void sub_80B0928(struct Sprite *sprite)
+static void AnimJumpKick(struct Sprite *sprite)
{
if (IsContest())
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
}
- sub_80B08DC(sprite);
+ AnimSlideHandOrFootToTarget(sprite);
}
// Displays a basic fist or foot sprite for a given duration.
@@ -461,7 +461,7 @@ static void AnimBasicFistOrFoot(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-static void sub_80B09A4(struct Sprite *sprite)
+static void AnimFistOrFootRandomPos(struct Sprite *sprite)
{
u8 battler;
s16 xMod, yMod;
@@ -516,7 +516,7 @@ static void sub_80B0B2C(struct Sprite *sprite)
}
}
-static void sub_80B0B80(struct Sprite *sprite)
+static void AnimCrossChopHand(struct Sprite *sprite)
{
InitSpritePosToAnimTarget(sprite, TRUE);
sprite->data[0] = 30;
@@ -550,7 +550,7 @@ static void sub_80B0BD8(struct Sprite *sprite)
}
}
-static void sub_80B0C28(struct Sprite *sprite)
+static void AnimSlidingKick(struct Sprite *sprite)
{
if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget && GetBattlerPosition(gBattleAnimTarget) < B_POSITION_PLAYER_RIGHT)
gBattleAnimArgs[0] *= -1;
@@ -636,7 +636,7 @@ static void AnimStompFootEnd(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-static void sub_80B0DF0(struct Sprite *sprite)
+static void AnimDizzyPunchDuck(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -658,7 +658,7 @@ static void sub_80B0DF0(struct Sprite *sprite)
}
}
-static void sub_80B0E80(struct Sprite *sprite)
+static void AnimBrickBreakWall(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -709,7 +709,7 @@ static void sub_80B0EF0(struct Sprite *sprite)
}
}
-static void sub_80B0F68(struct Sprite *sprite)
+static void AnimBrickBreakWallShard(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -756,7 +756,7 @@ static void sub_80B1050(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B107C(struct Sprite *sprite)
+static void AnimSuperpowerOrb(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -792,7 +792,7 @@ static void sub_80B111C(struct Sprite *sprite)
}
}
-static void sub_80B1188(struct Sprite *sprite)
+static void AnimSuperpowerRock(struct Sprite *sprite)
{
sprite->pos1.x = gBattleAnimArgs[0];
sprite->pos1.y = 120;
@@ -847,7 +847,7 @@ static void sub_80B12A4(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B12E8(struct Sprite *sprite)
+static void AnimSuperpowerFireball(struct Sprite *sprite)
{
u8 battler;
@@ -884,7 +884,7 @@ static void sub_80B13D4(struct Sprite *sprite)
++sprite->data[0];
}
-static void sub_80B13F8(struct Sprite *sprite)
+static void AnimArmThrustHit(struct Sprite *sprite)
{
u8 turn;
@@ -908,7 +908,7 @@ static void sub_80B13F8(struct Sprite *sprite)
sprite->callback = sub_80B13D4;
}
-static void sub_80B1484(struct Sprite *sprite)
+static void AnimRevengeScratch(struct Sprite *sprite)
{
if (gBattleAnimArgs[2] == 0)
InitSpritePosToAnimAttacker(sprite, 0);
@@ -922,7 +922,7 @@ static void sub_80B1484(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-static void sub_80B14F0(struct Sprite *sprite)
+static void AnimFocusPunchFist(struct Sprite *sprite)
{
if (sprite->affineAnimEnded)
{
@@ -933,7 +933,7 @@ static void sub_80B14F0(struct Sprite *sprite)
}
}
-void sub_80B1530(u8 taskId)
+void AnimTask_MoveSkyUppercutBg(u8 taskId)
{
struct Task *task = &gTasks[taskId];
diff --git a/src/fire.c b/src/fire.c
index a5a2ee5f6..f0b3d4451 100644
--- a/src/fire.c
+++ b/src/fire.c
@@ -6,21 +6,21 @@
#include "trig.h"
#include "constants/songs.h"
-static void sub_80AC90C(struct Sprite *sprite);
-static void sub_80AC94C(struct Sprite *sprite);
-static void sub_80ACA00(struct Sprite *sprite);
-static void sub_80AC990(struct Sprite *sprite);
+static void AnimFireSpiralInward(struct Sprite *sprite);
+static void AnimFireSpread(struct Sprite *sprite);
+static void AnimLargeFlame(struct Sprite *sprite);
+static void AnimFirePlume(struct Sprite *sprite);
static void sub_80ACAA8(struct Sprite *sprite);
static void sub_80ACBB0(struct Sprite *sprite);
static void AnimEmberFlare(struct Sprite *sprite);
-static void sub_80ACC44(struct Sprite *sprite);
+static void AnimBurnFlame(struct Sprite *sprite);
static void AnimFireRing(struct Sprite *sprite);
static void AnimFireCross(struct Sprite *sprite);
-static void sub_80ACDE8(struct Sprite *sprite);
-static void sub_80AD330(struct Sprite *sprite);
-static void sub_80AD454(struct Sprite *sprite);
-static void sub_80AD540(struct Sprite *sprite);
-static void sub_80AD6F4(struct Sprite *sprite);
+static void AnimFireSpiralOutward(struct Sprite *sprite);
+static void AnimEruptionLaunchRock(struct Sprite *sprite);
+static void AnimEruptionFallingRock(struct Sprite *sprite);
+static void AnimWillOWispOrb(struct Sprite *sprite);
+static void AnimWillOWispFire(struct Sprite *sprite);
static void sub_80ACA6C(struct Sprite *sprite);
static void sub_80ACB1C(struct Sprite *sprite);
static void AnimFireRing_Step1(struct Sprite *sprite);
@@ -38,7 +38,7 @@ static void sub_80AD4A8(struct Sprite *sprite);
static void sub_80AD690(struct Sprite *sprite);
static void sub_80AD870(u8 taskId);
-static const union AnimCmd gUnknown_83E5BB8[] =
+static const union AnimCmd sAnim_FireSpiralSpread_0[] =
{
ANIMCMD_FRAME(16, 4),
ANIMCMD_FRAME(32, 4),
@@ -46,7 +46,7 @@ static const union AnimCmd gUnknown_83E5BB8[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd gUnknown_83E5BC8[] =
+static const union AnimCmd sAnim_FireSpiralSpread_1[] =
{
ANIMCMD_FRAME(16, 4, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(32, 4, .vFlip = TRUE, .hFlip = TRUE),
@@ -54,35 +54,35 @@ static const union AnimCmd gUnknown_83E5BC8[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E5BD8[] =
+static const union AnimCmd *const sAnims_FireSpiralSpread[] =
{
- gUnknown_83E5BB8,
- gUnknown_83E5BC8,
+ sAnim_FireSpiralSpread_0,
+ sAnim_FireSpiralSpread_1,
};
-const struct SpriteTemplate gUnknown_83E5BE0 =
+const struct SpriteTemplate gFireSpiralInwardSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5BD8,
+ .anims = sAnims_FireSpiralSpread,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AC90C,
+ .callback = AnimFireSpiralInward,
};
-const struct SpriteTemplate gUnknown_83E5BF8 =
+const struct SpriteTemplate gFireSpreadSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5BD8,
+ .anims = sAnims_FireSpiralSpread,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AC94C,
+ .callback = AnimFireSpread,
};
-static const union AnimCmd gUnknown_83E5C10[] =
+static const union AnimCmd sAnim_LargeFlame[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@@ -95,12 +95,12 @@ static const union AnimCmd gUnknown_83E5C10[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E5C34[] =
+static const union AnimCmd *const sAnims_LargeFlame[] =
{
- gUnknown_83E5C10,
+ sAnim_LargeFlame,
};
-static const union AnimCmd gUnknown_83E5C38[] =
+static const union AnimCmd sAnim_FirePlume[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@@ -110,54 +110,54 @@ static const union AnimCmd gUnknown_83E5C38[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E5C50[] =
+static const union AnimCmd *const sAnims_FirePlume[] =
{
- gUnknown_83E5C38,
+ sAnim_FirePlume,
};
-static const union AffineAnimCmd gUnknown_83E5C54[] =
+static const union AffineAnimCmd sAffineAnim_LargeFlame[] =
{
AFFINEANIMCMD_FRAME(0x32, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x20, 0x0, 0, 7),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E5C6C[] =
+static const union AffineAnimCmd *const sAffineAnims_LargeFlame[] =
{
- gUnknown_83E5C54,
+ sAffineAnim_LargeFlame,
};
-const struct SpriteTemplate gUnknown_83E5C70 =
+const struct SpriteTemplate gLargeFlameSpriteTemplate =
{
.tileTag = ANIM_TAG_FIRE,
.paletteTag = ANIM_TAG_FIRE,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
- .anims = gUnknown_83E5C34,
+ .anims = sAnims_LargeFlame,
.images = NULL,
- .affineAnims = gUnknown_83E5C6C,
- .callback = sub_80ACA00,
+ .affineAnims = sAffineAnims_LargeFlame,
+ .callback = AnimLargeFlame,
};
-const struct SpriteTemplate gUnknown_83E5C88 =
+const struct SpriteTemplate gLargeFlameScatterSpriteTemplate =
{
.tileTag = ANIM_TAG_FIRE,
.paletteTag = ANIM_TAG_FIRE,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5C34,
+ .anims = sAnims_LargeFlame,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80ACA00,
+ .callback = AnimLargeFlame,
};
-const struct SpriteTemplate gUnknown_83E5CA0 =
+const struct SpriteTemplate gFirePlumeSpriteTemplate =
{
.tileTag = ANIM_TAG_FIRE_PLUME,
.paletteTag = ANIM_TAG_FIRE_PLUME,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5C50,
+ .anims = sAnims_FirePlume,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AC990,
+ .callback = AnimFirePlume,
};
const struct SpriteTemplate gUnknown_83E5CB8 =
@@ -165,10 +165,10 @@ const struct SpriteTemplate gUnknown_83E5CB8 =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5C50,
+ .anims = sAnims_FirePlume,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AC990,
+ .callback = AnimFirePlume,
};
static const union AnimCmd gUnknown_83E5CD0[] =
@@ -195,30 +195,30 @@ const struct SpriteTemplate gUnknown_83E5CE4 =
.callback = sub_80ACAA8,
};
-static const union AffineAnimCmd gUnknown_83E5CFC[] =
+static const union AffineAnimCmd sAffineAnim_SunlightRay[] =
{
AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
AFFINEANIMCMD_FRAME(0x2, 0x2, 10, 1),
AFFINEANIMCMD_JUMP(1),
};
-static const union AffineAnimCmd *const gUnknown_83E5D14[] =
+static const union AffineAnimCmd *const sAffineAnims_SunlightRay[] =
{
- gUnknown_83E5CFC,
+ sAffineAnim_SunlightRay,
};
-const struct SpriteTemplate gUnknown_83E5D18 =
+const struct SpriteTemplate gSunlightRaySpriteTemplate =
{
.tileTag = ANIM_TAG_SUNLIGHT,
.paletteTag = ANIM_TAG_SUNLIGHT,
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E5D14,
+ .affineAnims = sAffineAnims_SunlightRay,
.callback = sub_80ACBB0,
};
-static const union AnimCmd gUnknown_83E5D30[] =
+static const union AnimCmd sAnim_BasicFire[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@@ -228,9 +228,9 @@ static const union AnimCmd gUnknown_83E5D30[] =
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gUnknown_83E5D48[] =
+const union AnimCmd *const gAnims_BasicFire[] =
{
- gUnknown_83E5D30,
+ sAnim_BasicFire,
};
const struct SpriteTemplate gEmberSpriteTemplate =
@@ -249,44 +249,44 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5D48,
+ .anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimEmberFlare,
};
-const struct SpriteTemplate gUnknown_83E5D7C =
+const struct SpriteTemplate gBurnFlameSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5D48,
+ .anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80ACC44,
+ .callback = AnimBurnFlame,
};
-const struct SpriteTemplate gUnknown_83E5D94 =
+const struct SpriteTemplate gFireBlastRingSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5D48,
+ .anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFireRing,
};
-static const union AnimCmd gUnknown_83E5DAC[] =
+static const union AnimCmd sAnim_FireBlastCross[] =
{
ANIMCMD_FRAME(32, 6),
ANIMCMD_FRAME(48, 6),
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E5DB8[] =
+static const union AnimCmd *const sAnims_FireBlastCross[] =
{
- gUnknown_83E5DAC,
+ sAnim_FireBlastCross,
};
static const union AffineAnimCmd gUnknown_83E5DBC[] =
@@ -307,40 +307,40 @@ static const union AffineAnimCmd *const gUnknown_83E5DDC[] =
gUnknown_83E5DCC,
};
-const struct SpriteTemplate gUnknown_83E5DE4 =
+const struct SpriteTemplate gFireBlastCrossSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5DB8,
+ .anims = sAnims_FireBlastCross,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFireCross,
};
-const struct SpriteTemplate gUnknown_83E5DFC =
+const struct SpriteTemplate gFireSpiralOutwardSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5D48,
+ .anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80ACDE8,
+ .callback = AnimFireSpiralOutward,
};
-const struct SpriteTemplate gUnknown_83E5E14 =
+const struct SpriteTemplate gWeatherBallFireDownSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5D48,
+ .anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8077350,
+ .callback = AnimWeatherBallDown,
};
-static const struct SpriteTemplate gUnknown_83E5E2C =
+static const struct SpriteTemplate gEruptionLaunchRockSpriteTemplate =
{
.tileTag = ANIM_TAG_WARM_ROCK,
.paletteTag = ANIM_TAG_WARM_ROCK,
@@ -348,10 +348,10 @@ static const struct SpriteTemplate gUnknown_83E5E2C =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AD330,
+ .callback = AnimEruptionLaunchRock,
};
-static const s16 sHeatedRockCoords[][2] =
+static const s16 sEruptionLaunchRockCoords[][2] =
{
{-2, -5},
{-1, -1},
@@ -362,7 +362,7 @@ static const s16 sHeatedRockCoords[][2] =
{ 4, -7},
};
-const struct SpriteTemplate gUnknown_83E5E60 =
+const struct SpriteTemplate gEruptionFallingRockSpriteTemplate =
{
.tileTag = ANIM_TAG_WARM_ROCK,
.paletteTag = ANIM_TAG_WARM_ROCK,
@@ -370,10 +370,10 @@ const struct SpriteTemplate gUnknown_83E5E60 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AD454,
+ .callback = AnimEruptionFallingRock,
};
-static const union AnimCmd gUnknown_83E5E78[] =
+static const union AnimCmd sAnim_WillOWispOrb_0[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(4, 5),
@@ -382,44 +382,44 @@ static const union AnimCmd gUnknown_83E5E78[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd gUnknown_83E5E8C[] =
+static const union AnimCmd sAnim_WillOWispOrb_1[] =
{
ANIMCMD_FRAME(16, 5),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E5E94[] =
+static const union AnimCmd sAnim_WillOWispOrb_2[] =
{
ANIMCMD_FRAME(20, 5),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E5E9C[] =
+static const union AnimCmd sAnim_WillOWispOrb_3[] =
{
ANIMCMD_FRAME(20, 5),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E5EA4[] =
+static const union AnimCmd *const sAnims_WillOWispOrb[] =
{
- gUnknown_83E5E78,
- gUnknown_83E5E8C,
- gUnknown_83E5E94,
- gUnknown_83E5E9C,
+ sAnim_WillOWispOrb_0,
+ sAnim_WillOWispOrb_1,
+ sAnim_WillOWispOrb_2,
+ sAnim_WillOWispOrb_3,
};
-const struct SpriteTemplate gUnknown_83E5EB4 =
+const struct SpriteTemplate gWillOWispOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_WISP_ORB,
.paletteTag = ANIM_TAG_WISP_ORB,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
- .anims = gUnknown_83E5EA4,
+ .anims = sAnims_WillOWispOrb,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AD540,
+ .callback = AnimWillOWispOrb,
};
-static const union AnimCmd gUnknown_83E5ECC[] =
+static const union AnimCmd sAnim_WillOWispFire[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@@ -428,33 +428,36 @@ static const union AnimCmd gUnknown_83E5ECC[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E5EE0[] =
+static const union AnimCmd *const sAnims_WillOWispFire[] =
{
- gUnknown_83E5ECC,
+ sAnim_WillOWispFire,
};
-const struct SpriteTemplate gUnknown_83E5EE4 =
+const struct SpriteTemplate gWillOWispFireSpriteTemplate =
{
.tileTag = ANIM_TAG_WISP_FIRE,
.paletteTag = ANIM_TAG_WISP_FIRE,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5EE0,
+ .anims = sAnims_WillOWispFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80AD6F4,
+ .callback = AnimWillOWispFire,
};
-static const s8 gUnknown_83E5EFC[16] =
+// Directions for shaking up/down or left/right in AnimTask_ShakeTargetInPattern
+// Only first 10 values are ever accessed.
+// First pattern results in larger shakes, second results in faster oscillation
+static const s8 sShakeDirsPattern0[16] =
{
-1, -1, 0, 1, 1, 0, 0, -1, -1, 1, 1, 0, 0, -1, 0, 1,
};
-static const s8 gUnknown_83E5F0C[16] =
+static const s8 sShakeDirsPattern1[16] =
{
-1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1,
};
-static void sub_80AC90C(struct Sprite *sprite)
+static void AnimFireSpiralInward(struct Sprite *sprite)
{
sprite->data[0] = gBattleAnimArgs[0];
sprite->data[1] = 0x3C;
@@ -466,7 +469,7 @@ static void sub_80AC90C(struct Sprite *sprite)
sprite->callback(sprite);
}
-static void sub_80AC94C(struct Sprite *sprite)
+static void AnimFireSpread(struct Sprite *sprite)
{
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
@@ -477,7 +480,7 @@ static void sub_80AC94C(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-static void sub_80AC990(struct Sprite *sprite)
+static void AnimFirePlume(struct Sprite *sprite)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -498,7 +501,7 @@ static void sub_80AC990(struct Sprite *sprite)
sprite->callback = sub_80ACA6C;
}
-static void sub_80ACA00(struct Sprite *sprite)
+static void AnimLargeFlame(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
@@ -606,7 +609,7 @@ static void AnimEmberFlare(struct Sprite *sprite)
sprite->callback(sprite);
}
-static void sub_80ACC44(struct Sprite *sprite)
+static void AnimBurnFlame(struct Sprite *sprite)
{
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -696,7 +699,7 @@ static void AnimFireCross(struct Sprite *sprite)
sprite->callback = TranslateSpriteLinear;
}
-static void sub_80ACDE8(struct Sprite *sprite)
+static void AnimFireSpiralOutward(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[1] = gBattleAnimArgs[2];
@@ -725,7 +728,7 @@ static void sub_80ACE50(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_80ACEA4(u8 taskId) // initialize animation task for Move_ERUPTION?
+void AnimTask_EruptionLaunchRocks(u8 taskId) // initialize animation task for Move_ERUPTION?
{
struct Task *task = &gTasks[taskId];
@@ -857,14 +860,14 @@ static void sub_80AD1F8(u8 spriteId, u8 taskId, u8 a3)
}
for (i = 0, j = 0; i <= 6; ++i)
{
- u8 spriteId = CreateSprite(&gUnknown_83E5E2C, x, y, 2);
+ u8 spriteId = CreateSprite(&gEruptionLaunchRockSpriteTemplate, x, y, 2);
if (spriteId != 0x40)
{
gSprites[spriteId].oam.tileNum += j * 4 + 0x40;
if (++j >= 5)
j = 0;
- sub_80AD3C8(&gSprites[spriteId], sHeatedRockCoords[i][0] * sign, sHeatedRockCoords[i][1]);
+ sub_80AD3C8(&gSprites[spriteId], sEruptionLaunchRockCoords[i][0] * sign, sEruptionLaunchRockCoords[i][1]);
gSprites[spriteId].data[6] = taskId;
gSprites[spriteId].data[7] = a3;
++gTasks[taskId].data[a3];
@@ -872,7 +875,7 @@ static void sub_80AD1F8(u8 spriteId, u8 taskId, u8 a3)
}
}
-static void sub_80AD330(struct Sprite *sprite)
+static void AnimEruptionLaunchRock(struct Sprite *sprite)
{
sub_80AD3E4(sprite);
if (sprite->invisible)
@@ -922,7 +925,7 @@ static void sub_80AD3E4(struct Sprite *sprite)
sprite->invisible = TRUE;
}
-static void sub_80AD454(struct Sprite *sprite)
+static void AnimEruptionFallingRock(struct Sprite *sprite)
{
sprite->pos1.x = gBattleAnimArgs[0];
sprite->pos1.y = gBattleAnimArgs[1];
@@ -971,7 +974,7 @@ static void sub_80AD4A8(struct Sprite *sprite)
}
//wisp orb
-static void sub_80AD540(struct Sprite *sprite)
+static void AnimWillOWispOrb(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -1040,7 +1043,7 @@ static void sub_80AD690(struct Sprite *sprite)
}
//wisp fire
-static void sub_80AD6F4(struct Sprite *sprite)
+static void AnimWillOWispFire(struct Sprite *sprite)
{
if (!sprite->data[0])
{
@@ -1072,7 +1075,7 @@ static void sub_80AD6F4(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_80AD800(u8 taskId)
+void AnimTask_MoveHeatWaveTargets(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1162,7 +1165,7 @@ void AnimTask_BlendBackground(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80ADAD8(u8 taskId)
+void AnimTask_ShakeTargetInPattern(u8 taskId)
{
s8 unk;
u8 spriteId;
@@ -1177,9 +1180,9 @@ void sub_80ADAD8(u8 taskId)
++gTasks[taskId].data[0];
spriteId = gBattlerSpriteIds[gBattleAnimTarget];
if (!gTasks[taskId].data[4])
- unk = gUnknown_83E5EFC[gTasks[taskId].data[0] % 10];
+ unk = sShakeDirsPattern0[gTasks[taskId].data[0] % 10];
else
- unk = gUnknown_83E5F0C[gTasks[taskId].data[0] % 10];
+ unk = sShakeDirsPattern1[gTasks[taskId].data[0] % 10];
if (gTasks[taskId].data[3] == 1)
gSprites[spriteId].pos2.y = gBattleAnimArgs[1] * unk < 0 ? -(gBattleAnimArgs[1] * unk) : gBattleAnimArgs[1] * unk;
else
diff --git a/src/flying.c b/src/flying.c
index 83c8e1f0e..18cfa4e39 100644
--- a/src/flying.c
+++ b/src/flying.c
@@ -5,22 +5,22 @@
#include "constants/battle_anim.h"
#include "random.h"
-static void sub_80B18E4(struct Sprite *sprite);
-static void sub_80B1A1C(struct Sprite *sprite);
-static void sub_80B1AB8(struct Sprite *sprite);
-static void sub_80B1BB0(struct Sprite *sprite);
-static void sub_80B1C3C(struct Sprite *sprite);
-static void sub_80B1D88(struct Sprite *sprite);
+static void AnimEllipticalGust(struct Sprite *sprite);
+static void AnimGustToTarget(struct Sprite *sprite);
+static void AnimAirWaveCrescent(struct Sprite *sprite);
+static void AnimFlyBallUp(struct Sprite *sprite);
+static void AnimFlyBallAttack(struct Sprite *sprite);
+static void AnimFallingFeather(struct Sprite *sprite);
static void sub_80B24C0(struct Sprite *sprite);
static void sub_80B2514(struct Sprite *sprite);
-static void sub_80B2780(struct Sprite *sprite);
-static void sub_80B2914(struct Sprite *sprite);
-static void sub_80B2974(struct Sprite *sprite);
-static void sub_80B2A08(struct Sprite *sprite);
-static void sub_80B2AF4(struct Sprite *sprite);
-static void sub_80B2BD8(struct Sprite *sprite);
+static void AnimWhirlwindLine(struct Sprite *sprite);
+static void AnimBounceBallShrink(struct Sprite *sprite);
+static void AnimBounceBallLand(struct Sprite *sprite);
+static void AnimDiveBall(struct Sprite *sprite);
+static void AnimDiveWaterSplash(struct Sprite *sprite);
+static void AnimSprayWaterDroplet(struct Sprite *sprite);
static void sub_80B2CE4(struct Sprite *sprite);
-static void sub_80B2D64(struct Sprite *sprite);
+static void AnimSkyAttackBird(struct Sprite *sprite);
static void sub_80B190C(struct Sprite *sprite);
static void sub_80B198C(u8 taskId);
static void sub_80B1A9C(struct Sprite *sprite);
@@ -35,7 +35,7 @@ static void sub_80B2C88(struct Sprite *sprite);
static void sub_80B2CF8(struct Sprite *sprite);
static void sub_80B2E20(struct Sprite *sprite);
-const struct SpriteTemplate gUnknown_83E6AE8 =
+const struct SpriteTemplate gEllipticalGustSpriteTemplate =
{
.tileTag = ANIM_TAG_GUST,
.paletteTag = ANIM_TAG_GUST,
@@ -43,33 +43,33 @@ const struct SpriteTemplate gUnknown_83E6AE8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B18E4,
+ .callback = AnimEllipticalGust,
};
-static const union AffineAnimCmd gUnknown_83E6B00[] =
+static const union AffineAnimCmd sAffineAnim_GustToTarget[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6B18[] =
+static const union AffineAnimCmd *const sAffineAnims_GustToTarget[] =
{
- gUnknown_83E6B00,
+ sAffineAnim_GustToTarget,
};
-const struct SpriteTemplate gUnknown_83E6B1C =
+const struct SpriteTemplate gGustToTargetSpriteTemplate =
{
.tileTag = ANIM_TAG_GUST,
.paletteTag = ANIM_TAG_GUST,
.oam = &gOamData_AffineNormal_ObjNormal_32x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6B18,
- .callback = sub_80B1A1C,
+ .affineAnims = sAffineAnims_GustToTarget,
+ .callback = AnimGustToTarget,
};
-static const union AnimCmd gUnknown_83E6B34[] =
+static const union AnimCmd sAffineAnim_AirWaveCrescent[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
@@ -78,23 +78,23 @@ static const union AnimCmd gUnknown_83E6B34[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E6B48[] =
+static const union AnimCmd *const sAffineAnims_AirWaveCrescent[] =
{
- gUnknown_83E6B34,
+ sAffineAnim_AirWaveCrescent,
};
-const struct SpriteTemplate gUnknown_83E6B4C =
+const struct SpriteTemplate gAirWaveCrescentSpriteTemplate =
{
.tileTag = ANIM_TAG_AIR_WAVE_2,
.paletteTag = ANIM_TAG_AIR_WAVE_2,
.oam = &gOamData_AffineOff_ObjNormal_32x16,
- .anims = gUnknown_83E6B48,
+ .anims = sAffineAnims_AirWaveCrescent,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B1AB8,
+ .callback = AnimAirWaveCrescent,
};
-static const union AffineAnimCmd gUnknown_83E6B64[] =
+static const union AffineAnimCmd sAffineAnim_FlyBallUp[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
@@ -103,78 +103,78 @@ static const union AffineAnimCmd gUnknown_83E6B64[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6B8C[] =
+static const union AffineAnimCmd *const sAffineAnims_FlyBallUp[] =
{
- gUnknown_83E6B64,
+ sAffineAnim_FlyBallUp,
};
-static const union AffineAnimCmd gUnknown_83E6B90[] =
+static const union AffineAnimCmd sAffineAnim_FlyBallAttack_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E6B9C[] =
+static const union AffineAnimCmd sAffineAnim_FlyBallAttack_1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6BB0[] =
+static const union AffineAnimCmd *const sAffineAnims_FlyBallAttack[] =
{
- gUnknown_83E6B90,
- gUnknown_83E6B9C,
+ sAffineAnim_FlyBallAttack_0,
+ sAffineAnim_FlyBallAttack_1,
};
-const struct SpriteTemplate gUnknown_83E6BB8 =
+const struct SpriteTemplate gFlyBallUpSpriteTemplate =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6B8C,
- .callback = sub_80B1BB0,
+ .affineAnims = sAffineAnims_FlyBallUp,
+ .callback = AnimFlyBallUp,
};
-const struct SpriteTemplate gUnknown_83E6BD0 =
+const struct SpriteTemplate gFlyBallAttackSpriteTemplate =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6BB0,
- .callback = sub_80B1C3C,
+ .affineAnims = sAffineAnims_FlyBallAttack,
+ .callback = AnimFlyBallAttack,
};
-static const union AnimCmd gUnknown_83E6BE8[] =
+static const union AnimCmd sAnim_FallingFeather_0[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E6BF0[] =
+static const union AnimCmd sAnim_FallingFeather_1[] =
{
ANIMCMD_FRAME(16, 0, .hFlip = TRUE),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6BF8[] =
+static const union AnimCmd *const sAnims_FallingFeather[] =
{
- gUnknown_83E6BE8,
- gUnknown_83E6BF0,
+ sAnim_FallingFeather_0,
+ sAnim_FallingFeather_1,
};
-const struct SpriteTemplate gUnknown_83E6C00 =
+const struct SpriteTemplate gFallingFeatherSpriteTemplate =
{
.tileTag = ANIM_TAG_WHITE_FEATHER,
.paletteTag = ANIM_TAG_WHITE_FEATHER,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
- .anims = gUnknown_83E6BF8,
+ .anims = sAnims_FallingFeather,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B1D88,
+ .callback = AnimFallingFeather,
};
// not used
@@ -196,13 +196,13 @@ const struct SpriteTemplate gUnknown_83E6C50 =
.tileTag = ANIM_TAG_WHITE_FEATHER,
.paletteTag = ANIM_TAG_WHITE_FEATHER,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
- .anims = gUnknown_83E6BF8,
+ .anims = sAnims_FallingFeather,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80B2514,
};
-static const union AnimCmd gUnknown_83E6C68[] =
+static const union AnimCmd sAnim_WhirlwindLines[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(8, 1),
@@ -212,23 +212,23 @@ static const union AnimCmd gUnknown_83E6C68[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6C80[] =
+static const union AnimCmd *const sAnims_WhirlwindLines[] =
{
- gUnknown_83E6C68,
+ sAnim_WhirlwindLines,
};
-const struct SpriteTemplate gUnknown_83E6C84 =
+const struct SpriteTemplate gWhirlwindLineSpriteTemplate =
{
.tileTag = ANIM_TAG_WHIRLWIND_LINES,
.paletteTag = ANIM_TAG_WHIRLWIND_LINES,
.oam = &gOamData_AffineOff_ObjNormal_32x16,
- .anims = gUnknown_83E6C80,
+ .anims = sAnims_WhirlwindLines,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B2780,
+ .callback = AnimWhirlwindLine,
};
-static const union AffineAnimCmd gUnknown_83E6C9C[] =
+static const union AffineAnimCmd sAffineAnim_BounceBallShrink[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
@@ -238,45 +238,45 @@ static const union AffineAnimCmd gUnknown_83E6C9C[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6CCC[] =
+static const union AffineAnimCmd *const sAffineAnims_BounceBallShrink[] =
{
- gUnknown_83E6C9C,
+ sAffineAnim_BounceBallShrink,
};
-const struct SpriteTemplate gUnknown_83E6CD0 =
+const struct SpriteTemplate gBounceBallShrinkSpriteTemplate =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6CCC,
- .callback = sub_80B2914,
+ .affineAnims = sAffineAnims_BounceBallShrink,
+ .callback = AnimBounceBallShrink,
};
-static const union AffineAnimCmd gUnknown_83E6CE8[] =
+static const union AffineAnimCmd sAffineAnim_BounceBallLand[] =
{
AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6CF8[] =
+static const union AffineAnimCmd *const sAffineAnims_BounceBallLand[] =
{
- gUnknown_83E6CE8,
+ sAffineAnim_BounceBallLand,
};
-const struct SpriteTemplate gUnknown_83E6CFC =
+const struct SpriteTemplate gBounceBallLandSpriteTemplate =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6CF8,
- .callback = sub_80B2974,
+ .affineAnims = sAffineAnims_BounceBallLand,
+ .callback = AnimBounceBallLand,
};
-static const union AffineAnimCmd gUnknown_83E6D14[] =
+static const union AffineAnimCmd sAffineAnim_DiveBall[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
@@ -285,20 +285,20 @@ static const union AffineAnimCmd gUnknown_83E6D14[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6D3C[] =
+static const union AffineAnimCmd *const sAffineAnims_DiveBall[] =
{
- gUnknown_83E6D14,
+ sAffineAnim_DiveBall,
};
-const struct SpriteTemplate gUnknown_83E6D40 =
+const struct SpriteTemplate gDiveBallSpriteTemplate =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6D3C,
- .callback = sub_80B2A08,
+ .affineAnims = sAffineAnims_DiveBall,
+ .callback = AnimDiveBall,
};
// not used
@@ -316,7 +316,7 @@ static const union AffineAnimCmd *const gUnknown_83E6D80[] =
gUnknown_83E6D58,
};
-const struct SpriteTemplate gUnknown_83E6D7C =
+const struct SpriteTemplate gDiveWaterSplashSpriteTemplate =
{
.tileTag = ANIM_TAG_SPLASH,
.paletteTag = ANIM_TAG_SPLASH,
@@ -324,10 +324,10 @@ const struct SpriteTemplate gUnknown_83E6D7C =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B2AF4,
+ .callback = AnimDiveWaterSplash,
};
-const struct SpriteTemplate gUnknown_83E6D94 =
+const struct SpriteTemplate gSprayWaterDropletSpriteTemplate =
{
.tileTag = ANIM_TAG_SWEAT_BEAD,
.paletteTag = ANIM_TAG_SWEAT_BEAD,
@@ -335,7 +335,7 @@ const struct SpriteTemplate gUnknown_83E6D94 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B2BD8,
+ .callback = AnimSprayWaterDroplet,
};
const struct SpriteTemplate gUnknown_83E6DAC =
@@ -349,7 +349,7 @@ const struct SpriteTemplate gUnknown_83E6DAC =
.callback = sub_80B2CE4,
};
-const struct SpriteTemplate gUnknown_83E6DB4 =
+const struct SpriteTemplate gSkyAttackBirdSpriteTemplate =
{
.tileTag = ANIM_TAG_BIRD,
.paletteTag = ANIM_TAG_BIRD,
@@ -357,10 +357,10 @@ const struct SpriteTemplate gUnknown_83E6DB4 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B2D64,
+ .callback = AnimSkyAttackBird,
};
-static void sub_80B18E4(struct Sprite *sprite)
+static void AnimEllipticalGust(struct Sprite *sprite)
{
InitSpritePosToAnimTarget(sprite, FALSE);
sprite->pos1.y += 20;
@@ -379,7 +379,7 @@ static void sub_80B190C(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_80B194C(u8 taskId)
+void AnimTask_AnimateGustTornadoPalette(u8 taskId)
{
gTasks[taskId].data[0] = gBattleAnimArgs[1];
gTasks[taskId].data[1] = gBattleAnimArgs[0];
@@ -411,7 +411,7 @@ static void sub_80B198C(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-static void sub_80B1A1C(struct Sprite *sprite)
+static void AnimGustToTarget(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, TRUE);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -432,7 +432,7 @@ static void sub_80B1A9C(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B1AB8(struct Sprite *sprite)
+static void AnimAirWaveCrescent(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
@@ -467,7 +467,7 @@ static void sub_80B1AB8(struct Sprite *sprite)
SeekSpriteAnim(sprite, gBattleAnimArgs[5]);
}
-static void sub_80B1BB0(struct Sprite *sprite)
+static void AnimFlyBallUp(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
@@ -491,7 +491,7 @@ static void sub_80B1BF8(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B1C3C(struct Sprite *sprite)
+static void AnimFlyBallAttack(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
@@ -564,7 +564,7 @@ struct FeatherDanceData
u16 unkE_1:15;
};
-static void sub_80B1D88(struct Sprite *sprite)
+static void AnimFallingFeather(struct Sprite *sprite)
{
u8 battler, matrixNum, sinIndex;
s16 spriteCoord, sinVal;
@@ -986,7 +986,7 @@ static void sub_80B268C(struct Sprite *sprite)
sprite->callback = sub_80B1F94;
}
-static void sub_80B2780(struct Sprite *sprite)
+static void AnimWhirlwindLine(struct Sprite *sprite)
{
u16 arg;
u8 mult;
@@ -1023,7 +1023,7 @@ static void sub_80B2820(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_80B2868(u8 taskId)
+void AnimTask_DrillPeckHitSplats(u8 taskId)
{
if (!(gTasks[taskId].data[0] % 32))
{
@@ -1032,7 +1032,7 @@ void sub_80B2868(u8 taskId)
gBattleAnimArgs[1] = Cos(gTasks[taskId].data[0], -13);
gBattleAnimArgs[2] = 1;
gBattleAnimArgs[3] = 3;
- CreateSpriteAndAnimate(&gUnknown_83E7C98,
+ CreateSpriteAndAnimate(&gFlashingHitSplatSpriteTemplate,
GetBattlerSpriteCoord(gBattleAnimTarget, 2),
GetBattlerSpriteCoord(gBattleAnimTarget, 3),
3);
@@ -1042,7 +1042,7 @@ void sub_80B2868(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-static void sub_80B2914(struct Sprite *sprite)
+static void AnimBounceBallShrink(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -1058,7 +1058,7 @@ static void sub_80B2914(struct Sprite *sprite)
}
}
-static void sub_80B2974(struct Sprite *sprite)
+static void AnimBounceBallLand(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -1083,7 +1083,7 @@ static void sub_80B2974(struct Sprite *sprite)
}
}
-static void sub_80B2A08(struct Sprite *sprite)
+static void AnimDiveBall(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
@@ -1120,7 +1120,7 @@ static void sub_80B2AB0(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B2AF4(struct Sprite *sprite)
+static void AnimDiveWaterSplash(struct Sprite *sprite)
{
u32 matrixNum;
s32 t1, t2;
@@ -1165,7 +1165,7 @@ static void sub_80B2AF4(struct Sprite *sprite)
}
}
-static void sub_80B2BD8(struct Sprite *sprite)
+static void AnimSprayWaterDroplet(struct Sprite *sprite)
{
s32 v1 = 0x1FF & Random();
s32 v2 = 0x7F & Random();
@@ -1241,7 +1241,7 @@ static void sub_80B2CF8(struct Sprite *sprite)
}
}
-static void sub_80B2D64(struct Sprite *sprite)
+static void AnimSkyAttackBird(struct Sprite *sprite)
{
u16 rotation;
s16 posx = sprite->pos1.x;
diff --git a/src/ghost.c b/src/ghost.c
index 9a77999de..30f6b9bdb 100644
--- a/src/ghost.c
+++ b/src/ghost.c
@@ -8,65 +8,65 @@
#include "decompress.h"
#include "constants/songs.h"
-static void sub_80B5268(struct Sprite *sprite);
+static void AnimConfuseRayBallBounce(struct Sprite *sprite);
static void sub_80B52D0(struct Sprite *sprite);
static void sub_80B5344(struct Sprite *sprite);
static void sub_80B53C0(struct Sprite *sprite);
-static void sub_80B5450(struct Sprite *sprite);
+static void AnimConfuseRayBallSpiral(struct Sprite *sprite);
static void sub_80B5470(struct Sprite *sprite);
static void sub_80B5570(u8 taskId);
static void sub_80B55C8(u8 taskId);
-static void InitAnimShadowBall(struct Sprite *sprite);
+static void AnimShadowBall(struct Sprite *sprite);
static void AnimShadowBallStep(struct Sprite *sprite);
-static void sub_80B57F8(struct Sprite *sprite);
+static void AnimLick(struct Sprite *sprite);
static void sub_80B5810(struct Sprite *sprite);
static void sub_80B59D4(u8 taskId);
static void sub_80B5AD4(u8 taskId);
static void sub_80B5D38(u8 taskId);
static void sub_80B5DCC(u8 taskId);
-static void sub_80B5EC0(struct Sprite *sprite);
+static void AnimDestinyBondWhiteShadow(struct Sprite *sprite);
static void sub_80B5FE0(struct Sprite *sprite);
static void sub_80B623C(u8 taskId);
static void sub_80B6468(u8 taskId);
static void sub_80B65F0(u8 taskId);
-static void sub_80B664C(struct Sprite *sprite);
+static void AnimCurseNail(struct Sprite *sprite);
static void sub_80B66A8(struct Sprite *sprite);
static void sub_80B6728(struct Sprite *sprite);
static void sub_80B67A0(struct Sprite *sprite);
-static void sub_80B67D4(struct Sprite *sprite);
+static void AnimGhostStatusSprite(struct Sprite *sprite);
static void sub_80B68A8(struct Sprite *sprite);
static void sub_80B696C(u8 taskId);
-static void sub_80B6AF8(struct Sprite *sprite);
+static void AnimGrudgeFlame(struct Sprite *sprite);
static void sub_80B7158(struct Sprite *sprite);
static void sub_80B6BE4(u8 taskId);
static void sub_80B6F30(u8 taskId);
static void sub_80B6FC4(u8 taskId);
static void sub_80B71B0(struct Sprite *sprite);
-static const union AffineAnimCmd gUnknown_83E75A8[] =
+static const union AffineAnimCmd sAffineAnim_ConfuseRayBallBounce[] =
{
AFFINEANIMCMD_FRAME(0x1E, 0x1E, 10, 5),
AFFINEANIMCMD_FRAME(-0x1E, -0x1E, 10, 5),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd *const gUnknown_83E75C0[] =
+static const union AffineAnimCmd *const sAffineAnims_ConfuseRayBallBounce[] =
{
- gUnknown_83E75A8,
+ sAffineAnim_ConfuseRayBallBounce,
};
-const struct SpriteTemplate gUnknown_83E75C4 =
+const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate =
{
.tileTag = ANIM_TAG_YELLOW_BALL,
.paletteTag = ANIM_TAG_YELLOW_BALL,
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E75C0,
- .callback = sub_80B5268,
+ .affineAnims = sAffineAnims_ConfuseRayBallBounce,
+ .callback = AnimConfuseRayBallBounce,
};
-const struct SpriteTemplate gUnknown_83E75DC =
+const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate =
{
.tileTag = ANIM_TAG_YELLOW_BALL,
.paletteTag = ANIM_TAG_YELLOW_BALL,
@@ -74,18 +74,18 @@ const struct SpriteTemplate gUnknown_83E75DC =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B5450,
+ .callback = AnimConfuseRayBallSpiral,
};
-static const union AffineAnimCmd gUnknown_83E75F4[] =
+static const union AffineAnimCmd sAffineAnim_ShadowBall[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd *const gUnknown_83E7604[] =
+static const union AffineAnimCmd *const sAffineAnims_ShadowBall[] =
{
- gUnknown_83E75F4,
+ sAffineAnim_ShadowBall,
};
const struct SpriteTemplate gShadowBallSpriteTemplate =
@@ -95,11 +95,11 @@ const struct SpriteTemplate gShadowBallSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7604,
- .callback = InitAnimShadowBall,
+ .affineAnims = sAffineAnims_ShadowBall,
+ .callback = AnimShadowBall,
};
-const union AnimCmd gUnknown_83E7620[] =
+const union AnimCmd sAnim_Lick[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(8, 2),
@@ -109,20 +109,20 @@ const union AnimCmd gUnknown_83E7620[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E7638[] =
+static const union AnimCmd *const sAnims_Lick[] =
{
- gUnknown_83E7620,
+ sAnim_Lick,
};
-const struct SpriteTemplate gUnknown_83E763C =
+const struct SpriteTemplate gLickSpriteTemplate =
{
.tileTag = ANIM_TAG_LICK,
.paletteTag = ANIM_TAG_LICK,
.oam = &gOamData_AffineOff_ObjNormal_16x32,
- .anims = gUnknown_83E7638,
+ .anims = sAnims_Lick,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B57F8,
+ .callback = AnimLick,
};
// not used
@@ -138,7 +138,7 @@ static const union AffineAnimCmd *const gUnknown_83E7664[] =
gUnknown_83E7654,
};
-const struct SpriteTemplate gUnknown_83E7668 =
+const struct SpriteTemplate gDestinyBondWhiteShadowSpriteTemplate =
{
.tileTag = ANIM_TAG_WHITE_SHADOW,
.paletteTag = ANIM_TAG_WHITE_SHADOW,
@@ -146,10 +146,10 @@ const struct SpriteTemplate gUnknown_83E7668 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B5EC0,
+ .callback = AnimDestinyBondWhiteShadow,
};
-const struct SpriteTemplate gUnknown_83E7680 =
+const struct SpriteTemplate gCurseNailSpriteTemplate =
{
.tileTag = ANIM_TAG_NAIL,
.paletteTag = ANIM_TAG_NAIL,
@@ -157,10 +157,10 @@ const struct SpriteTemplate gUnknown_83E7680 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B664C,
+ .callback = AnimCurseNail,
};
-const struct SpriteTemplate gUnknown_83E7698 =
+const struct SpriteTemplate gCurseGhostSpriteTemplate =
{
.tileTag = ANIM_TAG_GHOSTLY_SPIRIT,
.paletteTag = ANIM_TAG_GHOSTLY_SPIRIT,
@@ -168,10 +168,10 @@ const struct SpriteTemplate gUnknown_83E7698 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B67D4,
+ .callback = AnimGhostStatusSprite,
};
-const struct SpriteTemplate gUnknown_83E76B0 =
+const struct SpriteTemplate gNightmareDevilSpriteTemplate =
{
.tileTag = ANIM_TAG_DEVIL,
.paletteTag = ANIM_TAG_DEVIL,
@@ -179,10 +179,10 @@ const struct SpriteTemplate gUnknown_83E76B0 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B67D4,
+ .callback = AnimGhostStatusSprite,
};
-static const union AnimCmd gUnknown_83E76C8[] =
+static const union AnimCmd sAnim_GrudgeFlame[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(8, 4),
@@ -191,20 +191,20 @@ static const union AnimCmd gUnknown_83E76C8[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E76DC[] =
+static const union AnimCmd *const sAnims_GrudgeFlame[] =
{
- gUnknown_83E76C8,
+ sAnim_GrudgeFlame,
};
-const struct SpriteTemplate gUnknown_83E76E0 =
+const struct SpriteTemplate gGrudgeFlameSpriteTemplate =
{
.tileTag = ANIM_TAG_PURPLE_FLAME,
.paletteTag = ANIM_TAG_PURPLE_FLAME,
.oam = &gOamData_AffineOff_ObjBlend_16x32,
- .anims = gUnknown_83E76DC,
+ .anims = sAnims_GrudgeFlame,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B6AF8,
+ .callback = AnimGrudgeFlame,
};
const struct SpriteTemplate gUnknown_83E76F8 =
@@ -218,7 +218,7 @@ const struct SpriteTemplate gUnknown_83E76F8 =
.callback = sub_80B7158,
};
-static void sub_80B5268(struct Sprite *sprite)
+static void AnimConfuseRayBallBounce(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
@@ -306,7 +306,7 @@ static void sub_80B53C0(struct Sprite *sprite)
}
}
-static void sub_80B5450(struct Sprite *sprite)
+static void AnimConfuseRayBallSpiral(struct Sprite *sprite)
{
InitSpritePosToAnimTarget(sprite, TRUE);
sprite->callback = sub_80B5470;
@@ -332,7 +332,7 @@ static void sub_80B5470(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_80B54E8(u8 taskId)
+void AnimTask_NightShadeClone(u8 taskId)
{
u8 spriteId;
@@ -393,7 +393,7 @@ static void sub_80B55C8(u8 taskId)
// arg 0: duration step 1 (attacker -> center)
// arg 1: duration step 2 (spin center)
// arg 2: duration step 3 (center -> target)
-static void InitAnimShadowBall(struct Sprite *sprite)
+static void AnimShadowBall(struct Sprite *sprite)
{
s16 oldPosX = sprite->pos1.x;
s16 oldPosY = sprite->pos1.y;
@@ -455,7 +455,7 @@ static void AnimShadowBallStep(struct Sprite *sprite)
}
}
-static void sub_80B57F8(struct Sprite *sprite)
+static void AnimLick(struct Sprite *sprite)
{
InitSpritePosToAnimTarget(sprite, TRUE);
sprite->callback = sub_80B5810;
@@ -507,7 +507,7 @@ static void sub_80B5810(struct Sprite *sprite)
}
}
-void sub_80B58AC(u8 taskId)
+void AnimTask_NightmareClone(u8 taskId)
{
struct Task *task;
@@ -579,7 +579,7 @@ static void sub_80B59D4(u8 taskId)
}
}
-void sub_80B5AAC(u8 taskId)
+void AnimTask_SpiteTargetShadow(u8 taskId)
{
struct Task *task;
@@ -732,7 +732,7 @@ static void sub_80B5DCC(u8 taskId)
++task->data[15];
}
-static void sub_80B5EC0(struct Sprite *sprite)
+static void AnimDestinyBondWhiteShadow(struct Sprite *sprite)
{
s16 battler1X, battler1Y;
s16 battler2X, battler2Y;
@@ -781,7 +781,7 @@ static void sub_80B5FE0(struct Sprite *sprite)
}
}
-void sub_80B6020(u8 taskId)
+void AnimTask_DestinyBondWhiteShadow(u8 taskId)
{
struct Task *task;
s16 battler;
@@ -808,7 +808,7 @@ void sub_80B6020(u8 taskId)
&& battler != (gBattleAnimAttacker ^ 2)
&& IsBattlerSpriteVisible(battler))
{
- spriteId = CreateSprite(&gUnknown_83E7668, baseX, baseY, 55);
+ spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55);
if (spriteId != MAX_SPRITES)
{
x = GetBattlerSpriteCoord(battler, 2);
@@ -829,7 +829,7 @@ void sub_80B6020(u8 taskId)
}
else
{
- spriteId = CreateSprite(&gUnknown_83E7668, baseX, baseY, 55);
+ spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55);
if (spriteId != MAX_SPRITES)
{
x = 48;
@@ -921,7 +921,7 @@ static void sub_80B623C(u8 taskId)
}
}
-void sub_80B63B4(u8 taskId)
+void AnimTask_CurseStretchingBlackBg(u8 taskId)
{
s16 startX, startY;
s16 leftDistance, topDistance, bottomDistance, rightDistance;
@@ -1004,7 +1004,7 @@ static void sub_80B65F0(u8 taskId)
}
}
-static void sub_80B664C(struct Sprite *sprite)
+static void AnimCurseNail(struct Sprite *sprite)
{
s16 xDelta, xDelta2;
@@ -1093,7 +1093,7 @@ static void sub_80B67A0(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B67D4(struct Sprite *sprite)
+static void AnimGhostStatusSprite(struct Sprite *sprite)
{
u16 coeffB, coeffA;
@@ -1137,7 +1137,7 @@ static void sub_80B68A8(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_80B68C8(u8 taskId)
+void AnimTask_GrudgeFlames(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1168,7 +1168,7 @@ static void sub_80B696C(u8 taskId)
case 0:
for (i = 0; i < 6; ++i)
{
- spriteId = CreateSprite(&gUnknown_83E76E0, 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;
@@ -1235,7 +1235,7 @@ static void sub_80B696C(u8 taskId)
}
}
-static void sub_80B6AF8(struct Sprite *sprite)
+static void AnimGrudgeFlame(struct Sprite *sprite)
{
u16 index;
diff --git a/src/graphics.c b/src/graphics.c
index 7eee42bf0..391913eb7 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1019,7 +1019,7 @@ const u32 gBattleAnimBgTilemap_InAir[] = INCBIN_U32("graphics/battle_anims/backg
const u32 gBattleAnimSpriteGfx_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz");
const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz");
-const u32 gFile_graphics_battle_anims_backgrounds_water_muddy_palette[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz");
+const u32 gBattleAnimBgPalette_MuddyWater[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz");
const u32 gFile_graphics_battle_interface_enemy_mon_shadow_sheet[] = INCBIN_U32("graphics/battle_interface/enemy_mon_shadow.4bpp.lz");
@@ -1085,11 +1085,12 @@ const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprite
const u32 gBattleAnimSpriteGfx_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz");
const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz");
-const u32 gFile_graphics_battle_anims_backgrounds_water_sheet[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz");
-const u32 gFile_graphics_battle_anims_backgrounds_water_palette[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz");
-const u32 gFile_graphics_unknown_unknown_E81D14_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E81D14.bin.lz");
-const u32 gFile_graphics_unknown_unknown_E81FE4_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E81FE4.bin.lz");
-const u32 gFile_graphics_unknown_unknown_E822B8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E822B8.bin.lz");
+const u32 gBattleAnimBgImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz");
+const u32 gBattleAnimBgPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz");
+
+const u32 gBattleAnimBgTilemap_SurfOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_opponent.bin.lz");
+const u32 gBattleAnimBgTilemap_SurfPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_player.bin.lz");
+const u32 gBattleAnimBgTilemap_SurfContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_contest.bin.lz");
const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz");
diff --git a/src/ground.c b/src/ground.c
index 423671112..af2c78e00 100644
--- a/src/ground.c
+++ b/src/ground.c
@@ -26,51 +26,51 @@ static void sub_80B967C(u8 taskId);
static void sub_80B9760(struct Task *task);
static void sub_80B98A8(u8 taskId);
-static const union AffineAnimCmd gUnknown_83E7A00[] =
+static const union AffineAnimCmd sAffineAnim_Bonemerang[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd gUnknown_83E7A10[] =
+static const union AffineAnimCmd sAffineAnim_SpinningBone[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd *const gUnknown_83E7A20[] =
+static const union AffineAnimCmd *const sAffineAnims_Bonemerang[] =
{
- gUnknown_83E7A00,
+ sAffineAnim_Bonemerang,
};
-static const union AffineAnimCmd *const gUnknown_83E7A24[] =
+static const union AffineAnimCmd *const sAffineAnims_SpinningBone[] =
{
- gUnknown_83E7A10,
+ sAffineAnim_SpinningBone,
};
-const struct SpriteTemplate gUnknown_83E7A28 =
+const struct SpriteTemplate gBonemerangSpriteTemplate =
{
.tileTag = ANIM_TAG_BONE,
.paletteTag = ANIM_TAG_BONE,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7A20,
+ .affineAnims = sAffineAnims_Bonemerang,
.callback = AnimBonemerangProjectile,
};
-const struct SpriteTemplate gUnknown_83E7A40 =
+const struct SpriteTemplate gSpinningBoneSpriteTemplate =
{
.tileTag = ANIM_TAG_BONE,
.paletteTag = ANIM_TAG_BONE,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7A24,
+ .affineAnims = sAffineAnims_SpinningBone,
.callback = AnimBoneHitProjectile,
};
-const struct SpriteTemplate gUnknown_83E7A58 =
+const struct SpriteTemplate gSandAttackDirtSpriteTemplate =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
@@ -81,29 +81,29 @@ const struct SpriteTemplate gUnknown_83E7A58 =
.callback = AnimDirtScatter,
};
-static const union AnimCmd gUnknown_83E7A70[] =
+static const union AnimCmd sAnim_MudSlapMud[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E7A78[] =
+static const union AnimCmd *const sAnims_MudSlapMud[] =
{
- gUnknown_83E7A70,
+ sAnim_MudSlapMud,
};
-const struct SpriteTemplate gUnknown_83E7A7C =
+const struct SpriteTemplate gMudSlapMudSpriteTemplate =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
- .anims = gUnknown_83E7A78,
+ .anims = sAnims_MudSlapMud,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimDirtScatter,
};
-const struct SpriteTemplate gUnknown_83E7A94 =
+const struct SpriteTemplate gMudsportMudSpriteTemplate =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
@@ -114,7 +114,7 @@ const struct SpriteTemplate gUnknown_83E7A94 =
.callback = AnimMudSportDirt,
};
-const struct SpriteTemplate gUnknown_83E7AAC =
+const struct SpriteTemplate gDirtPlumeSpriteTemplate =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
@@ -125,7 +125,7 @@ const struct SpriteTemplate gUnknown_83E7AAC =
.callback = AnimFissureDirtPlumeParticle,
};
-const struct SpriteTemplate gUnknown_83E7AC4 =
+const struct SpriteTemplate gDirtMoundSpriteTemplate =
{
.tileTag = ANIM_TAG_DIRT_MOUND,
.paletteTag = ANIM_TAG_DIRT_MOUND,
@@ -279,7 +279,7 @@ static void AnimMudSportDirtFalling(struct Sprite *sprite)
}
}
-void sub_80B8E94(u8 taskId)
+void AnimTask_DigDownMovement(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -372,7 +372,7 @@ static void sub_80B908C(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80B90EC(u8 taskId)
+void AnimTask_DigUpMovement(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -538,7 +538,7 @@ static void AnimDigDirtMound(struct Sprite *sprite)
sprite->callback = WaitAnimForDuration;
}
-void sub_80B94B4(u8 taskId)
+void AnimTask_HorizontalShake(u8 taskId)
{
u16 i;
struct Task *task = &gTasks[taskId];
@@ -689,7 +689,7 @@ void AnimTask_IsPowerOver99(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80B9800(u8 taskId)
+void AnimTask_PositionFissureBgOnBattler(u8 taskId)
{
struct Task *newTask;
u8 battler = (gBattleAnimArgs[0] & 1) ? gBattleAnimTarget : gBattleAnimAttacker;
diff --git a/src/help_message.c b/src/help_message.c
index 49b2c5114..1438f5fef 100644
--- a/src/help_message.c
+++ b/src/help_message.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "malloc.h"
#include "menu.h"
+#include "malloc.h"
static EWRAM_DATA u8 sHelpMessageWindowId = 0;
diff --git a/src/help_system.c b/src/help_system.c
index 87fabbd09..d43a0eb32 100644
--- a/src/help_system.c
+++ b/src/help_system.c
@@ -2,6 +2,7 @@
#include "gflib.h"
#include "decompress.h"
#include "m4a.h"
+#include "event_data.h"
#include "help_system.h"
#include "list_menu.h"
#include "strings.h"
diff --git a/src/ice.c b/src/ice.c
index c00358357..6a77675e2 100644
--- a/src/ice.c
+++ b/src/ice.c
@@ -74,134 +74,135 @@ static const union AnimCmd gUnknown_83E62E8[] =
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E62F0[] =
+static const union AnimCmd sAnim_IceCrystalLarge[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E62F8[] =
+static const union AnimCmd sAnim_IceCrystalSmall[] =
{
ANIMCMD_FRAME(6, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E6300[] =
+static const union AnimCmd sAnim_Snowball[] =
{
ANIMCMD_FRAME(7, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E6308[] =
+static const union AnimCmd sAnim_BlizzardIceCrystal[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E6310[] =
+static const union AnimCmd sAnim_SmallBubblePair[] =
{
ANIMCMD_FRAME(12, 6),
ANIMCMD_FRAME(13, 6),
ANIMCMD_JUMP(0),
};
+// unused
static const union AnimCmd *const gUnknown_83E631C[] =
{
gUnknown_83E62E8,
};
-static const union AnimCmd *const gUnknown_83E6320[] =
+static const union AnimCmd *const sAnims_IceCrystalLarge[] =
{
- gUnknown_83E62F0,
+ sAnim_IceCrystalLarge,
};
-static const union AnimCmd *const gUnknown_83E6324[] =
+static const union AnimCmd *const sAnims_IceCrystalSmall[] =
{
- gUnknown_83E62F8,
+ sAnim_IceCrystalSmall,
};
-static const union AnimCmd *const gUnknown_83E6328[] =
+static const union AnimCmd *const sAnims_Snowball[] =
{
- gUnknown_83E6300,
+ sAnim_Snowball,
};
-static const union AnimCmd *const gUnknown_83E632C[] =
+static const union AnimCmd *const sAnims_BlizzardIceCrystal[] =
{
- gUnknown_83E6308,
+ sAnim_BlizzardIceCrystal,
};
-const union AnimCmd *const gUnknown_83E6330[] =
+const union AnimCmd *const gAnims_SmallBubblePair[] =
{
- gUnknown_83E6310,
+ sAnim_SmallBubblePair,
};
-static const union AffineAnimCmd gUnknown_83E6334[] =
+static const union AffineAnimCmd sAffineAnim_IceCrystalSpiralInwardLarge[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd *const gUnknown_83E6344[] =
+static const union AffineAnimCmd *const sAffineAnims_IceCrystalSpiralInwardLarge[] =
{
- gUnknown_83E6334,
+ sAffineAnim_IceCrystalSpiralInwardLarge,
};
-const struct SpriteTemplate gUnknown_83E6348 =
+const struct SpriteTemplate gIceCrystalSpiralInwardLarge =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineDouble_ObjBlend_8x16,
- .anims = gUnknown_83E6320,
+ .anims = sAnims_IceCrystalLarge,
.images = NULL,
- .affineAnims = gUnknown_83E6344,
+ .affineAnims = sAffineAnims_IceCrystalSpiralInwardLarge,
.callback = AnimIcePunchSwirlingParticle,
};
-const struct SpriteTemplate gUnknown_83E6360 =
+const struct SpriteTemplate gIceCrystalSpiralInwardSmall =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjBlend_8x8,
- .anims = gUnknown_83E6324,
+ .anims = sAnims_IceCrystalSmall,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimIcePunchSwirlingParticle,
};
-static const union AffineAnimCmd gUnknown_83E6378[] =
+static const union AffineAnimCmd sAffineAnim_IceBeamInnerCrystal[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd *const gUnknown_83E6388[] =
+static const union AffineAnimCmd *const sAffineAnims_IceBeamInnerCrystal[] =
{
- gUnknown_83E6378,
+ sAffineAnim_IceBeamInnerCrystal,
};
-const struct SpriteTemplate gUnknown_83E638C =
+const struct SpriteTemplate gIceBeamInnerCrystalSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineNormal_ObjBlend_8x16,
- .anims = gUnknown_83E6320,
+ .anims = sAnims_IceCrystalLarge,
.images = NULL,
- .affineAnims = gUnknown_83E6388,
+ .affineAnims = sAffineAnims_IceBeamInnerCrystal,
.callback = AnimIceBeamParticle,
};
-const struct SpriteTemplate gUnknown_83E63A4 =
+const struct SpriteTemplate gIceBeamOuterCrystalSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjBlend_8x8,
- .anims = gUnknown_83E6324,
+ .anims = sAnims_IceCrystalSmall,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimIceBeamParticle,
};
-static const union AffineAnimCmd gUnknown_83E63BC[] =
+static const union AffineAnimCmd sAffineAnim_IceCrystalHit[] =
{
AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0),
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
@@ -209,67 +210,67 @@ static const union AffineAnimCmd gUnknown_83E63BC[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E63DC[] =
+static const union AffineAnimCmd *const sAffineAnims_IceCrystalHit[] =
{
- gUnknown_83E63BC,
+ sAffineAnim_IceCrystalHit,
};
-const struct SpriteTemplate gUnknown_83E63E0 =
+const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineNormal_ObjBlend_8x16,
- .anims = gUnknown_83E6320,
+ .anims = sAnims_IceCrystalLarge,
.images = NULL,
- .affineAnims = gUnknown_83E63DC,
+ .affineAnims = sAffineAnims_IceCrystalHit,
.callback = AnimIceEffectParticle,
};
-const struct SpriteTemplate gUnknown_83E63F8 =
+const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineNormal_ObjBlend_8x8,
- .anims = gUnknown_83E6324,
+ .anims = sAnims_IceCrystalSmall,
.images = NULL,
- .affineAnims = gUnknown_83E63DC,
+ .affineAnims = sAffineAnims_IceCrystalHit,
.callback = AnimIceEffectParticle,
};
-const struct SpriteTemplate gUnknown_83E6410 =
+const struct SpriteTemplate gSwirlingSnowballSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
- .anims = gUnknown_83E6328,
+ .anims = sAnims_Snowball,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSwirlingSnowball_Step1,
};
-const struct SpriteTemplate gUnknown_83E6428 =
+const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
- .anims = gUnknown_83E632C,
+ .anims = sAnims_BlizzardIceCrystal,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMoveParticleBeyondTarget,
};
-const struct SpriteTemplate gUnknown_83E6440 =
+const struct SpriteTemplate gPowderSnowSnowballSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
- .anims = gUnknown_83E6328,
+ .anims = sAnims_Snowball,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMoveParticleBeyondTarget,
};
-static const union AnimCmd gUnknown_83E6458[] =
+static const union AnimCmd sAnim_IceGroundSpike[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(2, 5),
@@ -281,51 +282,51 @@ static const union AnimCmd gUnknown_83E6458[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6478[] =
+static const union AnimCmd *const sAnims_IceGroundSpike[] =
{
- gUnknown_83E6458,
+ sAnim_IceGroundSpike,
};
-const struct SpriteTemplate gUnknown_83E647C =
+const struct SpriteTemplate gIceGroundSpikeSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_SPIKES,
.paletteTag = ANIM_TAG_ICE_SPIKES,
.oam = &gOamData_AffineOff_ObjBlend_8x16,
- .anims = gUnknown_83E6478,
+ .anims = sAnims_IceGroundSpike,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimWaveFromCenterOfTarget,
};
-static const union AnimCmd gUnknown_83E6494[] =
+static const union AnimCmd sAnim_Cloud[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(8, 8),
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E64A0[] =
+static const union AnimCmd *const sAnims_Cloud[] =
{
- gUnknown_83E6494,
+ sAnim_Cloud,
};
-const struct SpriteTemplate gUnknown_83E64A4 =
+const struct SpriteTemplate gMistCloudSpriteTemplate =
{
.tileTag = ANIM_TAG_MIST_CLOUD,
.paletteTag = ANIM_TAG_MIST_CLOUD,
.oam = &gOamData_AffineOff_ObjBlend_32x16,
- .anims = gUnknown_83E64A0,
+ .anims = sAnims_Cloud,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = InitSwirlingFogAnim,
};
-const struct SpriteTemplate gUnknown_83E64BC =
+const struct SpriteTemplate gSmogCloudSpriteTemplate =
{
.tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.oam = &gOamData_AffineOff_ObjBlend_32x16,
- .anims = gUnknown_83E64A0,
+ .anims = sAnims_Cloud,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = InitSwirlingFogAnim,
@@ -336,7 +337,7 @@ static const u8 gUnknown_83E64D4[] =
0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9,
};
-const struct SpriteTemplate gUnknown_83E64E8 =
+const struct SpriteTemplate gMistBallSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
@@ -352,18 +353,18 @@ static const u8 gUnknown_83E6500[] =
0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5,
};
-const struct SpriteTemplate gUnknown_83E6514 =
+const struct SpriteTemplate gPoisonGasCloudSpriteTemplate =
{
.tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.oam = &gOamData_AffineOff_ObjBlend_32x16,
- .anims = gUnknown_83E64A0,
+ .anims = sAnims_Cloud,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = InitPoisonGasCloudAnim,
};
-static const struct HailStruct gUnknown_83E652C[] =
+static const struct HailStruct sHailCoordData[] =
{
{100, 120, 0, 2},
{85, 120, 0, 0},
@@ -377,71 +378,71 @@ static const struct HailStruct gUnknown_83E652C[] =
{38, 120, 2, 0},
};
-static const union AffineAnimCmd gUnknown_83E6554[] =
+static const union AffineAnimCmd sAffineAnim_HailParticle_0[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E6564[] =
+static const union AffineAnimCmd sAffineAnim_HailParticle_1[] =
{
AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E6574[] =
+static const union AffineAnimCmd sAffineAnim_HailParticle_2[] =
{
AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E6584[] =
+static const union AffineAnimCmd sAffineAnim_WeatherBallIceDown[] =
{
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6594[] =
+static const union AffineAnimCmd *const sAffineAnims_HailParticle[] =
{
- gUnknown_83E6554,
- gUnknown_83E6564,
- gUnknown_83E6574,
+ sAffineAnim_HailParticle_0,
+ sAffineAnim_HailParticle_1,
+ sAffineAnim_HailParticle_2,
};
-static const union AffineAnimCmd *const gUnknown_83E65A0[] =
+static const union AffineAnimCmd *const sAffineAnims_WeatherBallIceDown[] =
{
- gUnknown_83E6584,
+ sAffineAnim_WeatherBallIceDown,
};
-static const struct SpriteTemplate gUnknown_83E65A4 =
+static const struct SpriteTemplate sHailParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_HAIL,
.paletteTag = ANIM_TAG_HAIL,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6594,
+ .affineAnims = sAffineAnims_HailParticle,
.callback = AnimHailBegin,
};
-const struct SpriteTemplate gUnknown_83E65BC =
+const struct SpriteTemplate gWeatherBallIceDownSpriteTemplate =
{
.tileTag = ANIM_TAG_HAIL,
.paletteTag = ANIM_TAG_HAIL,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E65A0,
- .callback = sub_8077350,
+ .affineAnims = sAffineAnims_WeatherBallIceDown,
+ .callback = AnimWeatherBallDown,
};
-static const union AnimCmd gUnknown_83E65D4[] =
+static const union AnimCmd sAnim_IceBallChunk_0[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E65DC[] =
+static const union AnimCmd sAnim_IceBallChunk_1[] =
{
ANIMCMD_FRAME(16, 4),
ANIMCMD_FRAME(32, 4),
@@ -450,68 +451,68 @@ static const union AnimCmd gUnknown_83E65DC[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E65F0[] =
+static const union AnimCmd *const sAnims_IceBallChunk[] =
{
- gUnknown_83E65D4,
- gUnknown_83E65DC,
+ sAnim_IceBallChunk_0,
+ sAnim_IceBallChunk_1,
};
-static const union AffineAnimCmd gUnknown_83E65F8[] =
+static const union AffineAnimCmd sAffineAnim_IceBallChunk_0[] =
{
AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E6608[] =
+static const union AffineAnimCmd sAffineAnim_IceBallChunk_1[] =
{
AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E6618[] =
+static const union AffineAnimCmd sAffineAnim_IceBallChunk_2[] =
{
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E6628[] =
+static const union AffineAnimCmd sAffineAnim_IceBallChunk_3[] =
{
AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E6638[] =
+static const union AffineAnimCmd sAffineAnim_IceBallChunk_4[] =
{
AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6648[] =
+static const union AffineAnimCmd *const sAffineAnims_IceBallChunk[] =
{
- gUnknown_83E65F8,
- gUnknown_83E6608,
- gUnknown_83E6618,
- gUnknown_83E6628,
- gUnknown_83E6638,
+ sAffineAnim_IceBallChunk_0,
+ sAffineAnim_IceBallChunk_1,
+ sAffineAnim_IceBallChunk_2,
+ sAffineAnim_IceBallChunk_3,
+ sAffineAnim_IceBallChunk_4,
};
-const struct SpriteTemplate gUnknown_83E665C =
+const struct SpriteTemplate gIceBallChunkSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CHUNK,
.paletteTag = ANIM_TAG_ICE_CHUNK,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
- .anims = gUnknown_83E65F0,
+ .anims = sAnims_IceBallChunk,
.images = NULL,
- .affineAnims = gUnknown_83E6648,
+ .affineAnims = sAffineAnims_IceBallChunk,
.callback = InitIceBallAnim,
};
-const struct SpriteTemplate gUnknown_83E6674 =
+const struct SpriteTemplate gIceBallImpactShardSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
- .anims = gUnknown_83E6324,
+ .anims = sAnims_IceCrystalSmall,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = InitIceBallParticle,
@@ -1305,11 +1306,11 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId,
s16 battlerX, battlerY;
s16 spriteX;
bool8 possibleBool = FALSE;
- s8 unk = gUnknown_83E652C[hailStructId].unk3;
+ s8 unk = sHailCoordData[hailStructId].unk3;
if (unk != 2)
{
- id = GetBattlerAtPosition(gUnknown_83E652C[hailStructId].unk2);
+ id = GetBattlerAtPosition(sHailCoordData[hailStructId].unk2);
if (IsBattlerSpriteVisible(id))
{
possibleBool = TRUE;
@@ -1329,17 +1330,17 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId,
}
else
{
- battlerX = (gUnknown_83E652C[hailStructId].unk0);
- battlerY = (gUnknown_83E652C[hailStructId].unk1);
+ battlerX = (sHailCoordData[hailStructId].unk0);
+ battlerY = (sHailCoordData[hailStructId].unk1);
}
}
else
{
- battlerX = (gUnknown_83E652C[hailStructId].unk0);
- battlerY = (gUnknown_83E652C[hailStructId].unk1);
+ battlerX = (sHailCoordData[hailStructId].unk0);
+ battlerY = (sHailCoordData[hailStructId].unk1);
}
spriteX = battlerX - ((battlerY + 8) / 2);
- id = CreateSprite(&gUnknown_83E65A4, spriteX, -8, 18);
+ id = CreateSprite(&sHailParticleSpriteTemplate, spriteX, -8, 18);
if (id == MAX_SPRITES)
{
return FALSE;
@@ -1367,7 +1368,7 @@ static void AnimHailBegin(struct Sprite *sprite)
return;
if (sprite->data[0] == 1 && sprite->data[5] == 0)
{
- spriteId = CreateSprite(&gUnknown_83E63E0, sprite->data[3], sprite->data[4], sprite->subpriority);
+ spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate, sprite->data[3], sprite->data[4], sprite->subpriority);
sprite->data[0] = spriteId;
if (spriteId != 64)
{
diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c
index 582060f78..3f5bd8b69 100644
--- a/src/librfu_rfu.c
+++ b/src/librfu_rfu.c
@@ -1,3 +1,4 @@
+#include <limits.h>
#include "librfu.h"
struct LLSFStruct
@@ -110,7 +111,7 @@ static const struct LLSFStruct llsf_struct[2] = {
#define xstr(s) str(s)
#define str(s) #s
-const char version_string[] = "RFU_V" xstr(LIBRFU_VERSION);
+static const char version_string[] = "RFU_V" xstr(LIBRFU_VERSION);
static const char str_checkMbootLL[] = "RFU-MBOOT";
@@ -154,16 +155,13 @@ u16 rfu_initializeAPI(u32 *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p
gRfuStatic = (void *)APIBuffer + 0xb4; // + sizeof(*gRfuLinkStatus)
gRfuFixed = (void *)APIBuffer + 0xdc; // + sizeof(*gRfuStatic)
gRfuSlotStatusNI[0] = (void *)APIBuffer + 0x1bc; // + sizeof(*gRfuFixed)
- gRfuSlotStatusUNI[0] = (void *)APIBuffer + 0x37c; // + sizeof(*gRfuSlotStatusNI[0])
+ gRfuSlotStatusUNI[0] = (void *)APIBuffer + 0x37c; // + sizeof(*gRfuSlotStatusNI[0]) * RFU_CHILD_MAX
for (i = 1; i < RFU_CHILD_MAX; ++i)
{
gRfuSlotStatusNI[i] = &gRfuSlotStatusNI[i - 1][1];
gRfuSlotStatusUNI[i] = &gRfuSlotStatusUNI[i - 1][1];
}
- // TODO: Is it possible to fix the following 2 statements?
- // It's equivalent to:
- // gRfuFixed->STWIBuffer = &APIBuffer->intr;
- // STWI_init_all(&APIBuffer->intr, sioIntrTable_p, copyInterruptToRam);
+ // remaining space in API buffer is used for `struct RfuIntrStruct`.
gRfuFixed->STWIBuffer = (struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1];
STWI_init_all((struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1], sioIntrTable_p, copyInterruptToRam);
rfu_STC_clearAPIVariables();
@@ -1800,7 +1798,7 @@ static u16 rfu_STC_NI_constructLLSF(u8 bm_slot_id, u8 **dest_pp, struct NIComm *
}
else
{
- if ((u32)NI_comm->remainSize >= NI_comm->payloadSize)
+ if (NI_comm->remainSize >= NI_comm->payloadSize)
size = NI_comm->payloadSize;
else
size = NI_comm->remainSize;
@@ -2095,34 +2093,31 @@ static void rfu_STC_NI_receive_Sender(u8 NI_slot, u8 bm_flag, const struct RfuLo
else
NI_comm->now_p[llsf_NI->phase] += NI_comm->payloadSize << 2;
NI_comm->remainSize -= NI_comm->payloadSize;
- if (NI_comm->remainSize != 0)
- if (NI_comm->remainSize >= 0)
- goto _081E30AE;
- // Above is a hack to avoid optimization over comparison.
- // rfu_STC_NI_constructLLSF uses this field as u32.
- // It's equivalent to the following condition:
- // if (NI_comm->remainSize == 0 || NI_comm->remainSize < 0)
+ switch (NI_comm->remainSize)
+ {
+ default:
+ case 0:
+ NI_comm->phase = 0;
+ if (NI_comm->state == SLOT_STATE_SEND_START)
{
- NI_comm->phase = 0;
- if (NI_comm->state == SLOT_STATE_SEND_START)
+ for (i = 0; i < WINDOW_COUNT; ++i)
{
- for (i = 0; i < WINDOW_COUNT; ++i)
- {
- NI_comm->n[i] = 1;
- NI_comm->now_p[i] = NI_comm->src + NI_comm->payloadSize * i;
- }
- NI_comm->remainSize = NI_comm->dataSize;
- NI_comm->state = SLOT_STATE_SENDING;
- }
- else
- {
- NI_comm->n[0] = 0;
- NI_comm->remainSize = 0;
- NI_comm->state = SLOT_STATE_SEND_LAST;
+ NI_comm->n[i] = 1;
+ NI_comm->now_p[i] = NI_comm->src + NI_comm->payloadSize * i;
}
+ NI_comm->remainSize = NI_comm->dataSize;
+ NI_comm->state = SLOT_STATE_SENDING;
}
- _081E30AE:
- ;
+ else
+ {
+ NI_comm->n[0] = 0;
+ NI_comm->remainSize = 0;
+ NI_comm->state = SLOT_STATE_SEND_LAST;
+ }
+ break;
+ case 1 ... INT_MAX:
+ break;
+ }
}
else if (NI_comm->state == SLOT_STATE_SEND_LAST)
{
diff --git a/src/normal.c b/src/normal.c
index 5a4d98907..99ee0e922 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -7,16 +7,16 @@
static void AnimConfusionDuck(struct Sprite *sprite);
static void AnimSimplePaletteBlend(struct Sprite *sprite);
-static void sub_80B9A7C(struct Sprite *sprite);
+static void AnimComplexPaletteBlend(struct Sprite *sprite);
static void sub_80B9B8C(struct Sprite *sprite);
-static void sub_80BA27C(struct Sprite *sprite);
-static void sub_80BA560(struct Sprite *sprite);
-static void sub_80BA5F8(struct Sprite *sprite);
-static void sub_80BA630(struct Sprite *sprite);
-static void sub_80BA6C8(struct Sprite *sprite);
-static void sub_80BA738(struct Sprite *sprite);
-static void sub_80BA780(struct Sprite *sprite);
-static void sub_80BA5A8(struct Sprite *sprite);
+static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite);
+static void AnimHitSplatBasic(struct Sprite *sprite);
+static void AnimHitSplatHandleInvert(struct Sprite *sprite);
+static void AnimHitSplatRandom(struct Sprite *sprite);
+static void AnimHitSplatOnMonEdge(struct Sprite *sprite);
+static void AnimCrossImpact(struct Sprite *sprite);
+static void AnimFlashingHitSplat(struct Sprite *sprite);
+static void AnimHitSplatPersistent(struct Sprite *sprite);
static void AnimConfusionDuckStep(struct Sprite *sprite);
static void AnimSimplePaletteBlendStep(struct Sprite *sprite);
static void sub_80B9AD0(struct Sprite *sprite);
@@ -35,7 +35,7 @@ static void sub_80BA4D0(u8 taskId);
static void sub_80BA7BC(struct Sprite *sprite);
-static const union AnimCmd gUnknown_83E7ADC[] =
+static const union AnimCmd sAnim_ConfusionDuck_0[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(4, 8),
@@ -44,7 +44,7 @@ static const union AnimCmd gUnknown_83E7ADC[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd gUnknown_83E7AF0[] =
+static const union AnimCmd sAnim_ConfusionDuck_1[] =
{
ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
ANIMCMD_FRAME(4, 8),
@@ -53,10 +53,10 @@ static const union AnimCmd gUnknown_83E7AF0[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd *const gUnknown_83E7B04[] =
+static const union AnimCmd *const sAnims_ConfusionDuck[] =
{
- gUnknown_83E7ADC,
- gUnknown_83E7AF0,
+ sAnim_ConfusionDuck_0,
+ sAnim_ConfusionDuck_1,
};
const struct SpriteTemplate gConfusionDuckSpriteTemplate =
@@ -64,7 +64,7 @@ const struct SpriteTemplate gConfusionDuckSpriteTemplate =
.tileTag = ANIM_TAG_DUCK,
.paletteTag = ANIM_TAG_DUCK,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
- .anims = gUnknown_83E7B04,
+ .anims = sAnims_ConfusionDuck,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimConfusionDuck,
@@ -89,7 +89,7 @@ const struct SpriteTemplate gComplexPaletteBlendSpriteTemplate =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B9A7C,
+ .callback = AnimComplexPaletteBlend,
};
static const union AnimCmd gUnknown_83E7B54[] =
@@ -118,7 +118,7 @@ const struct SpriteTemplate gUnknown_83E7B70 =
.callback = sub_80B9B8C,
};
-const struct SpriteTemplate gUnknown_83E7B88 =
+const struct SpriteTemplate gShakeMonOrTerrainSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
@@ -126,42 +126,42 @@ const struct SpriteTemplate gUnknown_83E7B88 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80BA27C,
+ .callback = AnimShakeMonOrBattleTerrain,
};
-static const union AffineAnimCmd gUnknown_83E7BA0[] =
+static const union AffineAnimCmd sAffineAnim_HitSplat_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E7BB0[] =
+static const union AffineAnimCmd sAffineAnim_HitSplat_1[] =
{
AFFINEANIMCMD_FRAME(0xD8, 0xD8, 0, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E7BC8[] =
+static const union AffineAnimCmd sAffineAnim_HitSplat_2[] =
{
AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E7BE0[] =
+static const union AffineAnimCmd sAffineAnim_HitSplat_3[] =
{
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E7BF8[] =
+static const union AffineAnimCmd *const sAffineAnims_HitSplat[] =
{
- gUnknown_83E7BA0,
- gUnknown_83E7BB0,
- gUnknown_83E7BC8,
- gUnknown_83E7BE0,
+ sAffineAnim_HitSplat_0,
+ sAffineAnim_HitSplat_1,
+ sAffineAnim_HitSplat_2,
+ sAffineAnim_HitSplat_3,
};
const struct SpriteTemplate gBasicHitSplatSpriteTemplate =
@@ -171,55 +171,55 @@ const struct SpriteTemplate gBasicHitSplatSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7BF8,
- .callback = sub_80BA560,
+ .affineAnims = sAffineAnims_HitSplat,
+ .callback = AnimHitSplatBasic,
};
-const struct SpriteTemplate gUnknown_83E7C20 =
+const struct SpriteTemplate gHandleInvertHitSplatSpriteTemplate =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7BF8,
- .callback = sub_80BA5F8,
+ .affineAnims = sAffineAnims_HitSplat,
+ .callback = AnimHitSplatHandleInvert,
};
-const struct SpriteTemplate gUnknown_83E7C38 =
+const struct SpriteTemplate gWaterHitSplatSpriteTemplate =
{
.tileTag = ANIM_TAG_WATER_IMPACT,
.paletteTag = ANIM_TAG_WATER_IMPACT,
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7BF8,
- .callback = sub_80BA560,
+ .affineAnims = sAffineAnims_HitSplat,
+ .callback = AnimHitSplatBasic,
};
-const struct SpriteTemplate gUnknown_83E7C50 =
+const struct SpriteTemplate gRandomPosHitSplatSpriteTemplate =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7BF8,
- .callback = sub_80BA630,
+ .affineAnims = sAffineAnims_HitSplat,
+ .callback = AnimHitSplatRandom,
};
-const struct SpriteTemplate gUnknown_83E7C68 =
+const struct SpriteTemplate gMonEdgeHitSplatSpriteTemplate =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7BF8,
- .callback = sub_80BA6C8,
+ .affineAnims = sAffineAnims_HitSplat,
+ .callback = AnimHitSplatOnMonEdge,
};
-const struct SpriteTemplate gUnknown_83E7C80 =
+const struct SpriteTemplate gCrossImpactSpriteTemplate =
{
.tileTag = ANIM_TAG_CROSS_IMPACT,
.paletteTag = ANIM_TAG_CROSS_IMPACT,
@@ -227,29 +227,29 @@ const struct SpriteTemplate gUnknown_83E7C80 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80BA738,
+ .callback = AnimCrossImpact,
};
-const struct SpriteTemplate gUnknown_83E7C98 =
+const struct SpriteTemplate gFlashingHitSplatSpriteTemplate =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7BF8,
- .callback = sub_80BA780,
+ .affineAnims = sAffineAnims_HitSplat,
+ .callback = AnimFlashingHitSplat,
};
-const struct SpriteTemplate gUnknown_83E7CB0 =
+const struct SpriteTemplate gPersistHitSplatSpriteTemplate =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7BF8,
- .callback = sub_80BA5A8,
+ .affineAnims = sAffineAnims_HitSplat,
+ .callback = AnimHitSplatPersistent,
};
// Moves a spinning duck around the mon's head.
@@ -335,7 +335,7 @@ static void AnimSimplePaletteBlendStep(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B9A7C(struct Sprite *sprite)
+static void AnimComplexPaletteBlend(struct Sprite *sprite)
{
u32 selectedPalettes;
@@ -461,7 +461,7 @@ static void sub_80B9C7C(u8 taskId)
}
}
-void sub_80B9CE4(u8 taskId)
+void AnimTask_BlendColorCycleExclude(u8 taskId)
{
s32 battler;
u32 selectedPalettes = 0;
@@ -527,7 +527,7 @@ static void sub_80B9DF0(u8 taskId)
}
}
-void sub_80B9E58(u8 taskId)
+void AnimTask_BlendColorCycleByTag(u8 taskId)
{
u8 paletteIndex;
@@ -585,7 +585,7 @@ static void sub_80B9F04(u8 taskId)
}
}
-void sub_80B9F6C(u8 taskId)
+void AnimTask_FlashAnimTagWithColor(u8 taskId)
{
u8 paletteIndex;
@@ -652,7 +652,7 @@ static void sub_80BA090(u8 taskId)
}
}
-void sub_80BA0E8(u8 taskId)
+void AnimTask_InvertScreenColor(u8 taskId)
{
u32 selectedPalettes = 0;
u8 attackerBattler = gBattleAnimAttacker;
@@ -708,7 +708,7 @@ static void sub_80BA16C(u8 taskId)
}
}
-static void sub_80BA27C(struct Sprite *sprite)
+static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite)
{
u16 var0;
@@ -789,7 +789,7 @@ static void sub_80BA3CC(void)
}
}
-void sub_80BA47C(u8 taskId)
+void AnimTask_ShakeBattleTerrain(u8 taskId)
{
gTasks[taskId].data[0] = gBattleAnimArgs[0];
gTasks[taskId].data[1] = gBattleAnimArgs[1];
@@ -830,7 +830,7 @@ static void sub_80BA4D0(u8 taskId)
}
}
-static void sub_80BA560(struct Sprite *sprite)
+static void AnimHitSplatBasic(struct Sprite *sprite)
{
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
if (gBattleAnimArgs[2] == 0)
@@ -841,7 +841,7 @@ static void sub_80BA560(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-static void sub_80BA5A8(struct Sprite *sprite)
+static void AnimHitSplatPersistent(struct Sprite *sprite)
{
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
if (gBattleAnimArgs[2] == 0)
@@ -853,14 +853,14 @@ static void sub_80BA5A8(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, sub_80B1D3C);
}
-static void sub_80BA5F8(struct Sprite *sprite)
+static void AnimHitSplatHandleInvert(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest())
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
- sub_80BA560(sprite);
+ AnimHitSplatBasic(sprite);
}
-static void sub_80BA630(struct Sprite *sprite)
+static void AnimHitSplatRandom(struct Sprite *sprite)
{
if (gBattleAnimArgs[1] == -1)
gBattleAnimArgs[1] = Random() & 3;
@@ -875,7 +875,7 @@ static void sub_80BA630(struct Sprite *sprite)
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
-static void sub_80BA6C8(struct Sprite *sprite)
+static void AnimHitSplatOnMonEdge(struct Sprite *sprite)
{
sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x;
@@ -887,7 +887,7 @@ static void sub_80BA6C8(struct Sprite *sprite)
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
-static void sub_80BA738(struct Sprite *sprite)
+static void AnimCrossImpact(struct Sprite *sprite)
{
if (gBattleAnimArgs[2] == 0)
InitSpritePosToAnimAttacker(sprite, 1);
@@ -898,7 +898,7 @@ static void sub_80BA738(struct Sprite *sprite)
sprite->callback = WaitAnimForDuration;
}
-static void sub_80BA780(struct Sprite *sprite)
+static void AnimFlashingHitSplat(struct Sprite *sprite)
{
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
if (gBattleAnimArgs[2] == 0)
diff --git a/src/poison.c b/src/poison.c
index af7f8ee86..ae458d561 100644
--- a/src/poison.c
+++ b/src/poison.c
@@ -2,17 +2,17 @@
#include "battle_anim.h"
#include "trig.h"
-static void sub_80B1620(struct Sprite *sprite);
-static void sub_80B16A0(struct Sprite *sprite);
-static void sub_80B1744(struct Sprite *sprite);
-static void sub_80B17C4(struct Sprite *sprite);
+static void AnimSludgeProjectile(struct Sprite *sprite);
+static void AnimAcidPoisonBubble(struct Sprite *sprite);
+static void AnimSludgeBombHitParticle(struct Sprite *sprite);
+static void AnimAcidPoisonDroplet(struct Sprite *sprite);
static void AnimBubbleEffect(struct Sprite *sprite);
static void sub_80B1684(struct Sprite *sprite);
static void sub_80B1728(struct Sprite *sprite);
static void sub_80B1798(struct Sprite *sprite);
static void AnimBubbleEffectStep(struct Sprite *sprite);
-static const union AnimCmd gUnknown_83E6994[] =
+static const union AnimCmd sAnim_ToxicBubble[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(8, 5),
@@ -21,56 +21,56 @@ static const union AnimCmd gUnknown_83E6994[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E69A8[] =
+static const union AnimCmd *const sAnims_ToxicBubble[] =
{
- gUnknown_83E6994,
+ sAnim_ToxicBubble,
};
-const struct SpriteTemplate gUnknown_83E69AC =
+const struct SpriteTemplate gToxicBubbleSpriteTemplate =
{
.tileTag = ANIM_TAG_TOXIC_BUBBLE,
.paletteTag = ANIM_TAG_TOXIC_BUBBLE,
.oam = &gOamData_AffineOff_ObjNormal_16x32,
- .anims = gUnknown_83E69A8,
+ .anims = sAnims_ToxicBubble,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSpriteOnMonPos,
};
-static const union AnimCmd gUnknown_83E69C4[] =
+static const union AnimCmd sAnim_PoisonProjectile[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E69CC[] =
+static const union AnimCmd sAnim_AcidPoisonDroplet[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E69D4[] =
+static const union AnimCmd sAnim_SludgeBombHit[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E69DC[] =
+static const union AnimCmd *const sAnims_PoisonProjectile[] =
{
- gUnknown_83E69C4,
+ sAnim_PoisonProjectile,
};
-static const union AnimCmd *const gUnknown_83E69E0[] =
+static const union AnimCmd *const sAnims_AcidPoisonDroplet[] =
{
- gUnknown_83E69CC,
+ sAnim_AcidPoisonDroplet,
};
-static const union AnimCmd *const gUnknown_83E69E4[] =
+static const union AnimCmd *const sAnims_SludgeBombHit[] =
{
- gUnknown_83E69D4,
+ sAnim_SludgeBombHit,
};
-static const union AffineAnimCmd gUnknown_83E69E8[] =
+static const union AffineAnimCmd sAffineAnim_PoisonProjectile[] =
{
AFFINEANIMCMD_FRAME(0x160, 0x160, 0, 0),
AFFINEANIMCMD_FRAME(-0xA, -0xA, 0, 10),
@@ -78,88 +78,88 @@ static const union AffineAnimCmd gUnknown_83E69E8[] =
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd gUnknown_83E6A08[] =
+static const union AffineAnimCmd sAffineAnim_SludgeBombHit[] =
{
AFFINEANIMCMD_FRAME(0xEC, 0xEC, 0, 0),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6A18[] =
+static const union AffineAnimCmd *const sAffineAnims_PoisonProjectile[] =
{
- gUnknown_83E69E8,
+ sAffineAnim_PoisonProjectile,
};
-static const union AffineAnimCmd *const gUnknown_83E6A1C[] =
+static const union AffineAnimCmd *const sAffineAnims_SludgeBombHit[] =
{
- gUnknown_83E6A08,
+ sAffineAnim_SludgeBombHit,
};
-const struct SpriteTemplate gUnknown_83E6A20 =
+const struct SpriteTemplate gSludgeProjectileSpriteTemplate =
{
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
- .anims = gUnknown_83E69DC,
+ .anims = sAnims_PoisonProjectile,
.images = NULL,
- .affineAnims = gUnknown_83E6A18,
- .callback = sub_80B1620,
+ .affineAnims = sAffineAnims_PoisonProjectile,
+ .callback = AnimSludgeProjectile,
};
-const struct SpriteTemplate gUnknown_83E6A38 =
+const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate =
{
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
- .anims = gUnknown_83E69DC,
+ .anims = sAnims_PoisonProjectile,
.images = NULL,
- .affineAnims = gUnknown_83E6A18,
- .callback = sub_80B16A0,
+ .affineAnims = sAffineAnims_PoisonProjectile,
+ .callback = AnimAcidPoisonBubble,
};
-const struct SpriteTemplate gUnknown_83E6A50 =
+const struct SpriteTemplate gSludgeBombHitParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
- .anims = gUnknown_83E69E4,
+ .anims = sAnims_SludgeBombHit,
.images = NULL,
- .affineAnims = gUnknown_83E6A1C,
- .callback = sub_80B1744,
+ .affineAnims = sAffineAnims_SludgeBombHit,
+ .callback = AnimSludgeBombHitParticle,
};
-static const union AffineAnimCmd gUnknown_83E6A68[] =
+static const union AffineAnimCmd sAffineAnim_AcidPoisonDroplet[] =
{
AFFINEANIMCMD_FRAME(-0x10, 0x10, 0, 6),
AFFINEANIMCMD_FRAME(0x10, -0x10, 0, 6),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_83E6A80[] =
+const union AffineAnimCmd *const gAffineAnims_Droplet[] =
{
- gUnknown_83E6A68,
+ sAffineAnim_AcidPoisonDroplet,
};
-const struct SpriteTemplate gUnknown_83E6A84 =
+const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate =
{
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
- .anims = gUnknown_83E69E0,
+ .anims = sAnims_AcidPoisonDroplet,
.images = NULL,
- .affineAnims = gUnknown_83E6A80,
- .callback = sub_80B17C4,
+ .affineAnims = gAffineAnims_Droplet,
+ .callback = AnimAcidPoisonDroplet,
};
-static const union AffineAnimCmd gUnknown_83E6A9C[] =
+static const union AffineAnimCmd sAffineAnim_Bubble[] =
{
AFFINEANIMCMD_FRAME(0x9C, 0x9C, 0, 0),
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 20),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6AB4[] =
+static const union AffineAnimCmd *const sAffineAnims_Bubble[] =
{
- gUnknown_83E6A9C,
+ sAffineAnim_Bubble,
};
const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
@@ -167,9 +167,9 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
- .anims = gUnknown_83E69DC,
+ .anims = sAnims_PoisonProjectile,
.images = NULL,
- .affineAnims = gUnknown_83E6AB4,
+ .affineAnims = sAffineAnims_Bubble,
.callback = AnimBubbleEffect,
};
@@ -178,13 +178,13 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
- .anims = gUnknown_83E5A78,
+ .anims = gAnims_WaterBubble,
.images = NULL,
- .affineAnims = gUnknown_83E6AB4,
+ .affineAnims = sAffineAnims_Bubble,
.callback = AnimBubbleEffect,
};
-static void sub_80B1620(struct Sprite *sprite)
+static void AnimSludgeProjectile(struct Sprite *sprite)
{
if (!gBattleAnimArgs[3])
StartSpriteAnim(sprite, 2);
@@ -203,7 +203,7 @@ static void sub_80B1684(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B16A0(struct Sprite *sprite)
+static void AnimAcidPoisonBubble(struct Sprite *sprite)
{
s16 l1, l2;
@@ -227,7 +227,7 @@ static void sub_80B1728(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B1744(struct Sprite *sprite)
+static void AnimSludgeBombHitParticle(struct Sprite *sprite)
{
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->pos1.x;
@@ -249,7 +249,7 @@ static void sub_80B1798(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80B17C4(struct Sprite *sprite)
+static void AnimAcidPoisonDroplet(struct Sprite *sprite)
{
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
diff --git a/src/psychic.c b/src/psychic.c
index eb3522188..5a6b4f942 100644
--- a/src/psychic.c
+++ b/src/psychic.c
@@ -5,13 +5,13 @@
#include "trig.h"
#include "constants/songs.h"
-static void sub_80B2ECC(struct Sprite *sprite);
-static void sub_80B31D0(struct Sprite *sprite);
-static void sub_80B3278(struct Sprite *sprite);
-static void sub_80B32F4(struct Sprite *sprite);
-static void sub_80B37EC(struct Sprite *sprite);
-static void sub_80B3A34(struct Sprite *sprite);
-static void sub_80B3E84(struct Sprite *sprite);
+static void AnimDefensiveWall(struct Sprite *sprite);
+static void AnimWallSparkle(struct Sprite *sprite);
+static void AnimBentSpoon(struct Sprite *sprite);
+static void AnimQuestionMark(struct Sprite *sprite);
+static void AnimRedX(struct Sprite *sprite);
+static void AnimSkillSwapOrb(struct Sprite *sprite);
+static void AnimPsychoBoost(struct Sprite *sprite);
static void sub_80B300C(struct Sprite *sprite);
static void sub_80B3044(struct Sprite *sprite);
static void sub_80B30B0(struct Sprite *sprite);
@@ -25,30 +25,30 @@ static void sub_80B3980(u8 taskId);
static void sub_80B3B78(u8 taskId);
static void sub_80B3D78(u8 taskId);
-static const union AffineAnimCmd gUnknown_83E6DDC[] =
+static const union AffineAnimCmd sAffineAnim_PsychUpSpiral[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(-0x2, -0x2, -10, 120),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6DF4[] =
+static const union AffineAnimCmd *const sAffineAnims_PsychUpSpiral[] =
{
- gUnknown_83E6DDC,
+ sAffineAnim_PsychUpSpiral,
};
-const struct SpriteTemplate gUnknown_83E6DF8 =
+const struct SpriteTemplate gPsychUpSpiralSpriteTemplate =
{
.tileTag = ANIM_TAG_SPIRAL,
.paletteTag = ANIM_TAG_SPIRAL,
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E6DF4,
+ .affineAnims = sAffineAnims_PsychUpSpiral,
.callback = AnimSpriteOnMonPos,
};
-const struct SpriteTemplate gUnknown_83E6E10 =
+const struct SpriteTemplate gLightScreenWallSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_LIGHT_WALL,
.paletteTag = ANIM_TAG_GREEN_LIGHT_WALL,
@@ -56,10 +56,10 @@ const struct SpriteTemplate gUnknown_83E6E10 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B2ECC,
+ .callback = AnimDefensiveWall,
};
-const struct SpriteTemplate gUnknown_83E6E28 =
+const struct SpriteTemplate gReflectWallSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_LIGHT_WALL,
.paletteTag = ANIM_TAG_BLUE_LIGHT_WALL,
@@ -67,10 +67,10 @@ const struct SpriteTemplate gUnknown_83E6E28 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B2ECC,
+ .callback = AnimDefensiveWall,
};
-const struct SpriteTemplate gUnknown_83E6E40 =
+const struct SpriteTemplate gMirrorCoatWallSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_LIGHT_WALL,
.paletteTag = ANIM_TAG_RED_LIGHT_WALL,
@@ -78,10 +78,10 @@ const struct SpriteTemplate gUnknown_83E6E40 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B2ECC,
+ .callback = AnimDefensiveWall,
};
-const struct SpriteTemplate gUnknown_83E6E58 =
+const struct SpriteTemplate gBarrierWallSpriteTemplate =
{
.tileTag = ANIM_TAG_GRAY_LIGHT_WALL,
.paletteTag = ANIM_TAG_GRAY_LIGHT_WALL,
@@ -89,10 +89,10 @@ const struct SpriteTemplate gUnknown_83E6E58 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B2ECC,
+ .callback = AnimDefensiveWall,
};
-const struct SpriteTemplate gUnknown_83E6E70 =
+const struct SpriteTemplate gMagicCoatWallSpriteTemplate =
{
.tileTag = ANIM_TAG_ORANGE_LIGHT_WALL,
.paletteTag = ANIM_TAG_ORANGE_LIGHT_WALL,
@@ -100,10 +100,10 @@ const struct SpriteTemplate gUnknown_83E6E70 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B2ECC,
+ .callback = AnimDefensiveWall,
};
-static const union AnimCmd gUnknown_83E6E88[] =
+static const union AnimCmd sAnim_ReflectSparkle[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@@ -113,23 +113,23 @@ static const union AnimCmd gUnknown_83E6E88[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6EA0[] =
+static const union AnimCmd *const sAnims_ReflectSparkle[] =
{
- gUnknown_83E6E88,
+ sAnim_ReflectSparkle,
};
-const struct SpriteTemplate gUnknown_83E6EA4 =
+const struct SpriteTemplate gReflectSparkleSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_4,
.paletteTag = ANIM_TAG_SPARKLE_4,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E6EA0,
+ .anims = sAnims_ReflectSparkle,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B31D0,
+ .callback = AnimWallSparkle,
};
-static const union AnimCmd gUnknown_83E6EBC[] =
+static const union AnimCmd sAnim_SpecialScreenSparkle[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(4, 5),
@@ -138,23 +138,23 @@ static const union AnimCmd gUnknown_83E6EBC[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6ED0[] =
+static const union AnimCmd *const sAnims_SpecialScreenSparkle[] =
{
- gUnknown_83E6EBC,
+ sAnim_SpecialScreenSparkle,
};
-const struct SpriteTemplate gUnknown_83E6ED4 =
+const struct SpriteTemplate gSpecialScreenSparkleSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_3,
.paletteTag = ANIM_TAG_SPARKLE_3,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
- .anims = gUnknown_83E6ED0,
+ .anims = sAnims_SpecialScreenSparkle,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B31D0,
+ .callback = AnimWallSparkle,
};
-const struct SpriteTemplate gUnknown_83E6EEC =
+const struct SpriteTemplate gGoldRingSpriteTemplate =
{
.tileTag = ANIM_TAG_GOLD_RING,
.paletteTag = ANIM_TAG_GOLD_RING,
@@ -165,7 +165,7 @@ const struct SpriteTemplate gUnknown_83E6EEC =
.callback = TranslateAnimSpriteToTargetMonLocation,
};
-static const union AnimCmd gUnknown_83E6F04[] =
+static const union AnimCmd sAnim_BentSpoon_0[] =
{
ANIMCMD_FRAME(8, 60, .hFlip = TRUE),
ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
@@ -185,7 +185,7 @@ static const union AnimCmd gUnknown_83E6F04[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_83E6F44[] =
+static const union AnimCmd sAnim_BentSpoon_1[] =
{
ANIMCMD_FRAME(8, 60),
ANIMCMD_FRAME(16, 5),
@@ -205,24 +205,24 @@ const union AnimCmd gUnknown_83E6F44[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6F84[] =
+static const union AnimCmd *const sAnims_BentSpoon[] =
{
- gUnknown_83E6F04,
- gUnknown_83E6F44,
+ sAnim_BentSpoon_0,
+ sAnim_BentSpoon_1,
};
-const struct SpriteTemplate gUnknown_83E6F8C =
+const struct SpriteTemplate gBentSpoonSpriteTemplate =
{
.tileTag = ANIM_TAG_BENT_SPOON,
.paletteTag = ANIM_TAG_BENT_SPOON,
.oam = &gOamData_AffineOff_ObjNormal_16x32,
- .anims = gUnknown_83E6F84,
+ .anims = sAnims_BentSpoon,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B3278,
+ .callback = AnimBentSpoon,
};
-static const union AnimCmd gUnknown_83E6FA4[] =
+static const union AnimCmd sAnim_QuestionMark[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(16, 6),
@@ -234,12 +234,12 @@ static const union AnimCmd gUnknown_83E6FA4[] =
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E6FC4[] =
+static const union AnimCmd *const sAnims_QuestionMark[] =
{
- gUnknown_83E6FA4,
+ sAnim_QuestionMark,
};
-static const union AffineAnimCmd gUnknown_83E6FC8[] =
+static const union AffineAnimCmd sAffineAnim_QuestionMark[] =
{
AFFINEANIMCMD_FRAME(0, 0, 4, 4),
AFFINEANIMCMD_FRAME(0, 0, -4, 8),
@@ -248,23 +248,23 @@ static const union AffineAnimCmd gUnknown_83E6FC8[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E6FF0[] =
+static const union AffineAnimCmd *const sAffineAnims_QuestionMark[] =
{
- gUnknown_83E6FC8,
+ sAffineAnim_QuestionMark,
};
-const struct SpriteTemplate gUnknown_83E6FF4 =
+const struct SpriteTemplate gQuestionMarkSpriteTemplate =
{
.tileTag = ANIM_TAG_AMNESIA,
.paletteTag = ANIM_TAG_AMNESIA,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E6FC4,
+ .anims = sAnims_QuestionMark,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B32F4,
+ .callback = AnimQuestionMark,
};
-static const union AffineAnimCmd gUnknown_83E700C[] =
+static const union AffineAnimCmd sAffineAnim_MeditateStretchAttacker[] =
{
AFFINEANIMCMD_FRAME(-8, 10, 0, 16),
AFFINEANIMCMD_FRAME(18, -18, 0, 16),
@@ -272,14 +272,14 @@ static const union AffineAnimCmd gUnknown_83E700C[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E702C[] =
+static const union AffineAnimCmd sAffineAnim_Teleport[] =
{
AFFINEANIMCMD_FRAME(64, -4, 0, 20),
AFFINEANIMCMD_FRAME(0, 0, 0, -56),
AFFINEANIMCMD_END,
};
-static const struct SpriteTemplate gUnknown_83E7044 =
+static const struct SpriteTemplate sImprisonOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_HOLLOW_ORB,
.paletteTag = ANIM_TAG_HOLLOW_ORB,
@@ -290,25 +290,25 @@ static const struct SpriteTemplate gUnknown_83E7044 =
.callback = SpriteCallbackDummy,
};
-const struct SpriteTemplate gUnknown_83E705C =
+const struct SpriteTemplate gRedXSpriteTemplate =
{
- .tileTag = 0x280A,
- .paletteTag = 0x280A,
+ .tileTag = ANIM_TAG_X_SIGN,
+ .paletteTag = ANIM_TAG_X_SIGN,
.oam = &gOamData_AffineOff_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B37EC,
+ .callback = AnimRedX,
};
-static const union AffineAnimCmd gUnknown_83E7074[] =
+static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_0[] =
{
AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 8),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd gUnknown_83E708C[] =
+static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_1[] =
{
AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 6),
@@ -317,7 +317,7 @@ static const union AffineAnimCmd gUnknown_83E708C[] =
AFFINEANIMCMD_JUMP(1),
};
-static const union AffineAnimCmd gUnknown_83E70B4[] =
+static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_2[] =
{
AFFINEANIMCMD_FRAME(0xD0, 0xD0, 0, 0),
AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 4),
@@ -326,7 +326,7 @@ static const union AffineAnimCmd gUnknown_83E70B4[] =
AFFINEANIMCMD_JUMP(1),
};
-static const union AffineAnimCmd gUnknown_83E70DC[] =
+static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_3[] =
{
AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0),
AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 2),
@@ -335,49 +335,49 @@ static const union AffineAnimCmd gUnknown_83E70DC[] =
AFFINEANIMCMD_JUMP(1),
};
-static const union AffineAnimCmd *const gUnknown_83E7104[] =
+static const union AffineAnimCmd *const sAffineAnims_SkillSwapOrb[] =
{
- gUnknown_83E7074,
- gUnknown_83E708C,
- gUnknown_83E70B4,
- gUnknown_83E70DC,
+ sAffineAnim_SkillSwapOrb_0,
+ sAffineAnim_SkillSwapOrb_1,
+ sAffineAnim_SkillSwapOrb_2,
+ sAffineAnim_SkillSwapOrb_3,
};
-static const struct SpriteTemplate gUnknown_83E7114 =
+static const struct SpriteTemplate sSkillSwapOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUEGREEN_ORB,
.paletteTag = ANIM_TAG_BLUEGREEN_ORB,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7104,
- .callback = sub_80B3A34,
+ .affineAnims = sAffineAnims_SkillSwapOrb,
+ .callback = AnimSkillSwapOrb,
};
-static const union AffineAnimCmd gUnknown_83E712C[] =
+static const union AffineAnimCmd sAffineAnim_LusterPurgeCircle[] =
{
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 120),
AFFINEANIMCMD_END_ALT(1),
};
-static const union AffineAnimCmd *const gUnknown_83E7144[] =
+static const union AffineAnimCmd *const gAffineAnims_LusterPurgeCircle[] =
{
- gUnknown_83E712C,
+ sAffineAnim_LusterPurgeCircle,
};
-const struct SpriteTemplate gUnknown_83E7148 =
+const struct SpriteTemplate gLusterPurgeCircleSpriteTemplate =
{
.tileTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT,
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E7144,
+ .affineAnims = gAffineAnims_LusterPurgeCircle,
.callback = AnimSpriteOnMonPos,
};
-static const union AffineAnimCmd gUnknown_83E7160[] =
+static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_0[] =
{
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 17),
@@ -392,30 +392,30 @@ static const union AffineAnimCmd gUnknown_83E7160[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_83E71B8[] =
+static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_1[] =
{
AFFINEANIMCMD_FRAME(-0x14, 0x18, 0, 15),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd *const gUnknown_83E71C8[] =
+static const union AffineAnimCmd *const sAffineAnims_PsychoBoostOrb[] =
{
- gUnknown_83E7160,
- gUnknown_83E71B8,
+ sAffineAnim_PsychoBoostOrb_0,
+ sAffineAnim_PsychoBoostOrb_1,
};
-const struct SpriteTemplate gUnknown_83E71D0 =
+const struct SpriteTemplate gPsychoBoostOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_83E71C8,
- .callback = sub_80B3E84,
+ .affineAnims = sAffineAnims_PsychoBoostOrb,
+ .callback = AnimPsychoBoost,
};
-static void sub_80B2ECC(struct Sprite *sprite)
+static void AnimDefensiveWall(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || IsContest())
{
@@ -531,7 +531,7 @@ static void sub_80B3168(struct Sprite *sprite)
sprite->callback = DestroyAnimSprite;
}
-static void sub_80B31D0(struct Sprite *sprite)
+static void AnimWallSparkle(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -568,7 +568,7 @@ static void sub_80B31D0(struct Sprite *sprite)
}
}
-static void sub_80B3278(struct Sprite *sprite)
+static void AnimBentSpoon(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
@@ -589,7 +589,7 @@ static void sub_80B3278(struct Sprite *sprite)
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
-static void sub_80B32F4(struct Sprite *sprite)
+static void AnimQuestionMark(struct Sprite *sprite)
{
s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2;
s16 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2;
@@ -607,7 +607,7 @@ static void sub_80B32F4(struct Sprite *sprite)
static void sub_80B3384(struct Sprite *sprite)
{
sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL;
- sprite->affineAnims = gUnknown_83E6FF0;
+ sprite->affineAnims = sAffineAnims_QuestionMark;
sprite->data[0] = 0;
InitSpriteAffineAnim(sprite);
sprite->callback = sub_80B33B8;
@@ -633,13 +633,13 @@ static void sub_80B33B8(struct Sprite *sprite)
}
}
-void sub_80B3418(u8 taskId)
+void AnimTask_MeditateStretchAttacker(u8 taskId)
{
struct Task *task = &gTasks[taskId];
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[0] = spriteId;
- PrepareAffineAnimInTaskData(task, spriteId, gUnknown_83E700C);
+ PrepareAffineAnimInTaskData(task, spriteId, sAffineAnim_MeditateStretchAttacker);
task->func = sub_80B3454;
}
@@ -649,7 +649,7 @@ static void sub_80B3454(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80B3480(u8 taskId)
+void AnimTask_Teleport(u8 taskId)
{
struct Task *task = &gTasks[taskId];
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
@@ -658,7 +658,7 @@ void sub_80B3480(u8 taskId)
task->data[1] = 0;
task->data[2] = 0;
task->data[3] = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 4 : 8;
- PrepareAffineAnimInTaskData(task, task->data[0], gUnknown_83E702C);
+ PrepareAffineAnimInTaskData(task, task->data[0], sAffineAnim_Teleport);
task->func = sub_80B34DC;
}
@@ -690,7 +690,7 @@ static void sub_80B34DC(u8 taskId)
}
}
-void sub_80B3584(u8 taskId)
+void AnimTask_ImprisonOrbs(u8 taskId)
{
u16 var0, var1;
struct Task *task = &gTasks[taskId];
@@ -719,7 +719,7 @@ static void sub_80B3618(u8 taskId)
if (++task->data[1] > 8)
{
task->data[1] = 0;
- spriteId = CreateSprite(&gUnknown_83E7044, task->data[13], task->data[14], 0);
+ spriteId = CreateSprite(&sImprisonOrbSpriteTemplate, task->data[13], task->data[14], 0);
task->data[task->data[2] + 8] = spriteId;
if (spriteId != MAX_SPRITES)
{
@@ -782,7 +782,7 @@ static void sub_80B37A4(struct Sprite *sprite)
++sprite->data[1];
}
-static void sub_80B37EC(struct Sprite *sprite)
+static void AnimRedX(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -793,7 +793,7 @@ static void sub_80B37EC(struct Sprite *sprite)
sprite->callback = sub_80B37A4;
}
-void sub_80B3834(u8 taskId)
+void AnimTask_SkillSwap(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -850,7 +850,7 @@ static void sub_80B3980(u8 taskId)
if (++task->data[1] > 6)
{
task->data[1] = 0;
- spriteId = CreateSprite(&gUnknown_83E7114, task->data[11], task->data[12], 0);
+ spriteId = CreateSprite(&sSkillSwapOrbSpriteTemplate, task->data[11], task->data[12], 0);
if (spriteId != 64)
{
gSprites[spriteId].data[0] = 16;
@@ -872,7 +872,7 @@ static void sub_80B3980(u8 taskId)
}
}
-static void sub_80B3A34(struct Sprite *sprite)
+static void AnimSkillSwapOrb(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
{
@@ -881,7 +881,7 @@ static void sub_80B3A34(struct Sprite *sprite)
}
}
-void sub_80B3A58(u8 taskId)
+void AnimTask_ExtrasensoryDistortion(u8 taskId)
{
s16 i;
u8 yOffset;
@@ -969,7 +969,7 @@ static void sub_80B3B78(u8 taskId)
}
}
-void sub_80B3C78(u8 taskId)
+void AnimTask_TransparentCloneGrowAndShrink(u8 taskId)
{
s16 spriteId;
s16 matrixNum;
@@ -1034,7 +1034,7 @@ static void sub_80B3D78(u8 taskId)
}
}
-static void sub_80B3E84(struct Sprite *sprite)
+static void AnimPsychoBoost(struct Sprite *sprite)
{
switch (sprite->data[0])
{
diff --git a/src/rock.c b/src/rock.c
index a2d28d057..25db442ca 100644
--- a/src/rock.c
+++ b/src/rock.c
@@ -6,16 +6,16 @@
#include "trig.h"
#include "constants/songs.h"
-static void sub_80B4634(struct Sprite *sprite);
-static void sub_80B46F8(struct Sprite *sprite);
+static void AnimFallingRock(struct Sprite *sprite);
+static void AnimRockFragment(struct Sprite *sprite);
static void AnimDirtParticleAcrossScreen(struct Sprite *sprite);
static void AnimRaiseSprite(struct Sprite *sprite);
static void sub_80B4D00(u8 taskId);
-static void sub_80B4F78(struct Sprite *sprite);
-static void sub_80B4FE4(struct Sprite *sprite);
-static void sub_80B5074(struct Sprite *sprite);
-static void sub_80B50A0(struct Sprite *sprite);
-static void sub_80B477C(struct Sprite *sprite);
+static void AnimRolloutParticle(struct Sprite *sprite);
+static void AnimRockTomb(struct Sprite *sprite);
+static void AnimRockBlastRock(struct Sprite *sprite);
+static void AnimRockScatter(struct Sprite *sprite);
+static void AnimParticleInVortex(struct Sprite *sprite);
static void sub_80B46B4(struct Sprite *sprite);
static void sub_80B47C4(struct Sprite *sprite);
static void sub_80B490C(u8 taskId);
@@ -24,54 +24,54 @@ static u8 sub_80B4FB8(void);
static void sub_80B5024(struct Sprite *sprite);
static void sub_80B50F8(struct Sprite *sprite);
-static const union AnimCmd gUnknown_83E7390[] =
+static const union AnimCmd sAnim_FlyingRock_0[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E7398[] =
+static const union AnimCmd sAnim_FlyingRock_1[] =
{
ANIMCMD_FRAME(48, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E73A0[] =
+static const union AnimCmd sAnim_FlyingRock_2[] =
{
ANIMCMD_FRAME(64, 1),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E73A8[] =
+static const union AnimCmd *const sAnims_FlyingRock[] =
{
- gUnknown_83E7390,
- gUnknown_83E7398,
- gUnknown_83E73A0,
+ sAnim_FlyingRock_0,
+ sAnim_FlyingRock_1,
+ sAnim_FlyingRock_2,
};
-const struct SpriteTemplate gUnknown_83E73B4 =
+const struct SpriteTemplate gFallingRockSpriteTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E73A8,
+ .anims = sAnims_FlyingRock,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B4634,
+ .callback = AnimFallingRock,
};
-const struct SpriteTemplate gUnknown_83E73CC =
+const struct SpriteTemplate gRockFragmentSpriteTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E73A8,
+ .anims = sAnims_FlyingRock,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B46F8,
+ .callback = AnimRockFragment,
};
-const struct SpriteTemplate gUnknown_83E73E4 =
+const struct SpriteTemplate gSwirlingDirtSpriteTemplate =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
@@ -79,10 +79,10 @@ const struct SpriteTemplate gUnknown_83E73E4 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B477C,
+ .callback = AnimParticleInVortex,
};
-static const union AffineAnimCmd gUnknown_83E73FC[] =
+static const union AffineAnimCmd sAffineAnim_Whirlpool[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0),
AFFINEANIMCMD_FRAME(0x2, -0x3, 0, 5),
@@ -90,34 +90,34 @@ static const union AffineAnimCmd gUnknown_83E73FC[] =
AFFINEANIMCMD_JUMP(1),
};
-static const union AffineAnimCmd *const gUnknown_83E741C[] =
+static const union AffineAnimCmd *const sAffineAnims_Whirlpool[] =
{
- gUnknown_83E73FC,
+ sAffineAnim_Whirlpool,
};
-const struct SpriteTemplate gUnknown_83E7420 =
+const struct SpriteTemplate gWhirlpoolSpriteTemplate =
{
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
- .anims = gUnknown_83E5958,
+ .anims = gAnims_WaterMudOrb,
.images = NULL,
- .affineAnims = gUnknown_83E741C,
- .callback = sub_80B477C,
+ .affineAnims = sAffineAnims_Whirlpool,
+ .callback = AnimParticleInVortex,
};
-const struct SpriteTemplate gUnknown_83E7438 =
+const struct SpriteTemplate gFireSpinSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E5D48,
+ .anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B477C,
+ .callback = AnimParticleInVortex,
};
-const struct SpriteTemplate gUnknown_83E7450 =
+const struct SpriteTemplate gFlyingSandCrescentSpriteTemplate =
{
.tileTag = ANIM_TAG_FLYING_DIRT,
.paletteTag = ANIM_TAG_FLYING_DIRT,
@@ -128,7 +128,7 @@ const struct SpriteTemplate gUnknown_83E7450 =
.callback = AnimDirtParticleAcrossScreen,
};
-static const struct Subsprite gUnknown_83E7468[] =
+static const struct Subsprite sFlyingSandSubsprites[] =
{
{
.x = -16,
@@ -148,77 +148,77 @@ static const struct Subsprite gUnknown_83E7468[] =
},
};
-static const struct SubspriteTable gUnknown_83E7470[] =
+static const struct SubspriteTable sFlyingSandSubspriteTable[] =
{
- { NELEMS(gUnknown_83E7468), gUnknown_83E7468 },
+ { NELEMS(sFlyingSandSubsprites), sFlyingSandSubsprites },
};
-static const union AnimCmd gUnknown_83E7478[] =
+static const union AnimCmd sAnim_BasicRock_0[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E7480[] =
+static const union AnimCmd sAnim_BasicRock_1[] =
{
ANIMCMD_FRAME(16, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E7488[] =
+static const union AnimCmd sAnim_WeatherBallRockDown_0[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E7490[] =
+static const union AnimCmd sAnim_WeatherBallRockDown_1[] =
{
ANIMCMD_FRAME(48, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E7498[] =
+static const union AnimCmd sAnim_TwisterRock_0[] =
{
ANIMCMD_FRAME(64, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_83E74A0[] =
+static const union AnimCmd sAnim_TwisterRock_1[] =
{
ANIMCMD_FRAME(80, 1),
ANIMCMD_END,
};
-static const union AnimCmd *const gUnknown_83E74A8[] =
+static const union AnimCmd *const sAnims_BasicRock[] =
{
- gUnknown_83E7478,
- gUnknown_83E7480,
+ sAnim_BasicRock_0,
+ sAnim_BasicRock_1,
};
-static const union AnimCmd *const gUnknown_83E74B0[] =
+static const union AnimCmd *const sAnims_WeatherBallRockDown[] =
{
- gUnknown_83E7488,
- gUnknown_83E7490,
+ sAnim_WeatherBallRockDown_0,
+ sAnim_WeatherBallRockDown_1,
};
-static const union AnimCmd *const gUnknown_83E74B8[] =
+static const union AnimCmd *const sAnims_TwisterRock[] =
{
- gUnknown_83E7498,
- gUnknown_83E74A0,
+ sAnim_TwisterRock_0,
+ sAnim_TwisterRock_1,
};
-const struct SpriteTemplate gUnknown_83E74C0 =
+const struct SpriteTemplate gAncientPowerRockSpriteTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E74A8,
+ .anims = sAnims_BasicRock,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimRaiseSprite,
};
-const struct SpriteTemplate gUnknown_83E74D8 =
+const struct SpriteTemplate gRolloutMudSpriteTemplate =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
@@ -226,7 +226,7 @@ const struct SpriteTemplate gUnknown_83E74D8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B4F78,
+ .callback = AnimRolloutParticle,
};
const struct SpriteTemplate gUnknown_83E74F0 =
@@ -237,83 +237,83 @@ const struct SpriteTemplate gUnknown_83E74F0 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B4F78,
+ .callback = AnimRolloutParticle,
};
-const struct SpriteTemplate gUnknown_83E7508 =
+const struct SpriteTemplate gRockTombRockSpriteTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E74A8,
+ .anims = sAnims_BasicRock,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80B4FE4,
+ .callback = AnimRockTomb,
};
-static const union AffineAnimCmd gUnknown_83E7520[] =
+static const union AffineAnimCmd sAffineAnim_BasicRock_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -5, 5),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd gUnknown_83E7530[] =
+static const union AffineAnimCmd sAffineAnim_BasicRock_1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 5, 5),
AFFINEANIMCMD_JUMP(0),
};
-static const union AffineAnimCmd *const gUnknown_83E7540[] =
+static const union AffineAnimCmd *const sAffineAnims_BasicRock[] =
{
- gUnknown_83E7520,
- gUnknown_83E7530,
+ sAffineAnim_BasicRock_0,
+ sAffineAnim_BasicRock_1,
};
-const struct SpriteTemplate gUnknown_83E7548 =
+const struct SpriteTemplate gRockBlastRockSpriteTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
- .anims = gUnknown_83E74A8,
+ .anims = sAnims_BasicRock,
.images = NULL,
- .affineAnims = gUnknown_83E7540,
- .callback = sub_80B5074,
+ .affineAnims = sAffineAnims_BasicRock,
+ .callback = AnimRockBlastRock,
};
-const struct SpriteTemplate gUnknown_83E7560 =
+const struct SpriteTemplate gRockScatterSpriteTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
- .anims = gUnknown_83E74A8,
+ .anims = sAnims_BasicRock,
.images = NULL,
- .affineAnims = gUnknown_83E7540,
- .callback = sub_80B50A0,
+ .affineAnims = sAffineAnims_BasicRock,
+ .callback = AnimRockScatter,
};
-const struct SpriteTemplate gUnknown_83E7578 =
+const struct SpriteTemplate gTwisterRockSpriteTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
- .anims = gUnknown_83E74B8,
+ .anims = sAnims_TwisterRock,
.images = NULL,
- .affineAnims = gUnknown_83E7540,
+ .affineAnims = sAffineAnims_BasicRock,
.callback = AnimMoveTwisterParticle,
};
-const struct SpriteTemplate gUnknown_83E7590 =
+const struct SpriteTemplate gWeatherBallRockDownSpriteTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
- .anims = gUnknown_83E74B0,
+ .anims = sAnims_WeatherBallRockDown,
.images = NULL,
- .affineAnims = gUnknown_83E7540,
- .callback = sub_8077350,
+ .affineAnims = sAffineAnims_BasicRock,
+ .callback = AnimWeatherBallDown,
};
-static void sub_80B4634(struct Sprite *sprite)
+static void AnimFallingRock(struct Sprite *sprite)
{
if (gBattleAnimArgs[3] != 0)
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
@@ -345,7 +345,7 @@ static void sub_80B46B4(struct Sprite *sprite)
sprite->callback(sprite);
}
-static void sub_80B46F8(struct Sprite *sprite)
+static void AnimRockFragment(struct Sprite *sprite)
{
StartSpriteAnim(sprite, gBattleAnimArgs[5]);
AnimateSprite(sprite);
@@ -366,7 +366,7 @@ static void sub_80B46F8(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
-static void sub_80B477C(struct Sprite *sprite)
+static void AnimParticleInVortex(struct Sprite *sprite)
{
if (gBattleAnimArgs[6] == 0)
InitSpritePosToAnimAttacker(sprite, 0);
@@ -503,7 +503,7 @@ static void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
sprite->pos1.x = -64;
}
sprite->pos1.y = gBattleAnimArgs[0];
- SetSubspriteTables(sprite, gUnknown_83E7470);
+ SetSubspriteTables(sprite, sFlyingSandSubspriteTable);
sprite->data[1] = gBattleAnimArgs[1];
sprite->data[2] = gBattleAnimArgs[2];
++sprite->data[0];
@@ -547,7 +547,7 @@ static void AnimRaiseSprite(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_80B4BD0(u8 taskId)
+void AnimTask_Rollout(u8 taskId)
{
u16 var0, var1, var2, var3;
u8 var4;
@@ -660,7 +660,7 @@ static void sub_80B4E70(struct Task *task)
switch (task->data[1])
{
case 1:
- spriteTemplate = &gUnknown_83E74D8;
+ spriteTemplate = &gRolloutMudSpriteTemplate;
var0 = 0;
break;
case 2:
@@ -696,7 +696,7 @@ static void sub_80B4E70(struct Task *task)
task->data[12] *= -1;
}
-static void sub_80B4F78(struct Sprite *sprite)
+static void AnimRolloutParticle(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
{
@@ -718,7 +718,7 @@ static u8 sub_80B4FB8(void)
return retVal;
}
-static void sub_80B4FE4(struct Sprite *sprite)
+static void AnimRockTomb(struct Sprite *sprite)
{
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
sprite->pos2.x = gBattleAnimArgs[0];
@@ -749,14 +749,14 @@ static void sub_80B5024(struct Sprite *sprite)
}
}
-static void sub_80B5074(struct Sprite *sprite)
+static void AnimRockBlastRock(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
StartSpriteAffineAnim(sprite, 1);
TranslateAnimSpriteToTargetMonLocation(sprite);
}
-static void sub_80B50A0(struct Sprite *sprite)
+static void AnimRockScatter(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
@@ -791,7 +791,7 @@ void AnimTask_GetSeismicTossDamageLevel(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80B5188(u8 taskId)
+void AnimTask_MoveSeismicTossBg(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
@@ -808,7 +808,7 @@ void sub_80B5188(u8 taskId)
++gTasks[taskId].data[0];
}
-void sub_80B51EC(u8 taskId)
+void AnimTask_SeismicTossBgAccelerateDownAtEnd(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
diff --git a/src/water.c b/src/water.c
new file mode 100644
index 000000000..8614f6600
--- /dev/null
+++ b/src/water.c
@@ -0,0 +1,2229 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "decompress.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "palette.h"
+#include "pokemon.h"
+#include "random.h"
+#include "scanline_effect.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "util.h"
+
+#define ISO_RANDOMIZE2(val)(1103515245 * (val) + 12345)
+
+static void AnimRainDrop(struct Sprite *);
+static void AnimRainDrop_Step(struct Sprite *);
+static void AnimWaterBubbleProjectile(struct Sprite *);
+static void AnimWaterBubbleProjectile_Step1(struct Sprite *);
+static void AnimWaterBubbleProjectile_Step2(struct Sprite *);
+static void AnimWaterBubbleProjectile_Step3(struct Sprite *);
+static void AnimAuroraBeamRings(struct Sprite *);
+static void AnimAuroraBeamRings_Step(struct Sprite *);
+static void AnimToTargetInSinWave(struct Sprite *);
+static void AnimToTargetInSinWave_Step(struct Sprite *);
+static void AnimHydroCannonCharge(struct Sprite *);
+static void AnimHydroCannonCharge_Step(struct Sprite *);
+static void AnimHydroCannonBeam(struct Sprite *);
+static void AnimWaterGunDroplet(struct Sprite *);
+static void AnimSmallBubblePair(struct Sprite *);
+static void AnimSmallBubblePair_Step(struct Sprite *);
+static void AnimSmallDriftingBubbles(struct Sprite *);
+static void AnimSmallDriftingBubbles_Step(struct Sprite *);
+static void AnimSmallWaterOrb(struct Sprite *);
+static void AnimWaterSpoutRain(struct Sprite *);
+static void AnimWaterSpoutRainHit(struct Sprite *);
+static void AnimWaterSportDroplet(struct Sprite *);
+static void AnimWaterSportDroplet_Step(struct Sprite *);
+static void AnimWaterPulseBubble(struct Sprite *);
+static void AnimWaterPulseBubble_Step(struct Sprite *);
+static void AnimWaterPulseRingBubble(struct Sprite *);
+static void AnimWaterPulseRing_Step(struct Sprite *);
+static void AnimTask_RotateAuroraRingColors_Step(u8);
+static void AnimTask_RunSinAnimTimer(u8);
+static void AnimTask_CreateSurfWave_Step1(u8);
+static void AnimTask_CreateSurfWave_Step2(u8);
+static void AnimTask_SurfWaveScanlineEffect(u8);
+static void AnimTask_WaterSpoutLaunch_Step(u8);
+static void AnimTask_WaterSpoutRain_Step(u8);
+static u8 GetWaterSpoutPowerForAnim(void);
+static void CreateWaterSpoutLaunchDroplets(struct Task*, u8);
+static void CreateWaterSpoutRainDroplet(struct Task*, u8);
+static void AnimTask_WaterSport_Step(u8);
+static void CreateWaterSportDroplet(struct Task*);
+static void CreateWaterPulseRingBubbles(struct Sprite*, int, int);
+
+// Both unused? Comment copied from pokeemerald
+static const u8 gUnknown_83E44F4[] = INCBIN_U8("graphics/battle_anims/unk_83E4874.4bpp");
+static const u8 gUnknown_83E4874[] = INCBIN_U8("graphics/battle_anims/unk_83E4874.bin");
+
+static const union AnimCmd sAnim_RainDrop[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(8, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(24, 6),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(40, 2),
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const sAnims_RainDrop[] =
+{
+ sAnim_RainDrop,
+};
+
+const struct SpriteTemplate gRainDropSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_RAIN_DROPS,
+ .paletteTag = ANIM_TAG_RAIN_DROPS,
+ .oam = &gOamData_AffineOff_ObjNormal_16x32,
+ .anims = sAnims_RainDrop,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimRainDrop,
+};
+
+static const union AffineAnimCmd sAffineAnim_WaterBubbleProjectile[] =
+{
+ AFFINEANIMCMD_FRAME(-0x5, -0x5, 0, 10),
+ AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+static const union AffineAnimCmd *const sAffineAnims_WaterBubbleProjectile[] =
+{
+ sAffineAnim_WaterBubbleProjectile,
+};
+
+static const union AnimCmd sAnim_WaterBubbleProjectile[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const sAnims_WaterBubbleProjectile[] =
+{
+ sAnim_WaterBubbleProjectile,
+};
+
+const struct SpriteTemplate gWaterBubbleProjectileSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_BUBBLE,
+ .paletteTag = ANIM_TAG_BUBBLE,
+ .oam = &gOamData_AffineNormal_ObjBlend_16x16,
+ .anims = sAnims_WaterBubbleProjectile,
+ .images = NULL,
+ .affineAnims = sAffineAnims_WaterBubbleProjectile,
+ .callback = AnimWaterBubbleProjectile,
+};
+
+static const union AnimCmd sAnim_AuroraBeamRing_0[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_AuroraBeamRing_1[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const sAnims_AuroraBeamRing[] =
+{
+ sAnim_AuroraBeamRing_0,
+ sAnim_AuroraBeamRing_1,
+};
+
+static const union AffineAnimCmd sAffineAnim_AuroraBeamRing[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
+ AFFINEANIMCMD_FRAME(0x60, 0x60, 0, 1),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd *const sAffineAnims_AuroraBeamRing[] =
+{
+ sAffineAnim_AuroraBeamRing,
+};
+
+const struct SpriteTemplate gAuroraBeamRingSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_RAINBOW_RINGS,
+ .paletteTag = ANIM_TAG_RAINBOW_RINGS,
+ .oam = &gOamData_AffineDouble_ObjNormal_8x16,
+ .anims = sAnims_AuroraBeamRing,
+ .images = NULL,
+ .affineAnims = sAffineAnims_AuroraBeamRing,
+ .callback = AnimAuroraBeamRings,
+};
+
+static const union AnimCmd sAnim_WaterMudOrb[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_FRAME(12, 1),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gAnims_WaterMudOrb[] =
+{
+ sAnim_WaterMudOrb,
+};
+
+const struct SpriteTemplate gHydroPumpOrbSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_WATER_ORB,
+ .paletteTag = ANIM_TAG_WATER_ORB,
+ .oam = &gOamData_AffineOff_ObjBlend_16x16,
+ .anims = gAnims_WaterMudOrb,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimToTargetInSinWave,
+};
+
+const struct SpriteTemplate gMudShotOrbSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_BROWN_ORB,
+ .paletteTag = ANIM_TAG_BROWN_ORB,
+ .oam = &gOamData_AffineOff_ObjBlend_16x16,
+ .anims = gAnims_WaterMudOrb,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimToTargetInSinWave,
+};
+
+const struct SpriteTemplate gSignalBeamRedOrbSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_GLOWY_RED_ORB,
+ .paletteTag = ANIM_TAG_GLOWY_RED_ORB,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimToTargetInSinWave,
+};
+
+const struct SpriteTemplate gSignalBeamGreenOrbSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_GLOWY_GREEN_ORB,
+ .paletteTag = ANIM_TAG_GLOWY_GREEN_ORB,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimToTargetInSinWave,
+};
+
+static const union AnimCmd sAnim_FlamethrowerFlame[] =
+{
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sAnims_FlamethrowerFlame[] =
+{
+ sAnim_FlamethrowerFlame,
+};
+
+const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = sAnims_FlamethrowerFlame,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimToTargetInSinWave,
+};
+
+const struct SpriteTemplate gPsywaveRingSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_BLUE_RING,
+ .paletteTag = ANIM_TAG_BLUE_RING,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x32,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gGrowingRingAffineAnimTable,
+ .callback = AnimToTargetInSinWave,
+};
+
+static const union AffineAnimCmd sAffineAnim_HydroCannonCharge[] =
+{
+ AFFINEANIMCMD_FRAME(0x3, 0x3, 10, 50),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 10),
+ AFFINEANIMCMD_FRAME(-0x14, -0x14, -10, 20),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd sAffineAnim_HydroCannonBeam[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd *const sAffineAnims_HydroCannonCharge[] =
+{
+ sAffineAnim_HydroCannonCharge,
+};
+
+static const union AffineAnimCmd *const sAffineAnims_HydroCannonBeam[] =
+{
+ sAffineAnim_HydroCannonBeam,
+};
+
+const struct SpriteTemplate gHydroCannonChargeSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_WATER_ORB,
+ .paletteTag = ANIM_TAG_WATER_ORB,
+ .oam = &gOamData_AffineDouble_ObjBlend_16x16,
+ .anims = gAnims_WaterMudOrb,
+ .images = NULL,
+ .affineAnims = sAffineAnims_HydroCannonCharge,
+ .callback = AnimHydroCannonCharge,
+};
+
+const struct SpriteTemplate gHydroCannonBeamSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_WATER_ORB,
+ .paletteTag = ANIM_TAG_WATER_ORB,
+ .oam = &gOamData_AffineDouble_ObjBlend_16x16,
+ .anims = gAnims_WaterMudOrb,
+ .images = NULL,
+ .affineAnims = sAffineAnims_HydroCannonBeam,
+ .callback = AnimHydroCannonBeam,
+};
+
+static const union AnimCmd sAnim_WaterBubble[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WaterGunDroplet[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gAnims_WaterBubble[] =
+{
+ sAnim_WaterBubble,
+};
+
+static const union AnimCmd *const sAnims_WaterGunDroplet[] =
+{
+ sAnim_WaterGunDroplet,
+};
+
+const struct SpriteTemplate gWaterGunProjectileSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gOamData_AffineOff_ObjBlend_16x16,
+ .anims = gAnims_WaterBubble,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimThrowProjectile,
+};
+
+const struct SpriteTemplate gWaterGunDropletSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gOamData_AffineDouble_ObjBlend_16x16,
+ .anims = sAnims_WaterGunDroplet,
+ .images = NULL,
+ .affineAnims = gAffineAnims_Droplet,
+ .callback = AnimWaterGunDroplet,
+};
+
+const struct SpriteTemplate gSmallBubblePairSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS, // ice_crystals_4, which are bubbles
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gAnims_SmallBubblePair,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimSmallBubblePair,
+};
+
+const struct SpriteTemplate gSmallDriftingBubblesSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimSmallDriftingBubbles,
+};
+
+// Used by Water Spout / Water Sport
+const struct SpriteTemplate gSmallWaterOrbSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_GLOWY_BLUE_ORB,
+ .paletteTag = ANIM_TAG_GLOWY_BLUE_ORB,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimSmallWaterOrb,
+};
+
+static const union AnimCmd sAnim_WaterPulseBubble_0[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WaterPulseBubble_1[] =
+{
+ ANIMCMD_FRAME(9, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_WeatherBallWaterDown[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const sAnims_WaterPulseBubble[] =
+{
+ sAnim_WaterPulseBubble_0,
+ sAnim_WaterPulseBubble_1,
+};
+
+static const union AnimCmd *const sAnims_WeatherBallWaterDown[] =
+{
+ sAnim_WeatherBallWaterDown,
+};
+
+static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_0[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(-0xA, -0xA, 0, 15),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_1[] =
+{
+ AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
+ AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 15),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd sAffineAnim_WeatherBallWaterDown[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd *const sAffineAnims_WaterPulseRingBubble[] =
+{
+ sAffineAnim_WaterPulseRingBubble_0,
+ sAffineAnim_WaterPulseRingBubble_1,
+};
+
+static const union AffineAnimCmd *const sAffineAnims_WeatherBallWaterDown[] =
+{
+ sAffineAnim_WeatherBallWaterDown,
+};
+
+const struct SpriteTemplate gWaterPulseBubbleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = sAnims_WaterPulseBubble,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimWaterPulseBubble,
+};
+
+const struct SpriteTemplate gWaterPulseRingBubbleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gOamData_AffineNormal_ObjNormal_8x8,
+ .anims = sAnims_WaterPulseBubble,
+ .images = NULL,
+ .affineAnims = sAffineAnims_WaterPulseRingBubble,
+ .callback = AnimWaterPulseRingBubble,
+};
+
+const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
+ .anims = sAnims_WeatherBallWaterDown,
+ .images = NULL,
+ .affineAnims = sAffineAnims_WeatherBallWaterDown,
+ .callback = AnimWeatherBallDown,
+};
+
+void AnimTask_CreateRaindrops(u8 taskId)
+{
+ u8 x, y;
+
+ if (gTasks[taskId].data[0] == 0)
+ {
+ gTasks[taskId].data[1] = gBattleAnimArgs[0];
+ gTasks[taskId].data[2] = gBattleAnimArgs[1];
+ gTasks[taskId].data[3] = gBattleAnimArgs[2];
+ }
+ gTasks[taskId].data[0]++;
+ if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1)
+ {
+ x = Random() % 240;
+ y = Random() % 80;
+ CreateSprite(&gRainDropSpriteTemplate, x, y, 4);
+ }
+ if (gTasks[taskId].data[0] == gTasks[taskId].data[3])
+ DestroyAnimVisualTask(taskId);
+}
+
+static void AnimRainDrop(struct Sprite *sprite)
+{
+ sprite->callback = AnimRainDrop_Step;
+}
+
+static void AnimRainDrop_Step(struct Sprite *sprite)
+{
+ if (++sprite->data[0] < 14) // Was 13 in emerald
+ {
+ sprite->pos2.x += 1;
+ sprite->pos2.y += 4;
+ }
+ if (sprite->animEnded)
+ {
+ DestroySprite(sprite);
+ }
+}
+
+// For water bubbles that move to a dest, as in Bubble/Bubblebeam
+static void AnimWaterBubbleProjectile(struct Sprite *sprite)
+{
+ u8 spriteId;
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
+ sprite->animPaused = TRUE;
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
+ sprite->animPaused = TRUE;
+ }
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ sprite->data[0] = gBattleAnimArgs[6];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ InitAnimLinearTranslation(sprite);
+ spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+ sprite->data[5] = spriteId;
+ sprite->pos1.x -= Sin((u8)gBattleAnimArgs[4], gBattleAnimArgs[2]);
+ sprite->pos1.y -= Cos((u8)gBattleAnimArgs[4], gBattleAnimArgs[3]);
+ gSprites[spriteId].data[0] = gBattleAnimArgs[2];
+ gSprites[spriteId].data[1] = gBattleAnimArgs[3];
+ gSprites[spriteId].data[2] = gBattleAnimArgs[5];
+ gSprites[spriteId].data[3] = (u8)gBattleAnimArgs[4] * 256;
+ gSprites[spriteId].data[4] = gBattleAnimArgs[6];
+ sprite->callback = AnimWaterBubbleProjectile_Step1;
+ sprite->callback(sprite);
+}
+
+static void AnimWaterBubbleProjectile_Step1(struct Sprite *sprite)
+{
+ u8 otherSpriteId = sprite->data[5];
+ u8 timer = gSprites[otherSpriteId].data[4];
+ u16 trigIndex = gSprites[otherSpriteId].data[3];
+
+ sprite->data[0] = 1;
+ AnimTranslateLinear(sprite);
+ sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]);
+ sprite->pos2.y += Cos(trigIndex >> 8, gSprites[otherSpriteId].data[1]);
+ gSprites[otherSpriteId].data[3] = trigIndex + gSprites[otherSpriteId].data[2];
+ if (--timer != 0)
+ {
+ gSprites[otherSpriteId].data[4] = timer;
+ }
+ else
+ {
+ sprite->callback = AnimWaterBubbleProjectile_Step2;
+ DestroySprite(&gSprites[otherSpriteId]);
+ }
+}
+
+static void AnimWaterBubbleProjectile_Step2(struct Sprite *sprite)
+{
+ sprite->animPaused = FALSE;
+ sprite->callback = RunStoredCallbackWhenAnimEnds;
+ StoreSpriteCallbackInData6(sprite, AnimWaterBubbleProjectile_Step3);
+}
+
+static void AnimWaterBubbleProjectile_Step3(struct Sprite *sprite)
+{
+ sprite->data[0] = 10;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
+}
+
+static void AnimAuroraBeamRings(struct Sprite *sprite)
+{
+ s16 unkArg;
+
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ unkArg = -gBattleAnimArgs[2];
+ else
+ unkArg = gBattleAnimArgs[2];
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + unkArg;
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ InitAnimLinearTranslation(sprite);
+ sprite->callback = AnimAuroraBeamRings_Step;
+ sprite->affineAnimPaused = TRUE;
+ sprite->callback(sprite);
+}
+
+static void AnimAuroraBeamRings_Step(struct Sprite *sprite)
+{
+ if ((u16)gBattleAnimArgs[7] == 0xFFFF)
+ {
+ StartSpriteAnim(sprite, 1);
+ sprite->affineAnimPaused = FALSE;
+ }
+ if (AnimTranslateLinear(sprite))
+ DestroyAnimSprite(sprite);
+}
+
+// Updates the palette on the rainbow rings used in Aurora Beam to make them appear to be rotating counterclockwise
+void AnimTask_RotateAuroraRingColors(u8 taskId)
+{
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS) * 16 + 256;
+ gTasks[taskId].func = AnimTask_RotateAuroraRingColors_Step;
+}
+
+#ifdef NONMATCHING
+static void AnimTask_RotateAuroraRingColors_Step(u8 taskId)
+{
+ int i;
+ u16 palIndex;
+ u16 *palPtr1;
+ u16 *palPtr2;
+ u16 rgbBuffer;
+
+ if (++gTasks[taskId].data[10] == 3)
+ {
+ gTasks[taskId].data[10] = 0;
+ palIndex = gTasks[taskId].data[2] + 1;
+ palPtr1 = &gPlttBufferFaded[palIndex];
+ rgbBuffer = *palPtr1;
+ palPtr2 = &palPtr1[1];
+ for (i = 0; i < 7; i++)
+ palPtr1[i] = palPtr2[i];
+ gPlttBufferFaded[palIndex + 7] = rgbBuffer;
+ }
+ if (++gTasks[taskId].data[11] == gTasks[taskId].data[0])
+ DestroyAnimVisualTask(taskId);
+}
+#else
+NAKED
+static void AnimTask_RotateAuroraRingColors_Step(u8 taskId)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ ldr r1, =gTasks\n\
+ lsls r0, r4, 2\n\
+ adds r0, r4\n\
+ lsls r0, 3\n\
+ adds r2, r0, r1\n\
+ ldrh r0, [r2, 0x1C]\n\
+ adds r0, 0x1\n\
+ strh r0, [r2, 0x1C]\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ mov r12, r1\n\
+ cmp r0, 0x3\n\
+ bne _081075BE\n\
+ movs r0, 0\n\
+ strh r0, [r2, 0x1C]\n\
+ ldrh r0, [r2, 0xC]\n\
+ adds r0, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ ldr r1, =gPlttBufferFaded\n\
+ lsls r0, r5, 1\n\
+ adds r0, r1\n\
+ ldrh r6, [r0]\n\
+ adds r7, r1, 0\n\
+ adds r3, r0, 0x2\n\
+ movs r1, 0x6\n\
+ adds r2, r0, 0\n\
+_081075A8:\n\
+ ldrh r0, [r3]\n\
+ strh r0, [r2]\n\
+ adds r3, 0x2\n\
+ adds r2, 0x2\n\
+ subs r1, 0x1\n\
+ cmp r1, 0\n\
+ bge _081075A8\n\
+ adds r0, r5, 0x7\n\
+ lsls r0, 1\n\
+ adds r0, r7\n\
+ strh r6, [r0]\n\
+_081075BE:\n\
+ lsls r0, r4, 2\n\
+ adds r0, r4\n\
+ lsls r0, 3\n\
+ add r0, r12\n\
+ ldrh r1, [r0, 0x1E]\n\
+ adds r1, 0x1\n\
+ strh r1, [r0, 0x1E]\n\
+ lsls r1, 16\n\
+ asrs r1, 16\n\
+ movs r2, 0x8\n\
+ ldrsh r0, [r0, r2]\n\
+ cmp r1, r0\n\
+ bne _081075DE\n\
+ adds r0, r4, 0\n\
+ bl DestroyAnimVisualTask\n\
+_081075DE:\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n");
+}
+#endif
+
+// For animating undulating beam attacks (e.g. Flamethrower, Hydro Pump, Signal Beam)
+static void AnimToTargetInSinWave(struct Sprite *sprite)
+{
+ u16 retArg;
+
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+ sprite->data[0] = 30;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ InitAnimLinearTranslation(sprite);
+ sprite->data[5] = 0xD200 / sprite->data[0];
+ sprite->data[7] = gBattleAnimArgs[3];
+ retArg = gBattleAnimArgs[7];
+ if (gBattleAnimArgs[7] > 127)
+ {
+ sprite->data[6] = (retArg - 127) * 256;
+ sprite->data[7] = -sprite->data[7];
+ }
+ else
+ {
+ sprite->data[6] = retArg * 256;
+ }
+ sprite->callback = AnimToTargetInSinWave_Step;
+ sprite->callback(sprite);
+}
+
+static void AnimToTargetInSinWave_Step(struct Sprite *sprite)
+{
+ if (AnimTranslateLinear(sprite))
+ DestroyAnimSprite(sprite);
+ sprite->pos2.y += Sin(sprite->data[6] >> 8, sprite->data[7]);
+ if ((sprite->data[6] + sprite->data[5]) >> 8 > 127)
+ {
+ sprite->data[6] = 0;
+ sprite->data[7] = -sprite->data[7];
+ }
+ else
+ {
+ sprite->data[6] += sprite->data[5];
+ }
+}
+
+void AnimTask_StartSinAnimTimer(u8 taskId)
+{
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gBattleAnimArgs[7] = 0;
+ gTasks[taskId].func = AnimTask_RunSinAnimTimer;
+}
+
+static void AnimTask_RunSinAnimTimer(u8 taskId)
+{
+ gBattleAnimArgs[7] = (gBattleAnimArgs[7] + 3) & 0xFF;
+ if (--gTasks[taskId].data[0] == 0)
+ DestroyAnimVisualTask(taskId);
+}
+
+// Flashing blue orbs grow in size near the attacker. First stage of Hydro Cannon
+static void AnimHydroCannonCharge(struct Sprite *sprite)
+{
+ u8 priority;
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->pos2.y = -10;
+ priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
+ if (!IsContest())
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ sprite->pos2.x = 10;
+ sprite->subpriority = priority + 2;
+ }
+ else
+ {
+ sprite->pos2.x = -10;
+ sprite->subpriority = priority - 2;
+ }
+ }
+ else
+ {
+ sprite->pos2.x = -10;
+ sprite->subpriority = priority + 2;
+ }
+ sprite->callback = AnimHydroCannonCharge_Step;
+}
+
+static void AnimHydroCannonCharge_Step(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded)
+ DestroyAnimSprite(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;
+ if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
+ {
+ gBattleAnimArgs[0] *= -1;
+ if (GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_PLAYER_LEFT || GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT)
+ gBattleAnimArgs[0] *= -1;
+ }
+ if ((gBattleAnimArgs[5] & 0xFF00) == 0)
+ animType = TRUE;
+ else
+ animType = FALSE;
+ if ((u8)gBattleAnimArgs[5] == 0)
+ coordType = 3;
+ else
+ coordType = 1;
+ InitSpritePosToAnimAttacker(sprite, animType);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3];
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+// Water droplet appears and drips down. Used by Water Gun on impact
+static void AnimWaterGunDroplet(struct Sprite *sprite)
+{
+ InitSpritePosToAnimTarget(sprite, TRUE);
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
+ sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[4];
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+static void AnimSmallBubblePair(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[3] != ANIM_ATTACKER)
+ InitSpritePosToAnimTarget(sprite, TRUE);
+ else
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+ sprite->data[7] = gBattleAnimArgs[2];
+ sprite->callback = AnimSmallBubblePair_Step;
+}
+
+static void AnimSmallBubblePair_Step(struct Sprite *sprite)
+{
+ sprite->data[0] = (sprite->data[0] + 11) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[0], 4);
+ sprite->data[1] += 48;
+ sprite->pos2.y = -(sprite->data[1] >> 8);
+ if (--sprite->data[7] == -1)
+ DestroyAnimSprite(sprite);
+}
+
+#ifdef NONMATCHING
+void AnimTask_CreateSurfWave(u8 taskId)
+{
+ struct BattleAnimBgData animBg;
+ u8 taskId2;
+
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1);
+ sub_80752A0(&animBg);
+ if (!IsContest())
+ {
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
+ AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfOpponent);
+ else
+ AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfPlayer);
+ }
+ else
+ {
+ // Changed from Emerald
+ LZDecompressVram(gBattleAnimBgTilemap_SurfContest, animBg.bgTilemap);
+ sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 1);
+ }
+ AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset);
+ if (gBattleAnimArgs[0] == 0)
+ LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32);
+ else
+ LoadCompressedPalette(gBattleAnimBgPalette_MuddyWater, animBg.paletteId * 16, 32);
+ taskId2 = CreateTask(AnimTask_SurfWaveScanlineEffect, gTasks[taskId].priority + 1);
+ gTasks[taskId].data[15] = taskId2;
+ gTasks[taskId2].data[0] = 0;
+ gTasks[taskId2].data[1] = 0x1000;
+ gTasks[taskId2].data[2] = 0x1000;
+ if (IsContest())
+ {
+ gBattle_BG1_X = -80;
+ gBattle_BG1_Y = -48;
+ gTasks[taskId].data[0] = 2;
+ gTasks[taskId].data[1] = 1;
+ gTasks[taskId2].data[3] = 0;
+ }
+ else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
+ {
+ gBattle_BG1_X = -224;
+ gBattle_BG1_Y = 256;
+ gTasks[taskId].data[0] = 2;
+ gTasks[taskId].data[1] = -1;
+ gTasks[taskId2].data[3] = 1;
+ }
+ else
+ {
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = -48;
+ gTasks[taskId].data[0] = -2;
+ gTasks[taskId].data[1] = 1;
+ gTasks[taskId2].data[3] = 0;
+ }
+ SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
+ SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
+ if (gTasks[taskId2].data[3] == 0)
+ {
+ gTasks[taskId2].data[4] = 48;
+ gTasks[taskId2].data[5] = 112;
+ }
+ else
+ {
+ gTasks[taskId2].data[4] = 0;
+ gTasks[taskId2].data[5] = 0;
+ }
+ gTasks[taskId].data[6] = 1;
+ gTasks[taskId].func = AnimTask_CreateSurfWave_Step1;
+}
+#else
+NAKED
+void AnimTask_CreateSurfWave(u8 taskId)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x10\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r10, r0\n\
+ ldr r1, =0x00003f42\n\
+ movs r0, 0x50\n\
+ bl SetGpuReg\n\
+ movs r1, 0x80\n\
+ lsls r1, 5\n\
+ movs r0, 0x52\n\
+ bl SetGpuReg\n\
+ movs r0, 0x1\n\
+ movs r1, 0x4\n\
+ movs r2, 0x1\n\
+ bl SetAnimBgAttribute\n\
+ movs r0, 0x1\n\
+ movs r1, 0\n\
+ movs r2, 0x1\n\
+ bl SetAnimBgAttribute\n\
+ mov r0, sp\n\
+ bl sub_80752A0\n\
+ bl IsContest\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _081079E0\n\
+ movs r0, 0x1\n\
+ movs r1, 0x3\n\
+ movs r2, 0x1\n\
+ bl SetAnimBgAttribute\n\
+ ldr r0, =gBattleAnimAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBattlerSide\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x1\n\
+ bne _081079D0\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x9]\n\
+ ldr r1, =gBattleAnimBgTilemap_SurfOpponent\n\
+ bl AnimLoadCompressedBgTilemap\n\
+ b _081079EA\n\
+ .pool\n\
+_081079D0:\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x9]\n\
+ ldr r1, =gBattleAnimBgTilemap_SurfPlayer\n\
+ bl AnimLoadCompressedBgTilemap\n\
+ b _081079EA\n\
+ .pool\n\
+_081079E0:\n\
+ ldr r0, =gBattleAnimBgTilemap_SurfContest\n\
+ ldr r1, [sp, 0x4]\n\
+ bl LZDecompressVram\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x8]\n\
+ ldr r1, [sp, 0x4]\n\
+ movs r2, 0\n\
+ movs r3, 0x1\n\
+ bl sub_80730C0\n\
+_081079EA:\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x9]\n\
+ ldr r1, =gBattleAnimBgImage_Surf\n\
+ mov r2, sp\n\
+ ldrh r2, [r2, 0xA]\n\
+ bl AnimLoadCompressedBgGfx\n\
+ ldr r0, =gBattleAnimArgs\n\
+ movs r1, 0\n\
+ ldrsh r0, [r0, r1]\n\
+ cmp r0, 0\n\
+ bne _08107A24\n\
+ ldr r0, =gBattleAnimBgPalette_Surf\n\
+ mov r1, sp\n\
+ ldrb r1, [r1, 0x8]\n\
+ lsls r1, 4\n\
+ movs r2, 0x20\n\
+ bl LoadCompressedPalette\n\
+ b _08107A32\n\
+ .pool\n\
+_08107A24:\n\
+ ldr r0, =gBattleAnimBgPalette_MuddyWater\n\
+ mov r1, sp\n\
+ ldrb r1, [r1, 0x8]\n\
+ lsls r1, 4\n\
+ movs r2, 0x20\n\
+ bl LoadCompressedPalette\n\
+_08107A32:\n\
+ ldr r0, =AnimTask_SurfWaveScanlineEffect\n\
+ ldr r4, =gTasks\n\
+ mov r2, r10\n\
+ lsls r5, r2, 2\n\
+ adds r1, r5, r2\n\
+ lsls r1, 3\n\
+ adds r6, r1, r4\n\
+ ldrb r1, [r6, 0x7]\n\
+ adds r1, 0x1\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ bl CreateTask\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r8, r0\n\
+ movs r0, 0\n\
+ mov r9, r0\n\
+ mov r1, r8\n\
+ strh r1, [r6, 0x26]\n\
+ mov r2, r8\n\
+ lsls r0, r2, 2\n\
+ add r0, r8\n\
+ lsls r0, 3\n\
+ adds r7, r0, r4\n\
+ mov r0, r9\n\
+ strh r0, [r7, 0x8]\n\
+ movs r0, 0x80\n\
+ lsls r0, 5\n\
+ strh r0, [r7, 0xA]\n\
+ strh r0, [r7, 0xC]\n\
+ bl IsContest\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ cmp r4, 0\n\
+ beq _08107AB4\n\
+ ldr r1, =0x0000ffb0\n\
+ adds r0, r1, 0\n\
+ ldr r2, =gBattle_BG1_X\n\
+ strh r0, [r2]\n\
+ adds r1, 0x20\n\
+ adds r0, r1, 0\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ strh r0, [r2]\n\
+ movs r0, 0x2\n\
+ strh r0, [r6, 0x8]\n\
+ movs r0, 0x1\n\
+ strh r0, [r6, 0xA]\n\
+ mov r0, r9\n\
+ strh r0, [r7, 0xE]\n\
+ b _08107B0E\n\
+ .pool\n\
+_08107AB4:\n\
+ ldr r0, =gBattleAnimAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBattlerSide\n\
+ lsls r0, 24\n\
+ lsrs r1, r0, 24\n\
+ cmp r1, 0x1\n\
+ bne _08107AF8\n\
+ ldr r2, =0x0000ff20\n\
+ adds r0, r2, 0\n\
+ ldr r2, =gBattle_BG1_X\n\
+ strh r0, [r2]\n\
+ movs r2, 0x80\n\
+ lsls r2, 1\n\
+ adds r0, r2, 0\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ strh r0, [r2]\n\
+ movs r0, 0x2\n\
+ strh r0, [r6, 0x8]\n\
+ ldr r0, =0x0000ffff\n\
+ strh r0, [r6, 0xA]\n\
+ strh r1, [r7, 0xE]\n\
+ b _08107B0E\n\
+ .pool\n\
+_08107AF8:\n\
+ ldr r0, =gBattle_BG1_X\n\
+ strh r4, [r0]\n\
+ ldr r1, =0x0000ffd0\n\
+ adds r0, r1, 0\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ strh r0, [r2]\n\
+ ldr r0, =0x0000fffe\n\
+ strh r0, [r6, 0x8]\n\
+ movs r0, 0x1\n\
+ strh r0, [r6, 0xA]\n\
+ strh r4, [r7, 0xE]\n\
+_08107B0E:\n\
+ ldr r0, =gBattle_BG1_X\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x14\n\
+ bl SetGpuReg\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ ldrh r1, [r2]\n\
+ movs r0, 0x16\n\
+ bl SetGpuReg\n\
+ ldr r1, =gTasks\n\
+ mov r2, r8\n\
+ lsls r0, r2, 2\n\
+ add r0, r8\n\
+ lsls r0, 3\n\
+ adds r1, r0, r1\n\
+ movs r2, 0xE\n\
+ ldrsh r0, [r1, r2]\n\
+ cmp r0, 0\n\
+ bne _08107B54\n\
+ movs r0, 0x30\n\
+ strh r0, [r1, 0x10]\n\
+ movs r0, 0x70\n\
+ b _08107B58\n\
+ .pool\n\
+_08107B54:\n\
+ movs r0, 0\n\
+ strh r0, [r1, 0x10]\n\
+_08107B58:\n\
+ strh r0, [r1, 0x12]\n\
+ ldr r1, =gTasks\n\
+ mov r2, r10\n\
+ adds r0, r5, r2\n\
+ lsls r0, 3\n\
+ adds r0, r1\n\
+ movs r1, 0x1\n\
+ strh r1, [r0, 0x14]\n\
+ ldr r1, =AnimTask_CreateSurfWave_Step1\n\
+ str r1, [r0]\n\
+ add sp, 0x10\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n");
+}
+#endif
+
+#ifdef NONMATCHING
+static void AnimTask_CreateSurfWave_Step1(u8 taskId)
+{
+ struct BattleAnimBgData animBg;
+ u8 i;
+ u16 rgbBuffer;
+ u16 *BGptrX = &gBattle_BG1_X;
+ u16 *BGptrY = &gBattle_BG1_Y;
+ s16 unkUse;
+ u32 palOffset;
+ u16 palNum;
+
+ *BGptrX += gTasks[taskId].data[0];
+ *BGptrY += gTasks[taskId].data[1];
+ sub_80752A0(&animBg);
+ gTasks[taskId].data[2] += gTasks[taskId].data[1];
+ if (++gTasks[taskId].data[5] == 4)
+ {
+ rgbBuffer = gPlttBufferFaded[animBg.paletteId * 16 + 7];
+ for (i = 6; i != 0; i--)
+ {
+ palNum = animBg.paletteId * 16;
+ palOffset = 1 + i;
+ gPlttBufferFaded[palNum + palOffset] = gPlttBufferFaded[palNum + palOffset - 1];
+ }
+ gPlttBufferFaded[animBg.paletteId * 16 + 1] = rgbBuffer;
+ gTasks[taskId].data[5] = 0;
+ }
+ if (++gTasks[taskId].data[6] > 1)
+ {
+ gTasks[taskId].data[6] = 0;
+ unkUse = ++gTasks[taskId].data[3];
+ if (unkUse <= 13)
+ {
+ gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256);
+ gTasks[taskId].data[4]++;
+ }
+ if (gTasks[taskId].data[3] > 54)
+ {
+ unkUse = --gTasks[taskId].data[4];
+ gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256);
+ }
+ }
+ if (!(gTasks[gTasks[taskId].data[15]].data[1] & 0x1F))
+ {
+ gTasks[taskId].data[0] = gTasks[gTasks[taskId].data[15]].data[1] & 0x1F;
+ gTasks[taskId].func = AnimTask_CreateSurfWave_Step2;
+ }
+}
+#else
+NAKED
+static void AnimTask_CreateSurfWave_Step1(u8 taskId)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ sub sp, 0x10\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ ldr r1, =gBattle_BG1_X\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ ldr r0, =gTasks\n\
+ lsls r4, r5, 2\n\
+ adds r4, r5\n\
+ lsls r4, 3\n\
+ adds r4, r0\n\
+ ldrh r0, [r4, 0x8]\n\
+ ldrh r3, [r1]\n\
+ adds r0, r3\n\
+ strh r0, [r1]\n\
+ ldrh r0, [r4, 0xA]\n\
+ ldrh r1, [r2]\n\
+ adds r0, r1\n\
+ strh r0, [r2]\n\
+ mov r0, sp\n\
+ bl sub_80752A0\n\
+ ldrh r0, [r4, 0xA]\n\
+ ldrh r3, [r4, 0xC]\n\
+ adds r0, r3\n\
+ strh r0, [r4, 0xC]\n\
+ ldrh r0, [r4, 0x12]\n\
+ adds r0, 0x1\n\
+ strh r0, [r4, 0x12]\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ cmp r0, 0x4\n\
+ bne _08107C18\n\
+ ldr r1, =gPlttBufferFaded\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x8]\n\
+ lsls r0, 4\n\
+ adds r0, 0x7\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ ldrh r6, [r0]\n\
+ movs r2, 0x6\n\
+ adds r7, r1, 0\n\
+ adds r3, r7, 0\n\
+ mov r4, sp\n\
+_08107BDE:\n\
+ ldrb r0, [r4, 0x8]\n\
+ lsls r0, 4\n\
+ adds r1, r2, 0x1\n\
+ adds r0, r1\n\
+ lsls r1, r0, 1\n\
+ adds r1, r3\n\
+ subs r0, 0x1\n\
+ lsls r0, 1\n\
+ adds r0, r3\n\
+ ldrh r0, [r0]\n\
+ strh r0, [r1]\n\
+ subs r0, r2, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ cmp r2, 0\n\
+ bne _08107BDE\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x8]\n\
+ lsls r0, 4\n\
+ adds r0, 0x1\n\
+ lsls r0, 1\n\
+ adds r0, r7\n\
+ strh r6, [r0]\n\
+ ldr r1, =gTasks\n\
+ lsls r0, r5, 2\n\
+ adds r0, r5\n\
+ lsls r0, 3\n\
+ adds r0, r1\n\
+ strh r2, [r0, 0x12]\n\
+_08107C18:\n\
+ ldr r1, =gTasks\n\
+ lsls r2, r5, 2\n\
+ adds r0, r2, r5\n\
+ lsls r0, 3\n\
+ adds r3, r0, r1\n\
+ ldrh r0, [r3, 0x14]\n\
+ adds r0, 0x1\n\
+ strh r0, [r3, 0x14]\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ adds r4, r1, 0\n\
+ adds r6, r2, 0\n\
+ cmp r0, 0x1\n\
+ ble _08107C86\n\
+ movs r0, 0\n\
+ strh r0, [r3, 0x14]\n\
+ ldrh r0, [r3, 0xE]\n\
+ adds r2, r0, 0x1\n\
+ strh r2, [r3, 0xE]\n\
+ lsls r0, r2, 16\n\
+ asrs r0, 16\n\
+ cmp r0, 0xD\n\
+ bgt _08107C62\n\
+ movs r1, 0x26\n\
+ ldrsh r0, [r3, r1]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 3\n\
+ adds r1, r4\n\
+ movs r0, 0x10\n\
+ subs r0, r2\n\
+ lsls r0, 8\n\
+ orrs r2, r0\n\
+ strh r2, [r1, 0xA]\n\
+ ldrh r0, [r3, 0x10]\n\
+ adds r0, 0x1\n\
+ strh r0, [r3, 0x10]\n\
+_08107C62:\n\
+ movs r1, 0xE\n\
+ ldrsh r0, [r3, r1]\n\
+ cmp r0, 0x36\n\
+ ble _08107C86\n\
+ ldrh r2, [r3, 0x10]\n\
+ subs r2, 0x1\n\
+ strh r2, [r3, 0x10]\n\
+ movs r1, 0x26\n\
+ ldrsh r0, [r3, r1]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 3\n\
+ adds r1, r4\n\
+ movs r0, 0x10\n\
+ subs r0, r2\n\
+ lsls r0, 8\n\
+ orrs r2, r0\n\
+ strh r2, [r1, 0xA]\n\
+_08107C86:\n\
+ adds r0, r6, r5\n\
+ lsls r0, 3\n\
+ adds r2, r0, r4\n\
+ movs r3, 0x26\n\
+ ldrsh r1, [r2, r3]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 3\n\
+ adds r0, r4\n\
+ ldrh r0, [r0, 0xA]\n\
+ movs r3, 0x1F\n\
+ ands r3, r0\n\
+ cmp r3, 0\n\
+ bne _08107CA8\n\
+ strh r3, [r2, 0x8]\n\
+ ldr r0, =AnimTask_CreateSurfWave_Step2\n\
+ str r0, [r2]\n\
+_08107CA8:\n\
+ add sp, 0x10\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n");
+}
+#endif
+
+static void AnimTask_CreateSurfWave_Step2(u8 taskId)
+{
+ u16 *BGptrX = &gBattle_BG1_X;
+ u16 *BGptrY = &gBattle_BG1_Y;
+ if (gTasks[taskId].data[0] == 0)
+ {
+ sub_8075358(1);
+ sub_8075358(2);
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+ *BGptrX = 0;
+ *BGptrY = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
+ gTasks[gTasks[taskId].data[15]].data[15] = -1;
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+static void AnimTask_SurfWaveScanlineEffect(u8 taskId)
+{
+ s16 i;
+ struct ScanlineEffectParams params;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ for (i = 0; i < task->data[4]; i++)
+ gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2];
+ for (i = task->data[4]; i < task->data[5]; i++)
+ gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[1];
+ for (i = task->data[5]; i < 160; i++)
+ gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2];
+
+ if (task->data[4] == 0)
+ gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[1];
+ else
+ gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2];
+
+ params.dmaDest = (vu16 *)REG_ADDR_BLDALPHA;
+ params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT;
+ params.initState = 1;
+ params.unused9 = 0;
+ ScanlineEffect_SetParams(params);
+ task->data[0]++;
+ break;
+ case 1:
+ if (task->data[3] == 0)
+ {
+ if (--task->data[4] <= 0)
+ {
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ }
+ else if (++task->data[5] > 111)
+ {
+ task->data[0]++;
+ }
+
+ for (i = 0; i < task->data[4]; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2];
+ for (i = task->data[4]; i < task->data[5]; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1];
+ for (i = task->data[5]; i < 160; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2];
+ break;
+ case 2:
+ for (i = 0; i < task->data[4]; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2];
+ for (i = task->data[4]; i < task->data[5]; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1];
+ for (i = task->data[5]; i < 160; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2];
+
+ if (task->data[15] == -1)
+ {
+ ScanlineEffect_Stop();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+static void AnimSmallDriftingBubbles(struct Sprite *sprite)
+{
+ s16 randData;
+ s16 randData2;
+
+ sprite->oam.tileNum += 8;
+ InitSpritePosToAnimTarget(sprite, TRUE);
+ randData = (Random() & 0xFF) | 256;
+ randData2 = (Random() & 0x1FF);
+ if (randData2 > 255)
+ randData2 = 256 - randData2;
+ sprite->data[1] = randData;
+ sprite->data[2] = randData2;
+ sprite->callback = AnimSmallDriftingBubbles_Step;
+}
+
+static void AnimSmallDriftingBubbles_Step(struct Sprite *sprite)
+{
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ if (sprite->data[1] & 1)
+ sprite->pos2.x = -(sprite->data[3] >> 8);
+ else
+ sprite->pos2.x = sprite->data[3] >> 8;
+ sprite->pos2.y = sprite->data[4] >> 8;
+ if (++sprite->data[0] == 21)
+ DestroyAnimSprite(sprite);
+}
+
+void AnimTask_WaterSpoutLaunch(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ task->data[5] = gSprites[task->data[15]].pos1.y;
+ task->data[1] = GetWaterSpoutPowerForAnim();
+ PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
+ task->func = AnimTask_WaterSpoutLaunch_Step;
+}
+
+static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_80765D4(task, task->data[15], 0x100, 0x100, 224, 0x200, 32);
+ task->data[0]++;
+ case 1:
+ if (++task->data[3] > 1)
+ {
+ task->data[3] = 0;
+ if (++task->data[4] & 1)
+ {
+ gSprites[task->data[15]].pos2.x = 3;
+ gSprites[task->data[15]].pos1.y++;
+ }
+ else
+ {
+ gSprites[task->data[15]].pos2.x = -3;
+ }
+ }
+ if (sub_8076640(task) == 0)
+ {
+ SetBattlerSpriteYOffsetFromYScale(task->data[15]);
+ gSprites[task->data[15]].pos2.x = 0;
+ task->data[3] = 0;
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ if (++task->data[3] > 4)
+ {
+ sub_80765D4(task, task->data[15], 224, 0x200, 384, 224, 8);
+ task->data[3] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 3:
+ if (sub_8076640(task) == 0)
+ {
+ task->data[3] = 0;
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 4:
+ CreateWaterSpoutLaunchDroplets(task, taskId);
+ task->data[0]++;
+ case 5:
+ if (++task->data[3] > 1)
+ {
+ task->data[3] = 0;
+ if (++task->data[4] & 1)
+ gSprites[task->data[15]].pos2.y += 2;
+ else
+ gSprites[task->data[15]].pos2.y -= 2;
+ if (task->data[4] == 10)
+ {
+ sub_80765D4(task, task->data[15], 384, 224, 0x100, 0x100, 8);
+ task->data[3] = 0;
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ }
+ break;
+ case 6:
+ gSprites[task->data[15]].pos1.y--;
+ if (sub_8076640(task) == 0)
+ {
+ ResetSpriteRotScale(task->data[15]);
+ gSprites[task->data[15]].pos1.y = task->data[5];
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 7:
+ if (task->data[2] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+// Returns a value 0-3 relative to which quarter HP the attacker is in
+// A higher number results in more water sprites during the Water Spout animation
+static u8 GetWaterSpoutPowerForAnim(void)
+{
+ u8 i;
+ u16 hp;
+ u16 maxhp;
+ u16 partyIndex;
+ struct Pokemon *slot;
+
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker];
+ slot = &gPlayerParty[partyIndex];
+ maxhp = GetMonData(slot, MON_DATA_MAX_HP);
+ hp = GetMonData(slot, MON_DATA_HP);
+ maxhp /= 4;
+ }
+ else
+ {
+ partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker];
+ slot = &gEnemyParty[partyIndex];
+ maxhp = GetMonData(slot, MON_DATA_MAX_HP);
+ hp = GetMonData(slot, MON_DATA_HP);
+ maxhp /= 4;
+ }
+ for (i = 0; i < 3; i++)
+ {
+ if (hp < maxhp * (i + 1))
+ return i;
+ }
+ return 3;
+}
+
+static void CreateWaterSpoutLaunchDroplets(struct Task *task, u8 taskId)
+{
+ s16 i;
+ s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ s16 attackerCoordY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ s16 trigIndex = 172;
+ u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
+ s16 increment = 4 - task->data[1];
+ u8 spriteId;
+
+ if (increment <= 0)
+ increment = 1;
+ for (i = 0; i < 20; i += increment)
+ {
+ spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, attackerCoordX, attackerCoordY, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[1] = i;
+ gSprites[spriteId].data[2] = attackerCoordX * 16;
+ gSprites[spriteId].data[3] = attackerCoordY * 16;
+ gSprites[spriteId].data[4] = Cos(trigIndex, 64);
+ gSprites[spriteId].data[5] = Sin(trigIndex, 64);
+ gSprites[spriteId].data[6] = taskId;
+ gSprites[spriteId].data[7] = 2;
+ if (task->data[2] & 1)
+ AnimSmallWaterOrb(&gSprites[spriteId]);
+ task->data[2]++;
+ }
+ trigIndex = (trigIndex + increment * 2);
+ trigIndex &= 0xFF;
+ }
+}
+
+static void AnimSmallWaterOrb(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[4] += (sprite->data[1] % 6) * 3;
+ sprite->data[5] += (sprite->data[1] % 3) * 3;
+ sprite->data[0]++;
+ case 1:
+ sprite->data[2] += sprite->data[4];
+ sprite->data[3] += sprite->data[5];
+ sprite->pos1.x = sprite->data[2] >> 4;
+ sprite->pos1.y = sprite->data[3] >> 4;
+ if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
+ {
+ gTasks[sprite->data[6]].data[sprite->data[7]]--;
+ DestroySprite(sprite);
+ }
+ break;
+ }
+}
+
+void AnimTask_WaterSpoutRain(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[1] = GetWaterSpoutPowerForAnim();
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ task->data[4] = 136;
+ task->data[6] = 40;
+ }
+ else
+ {
+ task->data[4] = 16;
+ task->data[6] = 80;
+ }
+ task->data[5] = 98;
+ task->data[7] = task->data[4] + 49;
+ task->data[12] = task->data[1] * 5 + 5;
+ task->func = AnimTask_WaterSpoutRain_Step;
+}
+
+static void AnimTask_WaterSpoutRain_Step(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ u8 taskId2;
+
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[2] > 2)
+ {
+ task->data[2] = 0;
+ CreateWaterSpoutRainDroplet(task, taskId);
+ }
+ if (task->data[10] != 0 && task->data[13] == 0)
+ {
+ gBattleAnimArgs[0] = ANIM_TARGET;
+ gBattleAnimArgs[1] = 0;
+ gBattleAnimArgs[2] = 12;
+ taskId2 = CreateTask(AnimTask_HorizontalShake, 80);
+ if (taskId2 != 0xFF)
+ {
+ gTasks[taskId2].func(taskId2);
+ gAnimVisualTaskCount++;
+ }
+ gBattleAnimArgs[0] = ANIM_DEF_PARTNER;
+ taskId2 = CreateTask(AnimTask_HorizontalShake, 80);
+ if (taskId2 != 0xFF)
+ {
+ gTasks[taskId2].func(taskId2);
+ gAnimVisualTaskCount++;
+ }
+ task->data[13] = 1;
+ }
+ if (task->data[11] >= task->data[12])
+ task->data[0]++;
+ break;
+ case 1:
+ if (task->data[9] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void CreateWaterSpoutRainDroplet(struct Task *task, u8 taskId)
+{
+ u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6];
+ u8 spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[7], 0, 0);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].callback = AnimWaterSpoutRain;
+ gSprites[spriteId].data[5] = yPosArg;
+ gSprites[spriteId].data[6] = taskId;
+ gSprites[spriteId].data[7] = 9;
+ task->data[9]++;
+ }
+ task->data[11]++;
+ task->data[8] = (task->data[8] + 39) & 0xFF;
+ task->data[7] = (ISO_RANDOMIZE2(task->data[7]) % task->data[5]) + task->data[4];
+}
+
+static void AnimWaterSpoutRain(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->pos1.y += 8;
+ if (sprite->pos1.y >= sprite->data[5])
+ {
+ gTasks[sprite->data[6]].data[10] = 1;
+ sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, 1);
+ if (sprite->data[1] != MAX_SPRITES)
+ {
+ StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3);
+ gSprites[sprite->data[1]].data[6] = sprite->data[6];
+ gSprites[sprite->data[1]].data[7] = sprite->data[7];
+ gSprites[sprite->data[1]].callback = AnimWaterSpoutRainHit;
+ }
+ DestroySprite(sprite);
+ }
+ }
+}
+
+static void AnimWaterSpoutRainHit(struct Sprite *sprite)
+{
+ if (++sprite->data[1] > 1)
+ {
+ sprite->data[1] = 0;
+ sprite->invisible ^= 1;
+ if (++sprite->data[2] == 12)
+ {
+ gTasks[sprite->data[6]].data[sprite->data[7]]--;
+ FreeOamMatrix(sprite->oam.matrixNum);
+ DestroySprite(sprite);
+ }
+ }
+}
+
+void AnimTask_WaterSport(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1;
+ if (IsContest())
+ task->data[7] *= -1;
+ task->data[5] = task->data[3] + task->data[7] * 8;
+ task->data[6] = task->data[4] - task->data[7] * 8;
+ task->data[9] = -32;
+ task->data[1] = 0;
+ task->data[0] = 0;
+ task->func = AnimTask_WaterSport_Step;
+}
+
+static void AnimTask_WaterSport_Step(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ CreateWaterSportDroplet(task);
+ if (task->data[10] != 0)
+ task->data[0]++;
+ break;
+ case 1:
+ CreateWaterSportDroplet(task);
+ if (++task->data[1] > 16)
+ {
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ CreateWaterSportDroplet(task);
+ task->data[5] += task->data[7] * 6;
+ if (!(task->data[5] >= -16 && task->data[5] <= 256))
+ {
+ if (++task->data[12] > 2)
+ {
+ task->data[13] = 1;
+ task->data[0] = 6;
+ task->data[1] = 0;
+ }
+ else
+ {
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ }
+ break;
+ case 3:
+ CreateWaterSportDroplet(task);
+ task->data[6] -= task->data[7] * 2;
+ if (++task->data[1] > 7)
+ task->data[0]++;
+ break;
+ case 4:
+ CreateWaterSportDroplet(task);
+ task->data[5] -= task->data[7] * 6;
+ if (!(task->data[5] >= -16 && task->data[5] <= 256))
+ {
+ task->data[12]++;
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 5:
+ CreateWaterSportDroplet(task);
+ task->data[6] -= task->data[7] * 2;
+ if (++task->data[1] > 7)
+ task->data[0] = 2;
+ break;
+ case 6:
+ if (task->data[8] == 0)
+ task->data[0]++;
+ break;
+ default:
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void CreateWaterSportDroplet(struct Task *task)
+{
+ u8 spriteId;
+
+ if (++task->data[2] > 1)
+ {
+ task->data[2] = 0;
+ spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[3], task->data[4], 10);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[0] = 16;
+ gSprites[spriteId].data[2] = task->data[5];
+ gSprites[spriteId].data[4] = task->data[6];
+ gSprites[spriteId].data[5] = task->data[9];
+ InitAnimArcTranslation(&gSprites[spriteId]);
+ gSprites[spriteId].callback = AnimWaterSportDroplet;
+ task->data[8]++;
+ }
+ }
+}
+
+static void AnimWaterSportDroplet(struct Sprite *sprite)
+{
+ if (TranslateAnimHorizontalArc(sprite))
+ {
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->data[0] = 6;
+ sprite->data[2] = (Random() & 0x1F) - 16 + sprite->pos1.x;
+ sprite->data[4] = (Random() & 0x1F) - 16 + sprite->pos1.y;
+ sprite->data[5] = ~(Random() & 7);
+ InitAnimArcTranslation(sprite);
+ sprite->callback = AnimWaterSportDroplet_Step;
+ }
+}
+
+static void AnimWaterSportDroplet_Step(struct Sprite *sprite)
+{
+ u16 i;
+
+ if (TranslateAnimHorizontalArc(sprite))
+ {
+ for (i = 0; i < NUM_TASKS; i++)
+ {
+ if (gTasks[i].func == AnimTask_WaterSport_Step)
+ {
+ gTasks[i].data[10] = 1;
+ gTasks[i].data[8]--;
+ DestroySprite(sprite);
+ }
+ }
+ }
+}
+
+static void AnimWaterPulseBubble(struct Sprite *sprite)
+{
+ sprite->pos1.x = gBattleAnimArgs[0];
+ sprite->pos1.y = gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[2] = gBattleAnimArgs[4];
+ sprite->data[3] = gBattleAnimArgs[5];
+ sprite->callback = AnimWaterPulseBubble_Step;
+}
+
+static void AnimWaterPulseBubble_Step(struct Sprite *sprite)
+{
+ sprite->data[4] -= sprite->data[0];
+ sprite->pos2.y = sprite->data[4] / 10;
+ sprite->data[5] = (sprite->data[5] + sprite->data[1]) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[5], sprite->data[2]);
+ if (--sprite->data[3] == 0)
+ DestroyAnimSprite(sprite);
+}
+
+static void AnimWaterPulseRingBubble(struct Sprite *sprite)
+{
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ sprite->pos2.x = sprite->data[3] >> 7;
+ sprite->pos2.y = sprite->data[4] >> 7;
+ if (--sprite->data[0] == 0)
+ {
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+ }
+}
+
+void AnimWaterPulseRing(struct Sprite *sprite)
+{
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+ sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[3] = gBattleAnimArgs[2];
+ sprite->data[4] = gBattleAnimArgs[3];
+ sprite->callback = AnimWaterPulseRing_Step;
+}
+
+static void AnimWaterPulseRing_Step(struct Sprite *sprite)
+{
+ int xDiff = sprite->data[1] - sprite->pos1.x;
+ int yDiff = sprite->data[2] - sprite->pos1.y;
+
+ sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3];
+ sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3];
+ if (++sprite->data[5] == sprite->data[4])
+ {
+ sprite->data[5] = 0;
+ CreateWaterPulseRingBubbles(sprite, xDiff, yDiff);
+ }
+ if (sprite->data[3] == sprite->data[0])
+ DestroyAnimSprite(sprite);
+ sprite->data[0]++;
+}
+
+#ifdef NONMATCHING
+static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff)
+{
+ s16 something = sprite->data[0] / 2;
+ s16 combinedX = sprite->pos1.x + sprite->pos2.x;
+ s16 combinedY = sprite->pos1.y + sprite->pos2.y;
+ s16 randomSomethingY = yDiff + (Random() % 10) - 5;
+ s16 randomSomethingX = -xDiff + (Random() % 10) - 5;
+ s16 i;
+ u8 spriteId;
+
+ for (i = 0; i <= 0; i++)
+ {
+ spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY + something, 130);
+ gSprites[spriteId].data[0] = 20;
+ gSprites[spriteId].data[1] = randomSomethingY;
+ gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
+ if (randomSomethingX < 0)
+ gSprites[spriteId].data[2] = -randomSomethingX;
+ else
+ gSprites[spriteId].data[2] = randomSomethingX;
+ }
+ for (i = 0; i <= 0; i++)
+ {
+ spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY - something, 130);
+ gSprites[spriteId].data[0] = 20;
+ gSprites[spriteId].data[1] = randomSomethingY;
+ gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
+ if (randomSomethingX > 0)
+ gSprites[spriteId].data[2] = -randomSomethingX;
+ else
+ gSprites[spriteId].data[2] = randomSomethingX;
+ }
+}
+#else
+NAKED
+static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x18\n\
+ adds r4, r1, 0\n\
+ adds r5, r2, 0\n\
+ movs r2, 0x2E\n\
+ ldrsh r1, [r0, r2]\n\
+ lsrs r2, r1, 31\n\
+ adds r1, r2\n\
+ lsls r1, 15\n\
+ lsrs r1, 16\n\
+ str r1, [sp]\n\
+ ldrh r1, [r0, 0x24]\n\
+ ldrh r3, [r0, 0x20]\n\
+ adds r1, r3\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ mov r8, r1\n\
+ ldrh r1, [r0, 0x26]\n\
+ ldrh r0, [r0, 0x22]\n\
+ adds r1, r0\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ mov r10, r1\n\
+ bl Random\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0xA\n\
+ bl __umodsi3\n\
+ adds r0, r5, r0\n\
+ subs r0, 0x5\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r9, r0\n\
+ bl Random\n\
+ negs r4, r4\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0xA\n\
+ bl __umodsi3\n\
+ adds r4, r0\n\
+ subs r4, 0x5\n\
+ lsls r4, 16\n\
+ lsrs r7, r4, 16\n\
+ movs r6, 0\n\
+ mov r0, r8\n\
+ lsls r0, 16\n\
+ mov r8, r0\n\
+ mov r1, r10\n\
+ lsls r1, 16\n\
+ str r1, [sp, 0xC]\n\
+ ldr r2, [sp]\n\
+ lsls r2, 16\n\
+ str r2, [sp, 0x10]\n\
+ asrs r1, 16\n\
+ lsls r0, r7, 16\n\
+ asrs r5, r0, 16\n\
+ str r0, [sp, 0x14]\n\
+ negs r3, r5\n\
+ str r3, [sp, 0x4]\n\
+ asrs r0, r2, 16\n\
+ adds r1, r0\n\
+ lsls r1, 16\n\
+ mov r10, r1\n\
+_08108DE2:\n\
+ ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\
+ mov r2, r8\n\
+ asrs r1, r2, 16\n\
+ mov r3, r10\n\
+ asrs r2, r3, 16\n\
+ movs r3, 0x82\n\
+ bl CreateSprite\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ ldr r1, =gSprites\n\
+ lsls r0, r2, 4\n\
+ adds r0, r2\n\
+ lsls r0, 2\n\
+ adds r4, r0, r1\n\
+ movs r0, 0x14\n\
+ strh r0, [r4, 0x2E]\n\
+ mov r0, r9\n\
+ strh r0, [r4, 0x30]\n\
+ ldr r0, =gBattleAnimAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBattlerSpriteSubpriority\n\
+ subs r0, 0x1\n\
+ adds r1, r4, 0\n\
+ adds r1, 0x43\n\
+ strb r0, [r1]\n\
+ cmp r5, 0\n\
+ bge _08108E30\n\
+ mov r1, sp\n\
+ ldrh r1, [r1, 0x4]\n\
+ strh r1, [r4, 0x32]\n\
+ b _08108E32\n\
+ .pool\n\
+_08108E30:\n\
+ strh r7, [r4, 0x32]\n\
+_08108E32:\n\
+ lsls r0, r6, 16\n\
+ movs r2, 0x80\n\
+ lsls r2, 9\n\
+ adds r0, r2\n\
+ lsrs r6, r0, 16\n\
+ cmp r0, 0\n\
+ ble _08108DE2\n\
+ movs r6, 0\n\
+ ldr r3, [sp, 0xC]\n\
+ asrs r1, r3, 16\n\
+ ldr r0, [sp, 0x14]\n\
+ asrs r5, r0, 16\n\
+ negs r2, r5\n\
+ str r2, [sp, 0x8]\n\
+ ldr r3, [sp, 0x10]\n\
+ asrs r0, r3, 16\n\
+ subs r1, r0\n\
+ lsls r1, 16\n\
+ mov r10, r1\n\
+_08108E58:\n\
+ ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\
+ mov r2, r8\n\
+ asrs r1, r2, 16\n\
+ mov r3, r10\n\
+ asrs r2, r3, 16\n\
+ movs r3, 0x82\n\
+ bl CreateSprite\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ ldr r1, =gSprites\n\
+ lsls r0, r2, 4\n\
+ adds r0, r2\n\
+ lsls r0, 2\n\
+ adds r4, r0, r1\n\
+ movs r0, 0x14\n\
+ strh r0, [r4, 0x2E]\n\
+ mov r0, r9\n\
+ strh r0, [r4, 0x30]\n\
+ ldr r0, =gBattleAnimAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBattlerSpriteSubpriority\n\
+ subs r0, 0x1\n\
+ adds r1, r4, 0\n\
+ adds r1, 0x43\n\
+ strb r0, [r1]\n\
+ cmp r5, 0\n\
+ ble _08108EA8\n\
+ mov r1, sp\n\
+ ldrh r1, [r1, 0x8]\n\
+ strh r1, [r4, 0x32]\n\
+ b _08108EAA\n\
+ .pool\n\
+_08108EA8:\n\
+ strh r7, [r4, 0x32]\n\
+_08108EAA:\n\
+ lsls r0, r6, 16\n\
+ movs r2, 0x80\n\
+ lsls r2, 9\n\
+ adds r0, r2\n\
+ lsrs r6, r0, 16\n\
+ cmp r0, 0\n\
+ ble _08108E58\n\
+ add sp, 0x18\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n");
+}
+#endif