mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-01-13 23:23:43 +01:00
Document move anims A-C
This commit is contained in:
parent
b1d131ace2
commit
6eb44dc507
File diff suppressed because it is too large
Load Diff
@ -10,6 +10,8 @@ u16 Random2(void);
|
||||
|
||||
//Returns a 32-bit pseudorandom number
|
||||
#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
|
||||
void SeedRng(u16 seed);
|
||||
|
@ -3114,7 +3114,7 @@ static void FakeOutStep2(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8106020(u8 taskId)
|
||||
void AnimTask_StretchTargetUp(u8 taskId)
|
||||
{
|
||||
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
|
||||
if (++gTasks[taskId].data[0] == 1)
|
||||
|
@ -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(
|
||||
taskId,
|
||||
|
@ -870,7 +870,7 @@ void AnimTask_ScaleMonAndRestoreStep(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80D6134(u8 taskId)
|
||||
void AminTask_DipMonSpriteToSide(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]);
|
||||
|
@ -211,7 +211,8 @@ static void sub_81169A0(u8 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];
|
||||
|
||||
@ -681,7 +682,7 @@ static void sub_81175C4(u32 selectedPalettes, u16 color)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8117610(u8 taskId)
|
||||
void AnimTask_BlendAllBattlerPalettesButAttacker(u8 taskId)
|
||||
{
|
||||
u32 battler;
|
||||
int j;
|
||||
@ -699,7 +700,7 @@ void sub_8117610(u8 taskId)
|
||||
StartBlendAnimSpriteColor(taskId, selectedPalettes);
|
||||
}
|
||||
|
||||
void sub_8117660(u8 taskId)
|
||||
void AnimTask_StartSlidingBg(u8 taskId)
|
||||
{
|
||||
u8 newTaskId;
|
||||
|
||||
@ -754,19 +755,24 @@ void AnimTask_GetTargetIsAttackerPartner(u8 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;
|
||||
|
||||
for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++)
|
||||
{
|
||||
if (battler != gBattleAnimAttacker && IsBattlerSpriteVisible(battler))
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = gBattleAnimArgs[0];
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = tInvisible;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
17
src/dark.c
17
src/dark.c
@ -10,7 +10,7 @@
|
||||
#include "constants/rgb.h"
|
||||
|
||||
void sub_81138D4(struct Sprite *);
|
||||
void sub_81139DC(struct Sprite *);
|
||||
static void AnimBite(struct Sprite *);
|
||||
void sub_8113A90(struct Sprite *);
|
||||
void sub_81144BC(struct Sprite *);
|
||||
static void sub_811375C(u8);
|
||||
@ -96,7 +96,7 @@ const union AffineAnimCmd *const gUnknown_08597060[] =
|
||||
gUnknown_08597050,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08597080 =
|
||||
const struct SpriteTemplate gSharpTeethSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SHARP_TEETH,
|
||||
.paletteTag = ANIM_TAG_SHARP_TEETH,
|
||||
@ -104,10 +104,10 @@ const struct SpriteTemplate gUnknown_08597080 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08597060,
|
||||
.callback = sub_81139DC,
|
||||
.callback = AnimBite,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08597098 =
|
||||
const struct SpriteTemplate gClampJawSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_CLAMP,
|
||||
.paletteTag = ANIM_TAG_CLAMP,
|
||||
@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_08597098 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08597060,
|
||||
.callback = sub_81139DC,
|
||||
.callback = AnimBite,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085970B0[] =
|
||||
@ -186,7 +186,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 =
|
||||
.callback = sub_81144BC,
|
||||
};
|
||||
|
||||
void sub_81136E8(u8 taskId)
|
||||
void AnimTask_AttackerFadeToInvisible(u8 taskId)
|
||||
{
|
||||
int battler;
|
||||
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[1] = BLDALPHA_BLEND(0, 16);
|
||||
@ -310,7 +310,8 @@ static void sub_8113950(struct Sprite *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.y += gBattleAnimArgs[1];
|
||||
|
@ -25,8 +25,8 @@ static void sub_810AAB0(struct Sprite *);
|
||||
static void sub_810AB78(u8 taskId);
|
||||
static void sub_810AC8C(struct Sprite *);
|
||||
static void sub_810ACC0(struct Sprite *);
|
||||
static void sub_810ACD8(struct Sprite *);
|
||||
static void sub_810AD30(struct Sprite *);
|
||||
static void AnimGrowingElectricOrb(struct Sprite *);
|
||||
static void AnimElectricPuff(struct Sprite *);
|
||||
static void sub_810AD98(struct Sprite *);
|
||||
static void sub_810ADF8(struct Sprite *);
|
||||
static bool8 sub_810B154(struct Task *task, u8 taskId);
|
||||
@ -331,7 +331,7 @@ const union AffineAnimCmd *const gUnknown_08595950[] =
|
||||
gUnknown_08595930,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0859595C =
|
||||
const struct SpriteTemplate gGrowingElectricOrbSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
|
||||
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
|
||||
@ -339,7 +339,7 @@ const struct SpriteTemplate gUnknown_0859595C =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595950,
|
||||
.callback = sub_810ACD8,
|
||||
.callback = AnimGrowingElectricOrb,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595974[] =
|
||||
@ -356,7 +356,7 @@ const union AnimCmd *const gUnknown_08595988[] =
|
||||
gUnknown_08595974,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0859598C =
|
||||
const struct SpriteTemplate gElectricPuffSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ELECTRICITY,
|
||||
.paletteTag = ANIM_TAG_ELECTRICITY,
|
||||
@ -364,7 +364,7 @@ const struct SpriteTemplate gUnknown_0859598C =
|
||||
.anims = gUnknown_08595988,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810AD30,
|
||||
.callback = AnimElectricPuff,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085959A4 =
|
||||
@ -794,11 +794,12 @@ static void sub_810AAB0(struct Sprite *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];
|
||||
|
||||
if (!gBattleAnimArgs[0])
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
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;
|
||||
}
|
||||
|
||||
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.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
@ -899,9 +901,10 @@ static void sub_810ACD8(struct Sprite *sprite)
|
||||
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.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
|
11
src/fight.c
11
src/fight.c
@ -21,7 +21,7 @@ void sub_810D4F4(struct Sprite *);
|
||||
void sub_810D608(struct Sprite *);
|
||||
void sub_810D714(struct Sprite *);
|
||||
void sub_810D874(struct Sprite *);
|
||||
void sub_810D984(struct Sprite *);
|
||||
static void AnimArmThrustHit(struct Sprite *);
|
||||
void sub_810DA10(struct Sprite *);
|
||||
void sub_810DA7C(struct Sprite *);
|
||||
static void sub_810D0B8(struct Sprite *);
|
||||
@ -174,7 +174,8 @@ const union AffineAnimCmd *const gUnknown_08595F10[] =
|
||||
gUnknown_08595EF8,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595F14 =
|
||||
// Blaze Kick / Meteor Mash
|
||||
const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
@ -299,7 +300,7 @@ const struct SpriteTemplate gUnknown_0859601C =
|
||||
.callback = sub_810D874,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596034 =
|
||||
const struct SpriteTemplate gArmThrustHandSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
@ -307,7 +308,7 @@ const struct SpriteTemplate gUnknown_08596034 =
|
||||
.anims = gUnknown_08595E54,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810D984,
|
||||
.callback = AnimArmThrustHit,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_0859604C[] =
|
||||
@ -935,7 +936,7 @@ static void sub_810D960(struct Sprite *sprite)
|
||||
sprite->data[0]++;
|
||||
}
|
||||
|
||||
void sub_810D984(struct Sprite *sprite)
|
||||
static void AnimArmThrustHit(struct Sprite *sprite)
|
||||
{
|
||||
u8 turn;
|
||||
|
||||
|
15
src/fire.c
15
src/fire.c
@ -8,7 +8,7 @@
|
||||
#include "trig.h"
|
||||
|
||||
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_8108FBC(struct Sprite *);
|
||||
static void sub_8109028(struct Sprite *);
|
||||
@ -72,7 +72,7 @@ const struct SpriteTemplate gUnknown_08595368 =
|
||||
.callback = sub_8108EC8,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595380 =
|
||||
const struct SpriteTemplate gFireSpreadSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_08595380 =
|
||||
.anims = gUnknown_08595360,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_8108F08,
|
||||
.callback = AnimFireSpread,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595398[] =
|
||||
@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_08595410 =
|
||||
.callback = sub_8108FBC,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595428 =
|
||||
const struct SpriteTemplate gFirePlumeSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_FIRE_PLUME,
|
||||
.paletteTag = ANIM_TAG_FIRE_PLUME,
|
||||
@ -267,7 +267,7 @@ const struct SpriteTemplate gUnknown_08595504 =
|
||||
.callback = sub_8109200,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0859551C =
|
||||
const struct SpriteTemplate gFireBlastRingSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
@ -308,7 +308,7 @@ const union AffineAnimCmd *const gUnknown_08595564[] =
|
||||
gUnknown_08595554,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0859556C =
|
||||
const struct SpriteTemplate gFireBlastCrossSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
@ -470,7 +470,8 @@ static void sub_8108EC8(struct Sprite *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]);
|
||||
|
||||
|
16
src/flying.c
16
src/flying.c
@ -24,13 +24,12 @@ void sub_810ED28(struct Sprite *);
|
||||
void sub_810ED70(struct Sprite *);
|
||||
void sub_810EDD0(struct Sprite *);
|
||||
void sub_810EE14(struct Sprite *);
|
||||
void sub_810EEF8(struct Sprite *);
|
||||
static void AnimSprayWaterDroplet(struct Sprite *);
|
||||
void sub_810EFA8(struct Sprite *);
|
||||
void sub_810F004(struct Sprite *);
|
||||
void sub_810F018(struct Sprite *);
|
||||
void sub_810F084(struct Sprite *);
|
||||
void sub_810F140(struct Sprite *);
|
||||
|
||||
static void sub_810DE98(struct Sprite *);
|
||||
static void sub_810DF18(u8);
|
||||
static void sub_810E028(struct Sprite *);
|
||||
@ -86,7 +85,7 @@ const union AnimCmd *const gUnknown_085962D0[] =
|
||||
gUnknown_085962BC,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085962D4 =
|
||||
const struct SpriteTemplate gAirWaveCrescentSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_AIR_WAVE_2,
|
||||
.paletteTag = ANIM_TAG_AIR_WAVE_2,
|
||||
@ -232,7 +231,7 @@ const union AffineAnimCmd *const gUnknown_0859641C[] =
|
||||
gUnknown_085963EC,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596420 =
|
||||
const struct SpriteTemplate gBounceBallShrinkSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ROUND_SHADOW,
|
||||
.paletteTag = ANIM_TAG_ROUND_SHADOW,
|
||||
@ -254,7 +253,7 @@ const union AffineAnimCmd *const gUnknown_08596448[] =
|
||||
gUnknown_08596438,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0859644C =
|
||||
const struct SpriteTemplate gBounceBallLandSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ROUND_SHADOW,
|
||||
.paletteTag = ANIM_TAG_ROUND_SHADOW,
|
||||
@ -314,7 +313,7 @@ const struct SpriteTemplate gUnknown_085964CC =
|
||||
.callback = sub_810EE14,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085964E4 =
|
||||
const struct SpriteTemplate gSprayWaterDropletSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SWEAT_BEAD,
|
||||
.paletteTag = ANIM_TAG_SWEAT_BEAD,
|
||||
@ -322,7 +321,7 @@ const struct SpriteTemplate gUnknown_085964E4 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810EEF8,
|
||||
.callback = AnimSprayWaterDroplet,
|
||||
};
|
||||
|
||||
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 v2 = 0x7f & Random2();
|
||||
|
16
src/ghost.c
16
src/ghost.c
@ -10,11 +10,11 @@
|
||||
#include "trig.h"
|
||||
#include "util.h"
|
||||
|
||||
static void sub_811160C(struct Sprite *);
|
||||
static void AnimConfuseRayBallBounce(struct Sprite *);
|
||||
static void sub_8111674(struct Sprite *);
|
||||
static void sub_81116E8(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_8111914(u8 taskId);
|
||||
static void sub_811196C(u8 taskId);
|
||||
@ -54,7 +54,7 @@ const union AffineAnimCmd *const gUnknown_08596D10[] =
|
||||
gUnknown_08596CF8,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596D14 =
|
||||
const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_YELLOW_BALL,
|
||||
.paletteTag = ANIM_TAG_YELLOW_BALL,
|
||||
@ -62,10 +62,10 @@ const struct SpriteTemplate gUnknown_08596D14 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596D10,
|
||||
.callback = sub_811160C,
|
||||
.callback = AnimConfuseRayBallBounce,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596D2C =
|
||||
const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_YELLOW_BALL,
|
||||
.paletteTag = ANIM_TAG_YELLOW_BALL,
|
||||
@ -73,7 +73,7 @@ const struct SpriteTemplate gUnknown_08596D2C =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_81117F4,
|
||||
.callback = AnimConfuseRayBallSpiral,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596D44[] =
|
||||
@ -215,7 +215,7 @@ const struct SpriteTemplate gUnknown_08596E48 =
|
||||
.callback = sub_8112F60,
|
||||
};
|
||||
|
||||
static void sub_811160C(struct Sprite *sprite)
|
||||
static void AnimConfuseRayBallBounce(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
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);
|
||||
sprite->callback = sub_8111814;
|
||||
|
@ -49,7 +49,7 @@ const union AffineAnimCmd *const gUnknown_08597174[] =
|
||||
gUnknown_08597160,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08597178 =
|
||||
const struct SpriteTemplate gBonemerangSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_BONE,
|
||||
.paletteTag = ANIM_TAG_BONE,
|
||||
@ -60,7 +60,7 @@ const struct SpriteTemplate gUnknown_08597178 =
|
||||
.callback = AnimBonemerangProjectile,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08597190 =
|
||||
const struct SpriteTemplate gSpinningBoneSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_BONE,
|
||||
.paletteTag = ANIM_TAG_BONE,
|
||||
|
10
src/ice.c
10
src/ice.c
@ -219,7 +219,7 @@ const union AffineAnimCmd *const gUnknown_08595B64[] =
|
||||
gUnknown_08595B44,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595B68 =
|
||||
const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
@ -230,7 +230,7 @@ const struct SpriteTemplate gUnknown_08595B68 =
|
||||
.callback = AnimIceEffectParticle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595B80 =
|
||||
const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
@ -241,7 +241,7 @@ const struct SpriteTemplate gUnknown_08595B80 =
|
||||
.callback = AnimIceEffectParticle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595B98 =
|
||||
const struct SpriteTemplate gSwirlingSnowballSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
@ -252,7 +252,7 @@ const struct SpriteTemplate gUnknown_08595B98 =
|
||||
.callback = AnimSwirlingSnowball_Step1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595BB0 =
|
||||
const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate =
|
||||
{
|
||||
.tileTag = 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)
|
||||
{
|
||||
spriteId = CreateSprite(&gUnknown_08595B68,
|
||||
spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate,
|
||||
sprite->data[3], sprite->data[4], sprite->subpriority);
|
||||
|
||||
sprite->data[0] = spriteId;
|
||||
|
@ -90,7 +90,7 @@
|
||||
|
||||
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
|
||||
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
|
||||
extern const struct SpriteTemplate gUnknown_08596C10[];
|
||||
extern const struct SpriteTemplate gAncientPowerRockSpriteTemplate[];
|
||||
|
||||
//ewram
|
||||
EWRAM_DATA u16 gIntroCharacterGender = 0;
|
||||
@ -1782,7 +1782,7 @@ static void CreateGroudonRockSprites(u8 a0)
|
||||
|
||||
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].oam.priority = 0;
|
||||
gSprites[spriteId].data[1] = i;
|
||||
|
81
src/normal.c
81
src/normal.c
@ -22,8 +22,8 @@ static void AnimConfusionDuckStep(struct Sprite *);
|
||||
static void AnimSimplePaletteBlendStep(struct Sprite *);
|
||||
static void sub_81158F8(struct Sprite *);
|
||||
static void sub_8115984(struct Sprite *);
|
||||
static void sub_8115A54(u8, u8, u8);
|
||||
static void sub_8115AA4(u8);
|
||||
static void BlendMonColorInCycle(u8, u8, u8);
|
||||
static void AnimTask_BlendCycleMonColorLoop(u8);
|
||||
static void sub_8115BC8(u8, u8, u8);
|
||||
static void sub_8115C18(u8);
|
||||
static void sub_8115CD0(u8, u8, u8);
|
||||
@ -187,7 +187,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 =
|
||||
.callback = sub_8116420,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08597388 =
|
||||
const struct SpriteTemplate gWaterHitSplatSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_WATER_IMPACT,
|
||||
.paletteTag = ANIM_TAG_WATER_IMPACT,
|
||||
@ -413,55 +413,68 @@ void sub_81159B4(struct Sprite *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].data[1] = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[2];
|
||||
gTasks[taskId].data[3] = gBattleAnimArgs[3];
|
||||
gTasks[taskId].data[4] = gBattleAnimArgs[4];
|
||||
gTasks[taskId].data[5] = gBattleAnimArgs[5];
|
||||
gTasks[taskId].data[8] = 0;
|
||||
sub_8115A54(taskId, 0, gTasks[taskId].data[4]);
|
||||
gTasks[taskId].func = sub_8115AA4;
|
||||
gTasks[taskId].tPalSelector = gBattleAnimArgs[0];
|
||||
gTasks[taskId].tDelay = gBattleAnimArgs[1];
|
||||
gTasks[taskId].tNumBlends = gBattleAnimArgs[2];
|
||||
gTasks[taskId].tInitialBlendY = gBattleAnimArgs[3];
|
||||
gTasks[taskId].tTargetBlendY = gBattleAnimArgs[4];
|
||||
gTasks[taskId].tBlendColor = gBattleAnimArgs[5];
|
||||
gTasks[taskId].tRestoreBlend = FALSE;
|
||||
BlendMonColorInCycle(taskId, 0, gTasks[taskId].tTargetBlendY);
|
||||
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(
|
||||
selectedPalettes,
|
||||
gTasks[taskId].data[1],
|
||||
initialBlendAmount,
|
||||
gTasks[taskId].tDelay,
|
||||
startBlendAmount,
|
||||
targetBlendAmount,
|
||||
gTasks[taskId].data[5]);
|
||||
gTasks[taskId].tBlendColor);
|
||||
|
||||
gTasks[taskId].data[2]--;
|
||||
gTasks[taskId].data[8] ^= 1;
|
||||
gTasks[taskId].tNumBlends--;
|
||||
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 (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];
|
||||
targetBlendAmount = gTasks[taskId].data[4];
|
||||
// Blend to designated color
|
||||
startBlendAmount = gTasks[taskId].tInitialBlendY;
|
||||
targetBlendAmount = gTasks[taskId].tTargetBlendY;
|
||||
}
|
||||
else
|
||||
{
|
||||
initialBlendAmount = gTasks[taskId].data[4];
|
||||
targetBlendAmount = gTasks[taskId].data[3];
|
||||
// Blend back to original color
|
||||
startBlendAmount = gTasks[taskId].tTargetBlendY;
|
||||
targetBlendAmount = gTasks[taskId].tInitialBlendY;
|
||||
}
|
||||
|
||||
if (gTasks[taskId].data[2] == 1)
|
||||
if (gTasks[taskId].tNumBlends == 1)
|
||||
targetBlendAmount = 0;
|
||||
|
||||
sub_8115A54(taskId, initialBlendAmount, targetBlendAmount);
|
||||
BlendMonColorInCycle(taskId, startBlendAmount, targetBlendAmount);
|
||||
}
|
||||
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)
|
||||
{
|
||||
int battler;
|
||||
|
16
src/poison.c
16
src/poison.c
@ -4,9 +4,9 @@
|
||||
#include "constants/rgb.h"
|
||||
|
||||
void sub_810DBAC(struct Sprite *);
|
||||
void sub_810DC2C(struct Sprite *);
|
||||
void AnimAcidPoisonBubble(struct Sprite *);
|
||||
void sub_810DCD0(struct Sprite *);
|
||||
void sub_810DD50(struct Sprite *);
|
||||
void AnimAcidPoisonDroplet(struct Sprite *);
|
||||
void AnimBubbleEffect(struct Sprite *);
|
||||
static void sub_810DC10(struct Sprite *);
|
||||
static void sub_810DCB4(struct Sprite *);
|
||||
@ -108,7 +108,7 @@ const struct SpriteTemplate gUnknown_085961A8 =
|
||||
.callback = sub_810DBAC,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085961C0 =
|
||||
const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
@ -116,7 +116,7 @@ const struct SpriteTemplate gUnknown_085961C0 =
|
||||
.anims = gUnknown_08596164,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085961A0,
|
||||
.callback = sub_810DC2C,
|
||||
.callback = AnimAcidPoisonBubble,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085961D8 =
|
||||
@ -142,7 +142,7 @@ const union AffineAnimCmd *const gUnknown_08596208[] =
|
||||
gUnknown_085961F0,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_0859620C =
|
||||
const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_0859620C =
|
||||
.anims = gUnknown_08596168,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596208,
|
||||
.callback = sub_810DD50,
|
||||
.callback = AnimAcidPoisonDroplet,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596224[] =
|
||||
@ -210,7 +210,7 @@ static void sub_810DC10(struct Sprite *sprite)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
void sub_810DC2C(struct Sprite *sprite)
|
||||
void AnimAcidPoisonBubble(struct Sprite *sprite)
|
||||
{
|
||||
s16 l1, l2;
|
||||
if (!gBattleAnimArgs[3])
|
||||
@ -265,7 +265,7 @@ static void sub_810DD24(struct Sprite *sprite)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
void sub_810DD50(struct Sprite *sprite)
|
||||
void AnimAcidPoisonDroplet(struct Sprite *sprite)
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
|
||||
|
||||
|
@ -8,10 +8,10 @@
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
void sub_810F1EC(struct Sprite *);
|
||||
static void AnimDefensiveWall(struct Sprite *);
|
||||
void sub_810F58C(struct Sprite *);
|
||||
void sub_810F634(struct Sprite *);
|
||||
void sub_810F6B0(struct Sprite *);
|
||||
static void AnimQuestionMark(struct Sprite *);
|
||||
void sub_810FBA8(struct Sprite *);
|
||||
void sub_810FDF0(struct Sprite *);
|
||||
void sub_8110240(struct Sprite *);
|
||||
@ -60,7 +60,7 @@ const struct SpriteTemplate gUnknown_08596560 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810F1EC,
|
||||
.callback = AnimDefensiveWall,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596578 =
|
||||
@ -71,7 +71,7 @@ const struct SpriteTemplate gUnknown_08596578 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810F1EC,
|
||||
.callback = AnimDefensiveWall,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596590 =
|
||||
@ -82,10 +82,10 @@ const struct SpriteTemplate gUnknown_08596590 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810F1EC,
|
||||
.callback = AnimDefensiveWall,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085965A8 =
|
||||
const struct SpriteTemplate gBarrierWallSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_GRAY_LIGHT_WALL,
|
||||
.paletteTag = ANIM_TAG_GRAY_LIGHT_WALL,
|
||||
@ -93,7 +93,7 @@ const struct SpriteTemplate gUnknown_085965A8 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810F1EC,
|
||||
.callback = AnimDefensiveWall,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085965C0 =
|
||||
@ -104,7 +104,7 @@ const struct SpriteTemplate gUnknown_085965C0 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810F1EC,
|
||||
.callback = AnimDefensiveWall,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085965D8[] =
|
||||
@ -257,7 +257,7 @@ const union AffineAnimCmd *const gUnknown_08596740[] =
|
||||
gUnknown_08596718,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596744 =
|
||||
const struct SpriteTemplate gAmnesiaQuestionMarkSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_AMNESIA,
|
||||
.paletteTag = ANIM_TAG_AMNESIA,
|
||||
@ -265,7 +265,7 @@ const struct SpriteTemplate gUnknown_08596744 =
|
||||
.anims = gUnknown_08596714,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810F6B0,
|
||||
.callback = AnimQuestionMark,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_0859675C[] =
|
||||
@ -419,7 +419,8 @@ const struct SpriteTemplate gUnknown_08596920 =
|
||||
.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();
|
||||
|
||||
@ -639,7 +640,7 @@ void sub_810F634(struct Sprite *sprite)
|
||||
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 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2;
|
||||
|
@ -199,7 +199,7 @@ const union AnimCmd *const gUnknown_08596C08[] =
|
||||
gUnknown_08596BF0,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596C10 =
|
||||
const struct SpriteTemplate gAncientPowerRockSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ROCKS,
|
||||
.paletteTag = ANIM_TAG_ROCKS,
|
||||
|
26
src/water.c
26
src/water.c
@ -15,11 +15,11 @@
|
||||
|
||||
void sub_810721C(struct Sprite *);
|
||||
void sub_8107228(struct Sprite *);
|
||||
void sub_8107260(struct Sprite *);
|
||||
static void AnimMovingWaterBubble(struct Sprite *);
|
||||
void sub_8107380(struct Sprite *);
|
||||
void sub_8107408(struct Sprite *);
|
||||
void sub_8107430(struct Sprite *);
|
||||
void sub_810744C(struct Sprite *);
|
||||
static void AnimAuroraBeamRings(struct Sprite *);
|
||||
void sub_81074E4(struct Sprite *);
|
||||
void sub_81075EC(struct Sprite *);
|
||||
void sub_8107674(struct Sprite *);
|
||||
@ -115,7 +115,7 @@ const union AnimCmd *const gUnknown_08595064[] =
|
||||
gUnknown_08595054,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 =
|
||||
const struct SpriteTemplate gMovingWaterBubbleSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_BUBBLE,
|
||||
@ -123,7 +123,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 =
|
||||
.anims = gUnknown_08595064,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595050,
|
||||
.callback = sub_8107260,
|
||||
.callback = AnimMovingWaterBubble,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595080[] =
|
||||
@ -156,8 +156,7 @@ const union AffineAnimCmd *const gUnknown_085950B0[] =
|
||||
gUnknown_08595098,
|
||||
};
|
||||
|
||||
// Multi-colored rings used in Aurora Beam.
|
||||
const struct SpriteTemplate gUnknown_085950B4 =
|
||||
const struct SpriteTemplate gAuroraBeamRingSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_RAINBOW_RINGS,
|
||||
.paletteTag = ANIM_TAG_RAINBOW_RINGS,
|
||||
@ -165,7 +164,7 @@ const struct SpriteTemplate gUnknown_085950B4 =
|
||||
.anims = gUnknown_08595090,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085950B0,
|
||||
.callback = sub_810744C,
|
||||
.callback = AnimAuroraBeamRings,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085950CC[] =
|
||||
@ -351,7 +350,7 @@ const struct SpriteTemplate gUnknown_08595220 =
|
||||
.callback = sub_8107894,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595238 =
|
||||
const struct SpriteTemplate gSmallBubblePairSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
@ -478,7 +477,7 @@ const struct SpriteTemplate gUnknown_08595328 =
|
||||
.callback = sub_80A8EE4,
|
||||
};
|
||||
|
||||
extern const struct SpriteTemplate gUnknown_08597388;
|
||||
extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate;
|
||||
|
||||
void AnimTask_CreateRaindrops(u8 taskId)
|
||||
{
|
||||
@ -517,7 +516,8 @@ void sub_8107228(struct Sprite *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;
|
||||
|
||||
@ -590,7 +590,7 @@ void sub_8107430(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
}
|
||||
|
||||
void sub_810744C(struct Sprite *sprite)
|
||||
static void AnimAuroraBeamRings(struct Sprite *sprite)
|
||||
{
|
||||
s16 unkArg;
|
||||
|
||||
@ -1762,7 +1762,7 @@ void sub_810871C(struct Task *task, u8 taskId)
|
||||
}
|
||||
task->data[11]++;
|
||||
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)
|
||||
@ -1773,7 +1773,7 @@ void sub_81087C0(struct Sprite *sprite)
|
||||
if (sprite->pos1.y >= sprite->data[5])
|
||||
{
|
||||
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)
|
||||
{
|
||||
StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3);
|
||||
|
Loading…
x
Reference in New Issue
Block a user