summaryrefslogtreecommitdiff
path: root/src/water.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/water.c')
-rw-r--r--src/water.c73
1 files changed, 38 insertions, 35 deletions
diff --git a/src/water.c b/src/water.c
index 1a66835fb..b109d21a4 100644
--- a/src/water.c
+++ b/src/water.c
@@ -21,13 +21,13 @@ void sub_8107408(struct Sprite *);
void sub_8107430(struct Sprite *);
static void AnimAuroraBeamRings(struct Sprite *);
void sub_81074E4(struct Sprite *);
-void sub_81075EC(struct Sprite *);
+static void AnimToTargetInSinWave(struct Sprite *);
void sub_8107674(struct Sprite *);
-void sub_8107730(struct Sprite *);
-void sub_81077A4(struct Sprite *);
-void sub_81077C0(struct Sprite *);
+static void AnimHydroCannonCharge(struct Sprite *);
+static void AnimWaitForHydroCannonChargeEnd(struct Sprite *);
+static void AnimHydroCannonBeam(struct Sprite *);
void sub_8107894(struct Sprite *);
-void sub_81078D0(struct Sprite *);
+static void AnimSmallBubblePair(struct Sprite *);
void sub_810790C(struct Sprite *);
void sub_8108034(struct Sprite *);
void sub_8108098(struct Sprite *);
@@ -41,7 +41,7 @@ void sub_8108C08(struct Sprite *);
void sub_8108C54(struct Sprite *);
void AnimWaterPulseRing_Step(struct Sprite *);
void sub_810756C(u8);
-void sub_81076F4(u8);
+static void AnimTask_RunSinAnimTimer(u8);
void sub_8107B84(u8);
void sub_8107CC4(u8);
void sub_8107D58(u8);
@@ -181,7 +181,7 @@ const union AnimCmd *const gUnknown_085950E0[] =
gUnknown_085950CC,
};
-const struct SpriteTemplate gUnknown_085950E4 =
+const struct SpriteTemplate gHydroPumpOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
@@ -189,7 +189,7 @@ const struct SpriteTemplate gUnknown_085950E4 =
.anims = gUnknown_085950E0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81075EC,
+ .callback = AnimToTargetInSinWave,
};
const struct SpriteTemplate gUnknown_085950FC =
@@ -200,7 +200,7 @@ const struct SpriteTemplate gUnknown_085950FC =
.anims = gUnknown_085950E0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81075EC,
+ .callback = AnimToTargetInSinWave,
};
const struct SpriteTemplate gUnknown_08595114 =
@@ -211,7 +211,7 @@ const struct SpriteTemplate gUnknown_08595114 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81075EC,
+ .callback = AnimToTargetInSinWave,
};
const struct SpriteTemplate gUnknown_0859512C =
@@ -222,7 +222,7 @@ const struct SpriteTemplate gUnknown_0859512C =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81075EC,
+ .callback = AnimToTargetInSinWave,
};
const union AnimCmd gUnknown_08595144[] =
@@ -238,7 +238,7 @@ const union AnimCmd *const gUnknown_08595154[] =
gUnknown_08595144,
};
-const struct SpriteTemplate gUnknown_08595158 =
+const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
@@ -246,7 +246,7 @@ const struct SpriteTemplate gUnknown_08595158 =
.anims = gUnknown_08595154,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81075EC,
+ .callback = AnimToTargetInSinWave,
};
const struct SpriteTemplate gUnknown_08595170 =
@@ -257,7 +257,7 @@ const struct SpriteTemplate gUnknown_08595170 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gGrowingRingAffineAnimTable,
- .callback = sub_81075EC,
+ .callback = AnimToTargetInSinWave,
};
const union AffineAnimCmd gUnknown_08595188[] =
@@ -284,7 +284,7 @@ const union AffineAnimCmd *const gUnknown_085951BC[] =
gUnknown_085951A8,
};
-const struct SpriteTemplate gUnknown_085951C0 =
+const struct SpriteTemplate gHydroCannonChargeSpriteTemplate =
{
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
@@ -292,10 +292,10 @@ const struct SpriteTemplate gUnknown_085951C0 =
.anims = gUnknown_085950E0,
.images = NULL,
.affineAnims = gUnknown_085951B8,
- .callback = sub_8107730,
+ .callback = AnimHydroCannonCharge,
};
-const struct SpriteTemplate gUnknown_085951D8 =
+const struct SpriteTemplate gHydroCannonBeamSpriteTemplate =
{
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
@@ -303,7 +303,7 @@ const struct SpriteTemplate gUnknown_085951D8 =
.anims = gUnknown_085950E0,
.images = NULL,
.affineAnims = gUnknown_085951BC,
- .callback = sub_81077C0,
+ .callback = AnimHydroCannonBeam,
};
const union AnimCmd gUnknown_085951F0[] =
@@ -352,16 +352,16 @@ const struct SpriteTemplate gUnknown_08595220 =
const struct SpriteTemplate gSmallBubblePairSpriteTemplate =
{
- .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .tileTag = ANIM_TAG_ICE_CRYSTALS, // Little confusing. ice_crystals_4, which are basically bubbles. TODO: rename?
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595AB8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81078D0,
+ .callback = AnimSmallBubblePair,
};
-const struct SpriteTemplate gUnknown_08595250 =
+const struct SpriteTemplate gSmallDriftingBubblesSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
@@ -721,7 +721,8 @@ _081075DE:\n\
}
#endif
-void sub_81075EC(struct Sprite *sprite)
+// For animating undulating beam attacks (e.g. Flamethrower, Hydro Pump, Signal Beam)
+static void AnimToTargetInSinWave(struct Sprite *sprite)
{
u16 retArg;
@@ -764,21 +765,22 @@ void sub_8107674(struct Sprite *sprite)
}
}
-void sub_81076C8(u8 taskId)
+void AnimTask_StartSinAnimTimer(u8 taskId)
{
gTasks[taskId].data[0] = gBattleAnimArgs[0];
gBattleAnimArgs[ARG_RET_ID] = 0;
- gTasks[taskId].func = sub_81076F4;
+ gTasks[taskId].func = AnimTask_RunSinAnimTimer;
}
-void sub_81076F4(u8 taskId)
+static void AnimTask_RunSinAnimTimer(u8 taskId)
{
gBattleAnimArgs[ARG_RET_ID] = (gBattleAnimArgs[ARG_RET_ID] + 3) & 0xFF;
if (--gTasks[taskId].data[0] == 0)
DestroyAnimVisualTask(taskId);
}
-void sub_8107730(struct Sprite *sprite)
+// Flashing blue orbs grow in size near the attacker. First stage of Hydro Cannon
+static void AnimHydroCannonCharge(struct Sprite *sprite)
{
u8 priority;
@@ -804,16 +806,17 @@ void sub_8107730(struct Sprite *sprite)
sprite->pos2.x = -10;
sprite->subpriority = priority + 2;
}
- sprite->callback = sub_81077A4;
+ sprite->callback = AnimWaitForHydroCannonChargeEnd;
}
-void sub_81077A4(struct Sprite *sprite)
+static void AnimWaitForHydroCannonChargeEnd(struct Sprite *sprite)
{
if (sprite->affineAnimEnded)
DestroyAnimSprite(sprite);
}
-void sub_81077C0(struct Sprite *sprite)
+// Flashing blue orbs move from the attacker to the target. Second stage of Hydro Cannon
+static void AnimHydroCannonBeam(struct Sprite *sprite)
{
bool8 animType;
u8 coordType;
@@ -851,9 +854,9 @@ void sub_8107894(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_81078D0(struct Sprite *sprite)
+static void AnimSmallBubblePair(struct Sprite *sprite)
{
- if (gBattleAnimArgs[3])
+ if (gBattleAnimArgs[3] != ANIM_ATTACKER)
InitSpritePosToAnimTarget(sprite, TRUE);
else
InitSpritePosToAnimAttacker(sprite, TRUE);
@@ -1719,17 +1722,17 @@ void sub_810862C(u8 taskId)
}
if (task->data[10] != 0 && task->data[13] == 0)
{
- gBattleAnimArgs[0] = 1;
+ gBattleAnimArgs[0] = ANIM_TARGET;
gBattleAnimArgs[1] = 0;
gBattleAnimArgs[2] = 12;
- taskId2 = CreateTask(sub_81152DC, 80);
+ taskId2 = CreateTask(AnimTask_HorizontalShake, 80);
if (taskId2 != 0xFF)
{
gTasks[taskId2].func(taskId2);
gAnimVisualTaskCount++;
}
- gBattleAnimArgs[0] = 3;
- taskId2 = CreateTask(sub_81152DC, 80);
+ gBattleAnimArgs[0] = ANIM_DEF_PARTNER;
+ taskId2 = CreateTask(AnimTask_HorizontalShake, 80);
if (taskId2 != 0xFF)
{
gTasks[taskId2].func(taskId2);