Document move anims A-C

This commit is contained in:
GriffinR
2020-02-14 16:05:43 -05:00
committed by huderlem
parent b1d131ace2
commit 6eb44dc507
20 changed files with 516 additions and 477 deletions
+350 -348
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -10,6 +10,8 @@ u16 Random2(void);
//Returns a 32-bit pseudorandom number //Returns a 32-bit pseudorandom number
#define Random32() (Random() | (Random() << 16)) #define Random32() (Random() | (Random() << 16))
#define ISO_RANDOMIZE1(val)(1103515245 * (val) + 24691)
#define ISO_RANDOMIZE2(val)(1103515245 * (val) + 12345)
//Sets the initial seed value of the pseudorandom number generator //Sets the initial seed value of the pseudorandom number generator
void SeedRng(u16 seed); void SeedRng(u16 seed);
+1 -1
View File
@@ -3114,7 +3114,7 @@ static void FakeOutStep2(u8 taskId)
} }
} }
void sub_8106020(u8 taskId) void AnimTask_StretchTargetUp(u8 taskId)
{ {
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
if (++gTasks[taskId].data[0] == 1) if (++gTasks[taskId].data[0] == 1)
+2 -1
View File
@@ -3863,7 +3863,8 @@ static void AnimTask_FacadeColorBlendStep(u8 taskId)
} }
} }
void sub_815DFCC(u8 taskId) // The sliding circle effect used by Refresh and Aromatherapy
void AnimTask_StatusClearedEffect(u8 taskId)
{ {
sub_8117854( sub_8117854(
taskId, taskId,
+1 -1
View File
@@ -870,7 +870,7 @@ void AnimTask_ScaleMonAndRestoreStep(u8 taskId)
} }
} }
void sub_80D6134(u8 taskId) void AminTask_DipMonSpriteToSide(u8 taskId)
{ {
u8 spriteId; u8 spriteId;
spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]);
+11 -5
View File
@@ -211,7 +211,8 @@ static void sub_81169A0(u8 taskId)
DestroyAnimVisualTask(taskId); DestroyAnimVisualTask(taskId);
} }
void sub_81169C0(u8 taskId) // Used to leave blended traces of a mon, usually to imply speed as in Agility or Aerial Ace
void AnimTask_TraceMonBlended(u8 taskId)
{ {
struct Task *task = &gTasks[taskId]; struct Task *task = &gTasks[taskId];
@@ -681,7 +682,7 @@ static void sub_81175C4(u32 selectedPalettes, u16 color)
} }
} }
void sub_8117610(u8 taskId) void AnimTask_BlendAllBattlerPalettesButAttacker(u8 taskId)
{ {
u32 battler; u32 battler;
int j; int j;
@@ -699,7 +700,7 @@ void sub_8117610(u8 taskId)
StartBlendAnimSpriteColor(taskId, selectedPalettes); StartBlendAnimSpriteColor(taskId, selectedPalettes);
} }
void sub_8117660(u8 taskId) void AnimTask_StartSlidingBg(u8 taskId)
{ {
u8 newTaskId; u8 newTaskId;
@@ -754,19 +755,24 @@ void AnimTask_GetTargetIsAttackerPartner(u8 taskId)
DestroyAnimVisualTask(taskId); DestroyAnimVisualTask(taskId);
} }
void sub_81177E4(u8 taskId) #define tInvisible gBattleAnimArgs[0];
// For hiding or subsequently revealing all other battlers
void AnimTask_SetAllBattlersButAttackerInvisiblity(u8 taskId)
{ {
u16 battler; u16 battler;
for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++)
{ {
if (battler != gBattleAnimAttacker && IsBattlerSpriteVisible(battler)) if (battler != gBattleAnimAttacker && IsBattlerSpriteVisible(battler))
gSprites[gBattlerSpriteIds[battler]].invisible = gBattleAnimArgs[0]; gSprites[gBattlerSpriteIds[battler]].invisible = tInvisible;
} }
DestroyAnimVisualTask(taskId); DestroyAnimVisualTask(taskId);
} }
#undef tInvisible
void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette) void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette)
{ {
+9 -8
View File
@@ -10,7 +10,7 @@
#include "constants/rgb.h" #include "constants/rgb.h"
void sub_81138D4(struct Sprite *); void sub_81138D4(struct Sprite *);
void sub_81139DC(struct Sprite *); static void AnimBite(struct Sprite *);
void sub_8113A90(struct Sprite *); void sub_8113A90(struct Sprite *);
void sub_81144BC(struct Sprite *); void sub_81144BC(struct Sprite *);
static void sub_811375C(u8); static void sub_811375C(u8);
@@ -96,7 +96,7 @@ const union AffineAnimCmd *const gUnknown_08597060[] =
gUnknown_08597050, gUnknown_08597050,
}; };
const struct SpriteTemplate gUnknown_08597080 = const struct SpriteTemplate gSharpTeethSpriteTemplate =
{ {
.tileTag = ANIM_TAG_SHARP_TEETH, .tileTag = ANIM_TAG_SHARP_TEETH,
.paletteTag = ANIM_TAG_SHARP_TEETH, .paletteTag = ANIM_TAG_SHARP_TEETH,
@@ -104,10 +104,10 @@ const struct SpriteTemplate gUnknown_08597080 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08597060, .affineAnims = gUnknown_08597060,
.callback = sub_81139DC, .callback = AnimBite,
}; };
const struct SpriteTemplate gUnknown_08597098 = const struct SpriteTemplate gClampJawSpriteTemplate =
{ {
.tileTag = ANIM_TAG_CLAMP, .tileTag = ANIM_TAG_CLAMP,
.paletteTag = ANIM_TAG_CLAMP, .paletteTag = ANIM_TAG_CLAMP,
@@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_08597098 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08597060, .affineAnims = gUnknown_08597060,
.callback = sub_81139DC, .callback = AnimBite,
}; };
const union AffineAnimCmd gUnknown_085970B0[] = const union AffineAnimCmd gUnknown_085970B0[] =
@@ -186,7 +186,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 =
.callback = sub_81144BC, .callback = sub_81144BC,
}; };
void sub_81136E8(u8 taskId) void AnimTask_AttackerFadeToInvisible(u8 taskId)
{ {
int battler; int battler;
gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[0] = gBattleAnimArgs[0];
@@ -224,7 +224,7 @@ static void sub_811375C(u8 taskId)
} }
} }
void sub_81137E4(u8 taskId) void AnimTask_AttackerFadeFromInvisible(u8 taskId)
{ {
gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[0] = gBattleAnimArgs[0];
gTasks[taskId].data[1] = BLDALPHA_BLEND(0, 16); gTasks[taskId].data[1] = BLDALPHA_BLEND(0, 16);
@@ -310,7 +310,8 @@ static void sub_8113950(struct Sprite *sprite)
DestroyAnimSprite(sprite); DestroyAnimSprite(sprite);
} }
void sub_81139DC(struct Sprite *sprite) // Move sprite inward for Bite/Crunch and Clamp
static void AnimBite(struct Sprite *sprite)
{ {
sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1]; sprite->pos1.y += gBattleAnimArgs[1];
+15 -12
View File
@@ -25,8 +25,8 @@ static void sub_810AAB0(struct Sprite *);
static void sub_810AB78(u8 taskId); static void sub_810AB78(u8 taskId);
static void sub_810AC8C(struct Sprite *); static void sub_810AC8C(struct Sprite *);
static void sub_810ACC0(struct Sprite *); static void sub_810ACC0(struct Sprite *);
static void sub_810ACD8(struct Sprite *); static void AnimGrowingElectricOrb(struct Sprite *);
static void sub_810AD30(struct Sprite *); static void AnimElectricPuff(struct Sprite *);
static void sub_810AD98(struct Sprite *); static void sub_810AD98(struct Sprite *);
static void sub_810ADF8(struct Sprite *); static void sub_810ADF8(struct Sprite *);
static bool8 sub_810B154(struct Task *task, u8 taskId); static bool8 sub_810B154(struct Task *task, u8 taskId);
@@ -331,7 +331,7 @@ const union AffineAnimCmd *const gUnknown_08595950[] =
gUnknown_08595930, gUnknown_08595930,
}; };
const struct SpriteTemplate gUnknown_0859595C = const struct SpriteTemplate gGrowingElectricOrbSpriteTemplate =
{ {
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
@@ -339,7 +339,7 @@ const struct SpriteTemplate gUnknown_0859595C =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08595950, .affineAnims = gUnknown_08595950,
.callback = sub_810ACD8, .callback = AnimGrowingElectricOrb,
}; };
const union AnimCmd gUnknown_08595974[] = const union AnimCmd gUnknown_08595974[] =
@@ -356,7 +356,7 @@ const union AnimCmd *const gUnknown_08595988[] =
gUnknown_08595974, gUnknown_08595974,
}; };
const struct SpriteTemplate gUnknown_0859598C = const struct SpriteTemplate gElectricPuffSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ELECTRICITY, .tileTag = ANIM_TAG_ELECTRICITY,
.paletteTag = ANIM_TAG_ELECTRICITY, .paletteTag = ANIM_TAG_ELECTRICITY,
@@ -364,7 +364,7 @@ const struct SpriteTemplate gUnknown_0859598C =
.anims = gUnknown_08595988, .anims = gUnknown_08595988,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810AD30, .callback = AnimElectricPuff,
}; };
const struct SpriteTemplate gUnknown_085959A4 = const struct SpriteTemplate gUnknown_085959A4 =
@@ -794,11 +794,12 @@ static void sub_810AAB0(struct Sprite *sprite)
DestroyAnimSprite(sprite); DestroyAnimSprite(sprite);
} }
void sub_810AAFC(u8 taskId) // Animates small electric orbs moving from around the battler inward. For Charge/Shock Wave
void AnimTask_ElectricChargingParticles(u8 taskId)
{ {
struct Task *task = &gTasks[taskId]; struct Task *task = &gTasks[taskId];
if (!gBattleAnimArgs[0]) if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{ {
task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
@@ -882,9 +883,10 @@ static void sub_810ACC0(struct Sprite *sprite)
sprite->callback = sub_810AC8C; sprite->callback = sub_810AC8C;
} }
static void sub_810ACD8(struct Sprite *sprite) // The growing orb for Charge
static void AnimGrowingElectricOrb(struct Sprite *sprite)
{ {
if (!gBattleAnimArgs[0]) if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{ {
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
@@ -899,9 +901,10 @@ static void sub_810ACD8(struct Sprite *sprite)
sprite->callback = RunStoredCallbackWhenAffineAnimEnds; sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
} }
static void sub_810AD30(struct Sprite *sprite) // The quick electric burst at the end of Charge / during the Volt Tackle hit
static void AnimElectricPuff(struct Sprite *sprite)
{ {
if (!gBattleAnimArgs[0]) if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{ {
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+6 -5
View File
@@ -21,7 +21,7 @@ void sub_810D4F4(struct Sprite *);
void sub_810D608(struct Sprite *); void sub_810D608(struct Sprite *);
void sub_810D714(struct Sprite *); void sub_810D714(struct Sprite *);
void sub_810D874(struct Sprite *); void sub_810D874(struct Sprite *);
void sub_810D984(struct Sprite *); static void AnimArmThrustHit(struct Sprite *);
void sub_810DA10(struct Sprite *); void sub_810DA10(struct Sprite *);
void sub_810DA7C(struct Sprite *); void sub_810DA7C(struct Sprite *);
static void sub_810D0B8(struct Sprite *); static void sub_810D0B8(struct Sprite *);
@@ -174,7 +174,8 @@ const union AffineAnimCmd *const gUnknown_08595F10[] =
gUnknown_08595EF8, gUnknown_08595EF8,
}; };
const struct SpriteTemplate gUnknown_08595F14 = // Blaze Kick / Meteor Mash
const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate =
{ {
.tileTag = ANIM_TAG_HANDS_AND_FEET, .tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET,
@@ -299,7 +300,7 @@ const struct SpriteTemplate gUnknown_0859601C =
.callback = sub_810D874, .callback = sub_810D874,
}; };
const struct SpriteTemplate gUnknown_08596034 = const struct SpriteTemplate gArmThrustHandSpriteTemplate =
{ {
.tileTag = ANIM_TAG_HANDS_AND_FEET, .tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET,
@@ -307,7 +308,7 @@ const struct SpriteTemplate gUnknown_08596034 =
.anims = gUnknown_08595E54, .anims = gUnknown_08595E54,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810D984, .callback = AnimArmThrustHit,
}; };
const union AnimCmd gUnknown_0859604C[] = const union AnimCmd gUnknown_0859604C[] =
@@ -935,7 +936,7 @@ static void sub_810D960(struct Sprite *sprite)
sprite->data[0]++; sprite->data[0]++;
} }
void sub_810D984(struct Sprite *sprite) static void AnimArmThrustHit(struct Sprite *sprite)
{ {
u8 turn; u8 turn;
+8 -7
View File
@@ -8,7 +8,7 @@
#include "trig.h" #include "trig.h"
static void sub_8108EC8(struct Sprite *); static void sub_8108EC8(struct Sprite *);
static void sub_8108F08(struct Sprite *); static void AnimFireSpread(struct Sprite *);
static void sub_8108F4C(struct Sprite *); static void sub_8108F4C(struct Sprite *);
static void sub_8108FBC(struct Sprite *); static void sub_8108FBC(struct Sprite *);
static void sub_8109028(struct Sprite *); static void sub_8109028(struct Sprite *);
@@ -72,7 +72,7 @@ const struct SpriteTemplate gUnknown_08595368 =
.callback = sub_8108EC8, .callback = sub_8108EC8,
}; };
const struct SpriteTemplate gUnknown_08595380 = const struct SpriteTemplate gFireSpreadSpriteTemplate =
{ {
.tileTag = ANIM_TAG_SMALL_EMBER, .tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER,
@@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_08595380 =
.anims = gUnknown_08595360, .anims = gUnknown_08595360,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8108F08, .callback = AnimFireSpread,
}; };
const union AnimCmd gUnknown_08595398[] = const union AnimCmd gUnknown_08595398[] =
@@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_08595410 =
.callback = sub_8108FBC, .callback = sub_8108FBC,
}; };
const struct SpriteTemplate gUnknown_08595428 = const struct SpriteTemplate gFirePlumeSpriteTemplate =
{ {
.tileTag = ANIM_TAG_FIRE_PLUME, .tileTag = ANIM_TAG_FIRE_PLUME,
.paletteTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME,
@@ -267,7 +267,7 @@ const struct SpriteTemplate gUnknown_08595504 =
.callback = sub_8109200, .callback = sub_8109200,
}; };
const struct SpriteTemplate gUnknown_0859551C = const struct SpriteTemplate gFireBlastRingSpriteTemplate =
{ {
.tileTag = ANIM_TAG_SMALL_EMBER, .tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER,
@@ -308,7 +308,7 @@ const union AffineAnimCmd *const gUnknown_08595564[] =
gUnknown_08595554, gUnknown_08595554,
}; };
const struct SpriteTemplate gUnknown_0859556C = const struct SpriteTemplate gFireBlastCrossSpriteTemplate =
{ {
.tileTag = ANIM_TAG_SMALL_EMBER, .tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER,
@@ -470,7 +470,8 @@ static void sub_8108EC8(struct Sprite *sprite)
sprite->callback(sprite); sprite->callback(sprite);
} }
static void sub_8108F08(struct Sprite *sprite) // For the impact spread of fire sprites for moves like Blaze Kick or Fire Punch
static void AnimFireSpread(struct Sprite *sprite)
{ {
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
+8 -8
View File
@@ -24,13 +24,12 @@ void sub_810ED28(struct Sprite *);
void sub_810ED70(struct Sprite *); void sub_810ED70(struct Sprite *);
void sub_810EDD0(struct Sprite *); void sub_810EDD0(struct Sprite *);
void sub_810EE14(struct Sprite *); void sub_810EE14(struct Sprite *);
void sub_810EEF8(struct Sprite *); static void AnimSprayWaterDroplet(struct Sprite *);
void sub_810EFA8(struct Sprite *); void sub_810EFA8(struct Sprite *);
void sub_810F004(struct Sprite *); void sub_810F004(struct Sprite *);
void sub_810F018(struct Sprite *); void sub_810F018(struct Sprite *);
void sub_810F084(struct Sprite *); void sub_810F084(struct Sprite *);
void sub_810F140(struct Sprite *); void sub_810F140(struct Sprite *);
static void sub_810DE98(struct Sprite *); static void sub_810DE98(struct Sprite *);
static void sub_810DF18(u8); static void sub_810DF18(u8);
static void sub_810E028(struct Sprite *); static void sub_810E028(struct Sprite *);
@@ -86,7 +85,7 @@ const union AnimCmd *const gUnknown_085962D0[] =
gUnknown_085962BC, gUnknown_085962BC,
}; };
const struct SpriteTemplate gUnknown_085962D4 = const struct SpriteTemplate gAirWaveCrescentSpriteTemplate =
{ {
.tileTag = ANIM_TAG_AIR_WAVE_2, .tileTag = ANIM_TAG_AIR_WAVE_2,
.paletteTag = ANIM_TAG_AIR_WAVE_2, .paletteTag = ANIM_TAG_AIR_WAVE_2,
@@ -232,7 +231,7 @@ const union AffineAnimCmd *const gUnknown_0859641C[] =
gUnknown_085963EC, gUnknown_085963EC,
}; };
const struct SpriteTemplate gUnknown_08596420 = const struct SpriteTemplate gBounceBallShrinkSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ROUND_SHADOW, .tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW,
@@ -254,7 +253,7 @@ const union AffineAnimCmd *const gUnknown_08596448[] =
gUnknown_08596438, gUnknown_08596438,
}; };
const struct SpriteTemplate gUnknown_0859644C = const struct SpriteTemplate gBounceBallLandSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ROUND_SHADOW, .tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW,
@@ -314,7 +313,7 @@ const struct SpriteTemplate gUnknown_085964CC =
.callback = sub_810EE14, .callback = sub_810EE14,
}; };
const struct SpriteTemplate gUnknown_085964E4 = const struct SpriteTemplate gSprayWaterDropletSpriteTemplate =
{ {
.tileTag = ANIM_TAG_SWEAT_BEAD, .tileTag = ANIM_TAG_SWEAT_BEAD,
.paletteTag = ANIM_TAG_SWEAT_BEAD, .paletteTag = ANIM_TAG_SWEAT_BEAD,
@@ -322,7 +321,7 @@ const struct SpriteTemplate gUnknown_085964E4 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810EEF8, .callback = AnimSprayWaterDroplet,
}; };
const struct SpriteTemplate gUnknown_085964FC = const struct SpriteTemplate gUnknown_085964FC =
@@ -1111,7 +1110,8 @@ void sub_810EE14(struct Sprite *sprite)
} }
} }
void sub_810EEF8(struct Sprite *sprite) // Launches a water droplet away from the specified battler. Used by Astonish and Dive
static void AnimSprayWaterDroplet(struct Sprite *sprite)
{ {
int v1 = 0x1ff & Random2(); int v1 = 0x1ff & Random2();
int v2 = 0x7f & Random2(); int v2 = 0x7f & Random2();
+8 -8
View File
@@ -10,11 +10,11 @@
#include "trig.h" #include "trig.h"
#include "util.h" #include "util.h"
static void sub_811160C(struct Sprite *); static void AnimConfuseRayBallBounce(struct Sprite *);
static void sub_8111674(struct Sprite *); static void sub_8111674(struct Sprite *);
static void sub_81116E8(struct Sprite *); static void sub_81116E8(struct Sprite *);
static void sub_8111764(struct Sprite *); static void sub_8111764(struct Sprite *);
static void sub_81117F4(struct Sprite *); static void AnimConfuseRayBallSpiral(struct Sprite *);
static void sub_8111814(struct Sprite *); static void sub_8111814(struct Sprite *);
static void sub_8111914(u8 taskId); static void sub_8111914(u8 taskId);
static void sub_811196C(u8 taskId); static void sub_811196C(u8 taskId);
@@ -54,7 +54,7 @@ const union AffineAnimCmd *const gUnknown_08596D10[] =
gUnknown_08596CF8, gUnknown_08596CF8,
}; };
const struct SpriteTemplate gUnknown_08596D14 = const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate =
{ {
.tileTag = ANIM_TAG_YELLOW_BALL, .tileTag = ANIM_TAG_YELLOW_BALL,
.paletteTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL,
@@ -62,10 +62,10 @@ const struct SpriteTemplate gUnknown_08596D14 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08596D10, .affineAnims = gUnknown_08596D10,
.callback = sub_811160C, .callback = AnimConfuseRayBallBounce,
}; };
const struct SpriteTemplate gUnknown_08596D2C = const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate =
{ {
.tileTag = ANIM_TAG_YELLOW_BALL, .tileTag = ANIM_TAG_YELLOW_BALL,
.paletteTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL,
@@ -73,7 +73,7 @@ const struct SpriteTemplate gUnknown_08596D2C =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81117F4, .callback = AnimConfuseRayBallSpiral,
}; };
const union AffineAnimCmd gUnknown_08596D44[] = const union AffineAnimCmd gUnknown_08596D44[] =
@@ -215,7 +215,7 @@ const struct SpriteTemplate gUnknown_08596E48 =
.callback = sub_8112F60, .callback = sub_8112F60,
}; };
static void sub_811160C(struct Sprite *sprite) static void AnimConfuseRayBallBounce(struct Sprite *sprite)
{ {
InitSpritePosToAnimAttacker(sprite, 1); InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[2];
@@ -311,7 +311,7 @@ static void sub_8111764(struct Sprite *sprite)
} }
} }
static void sub_81117F4(struct Sprite *sprite) static void AnimConfuseRayBallSpiral(struct Sprite *sprite)
{ {
InitSpritePosToAnimTarget(sprite, TRUE); InitSpritePosToAnimTarget(sprite, TRUE);
sprite->callback = sub_8111814; sprite->callback = sub_8111814;
+2 -2
View File
@@ -49,7 +49,7 @@ const union AffineAnimCmd *const gUnknown_08597174[] =
gUnknown_08597160, gUnknown_08597160,
}; };
const struct SpriteTemplate gUnknown_08597178 = const struct SpriteTemplate gBonemerangSpriteTemplate =
{ {
.tileTag = ANIM_TAG_BONE, .tileTag = ANIM_TAG_BONE,
.paletteTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE,
@@ -60,7 +60,7 @@ const struct SpriteTemplate gUnknown_08597178 =
.callback = AnimBonemerangProjectile, .callback = AnimBonemerangProjectile,
}; };
const struct SpriteTemplate gUnknown_08597190 = const struct SpriteTemplate gSpinningBoneSpriteTemplate =
{ {
.tileTag = ANIM_TAG_BONE, .tileTag = ANIM_TAG_BONE,
.paletteTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE,
+5 -5
View File
@@ -219,7 +219,7 @@ const union AffineAnimCmd *const gUnknown_08595B64[] =
gUnknown_08595B44, gUnknown_08595B44,
}; };
const struct SpriteTemplate gUnknown_08595B68 = const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ICE_CRYSTALS, .tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS,
@@ -230,7 +230,7 @@ const struct SpriteTemplate gUnknown_08595B68 =
.callback = AnimIceEffectParticle, .callback = AnimIceEffectParticle,
}; };
const struct SpriteTemplate gUnknown_08595B80 = const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ICE_CRYSTALS, .tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS,
@@ -241,7 +241,7 @@ const struct SpriteTemplate gUnknown_08595B80 =
.callback = AnimIceEffectParticle, .callback = AnimIceEffectParticle,
}; };
const struct SpriteTemplate gUnknown_08595B98 = const struct SpriteTemplate gSwirlingSnowballSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ICE_CRYSTALS, .tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS,
@@ -252,7 +252,7 @@ const struct SpriteTemplate gUnknown_08595B98 =
.callback = AnimSwirlingSnowball_Step1, .callback = AnimSwirlingSnowball_Step1,
}; };
const struct SpriteTemplate gUnknown_08595BB0 = const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ICE_CRYSTALS, .tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS,
@@ -1452,7 +1452,7 @@ void AnimHailBegin(struct Sprite *sprite)
if (sprite->data[0] == 1 && sprite->data[5] == 0) if (sprite->data[0] == 1 && sprite->data[5] == 0)
{ {
spriteId = CreateSprite(&gUnknown_08595B68, spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate,
sprite->data[3], sprite->data[4], sprite->subpriority); sprite->data[3], sprite->data[4], sprite->subpriority);
sprite->data[0] = spriteId; sprite->data[0] = spriteId;
+2 -2
View File
@@ -90,7 +90,7 @@
extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
extern const struct SpriteTemplate gUnknown_08596C10[]; extern const struct SpriteTemplate gAncientPowerRockSpriteTemplate[];
//ewram //ewram
EWRAM_DATA u16 gIntroCharacterGender = 0; EWRAM_DATA u16 gIntroCharacterGender = 0;
@@ -1782,7 +1782,7 @@ static void CreateGroudonRockSprites(u8 a0)
for (i = 0; i < 6; i++) for (i = 0; i < 6; i++)
{ {
spriteId = CreateSprite(gUnknown_08596C10, gIntroGroudonRockData[i][0], 0xA0, i); spriteId = CreateSprite(gAncientPowerRockSpriteTemplate, gIntroGroudonRockData[i][0], 0xA0, i);
gSprites[spriteId].callback = SpriteCB_IntroGroudonRocks; gSprites[spriteId].callback = SpriteCB_IntroGroudonRocks;
gSprites[spriteId].oam.priority = 0; gSprites[spriteId].oam.priority = 0;
gSprites[spriteId].data[1] = i; gSprites[spriteId].data[1] = i;
+51 -30
View File
@@ -22,8 +22,8 @@ static void AnimConfusionDuckStep(struct Sprite *);
static void AnimSimplePaletteBlendStep(struct Sprite *); static void AnimSimplePaletteBlendStep(struct Sprite *);
static void sub_81158F8(struct Sprite *); static void sub_81158F8(struct Sprite *);
static void sub_8115984(struct Sprite *); static void sub_8115984(struct Sprite *);
static void sub_8115A54(u8, u8, u8); static void BlendMonColorInCycle(u8, u8, u8);
static void sub_8115AA4(u8); static void AnimTask_BlendCycleMonColorLoop(u8);
static void sub_8115BC8(u8, u8, u8); static void sub_8115BC8(u8, u8, u8);
static void sub_8115C18(u8); static void sub_8115C18(u8);
static void sub_8115CD0(u8, u8, u8); static void sub_8115CD0(u8, u8, u8);
@@ -187,7 +187,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 =
.callback = sub_8116420, .callback = sub_8116420,
}; };
const struct SpriteTemplate gUnknown_08597388 = const struct SpriteTemplate gWaterHitSplatSpriteTemplate =
{ {
.tileTag = ANIM_TAG_WATER_IMPACT, .tileTag = ANIM_TAG_WATER_IMPACT,
.paletteTag = ANIM_TAG_WATER_IMPACT, .paletteTag = ANIM_TAG_WATER_IMPACT,
@@ -413,55 +413,68 @@ void sub_81159B4(struct Sprite *sprite)
sprite->callback(sprite); sprite->callback(sprite);
} }
void sub_8115A04(u8 taskId) // Task data for AnimTask_BlendCycleMonColor
#define tPalSelector data[0]
#define tDelay data[1]
#define tNumBlends data[2]
#define tInitialBlendY data[3]
#define tTargetBlendY data[4]
#define tBlendColor data[5]
#define tRestoreBlend data[8]
// Blends mon sprite to designated color or back alternately tNumBlends times
// Many uses of this task only set a tNumBlends of 2, which has the effect of blending to a color and back once
void AnimTask_BlendCycleMonColor(u8 taskId)
{ {
gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].tPalSelector = gBattleAnimArgs[0];
gTasks[taskId].data[1] = gBattleAnimArgs[1]; gTasks[taskId].tDelay = gBattleAnimArgs[1];
gTasks[taskId].data[2] = gBattleAnimArgs[2]; gTasks[taskId].tNumBlends = gBattleAnimArgs[2];
gTasks[taskId].data[3] = gBattleAnimArgs[3]; gTasks[taskId].tInitialBlendY = gBattleAnimArgs[3];
gTasks[taskId].data[4] = gBattleAnimArgs[4]; gTasks[taskId].tTargetBlendY = gBattleAnimArgs[4];
gTasks[taskId].data[5] = gBattleAnimArgs[5]; gTasks[taskId].tBlendColor = gBattleAnimArgs[5];
gTasks[taskId].data[8] = 0; gTasks[taskId].tRestoreBlend = FALSE;
sub_8115A54(taskId, 0, gTasks[taskId].data[4]); BlendMonColorInCycle(taskId, 0, gTasks[taskId].tTargetBlendY);
gTasks[taskId].func = sub_8115AA4; gTasks[taskId].func = AnimTask_BlendCycleMonColorLoop;
} }
static void sub_8115A54(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount) static void BlendMonColorInCycle(u8 taskId, u8 startBlendAmount, u8 targetBlendAmount)
{ {
u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].data[0]); u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].tPalSelector);
BeginNormalPaletteFade( BeginNormalPaletteFade(
selectedPalettes, selectedPalettes,
gTasks[taskId].data[1], gTasks[taskId].tDelay,
initialBlendAmount, startBlendAmount,
targetBlendAmount, targetBlendAmount,
gTasks[taskId].data[5]); gTasks[taskId].tBlendColor);
gTasks[taskId].data[2]--; gTasks[taskId].tNumBlends--;
gTasks[taskId].data[8] ^= 1; gTasks[taskId].tRestoreBlend ^= 1;
} }
static void sub_8115AA4(u8 taskId) static void AnimTask_BlendCycleMonColorLoop(u8 taskId)
{ {
u8 initialBlendAmount, targetBlendAmount; u8 startBlendAmount, targetBlendAmount;
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
if (gTasks[taskId].data[2] > 0) if (gTasks[taskId].tNumBlends > 0)
{ {
if (gTasks[taskId].data[8] == 0) if (gTasks[taskId].tRestoreBlend == FALSE)
{ {
initialBlendAmount = gTasks[taskId].data[3]; // Blend to designated color
targetBlendAmount = gTasks[taskId].data[4]; startBlendAmount = gTasks[taskId].tInitialBlendY;
targetBlendAmount = gTasks[taskId].tTargetBlendY;
} }
else else
{ {
initialBlendAmount = gTasks[taskId].data[4]; // Blend back to original color
targetBlendAmount = gTasks[taskId].data[3]; startBlendAmount = gTasks[taskId].tTargetBlendY;
targetBlendAmount = gTasks[taskId].tInitialBlendY;
} }
if (gTasks[taskId].data[2] == 1) if (gTasks[taskId].tNumBlends == 1)
targetBlendAmount = 0; targetBlendAmount = 0;
sub_8115A54(taskId, initialBlendAmount, targetBlendAmount); BlendMonColorInCycle(taskId, startBlendAmount, targetBlendAmount);
} }
else else
{ {
@@ -470,6 +483,14 @@ static void sub_8115AA4(u8 taskId)
} }
} }
#undef tPalSelector
#undef tDelay
#undef tNumBlends
#undef tInitialBlendY
#undef tTargetBlendY
#undef tBlendColor
#undef tFirstBlendDone
void sub_8115B0C(u8 taskId) void sub_8115B0C(u8 taskId)
{ {
int battler; int battler;
+8 -8
View File
@@ -4,9 +4,9 @@
#include "constants/rgb.h" #include "constants/rgb.h"
void sub_810DBAC(struct Sprite *); void sub_810DBAC(struct Sprite *);
void sub_810DC2C(struct Sprite *); void AnimAcidPoisonBubble(struct Sprite *);
void sub_810DCD0(struct Sprite *); void sub_810DCD0(struct Sprite *);
void sub_810DD50(struct Sprite *); void AnimAcidPoisonDroplet(struct Sprite *);
void AnimBubbleEffect(struct Sprite *); void AnimBubbleEffect(struct Sprite *);
static void sub_810DC10(struct Sprite *); static void sub_810DC10(struct Sprite *);
static void sub_810DCB4(struct Sprite *); static void sub_810DCB4(struct Sprite *);
@@ -108,7 +108,7 @@ const struct SpriteTemplate gUnknown_085961A8 =
.callback = sub_810DBAC, .callback = sub_810DBAC,
}; };
const struct SpriteTemplate gUnknown_085961C0 = const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate =
{ {
.tileTag = ANIM_TAG_POISON_BUBBLE, .tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE,
@@ -116,7 +116,7 @@ const struct SpriteTemplate gUnknown_085961C0 =
.anims = gUnknown_08596164, .anims = gUnknown_08596164,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_085961A0, .affineAnims = gUnknown_085961A0,
.callback = sub_810DC2C, .callback = AnimAcidPoisonBubble,
}; };
const struct SpriteTemplate gUnknown_085961D8 = const struct SpriteTemplate gUnknown_085961D8 =
@@ -142,7 +142,7 @@ const union AffineAnimCmd *const gUnknown_08596208[] =
gUnknown_085961F0, gUnknown_085961F0,
}; };
const struct SpriteTemplate gUnknown_0859620C = const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate =
{ {
.tileTag = ANIM_TAG_POISON_BUBBLE, .tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE,
@@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_0859620C =
.anims = gUnknown_08596168, .anims = gUnknown_08596168,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08596208, .affineAnims = gUnknown_08596208,
.callback = sub_810DD50, .callback = AnimAcidPoisonDroplet,
}; };
const union AffineAnimCmd gUnknown_08596224[] = const union AffineAnimCmd gUnknown_08596224[] =
@@ -210,7 +210,7 @@ static void sub_810DC10(struct Sprite *sprite)
DestroyAnimSprite(sprite); DestroyAnimSprite(sprite);
} }
void sub_810DC2C(struct Sprite *sprite) void AnimAcidPoisonBubble(struct Sprite *sprite)
{ {
s16 l1, l2; s16 l1, l2;
if (!gBattleAnimArgs[3]) if (!gBattleAnimArgs[3])
@@ -265,7 +265,7 @@ static void sub_810DD24(struct Sprite *sprite)
DestroyAnimSprite(sprite); DestroyAnimSprite(sprite);
} }
void sub_810DD50(struct Sprite *sprite) void AnimAcidPoisonDroplet(struct Sprite *sprite)
{ {
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
+13 -12
View File
@@ -8,10 +8,10 @@
#include "constants/rgb.h" #include "constants/rgb.h"
#include "constants/songs.h" #include "constants/songs.h"
void sub_810F1EC(struct Sprite *); static void AnimDefensiveWall(struct Sprite *);
void sub_810F58C(struct Sprite *); void sub_810F58C(struct Sprite *);
void sub_810F634(struct Sprite *); void sub_810F634(struct Sprite *);
void sub_810F6B0(struct Sprite *); static void AnimQuestionMark(struct Sprite *);
void sub_810FBA8(struct Sprite *); void sub_810FBA8(struct Sprite *);
void sub_810FDF0(struct Sprite *); void sub_810FDF0(struct Sprite *);
void sub_8110240(struct Sprite *); void sub_8110240(struct Sprite *);
@@ -60,7 +60,7 @@ const struct SpriteTemplate gUnknown_08596560 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810F1EC, .callback = AnimDefensiveWall,
}; };
const struct SpriteTemplate gUnknown_08596578 = const struct SpriteTemplate gUnknown_08596578 =
@@ -71,7 +71,7 @@ const struct SpriteTemplate gUnknown_08596578 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810F1EC, .callback = AnimDefensiveWall,
}; };
const struct SpriteTemplate gUnknown_08596590 = const struct SpriteTemplate gUnknown_08596590 =
@@ -82,10 +82,10 @@ const struct SpriteTemplate gUnknown_08596590 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810F1EC, .callback = AnimDefensiveWall,
}; };
const struct SpriteTemplate gUnknown_085965A8 = const struct SpriteTemplate gBarrierWallSpriteTemplate =
{ {
.tileTag = ANIM_TAG_GRAY_LIGHT_WALL, .tileTag = ANIM_TAG_GRAY_LIGHT_WALL,
.paletteTag = ANIM_TAG_GRAY_LIGHT_WALL, .paletteTag = ANIM_TAG_GRAY_LIGHT_WALL,
@@ -93,7 +93,7 @@ const struct SpriteTemplate gUnknown_085965A8 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810F1EC, .callback = AnimDefensiveWall,
}; };
const struct SpriteTemplate gUnknown_085965C0 = const struct SpriteTemplate gUnknown_085965C0 =
@@ -104,7 +104,7 @@ const struct SpriteTemplate gUnknown_085965C0 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810F1EC, .callback = AnimDefensiveWall,
}; };
const union AnimCmd gUnknown_085965D8[] = const union AnimCmd gUnknown_085965D8[] =
@@ -257,7 +257,7 @@ const union AffineAnimCmd *const gUnknown_08596740[] =
gUnknown_08596718, gUnknown_08596718,
}; };
const struct SpriteTemplate gUnknown_08596744 = const struct SpriteTemplate gAmnesiaQuestionMarkSpriteTemplate =
{ {
.tileTag = ANIM_TAG_AMNESIA, .tileTag = ANIM_TAG_AMNESIA,
.paletteTag = ANIM_TAG_AMNESIA, .paletteTag = ANIM_TAG_AMNESIA,
@@ -265,7 +265,7 @@ const struct SpriteTemplate gUnknown_08596744 =
.anims = gUnknown_08596714, .anims = gUnknown_08596714,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810F6B0, .callback = AnimQuestionMark,
}; };
const union AffineAnimCmd gUnknown_0859675C[] = const union AffineAnimCmd gUnknown_0859675C[] =
@@ -419,7 +419,8 @@ const struct SpriteTemplate gUnknown_08596920 =
.callback = sub_8110240, .callback = sub_8110240,
}; };
void sub_810F1EC(struct Sprite *sprite) // For the rectangular wall sprite used by Reflect, Mirror Coat, etc
static void AnimDefensiveWall(struct Sprite *sprite)
{ {
u8 isContest = IsContest(); u8 isContest = IsContest();
@@ -639,7 +640,7 @@ void sub_810F634(struct Sprite *sprite)
sprite->callback = RunStoredCallbackWhenAnimEnds; sprite->callback = RunStoredCallbackWhenAnimEnds;
} }
void sub_810F6B0(struct Sprite *sprite) static void AnimQuestionMark(struct Sprite *sprite)
{ {
s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2; s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2;
s16 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2; s16 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2;
+1 -1
View File
@@ -199,7 +199,7 @@ const union AnimCmd *const gUnknown_08596C08[] =
gUnknown_08596BF0, gUnknown_08596BF0,
}; };
const struct SpriteTemplate gUnknown_08596C10 = const struct SpriteTemplate gAncientPowerRockSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ROCKS, .tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS,
+13 -13
View File
@@ -15,11 +15,11 @@
void sub_810721C(struct Sprite *); void sub_810721C(struct Sprite *);
void sub_8107228(struct Sprite *); void sub_8107228(struct Sprite *);
void sub_8107260(struct Sprite *); static void AnimMovingWaterBubble(struct Sprite *);
void sub_8107380(struct Sprite *); void sub_8107380(struct Sprite *);
void sub_8107408(struct Sprite *); void sub_8107408(struct Sprite *);
void sub_8107430(struct Sprite *); void sub_8107430(struct Sprite *);
void sub_810744C(struct Sprite *); static void AnimAuroraBeamRings(struct Sprite *);
void sub_81074E4(struct Sprite *); void sub_81074E4(struct Sprite *);
void sub_81075EC(struct Sprite *); void sub_81075EC(struct Sprite *);
void sub_8107674(struct Sprite *); void sub_8107674(struct Sprite *);
@@ -115,7 +115,7 @@ const union AnimCmd *const gUnknown_08595064[] =
gUnknown_08595054, gUnknown_08595054,
}; };
const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 = const struct SpriteTemplate gMovingWaterBubbleSpriteTemplate =
{ {
.tileTag = ANIM_TAG_BUBBLE, .tileTag = ANIM_TAG_BUBBLE,
.paletteTag = ANIM_TAG_BUBBLE, .paletteTag = ANIM_TAG_BUBBLE,
@@ -123,7 +123,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 =
.anims = gUnknown_08595064, .anims = gUnknown_08595064,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08595050, .affineAnims = gUnknown_08595050,
.callback = sub_8107260, .callback = AnimMovingWaterBubble,
}; };
const union AnimCmd gUnknown_08595080[] = const union AnimCmd gUnknown_08595080[] =
@@ -156,8 +156,7 @@ const union AffineAnimCmd *const gUnknown_085950B0[] =
gUnknown_08595098, gUnknown_08595098,
}; };
// Multi-colored rings used in Aurora Beam. const struct SpriteTemplate gAuroraBeamRingSpriteTemplate =
const struct SpriteTemplate gUnknown_085950B4 =
{ {
.tileTag = ANIM_TAG_RAINBOW_RINGS, .tileTag = ANIM_TAG_RAINBOW_RINGS,
.paletteTag = ANIM_TAG_RAINBOW_RINGS, .paletteTag = ANIM_TAG_RAINBOW_RINGS,
@@ -165,7 +164,7 @@ const struct SpriteTemplate gUnknown_085950B4 =
.anims = gUnknown_08595090, .anims = gUnknown_08595090,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_085950B0, .affineAnims = gUnknown_085950B0,
.callback = sub_810744C, .callback = AnimAuroraBeamRings,
}; };
const union AnimCmd gUnknown_085950CC[] = const union AnimCmd gUnknown_085950CC[] =
@@ -351,7 +350,7 @@ const struct SpriteTemplate gUnknown_08595220 =
.callback = sub_8107894, .callback = sub_8107894,
}; };
const struct SpriteTemplate gUnknown_08595238 = const struct SpriteTemplate gSmallBubblePairSpriteTemplate =
{ {
.tileTag = ANIM_TAG_ICE_CRYSTALS, .tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS,
@@ -478,7 +477,7 @@ const struct SpriteTemplate gUnknown_08595328 =
.callback = sub_80A8EE4, .callback = sub_80A8EE4,
}; };
extern const struct SpriteTemplate gUnknown_08597388; extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate;
void AnimTask_CreateRaindrops(u8 taskId) void AnimTask_CreateRaindrops(u8 taskId)
{ {
@@ -517,7 +516,8 @@ void sub_8107228(struct Sprite *sprite)
DestroySprite(sprite); DestroySprite(sprite);
} }
void sub_8107260(struct Sprite *sprite) // For water bubbles that move to a dest, as in Bubble/Bubblebeam
static void AnimMovingWaterBubble(struct Sprite *sprite)
{ {
u8 spriteId; u8 spriteId;
@@ -590,7 +590,7 @@ void sub_8107430(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
} }
void sub_810744C(struct Sprite *sprite) static void AnimAuroraBeamRings(struct Sprite *sprite)
{ {
s16 unkArg; s16 unkArg;
@@ -1762,7 +1762,7 @@ void sub_810871C(struct Task *task, u8 taskId)
} }
task->data[11]++; task->data[11]++;
task->data[8] = (task->data[8] + 39) & 0xFF; task->data[8] = (task->data[8] + 39) & 0xFF;
task->data[7] = ((task->data[7] * 0x41c64e6d + 0x3039) % task->data[5]) + task->data[4]; task->data[7] = ((task->data[7] * 1103515245 + 12345) % task->data[5]) + task->data[4];
} }
void sub_81087C0(struct Sprite *sprite) void sub_81087C0(struct Sprite *sprite)
@@ -1773,7 +1773,7 @@ void sub_81087C0(struct Sprite *sprite)
if (sprite->pos1.y >= sprite->data[5]) if (sprite->pos1.y >= sprite->data[5])
{ {
gTasks[sprite->data[6]].data[10] = 1; gTasks[sprite->data[6]].data[10] = 1;
sprite->data[1] = CreateSprite(&gUnknown_08597388, sprite->pos1.x, sprite->pos1.y, 1); sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, 1);
if (sprite->data[1] != MAX_SPRITES) if (sprite->data[1] != MAX_SPRITES)
{ {
StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3); StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3);