Label move anim data

This commit is contained in:
GriffinR 2020-02-21 12:38:20 -05:00 committed by huderlem
parent efd53d080c
commit 68dc68907b
29 changed files with 945 additions and 933 deletions

View File

@ -2206,22 +2206,22 @@ Move_BUBBLE_BEAM:
blendoff
end
BulbblebeamCreateBubbles:
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 70, 0, 256, 50
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 70, 0, 256, 50
playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 40, -10, 256, 50
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 40, -10, 256, 50
playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -60, 0, 256, 50
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -60, 0, 256, 50
playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 256, 50
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 256, 50
playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, -10, 256, 50
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, -10, 256, 50
playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 256, 50
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 256, 50
playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
return
@ -2860,7 +2860,7 @@ Move_AMNESIA:
loadspritegfx ANIM_TAG_AMNESIA
call SetPsychicBackground
delay 8
createsprite gAmnesiaQuestionMarkSpriteTemplate, ANIM_ATTACKER, 20
createsprite gQuestionMarkSpriteTemplate, ANIM_ATTACKER, 20
playsewithpan SE_W118, SOUND_PAN_ATTACKER
delay 54
loopsewithpan SE_W118, SOUND_PAN_ATTACKER, 16, 3
@ -5091,27 +5091,27 @@ Move_BUBBLE:
monbg ANIM_TARGET
setalpha 12, 8
delay 1
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 128, 100
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 128, 100
playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 37, 40, 128, 100
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 37, 40, 128, 100
playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -37, 30, 128, 100
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -37, 30, 128, 100
playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, 15, 128, 100
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, 15, 128, 100
playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 33, 20, 128, 100
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 33, 20, 128, 100
playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 128, 100
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 128, 100
playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
waitforvisualfinish
@ -9654,26 +9654,26 @@ Move_TWISTER:
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
playsewithpan SE_W239, SOUND_PAN_TARGET
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 120, 70, 5, 70, 30
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 120, 70, 5, 70, 30
delay 1
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 6, 60, 25
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 55, 6, 60, 25
delay 1
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 60, 7, 60, 30
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 10, 60, 30
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 60, 7, 60, 30
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 55, 10, 60, 30
delay 3
createsprite gTwisterRockParticleSpriteTemplate, ANIM_TARGET, 2, 100, 50, 4, 50, 26
createsprite gTwisterRockSpriteTemplate, ANIM_TARGET, 2, 100, 50, 4, 50, 26
delay 1
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 105, 25, 8, 60, 20
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 105, 25, 8, 60, 20
delay 1
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 40, 10, 48, 30
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 40, 10, 48, 30
delay 3
createsprite gTwisterRockParticleSpriteTemplate, ANIM_TARGET, 2, 120, 30, 6, 45, 25
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 35, 10, 60, 30
createsprite gTwisterRockSpriteTemplate, ANIM_TARGET, 2, 120, 30, 6, 45, 25
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 35, 10, 60, 30
delay 3
createsprite gTwisterRockParticleSpriteTemplate, ANIM_TARGET, 2, 105, 20, 8, 40, 0
createsprite gTwisterRockSpriteTemplate, ANIM_TARGET, 2, 105, 20, 8, 40, 0
delay 3
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 20, 255, 15, 32, 0
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 110, 10, 8, 32, 20
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 20, 255, 15, 32, 0
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 110, 10, 8, 32, 20
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -32, -16, ANIM_TARGET, 3
playsewithpan SE_W004, SOUND_PAN_TARGET
@ -9993,42 +9993,42 @@ IceCrystalEffectLong:
IceSpikesEffectShort: @ Unused
loopsewithpan SE_W196, SOUND_PAN_TARGET, 6, 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 0, 24, 0
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 0, 24, 0
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 8, 24, 0
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -8, 24, 0
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 8, 24, 0
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -8, 24, 0
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 16, 24, 0
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -16, 24, 0
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 16, 24, 0
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -16, 24, 0
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 24, 24, 0
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -24, 24, 0
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 24, 24, 0
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -24, 24, 0
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 32, 24, 0
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -32, 24, 0
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 32, 24, 0
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -32, 24, 0
return
IceSpikesEffectLong:
loopsewithpan SE_W196, SOUND_PAN_TARGET, 6, 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 0, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 0, 24, 1
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 8, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -8, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 8, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -8, 24, 1
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 16, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -16, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 16, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -16, 24, 1
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 24, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -24, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 24, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -24, 24, 1
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 32, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -32, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 32, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -32, 24, 1
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 40, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -40, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 40, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -40, 24, 1
delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 48, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -48, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 48, 24, 1
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -48, 24, 1
return
GrantingStarsEffect:

View File

Before

Width:  |  Height:  |  Size: 188 B

After

Width:  |  Height:  |  Size: 188 B

View File

@ -125,7 +125,7 @@ u8 sub_80A77AC(u8 a1);
s16 CloneBattlerSpriteWithBlend(u8);
void obj_delete_but_dont_free_vram(struct Sprite*);
u8 sub_80A89C8(int, u8, int);
void sub_80A6D60(struct BattleAnimBgData*, const void*, u32);
void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData*, const void*, u32);
void AnimLoadCompressedBgGfx(u32, const u32*, u32);
void sub_80A6DAC(bool8);
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *);
@ -285,4 +285,14 @@ extern const struct OamData gOamData_AffineOff_ObjBlend_16x32;
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate;
extern const union AnimCmd *const gAnims_WaterMudOrb[];
extern const union AnimCmd *const gAnims_BasicFire[];
extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[];
extern const union AffineAnimCmd *const gAffineAnims_Droplet[];
extern const union AnimCmd *const gAnims_SmallBubblePair[];
extern const union AnimCmd *const gAnims_WaterBubble[];
extern const union AffineAnimCmd *const gAffineAnims_Bite[];
#endif // GUARD_BATTLE_ANIM_H

View File

@ -4634,15 +4634,15 @@ extern const u32 gBattleAnimSpritePal_ThoughtBubble[];
extern const u32 gBattleAnimSpritePal_MagentaHeart[];
extern const u32 gBattleAnimSpritePal_ElectricOrbs[];
extern const u32 gBattleAnimSpritePal_MovementWaves[];
extern const u32 gUnknown_08C249D0[];
extern const u32 gUnknown_08C249F8[];
extern const u32 gBattleAnimBgPalette_ScaryFace[];
extern const u32 gBattleAnimBgImage_ScaryFace[];
extern const u32 gBattleAnimSpritePal_RedHeart[];
extern const u32 gBattleAnimSpritePal_RedOrb[];
extern const u32 gBattleAnimSpritePal_EyeSparkle[];
extern const u32 gBattleAnimSpritePal_PinkHeart[];
extern const u32 gUnknown_08C232E0;
extern const u32 gUnknown_08C23D50;
extern const u32 gUnknown_08C23D78;
extern const u32 gBattleAnimBgImage_Attract;
extern const u32 gBattleAnimBgPalette_Attract;
extern const u32 gBattleAnimBgTilemap_Attract;
extern const u32 gBattleAnimSpritePal_Angel[];
extern const u32 gBattleAnimSpritePal_Devil[];
extern const u32 gBattleAnimSpritePal_Swipe[];
@ -4747,9 +4747,9 @@ extern const u32 gBattleAnimBgTilemap_Drill[];
extern const u32 gBattleAnimBgTilemap_DrillContests[];
extern const u32 gBattleAnimBgTilemap_HighspeedOpponent[];
extern const u32 gBattleAnimBgTilemap_HighspeedPlayer[];
extern const u32 gUnknown_08C2A634[];
extern const u32 gUnknown_08C2A6D4[];
extern const u32 gUnknown_08C2A6EC[];
extern const u32 gBattleAnimMaskImage_LightBeam[];
extern const u32 gBattleAnimMaskPalette_LightBeam[];
extern const u32 gBattleAnimMaskTilemap_LightBeam[];
extern const u32 gBattleAnimBgTilemap_Thunder[];
extern const u32 gBattleAnimBgTilemap_GuillotineOpponent[];
extern const u32 gBattleAnimBgTilemap_GuillotinePlayer[];
@ -4796,9 +4796,9 @@ extern const u32 gContestJudgeGfx[];
extern const u32 gContestJudgeSymbolsGfx[];
extern const u32 gContest3Pal[];
extern const u32 gUnknown_08D95E00[];
extern const u32 gUnknown_08D960D0[];
extern const u32 gUnknown_08D963A4[];
extern const u32 gBattleAnimBgTilemap_SurfOpponent[];
extern const u32 gBattleAnimBgTilemap_SurfPlayer[];
extern const u32 gBattleAnimBgTilemap_SurfContest[];
extern const u32 gBattleAnimBgImage_Surf[];
extern const u32 gBattleAnimBgPalette_Surf[];
extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[];
@ -4873,8 +4873,8 @@ extern const u16 gUnknown_08DCF210[];
extern const u16 gUnknown_08DCF230[];
extern const u16 gUnknown_08DCF190[];
extern const u32 gUnknown_08D8D410[];
extern const u32 gUnknown_08D8D58C[];
extern const u32 gBattleAnimBgTilemap_Sandstorm[];
extern const u32 gBattleAnimBgImage_Sandstorm[];
// Pokedex Area Screen
extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[];

View File

@ -515,7 +515,7 @@ const struct SpriteTemplate gRazorLeafParticleSpriteTemplate =
.callback = AnimRazorLeafParticle,
};
const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate =
const struct SpriteTemplate gTwisterLeafSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,

View File

@ -126,6 +126,7 @@ const union AnimCmd gUnknown_0859327C[] =
ANIMCMD_END,
};
// Unused
const union AnimCmd *const gUnknown_08593284[] =
{
gUnknown_0859327C,
@ -155,7 +156,6 @@ const struct SpriteTemplate gUnknown_085932A0 =
.callback = sub_810358C,
};
extern const union AffineAnimCmd *const gUnknown_08597060[];
// Unused
const struct SpriteTemplate gUnknown_085932B8 =
{
@ -164,7 +164,7 @@ const struct SpriteTemplate gUnknown_085932B8 =
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597060,
.affineAnims = gAffineAnims_Bite,
.callback = sub_8103620,
};
@ -911,7 +911,7 @@ const struct SpriteTemplate gMagentaHeartSpriteTemplate =
.callback = AnimMagentaHeart,
};
const union AffineAnimCmd gUnknown_08593988[] =
static const union AffineAnimCmd sAffineAnims_StretchBattlerUp[] =
{
AFFINEANIMCMD_FRAME(0x000A, 0xFFF3, 0x00, 0x0A),
AFFINEANIMCMD_FRAME(0xFFF6, 0x000D, 0x00, 0x0A),
@ -1166,7 +1166,7 @@ const struct SpriteTemplate gMovementWavesSpriteTemplate =
.callback = AnimMovmentWaves,
};
const union AffineAnimCmd gUnknown_08593B98[] =
static const union AffineAnimCmd sAffineAnims_UproarDistortion[] =
{
AFFINEANIMCMD_FRAME(-12, 8, 0, 4),
AFFINEANIMCMD_FRAME(20, -20, 0, 4),
@ -3125,7 +3125,7 @@ void AnimTask_StretchTargetUp(u8 taskId)
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
if (++gTasks[taskId].data[0] == 1)
{
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_TARGET), gUnknown_08593988);
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_TARGET), sAffineAnims_StretchBattlerUp);
gSprites[spriteId].pos2.x = 4;
}
else
@ -3145,7 +3145,7 @@ void AnimTask_StretchAttackerUp(u8 taskId)
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
if (++gTasks[taskId].data[0] == 1)
{
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_08593988);
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), sAffineAnims_StretchBattlerUp);
gSprites[spriteId].pos2.x = 4;
}
else
@ -3249,9 +3249,9 @@ void AnimTask_HeartsBackground(u8 taskId)
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80A6B30(&animBg);
AnimLoadCompressedBgGfx(animBg.bgId, &gUnknown_08C232E0, animBg.tilesOffset);
sub_80A6D60(&animBg, &gUnknown_08C23D78, 0);
LoadCompressedPalette(&gUnknown_08C23D50, animBg.paletteId * 16, 32);
AnimLoadCompressedBgGfx(animBg.bgId, &gBattleAnimBgImage_Attract, animBg.tilesOffset);
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_Attract, 0);
LoadCompressedPalette(&gBattleAnimBgPalette_Attract, animBg.paletteId * 16, 32);
gTasks[taskId].func = AnimTask_HeartsBackground_Step;
}
@ -3328,14 +3328,14 @@ void AnimTask_ScaryFace(u8 taskId)
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80A6B30(&animBg);
if (IsContest())
sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0);
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0);
else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT)
sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0);
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0);
else
sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0);
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0);
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset);
LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_ScaryFace, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnimBgPalette_ScaryFace, animBg.paletteId * 16, 32);
gTasks[taskId].func = AnimTask_ScaryFace_Step;
}
@ -3652,7 +3652,7 @@ void AnimTask_UproarDistortion(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
PrepareAffineAnimInTaskData(&gTasks[taskId], spriteId, gUnknown_08593B98);
PrepareAffineAnimInTaskData(&gTasks[taskId], spriteId, sAffineAnims_UproarDistortion);
gTasks[taskId].func = AnimTask_UproarDistortion_Step;
}

View File

@ -2389,7 +2389,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
sub_80A6B30(&animBg);
sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0);
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimMaskTilemap_LightBeam, 0);
if (IsContest())
{
gBattle_BG1_X = -56;
@ -2405,8 +2405,8 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
gBattle_BG1_Y = 0;
}
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset);
LoadCompressedPalette(gUnknown_08C2A6D4, animBg.paletteId * 16, 32);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimMaskImage_LightBeam, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, animBg.paletteId * 16, 32);
gTasks[taskId].data[10] = gBattle_BG1_X;
gTasks[taskId].data[11] = gBattle_BG1_Y;
@ -2570,7 +2570,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
sub_80A6B30(&animBg);
sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0);
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimMaskTilemap_LightBeam, 0);
if (IsContest())
{
gBattle_BG1_X = -56;
@ -2601,8 +2601,8 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
gBattle_BG1_Y = 0;
}
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset);
LoadCompressedPalette(gUnknown_08C2A6D4, animBg.paletteId * 16, 32);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimMaskImage_LightBeam, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, animBg.paletteId * 16, 32);
gTasks[taskId].data[10] = gBattle_BG1_X;
gTasks[taskId].data[11] = gBattle_BG1_Y;
gTasks[taskId].data[0]++;

View File

@ -958,7 +958,7 @@ void AnimLoadCompressedBgTilemap(u32 bgId, const void *src)
CopyBgTilemapBufferToVram(bgId);
}
void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2)
void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData *unk, const void *src, u32 arg2)
{
InitAnimBgTilemapBuffer(unk->bgId, src);
if (IsContest() == TRUE)

View File

@ -331,7 +331,7 @@ void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId)
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species);
sub_80A6B30(&unknownStruct);
sub_80A6D60(&unknownStruct, gUnknown_08C20684, 0);
AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gUnknown_08C20684, 0);
AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C20668, unknownStruct.tilesOffset);
LoadPalette(&gUnknown_08597418, unknownStruct.paletteId * 16 + 1, 2);
@ -470,9 +470,9 @@ static void sub_81170EC(u8 taskId)
sub_80A6B30(&unknownStruct);
if (sAnimStatsChangeData->data[0] == 0)
sub_80A6D60(&unknownStruct, gBattleStatMask1_Tilemap, 0);
AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gBattleStatMask1_Tilemap, 0);
else
sub_80A6D60(&unknownStruct, gBattleStatMask2_Tilemap, 0);
AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gBattleStatMask2_Tilemap, 0);
AnimLoadCompressedBgGfx(unknownStruct.bgId, gBattleStatMask_Gfx, unknownStruct.tilesOffset);
switch (sAnimStatsChangeData->data[1])
@ -825,7 +825,7 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5,
spriteId2 = sub_80A89C8(battler2, gBattlerSpriteIds[battler2], species);
sub_80A6B30(&unknownStruct);
sub_80A6D60(&unknownStruct, tilemap, 0);
AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, tilemap, 0);
AnimLoadCompressedBgGfx(unknownStruct.bgId, gfx, unknownStruct.tilesOffset);
LoadCompressedPalette(palette, unknownStruct.paletteId * 16, 32);

View File

@ -18,29 +18,29 @@ static void AnimMissileArc(struct Sprite *);
static void AnimMissileArc_Step(struct Sprite *);
static void AnimTailGlowOrb(struct Sprite *);
const union AffineAnimCmd gUnknown_08596938[] =
static const union AffineAnimCmd sAffineAnim_MegahornHorn_0[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 30, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596948[] =
static const union AffineAnimCmd sAffineAnim_MegahornHorn_1[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596958[] =
static const union AffineAnimCmd sAffineAnim_MegahornHorn_2[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596968[] =
static const union AffineAnimCmd *const sAffineAnims_MegahornHorn[] =
{
gUnknown_08596938,
gUnknown_08596948,
gUnknown_08596958,
sAffineAnim_MegahornHorn_0,
sAffineAnim_MegahornHorn_1,
sAffineAnim_MegahornHorn_2,
};
const struct SpriteTemplate gMegahornHornSpriteTemplate =
@ -50,33 +50,33 @@ const struct SpriteTemplate gMegahornHornSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596968,
.affineAnims = sAffineAnims_MegahornHorn,
.callback = AnimMegahornHorn,
};
const union AffineAnimCmd gUnknown_0859698C[] =
static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_0859699C[] =
static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_085969AC[] =
static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_2[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085969BC[] =
static const union AffineAnimCmd *const sAffineAnims_LeechLifeNeedle[] =
{
gUnknown_0859698C,
gUnknown_0859699C,
gUnknown_085969AC,
sAffineAnim_LeechLifeNeedle_0,
sAffineAnim_LeechLifeNeedle_1,
sAffineAnim_LeechLifeNeedle_2,
};
const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate =
@ -86,7 +86,7 @@ const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085969BC,
.affineAnims = sAffineAnims_LeechLifeNeedle,
.callback = AnimLeechLifeNeedle,
};
@ -112,16 +112,16 @@ const struct SpriteTemplate gStringWrapSpriteTemplate =
.callback = AnimStringWrap,
};
const union AffineAnimCmd gUnknown_08596A10[] =
static const union AffineAnimCmd sAffineAnim_SpiderWeb[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1),
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd *const gUnknown_08596A28[] =
static const union AffineAnimCmd *const sAffineAnims_SpiderWeb[] =
{
gUnknown_08596A10,
sAffineAnim_SpiderWeb,
};
const struct SpriteTemplate gSpiderWebSpriteTemplate =
@ -131,7 +131,7 @@ const struct SpriteTemplate gSpiderWebSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596A28,
.affineAnims = sAffineAnims_SpiderWeb,
.callback = AnimSpiderWeb,
};
@ -168,7 +168,7 @@ const struct SpriteTemplate gIcicleSpearSpriteTemplate =
.callback = AnimMissileArc,
};
const union AffineAnimCmd gUnknown_08596A8C[] =
static const union AffineAnimCmd sAffineAnim_TailGlowOrb[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18),
@ -179,9 +179,9 @@ const union AffineAnimCmd gUnknown_08596A8C[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596AC4[] =
static const union AffineAnimCmd *const sAffineAnims_TailGlowOrb[] =
{
gUnknown_08596A8C,
sAffineAnim_TailGlowOrb,
};
const struct SpriteTemplate gTailGlowOrbSpriteTemplate =
@ -191,7 +191,7 @@ const struct SpriteTemplate gTailGlowOrbSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596AC4,
.affineAnims = sAffineAnims_TailGlowOrb,
.callback = AnimTailGlowOrb,
};

View File

@ -25,6 +25,7 @@ static void sub_8114244(struct Task *);
static void sub_8114374(u8);
static void AnimTask_MetallicShine_Step(u8);
// Unused
const struct SpriteTemplate gUnknown_08596FC8 =
{
.tileTag = ANIM_TAG_TIED_BAG,
@ -36,64 +37,64 @@ const struct SpriteTemplate gUnknown_08596FC8 =
.callback = sub_81138D4,
};
const union AffineAnimCmd gUnknown_08596FE0[] =
static const union AffineAnimCmd sAffineAnim_Bite_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596FF0[] =
static const union AffineAnimCmd sAffineAnim_Bite_1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 32, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597000[] =
static const union AffineAnimCmd sAffineAnim_Bite_2[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 64, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597010[] =
static const union AffineAnimCmd sAffineAnim_Bite_3[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597020[] =
static const union AffineAnimCmd sAffineAnim_Bite_4[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -128, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597030[] =
static const union AffineAnimCmd sAffineAnim_Bite_5[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597040[] =
static const union AffineAnimCmd sAffineAnim_Bite_6[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -64, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597050[] =
static const union AffineAnimCmd sAffineAnim_Bite_7[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -32, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08597060[] =
const union AffineAnimCmd *const gAffineAnims_Bite[] =
{
gUnknown_08596FE0,
gUnknown_08596FF0,
gUnknown_08597000,
gUnknown_08597010,
gUnknown_08597020,
gUnknown_08597030,
gUnknown_08597040,
gUnknown_08597050,
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 gSharpTeethSpriteTemplate =
@ -103,7 +104,7 @@ const struct SpriteTemplate gSharpTeethSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597060,
.affineAnims = gAffineAnims_Bite,
.callback = AnimBite,
};
@ -114,28 +115,28 @@ const struct SpriteTemplate gClampJawSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597060,
.affineAnims = gAffineAnims_Bite,
.callback = AnimBite,
};
const union AffineAnimCmd gUnknown_085970B0[] =
static const union AffineAnimCmd sAffineAnim_TearDrop_0[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, 80, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 8),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_085970C8[] =
static const union AffineAnimCmd sAffineAnim_TearDrop_1[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, -80, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 8),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085970E0[] =
static const union AffineAnimCmd *const sAffineAnims_TearDrop[] =
{
gUnknown_085970B0,
gUnknown_085970C8,
sAffineAnim_TearDrop_0,
sAffineAnim_TearDrop_1,
};
const struct SpriteTemplate gTearDropSpriteTemplate =
@ -145,11 +146,11 @@ const struct SpriteTemplate gTearDropSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085970E0,
.affineAnims = sAffineAnims_TearDrop,
.callback = AnimTearDrop,
};
const union AnimCmd gUnknown_08597100[] =
static const union AnimCmd sAnim_ClawSlash_0[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@ -159,7 +160,7 @@ const union AnimCmd gUnknown_08597100[] =
ANIMCMD_END,
};
const union AnimCmd gUnknown_08597118[] =
static const union AnimCmd sAnim_ClawSlash_1[] =
{
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
@ -169,10 +170,10 @@ const union AnimCmd gUnknown_08597118[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08597130[] =
static const union AnimCmd *const sAnims_ClawSlash[] =
{
gUnknown_08597100,
gUnknown_08597118,
sAnim_ClawSlash_0,
sAnim_ClawSlash_1,
};
const struct SpriteTemplate gClawSlashSpriteTemplate =
@ -180,7 +181,7 @@ const struct SpriteTemplate gClawSlashSpriteTemplate =
.tileTag = ANIM_TAG_CLAW_SLASH,
.paletteTag = ANIM_TAG_CLAW_SLASH,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08597130,
.anims = sAnims_ClawSlash,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimClawSlash,

View File

@ -17,7 +17,7 @@ static void sub_8113574(struct Task *);
EWRAM_DATA static u16 gUnknown_0203A100[7] = {0};
const union AnimCmd gUnknown_08596E60[] =
static const union AnimCmd gUnknown_08596E60[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@ -27,7 +27,7 @@ const union AnimCmd gUnknown_08596E60[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08596E78[] =
static const union AnimCmd *const gUnknown_08596E78[] =
{
gUnknown_08596E60,
};
@ -43,7 +43,7 @@ const struct SpriteTemplate gOutrageFlameSpriteTemplate =
.callback = AnimOutrageFlame,
};
const union AnimCmd gUnknown_08596E94[] =
static const union AnimCmd sAnim_DragonBreathFire_0[] =
{
ANIMCMD_FRAME(16, 3),
ANIMCMD_FRAME(32, 3),
@ -51,7 +51,7 @@ const union AnimCmd gUnknown_08596E94[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd gUnknown_08596EA4[] =
static const union AnimCmd sAnim_DragonBreathFire_1[] =
{
ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(32, 3, .vFlip = TRUE, .hFlip = TRUE),
@ -59,30 +59,30 @@ const union AnimCmd gUnknown_08596EA4[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08596EB4[] =
static const union AnimCmd *const sAnims_DragonBreathFire[] =
{
gUnknown_08596E94,
gUnknown_08596EA4,
sAnim_DragonBreathFire_0,
sAnim_DragonBreathFire_1,
};
const union AffineAnimCmd gUnknown_08596EBC[] =
static const union AffineAnimCmd sAffineAnim_DragonBreathFire_0[] =
{
AFFINEANIMCMD_FRAME(0x50, 0x50, 127, 0),
AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596ED4[] =
static const union AffineAnimCmd sAffineAnim_DragonBreathFire_1[] =
{
AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596EEC[] =
static const union AffineAnimCmd *const sAffineAnims_DragonBreathFire[] =
{
gUnknown_08596EBC,
gUnknown_08596ED4,
sAffineAnim_DragonBreathFire_0,
sAffineAnim_DragonBreathFire_1,
};
const struct SpriteTemplate gDragonBreathFireSpriteTemplate =
@ -90,13 +90,13 @@ const struct SpriteTemplate gDragonBreathFireSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08596EB4,
.anims = sAnims_DragonBreathFire,
.images = NULL,
.affineAnims = gUnknown_08596EEC,
.affineAnims = sAffineAnims_DragonBreathFire,
.callback = AnimDragonFireToTarget,
};
const union AnimCmd gUnknown_08596F0C[] =
static const union AnimCmd sAnim_DragonRageFirePlume[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@ -106,9 +106,9 @@ const union AnimCmd gUnknown_08596F0C[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08596F24[] =
static const union AnimCmd *const sAnims_DragonRageFirePlume[] =
{
gUnknown_08596F0C,
sAnim_DragonRageFirePlume,
};
const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate =
@ -116,13 +116,13 @@ const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate =
.tileTag = ANIM_TAG_FIRE_PLUME,
.paletteTag = ANIM_TAG_FIRE_PLUME,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596F24,
.anims = sAnims_DragonRageFirePlume,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimDragonRageFirePlume,
};
const union AnimCmd gUnknown_08596F40[] =
static const union AnimCmd sAnim_DragonRageFire[] =
{
ANIMCMD_FRAME(16, 3),
ANIMCMD_FRAME(32, 3),
@ -130,28 +130,28 @@ const union AnimCmd gUnknown_08596F40[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08596F50[] =
static const union AnimCmd *const sAnims_DragonRageFire[] =
{
gUnknown_08596F40,
gUnknown_08596F40,
sAnim_DragonRageFire,
sAnim_DragonRageFire,
};
const union AffineAnimCmd gUnknown_08596F58[] =
static const union AffineAnimCmd sAffineAnim_DragonRageFire_0[] =
{
AFFINEANIMCMD_FRAME(0x64, 0x64, 127, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596F68[] =
static const union AffineAnimCmd sAffineAnim_DragonRageFire_1[] =
{
AFFINEANIMCMD_FRAME(0x64, 0x64, 0, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596F78[] =
static const union AffineAnimCmd *const sAffineAnims_DragonRageFire[] =
{
gUnknown_08596F58,
gUnknown_08596F68,
sAffineAnim_DragonRageFire_0,
sAffineAnim_DragonRageFire_1,
};
const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate =
@ -159,9 +159,9 @@ const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08596F50,
.anims = sAnims_DragonRageFire,
.images = NULL,
.affineAnims = gUnknown_08596F78,
.affineAnims = sAffineAnims_DragonRageFire,
.callback = AnimDragonFireToTarget,
};

View File

@ -22,22 +22,22 @@ static void AnimTask_ElectricBolt_Step(u8 taskId);
static void AnimElectricBoltSegment(struct Sprite *);
static void AnimThunderWave(struct Sprite *);
static void AnimThunderWave_Step(struct Sprite *);
static void sub_810AB78(u8 taskId);
static void sub_810AC8C(struct Sprite *);
static void sub_810ACC0(struct Sprite *);
static void AnimTask_ElectricChargingParticles_Step(u8 taskId);
static void AnimElectricChargingParticles(struct Sprite *);
static void AnimElectricChargingParticles_Step(struct Sprite *);
static void AnimGrowingChargeOrb(struct Sprite *);
static void AnimElectricPuff(struct Sprite *);
static void AnimVoltTackleOrbSlide(struct Sprite *);
static void AnimVoltTackleOrbSlide_Step(struct Sprite *);
static bool8 sub_810B154(struct Task *task, u8 taskId);
static void sub_810B1F0(struct Sprite *);
static void AnimVoltTackleBolt(struct Sprite *);
static void AnimGrowingShockWaveOrb(struct Sprite *);
static bool8 sub_810B430(struct Task *task, u8 taskId);
static void AnimShockWaveProgressingBolt(struct Sprite *);
static bool8 sub_810B614(struct Task *task, u8 taskId);
static void sub_810B684(struct Sprite *sprite);
const union AnimCmd gUnknown_085956A4[] =
static const union AnimCmd sAnim_Lightning[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@ -47,9 +47,9 @@ const union AnimCmd gUnknown_085956A4[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_085956BC[] =
static const union AnimCmd *const sAnims_Lightning[] =
{
gUnknown_085956A4,
sAnim_Lightning,
};
const struct SpriteTemplate gLightningSpriteTemplate =
@ -57,13 +57,13 @@ const struct SpriteTemplate gLightningSpriteTemplate =
.tileTag = ANIM_TAG_LIGHTNING,
.paletteTag = ANIM_TAG_LIGHTNING,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085956BC,
.anims = sAnims_Lightning,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimLightning,
};
const union AffineAnimCmd gUnknown_085956D8[] =
static const union AffineAnimCmd gUnknown_085956D8[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 20),
@ -71,11 +71,12 @@ const union AffineAnimCmd gUnknown_085956D8[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085956F8[] =
static const union AffineAnimCmd *const gUnknown_085956F8[] =
{
gUnknown_085956D8,
};
// Unused
const struct SpriteTemplate gUnknown_085956FC =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
@ -87,7 +88,7 @@ const struct SpriteTemplate gUnknown_085956FC =
.callback = sub_810A214,
};
const union AnimCmd gUnknown_08595714[] =
static const union AnimCmd gUnknown_08595714[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@ -98,11 +99,12 @@ const union AnimCmd gUnknown_08595714[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08595730[] =
static const union AnimCmd *const gUnknown_08595730[] =
{
gUnknown_08595714,
};
// Unused
const struct SpriteTemplate gUnknown_08595734 =
{
.tileTag = ANIM_TAG_SHOCK,
@ -136,15 +138,15 @@ const struct SpriteTemplate gZapCannonBallSpriteTemplate =
.callback = TranslateAnimSpriteToTargetMonLocation,
};
const union AffineAnimCmd gUnknown_0859577C[] =
static const union AffineAnimCmd sAffineAnim_FlashingSpark[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd *const gUnknown_0859578C[] =
static const union AffineAnimCmd *const sAffineAnims_FlashingSpark[] =
{
gUnknown_0859577C,
sAffineAnim_FlashingSpark,
};
const struct SpriteTemplate gZapCannonSparkSpriteTemplate =
@ -154,11 +156,11 @@ const struct SpriteTemplate gZapCannonSparkSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859578C,
.affineAnims = sAffineAnims_FlashingSpark,
.callback = AnimZapCannonSpark,
};
const union AnimCmd gUnknown_085957A8[] =
static const union AnimCmd sAnim_ThunderboltOrb[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(16, 6),
@ -166,12 +168,12 @@ const union AnimCmd gUnknown_085957A8[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_085957B8[] =
static const union AnimCmd *const sAnims_ThunderboltOrb[] =
{
gUnknown_085957A8,
sAnim_ThunderboltOrb,
};
const union AffineAnimCmd gUnknown_085957BC[] =
static const union AffineAnimCmd sAffineAnim_ThunderboltOrb[] =
{
AFFINEANIMCMD_FRAME(0xE8, 0xE8, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10),
@ -179,9 +181,9 @@ const union AffineAnimCmd gUnknown_085957BC[] =
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd *const gUnknown_085957DC[] =
static const union AffineAnimCmd *const sAffineAnims_ThunderboltOrb[] =
{
gUnknown_085957BC,
sAffineAnim_ThunderboltOrb,
};
const struct SpriteTemplate gThunderboltOrbSpriteTemplate =
@ -189,9 +191,9 @@ const struct SpriteTemplate gThunderboltOrbSpriteTemplate =
.tileTag = ANIM_TAG_SHOCK_3,
.paletteTag = ANIM_TAG_SHOCK_3,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_085957B8,
.anims = sAnims_ThunderboltOrb,
.images = NULL,
.affineAnims = gUnknown_085957DC,
.affineAnims = sAffineAnims_ThunderboltOrb,
.callback = AnimThunderboltOrb,
};
@ -202,7 +204,7 @@ const struct SpriteTemplate gSparkElectricityFlashingSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859578C,
.affineAnims = sAffineAnims_FlashingSpark,
.callback = AnimSparkElectricityFlashing,
};
@ -239,7 +241,7 @@ const struct SpriteTemplate gThunderWaveSpriteTemplate =
.callback = AnimThunderWave,
};
const s8 gUnknown_08595858[][2] =
static const s8 sElectricChargingParticleCoordOffsets[][2] =
{
{ 58, -60},
{-56, -36},
@ -259,7 +261,7 @@ const s8 gUnknown_08595858[][2] =
{ 48, 48},
};
const union AnimCmd gUnknown_08595878[] =
static const union AnimCmd sAnim_ElectricChargingParticles_0[] =
{
ANIMCMD_FRAME(3, 1),
ANIMCMD_FRAME(2, 1),
@ -268,7 +270,7 @@ const union AnimCmd gUnknown_08595878[] =
ANIMCMD_END,
};
const union AnimCmd gUnknown_0859588C[] =
static const union AnimCmd sAnim_ElectricChargingParticles_1[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(1, 5),
@ -277,24 +279,24 @@ const union AnimCmd gUnknown_0859588C[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_085958A0[] =
static const union AnimCmd *const sAnims_ElectricChargingParticles[] =
{
gUnknown_08595878,
gUnknown_0859588C,
sAnim_ElectricChargingParticles_0,
sAnim_ElectricChargingParticles_1,
};
const struct SpriteTemplate gUnknown_085958A8 =
const struct SpriteTemplate gElectricChargingParticlesSpriteTemplate =
{
.tileTag = ANIM_TAG_ELECTRIC_ORBS,
.paletteTag = ANIM_TAG_ELECTRIC_ORBS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_085958A0,
.anims = sAnims_ElectricChargingParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
};
const union AffineAnimCmd gUnknown_085958C0[] =
static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_0[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 60),
@ -306,7 +308,7 @@ const union AffineAnimCmd gUnknown_085958C0[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08595900[] =
static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_1[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
@ -316,7 +318,7 @@ const union AffineAnimCmd gUnknown_08595900[] =
AFFINEANIMCMD_JUMP(3),
};
const union AffineAnimCmd gUnknown_08595930[] =
static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_2[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
@ -324,11 +326,11 @@ const union AffineAnimCmd gUnknown_08595930[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08595950[] =
static const union AffineAnimCmd *const sAffineAnims_GrowingElectricOrb[] =
{
gUnknown_085958C0,
gUnknown_08595900,
gUnknown_08595930,
sAffineAnim_GrowingElectricOrb_0,
sAffineAnim_GrowingElectricOrb_1,
sAffineAnim_GrowingElectricOrb_2,
};
const struct SpriteTemplate gGrowingChargeOrbSpriteTemplate =
@ -338,11 +340,11 @@ const struct SpriteTemplate gGrowingChargeOrbSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595950,
.affineAnims = sAffineAnims_GrowingElectricOrb,
.callback = AnimGrowingChargeOrb,
};
const union AnimCmd gUnknown_08595974[] =
static const union AnimCmd sAnim_ElectricPuff[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@ -351,9 +353,9 @@ const union AnimCmd gUnknown_08595974[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08595988[] =
static const union AnimCmd *const sAnims_ElectricPuff[] =
{
gUnknown_08595974,
sAnim_ElectricPuff,
};
const struct SpriteTemplate gElectricPuffSpriteTemplate =
@ -361,7 +363,7 @@ const struct SpriteTemplate gElectricPuffSpriteTemplate =
.tileTag = ANIM_TAG_ELECTRICITY,
.paletteTag = ANIM_TAG_ELECTRICITY,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595988,
.anims = sAnims_ElectricPuff,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimElectricPuff,
@ -374,62 +376,62 @@ const struct SpriteTemplate gVoltTackleOrbSlideSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595950,
.affineAnims = sAffineAnims_GrowingElectricOrb,
.callback = AnimVoltTackleOrbSlide,
};
const union AnimCmd gUnknown_085959BC[] =
static const union AnimCmd sAnim_VoltTackleBolt_0[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_END,
};
const union AnimCmd gUnknown_085959C4[] =
static const union AnimCmd sAnim_VoltTackleBolt_1[] =
{
ANIMCMD_FRAME(2, 3),
ANIMCMD_END,
};
const union AnimCmd gUnknown_085959CC[] =
static const union AnimCmd sAnim_VoltTackleBolt_2[] =
{
ANIMCMD_FRAME(4, 3),
ANIMCMD_END,
};
const union AnimCmd gUnknown_085959D4[] =
static const union AnimCmd sAnim_VoltTackleBolt_3[] =
{
ANIMCMD_FRAME(6, 3),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_085959DC[] =
static const union AnimCmd *const sAnims_VoltTackleBolt[] =
{
gUnknown_085959BC,
gUnknown_085959C4,
gUnknown_085959CC,
gUnknown_085959D4,
sAnim_VoltTackleBolt_0,
sAnim_VoltTackleBolt_1,
sAnim_VoltTackleBolt_2,
sAnim_VoltTackleBolt_3,
};
const union AffineAnimCmd gUnknown_085959EC[] =
static const union AffineAnimCmd sAffineAnim_VoltTackleBolt[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085959FC[] =
static const union AffineAnimCmd *const sAffineAnims_VoltTackleBolt[] =
{
gUnknown_085959EC,
sAffineAnim_VoltTackleBolt,
};
const struct SpriteTemplate gUnknown_08595A00 =
const struct SpriteTemplate gVoltTackleBoltSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK,
.oam = &gOamData_AffineDouble_ObjNormal_8x16,
.anims = gUnknown_085959DC,
.anims = sAnims_VoltTackleBolt,
.images = NULL,
.affineAnims = gUnknown_085959FC,
.callback = sub_810B1F0,
.affineAnims = sAffineAnims_VoltTackleBolt,
.callback = AnimVoltTackleBolt,
};
const struct SpriteTemplate gGrowingShockWaveOrbSpriteTemplate =
@ -439,7 +441,7 @@ const struct SpriteTemplate gGrowingShockWaveOrbSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595950,
.affineAnims = sAffineAnims_GrowingElectricOrb,
.callback = AnimGrowingShockWaveOrb,
};
@ -821,10 +823,10 @@ void AnimTask_ElectricChargingParticles(u8 taskId)
task->data[11] = gBattleAnimArgs[3];
task->data[12] = 0;
task->data[13] = gBattleAnimArgs[2];
task->func = sub_810AB78;
task->func = AnimTask_ElectricChargingParticles_Step;
}
static void sub_810AB78(u8 taskId)
static void AnimTask_ElectricChargingParticles_Step(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@ -834,12 +836,12 @@ static void sub_810AB78(u8 taskId)
{
u8 spriteId;
task->data[12] = 0;
spriteId = CreateSprite(&gUnknown_085958A8, 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_08595858[task->data[9]][0];
sprite->pos1.y += gUnknown_08595858[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;
@ -849,7 +851,7 @@ static void sub_810AB78(u8 taskId)
sprite->data[5] = taskId;
InitAnimLinearTranslation(sprite);
StoreSpriteCallbackInData6(sprite, sub_810ACC0);
StoreSpriteCallbackInData6(sprite, AnimElectricChargingParticles);
sprite->callback = RunStoredCallbackWhenAnimEnds;
if (++task->data[9] > 15)
@ -871,7 +873,7 @@ static void sub_810AB78(u8 taskId)
DestroyAnimVisualTask(taskId);
}
static void sub_810AC8C(struct Sprite *sprite)
static void AnimElectricChargingParticles_Step(struct Sprite *sprite)
{
if (AnimTranslateLinear(sprite))
{
@ -880,10 +882,10 @@ static void sub_810AC8C(struct Sprite *sprite)
}
}
static void sub_810ACC0(struct Sprite *sprite)
static void AnimElectricChargingParticles(struct Sprite *sprite)
{
StartSpriteAnim(sprite, 1);
sprite->callback = sub_810AC8C;
sprite->callback = AnimElectricChargingParticles_Step;
}
static void AnimGrowingChargeOrb(struct Sprite *sprite)
@ -1086,7 +1088,7 @@ void AnimTask_VoltTackleBolt(u8 taskId)
static bool8 sub_810B154(struct Task *task, u8 taskId)
{
u8 spriteId = CreateSprite(&gUnknown_08595A00, task->data[3], task->data[5], 35);
u8 spriteId = CreateSprite(&gVoltTackleBoltSpriteTemplate, task->data[3], task->data[5], 35);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].data[6] = taskId;
@ -1114,7 +1116,7 @@ static bool8 sub_810B154(struct Task *task, u8 taskId)
}
}
static void sub_810B1F0(struct Sprite *sprite)
static void AnimVoltTackleBolt(struct Sprite *sprite)
{
if (++sprite->data[0] > 12)
{

View File

@ -39,6 +39,7 @@ static void AnimSpinningKickOrPunchFinish(struct Sprite *);
extern struct SpriteTemplate gBasicHitSplatSpriteTemplate;
// Unused
const struct SpriteTemplate gUnknown_08595E14 =
{
.tileTag = ANIM_TAG_HUMANOID_FOOT,
@ -50,51 +51,51 @@ const struct SpriteTemplate gUnknown_08595E14 =
.callback = unc_080B08A0,
};
const union AnimCmd gUnknown_08595E2C[] =
static const union AnimCmd sAnim_HandOrFoot[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595E34[] =
static const union AnimCmd sAnim_SlidingKick_0[] =
{
ANIMCMD_FRAME(16, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595E3C[] =
static const union AnimCmd sAnim_SlidingKick_1[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595E44[] =
static const union AnimCmd sAnim_CrossChopHand_0[] =
{
ANIMCMD_FRAME(48, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595E4C[] =
static const union AnimCmd sAnim_CrossChopHand_1[] =
{
ANIMCMD_FRAME(48, 1, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08595E54[] =
static const union AnimCmd *const sAnims_HandOrFoot[] =
{
gUnknown_08595E2C,
sAnim_HandOrFoot,
};
const union AnimCmd *const gUnknown_08595E58[] =
static const union AnimCmd *const sAnims_SlidingKick[] =
{
gUnknown_08595E34,
gUnknown_08595E3C,
sAnim_SlidingKick_0,
sAnim_SlidingKick_1,
};
const union AnimCmd *const gUnknown_08595E60[] =
static const union AnimCmd *const sAnims_CrossChopHand[] =
{
gUnknown_08595E44,
gUnknown_08595E4C,
sAnim_CrossChopHand_0,
sAnim_CrossChopHand_1,
};
const struct SpriteTemplate gKarateChopSpriteTemplate =
@ -102,7 +103,7 @@ const struct SpriteTemplate gKarateChopSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSlideHandOrFootToTarget,
@ -113,7 +114,7 @@ const struct SpriteTemplate gJumpKickSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimJumpKick,
@ -124,7 +125,7 @@ const struct SpriteTemplate gFistFootSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimBasicFistOrFoot,
@ -135,7 +136,7 @@ const struct SpriteTemplate gFistFootRandomPosSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFistOrFootRandomPos,
@ -146,7 +147,7 @@ const struct SpriteTemplate gCrossChopHandSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E60,
.anims = sAnims_CrossChopHand,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimCrossChopHand,
@ -157,22 +158,22 @@ const struct SpriteTemplate gSlidingKickSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E58,
.anims = sAnims_SlidingKick,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSlidingKick,
};
const union AffineAnimCmd gUnknown_08595EF8[] =
static const union AffineAnimCmd sAffineAnim_SpinningHandOrFoot[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 20, 1),
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd *const gUnknown_08595F10[] =
static const union AffineAnimCmd *const sAffineAnims_SpinningHandOrFoot[] =
{
gUnknown_08595EF8,
sAffineAnim_SpinningHandOrFoot,
};
// Blaze Kick / Meteor Mash
@ -181,22 +182,22 @@ const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gUnknown_08595F10,
.affineAnims = sAffineAnims_SpinningHandOrFoot,
.callback = AnimSpinningKickOrPunch,
};
const union AffineAnimCmd gUnknown_08595F2C[] =
static const union AffineAnimCmd sAffineAnim_MegaPunchKick[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 20, 1),
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd *const gUnknown_08595F44[] =
static const union AffineAnimCmd *const sAffineAnims_MegaPunchKick[] =
{
gUnknown_08595F2C,
sAffineAnim_MegaPunchKick,
};
const struct SpriteTemplate gMegaPunchKickSpriteTemplate =
@ -204,9 +205,9 @@ const struct SpriteTemplate gMegaPunchKickSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gUnknown_08595F44,
.affineAnims = sAffineAnims_MegaPunchKick,
.callback = AnimSpinningKickOrPunch,
};
@ -215,7 +216,7 @@ const struct SpriteTemplate gStompFootSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E58,
.anims = sAnims_SlidingKick,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimStompFoot,
@ -254,7 +255,7 @@ const struct SpriteTemplate gBrickBreakWallShardSpriteTemplate =
.callback = AnimBrickBreakWallShard,
};
const union AffineAnimCmd gUnknown_08595FC0[] =
static const union AffineAnimCmd sAffineAnim_SuperpowerOrb[] =
{
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 64),
@ -263,9 +264,9 @@ const union AffineAnimCmd gUnknown_08595FC0[] =
AFFINEANIMCMD_JUMP(2),
};
const union AffineAnimCmd *const gUnknown_08595FE8[] =
static const union AffineAnimCmd *const sAffineAnims_SuperpowerOrb[] =
{
gUnknown_08595FC0,
sAffineAnim_SuperpowerOrb,
};
const struct SpriteTemplate gSuperpowerOrbSpriteTemplate =
@ -275,7 +276,7 @@ const struct SpriteTemplate gSuperpowerOrbSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595FE8,
.affineAnims = sAffineAnims_SuperpowerOrb,
.callback = AnimSuperpowerOrb,
};
@ -306,13 +307,13 @@ const struct SpriteTemplate gArmThrustHandSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimArmThrustHit,
};
const union AnimCmd gUnknown_0859604C[] =
static const union AnimCmd sAnim_RevengeSmallScratch_0[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@ -320,7 +321,7 @@ const union AnimCmd gUnknown_0859604C[] =
ANIMCMD_END,
};
const union AnimCmd gUnknown_0859605C[] =
static const union AnimCmd sAnim_RevengeSmallScratch_1[] =
{
ANIMCMD_FRAME(0, 4, .vFlip = TRUE),
ANIMCMD_FRAME(16, 4, .vFlip = TRUE),
@ -328,7 +329,7 @@ const union AnimCmd gUnknown_0859605C[] =
ANIMCMD_END,
};
const union AnimCmd gUnknown_0859606C[] =
static const union AnimCmd sAnim_RevengeSmallScratch_2[] =
{
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
@ -336,11 +337,11 @@ const union AnimCmd gUnknown_0859606C[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_0859607C[] =
static const union AnimCmd *const sAnims_RevengeSmallScratch[] =
{
gUnknown_0859604C,
gUnknown_0859605C,
gUnknown_0859606C,
sAnim_RevengeSmallScratch_0,
sAnim_RevengeSmallScratch_1,
sAnim_RevengeSmallScratch_2,
};
const struct SpriteTemplate gRevengeSmallScratchSpriteTemplate =
@ -348,38 +349,38 @@ const struct SpriteTemplate gRevengeSmallScratchSpriteTemplate =
.tileTag = ANIM_TAG_PURPLE_SCRATCH,
.paletteTag = ANIM_TAG_PURPLE_SCRATCH,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_0859607C,
.anims = sAnims_RevengeSmallScratch,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimRevengeScratch,
};
const union AnimCmd gUnknown_085960A0[] =
static const union AnimCmd sAnim_RevengeBigScratch_0[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(64, 6),
ANIMCMD_END,
};
const union AnimCmd gUnknown_085960AC[] =
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,
};
const union AnimCmd gUnknown_085960B8[] =
static const union AnimCmd sAnim_RevengeBigScratch_2[] =
{
ANIMCMD_FRAME(0, 6, .hFlip = TRUE),
ANIMCMD_FRAME(64, 6, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_085960C4[] =
static const union AnimCmd *const sAnims_RevengeBigScratch[] =
{
gUnknown_085960A0,
gUnknown_085960AC,
gUnknown_085960B8,
sAnim_RevengeBigScratch_0,
sAnim_RevengeBigScratch_1,
sAnim_RevengeBigScratch_2,
};
const struct SpriteTemplate gRevengeBigScratchSpriteTemplate =
@ -387,22 +388,22 @@ const struct SpriteTemplate gRevengeBigScratchSpriteTemplate =
.tileTag = ANIM_TAG_PURPLE_SWIPE,
.paletteTag = ANIM_TAG_PURPLE_SWIPE,
.oam = &gOamData_AffineOff_ObjNormal_64x64,
.anims = gUnknown_085960C4,
.anims = sAnims_RevengeBigScratch,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimRevengeScratch,
};
const union AffineAnimCmd gUnknown_085960E8[] =
static const union AffineAnimCmd sAffineAnim_FocusPunchFist[] =
{
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
AFFINEANIMCMD_FRAME(0xFFE0, 0xFFE0, 0, 8),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596100[] =
static const union AffineAnimCmd *const sAffineAnims_FocusPunchFist[] =
{
gUnknown_085960E8,
sAffineAnim_FocusPunchFist,
};
const struct SpriteTemplate gFocusPunchFistSpriteTemplate =
@ -410,9 +411,9 @@ const struct SpriteTemplate gFocusPunchFistSpriteTemplate =
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.anims = sAnims_HandOrFoot,
.images = NULL,
.affineAnims = gUnknown_08596100,
.affineAnims = sAffineAnims_FocusPunchFist,
.callback = AnimFocusPunchFist,
};

View File

@ -27,11 +27,11 @@ static void AnimFireSpiralOutward(struct Sprite *);
static void AnimFireSpiralOutward_Step1(struct Sprite *);
static void AnimFireSpiralOutward_Step2(struct Sprite *);
static void AnimTask_EruptionLaunchRocks_Step(u8 taskId);
static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3);
static void sub_81098EC(struct Sprite *);
static u16 sub_8109930(u8 spriteId);
static void sub_8109984(struct Sprite *sprite, s16 x, s16 y);
static void sub_81099A0(struct Sprite *);
static void CreateEruptionLaunchRocks(u8 spriteId, u8 taskId, u8 a3);
static void AnimEruptionLaunchRock(struct Sprite *);
static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId);
static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 x, s16 y);
static void UpdateEruptionLaunchRockPos(struct Sprite *);
static void AnimEruptionFallingRock(struct Sprite *);
static void AnimEruptionFallingRock_Step(struct Sprite *);
static void AnimWillOWispOrb(struct Sprite *);
@ -39,7 +39,7 @@ static void AnimWillOWispOrb_Step(struct Sprite *);
static void AnimWillOWispFire(struct Sprite *);
static void AnimTask_MoveHeatWaveTargets_Step(u8 taskId);
const union AnimCmd gUnknown_08595340[] =
static const union AnimCmd sAnim_FireSpiralSpread_0[] =
{
ANIMCMD_FRAME(16, 4),
ANIMCMD_FRAME(32, 4),
@ -47,7 +47,7 @@ const union AnimCmd gUnknown_08595340[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd gUnknown_08595350[] =
static const union AnimCmd sAnim_FireSpiralSpread_1[] =
{
ANIMCMD_FRAME(16, 4, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(32, 4, .vFlip = TRUE, .hFlip = TRUE),
@ -55,10 +55,10 @@ const union AnimCmd gUnknown_08595350[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08595360[] =
static const union AnimCmd *const sAnims_FireSpiralSpread[] =
{
gUnknown_08595340,
gUnknown_08595350,
sAnim_FireSpiralSpread_0,
sAnim_FireSpiralSpread_1,
};
const struct SpriteTemplate gFireSpiralInwardSpriteTemplate =
@ -66,7 +66,7 @@ const struct SpriteTemplate gFireSpiralInwardSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595360,
.anims = sAnims_FireSpiralSpread,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFireSpiralInward,
@ -77,13 +77,13 @@ const struct SpriteTemplate gFireSpreadSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595360,
.anims = sAnims_FireSpiralSpread,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFireSpread,
};
const union AnimCmd gUnknown_08595398[] =
static const union AnimCmd sAnim_LargeFlame[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@ -96,12 +96,12 @@ const union AnimCmd gUnknown_08595398[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_085953BC[] =
static const union AnimCmd *const sAnims_LargeFlame[] =
{
gUnknown_08595398,
sAnim_LargeFlame,
};
const union AnimCmd gUnknown_085953C0[] =
static const union AnimCmd sAnim_FirePlume[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@ -111,21 +111,21 @@ const union AnimCmd gUnknown_085953C0[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_085953D8[] =
static const union AnimCmd *const sAnims_FirePlume[] =
{
gUnknown_085953C0,
sAnim_FirePlume,
};
const union AffineAnimCmd gUnknown_085953DC[] =
static const union AffineAnimCmd sAffineAnim_LargeFlame[] =
{
AFFINEANIMCMD_FRAME(0x32, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x20, 0x0, 0, 7),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085953F4[] =
static const union AffineAnimCmd *const sAffineAnims_LargeFlame[] =
{
gUnknown_085953DC,
sAffineAnim_LargeFlame,
};
const struct SpriteTemplate gLargeFlameSpriteTemplate =
@ -133,9 +133,9 @@ const struct SpriteTemplate gLargeFlameSpriteTemplate =
.tileTag = ANIM_TAG_FIRE,
.paletteTag = ANIM_TAG_FIRE,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_085953BC,
.anims = sAnims_LargeFlame,
.images = NULL,
.affineAnims = gUnknown_085953F4,
.affineAnims = sAffineAnims_LargeFlame,
.callback = AnimLargeFlame,
};
@ -144,7 +144,7 @@ const struct SpriteTemplate gLargeFlameScatterSpriteTemplate =
.tileTag = ANIM_TAG_FIRE,
.paletteTag = ANIM_TAG_FIRE,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085953BC,
.anims = sAnims_LargeFlame,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimLargeFlame,
@ -155,24 +155,25 @@ const struct SpriteTemplate gFirePlumeSpriteTemplate =
.tileTag = ANIM_TAG_FIRE_PLUME,
.paletteTag = ANIM_TAG_FIRE_PLUME,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085953D8,
.anims = sAnims_FirePlume,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFirePlume,
};
// Unused
const struct SpriteTemplate gUnknown_08595440 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085953D8,
.anims = sAnims_FirePlume,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFirePlume,
};
const union AnimCmd gUnknown_08595458[] =
static const union AnimCmd gUnknown_08595458[] =
{
ANIMCMD_FRAME(16, 6),
ANIMCMD_FRAME(32, 6),
@ -180,11 +181,12 @@ const union AnimCmd gUnknown_08595458[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08595468[] =
static const union AnimCmd *const gUnknown_08595468[] =
{
gUnknown_08595458,
};
// Unused
const struct SpriteTemplate gUnknown_0859546C =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
@ -196,16 +198,16 @@ const struct SpriteTemplate gUnknown_0859546C =
.callback = sub_8109064,
};
const union AffineAnimCmd gUnknown_08595484[] =
static const union AffineAnimCmd sAffineAnim_SunlightRay[] =
{
AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
AFFINEANIMCMD_FRAME(0x2, 0x2, 10, 1),
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd *const gUnknown_0859549C[] =
static const union AffineAnimCmd *const sAffineAnims_SunlightRay[] =
{
gUnknown_08595484,
sAffineAnim_SunlightRay,
};
const struct SpriteTemplate gSunlightRaySpriteTemplate =
@ -215,11 +217,11 @@ const struct SpriteTemplate gSunlightRaySpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859549C,
.affineAnims = sAffineAnims_SunlightRay,
.callback = AnimSunlight,
};
const union AnimCmd gUnknown_085954B8[] =
static const union AnimCmd sAnim_BasicFire[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@ -229,9 +231,9 @@ const union AnimCmd gUnknown_085954B8[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_085954D0[] =
const union AnimCmd *const gAnims_BasicFire[] =
{
gUnknown_085954B8,
sAnim_BasicFire,
};
const struct SpriteTemplate gEmberSpriteTemplate =
@ -250,7 +252,7 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimEmberFlare,
@ -261,7 +263,7 @@ const struct SpriteTemplate gBurnFlameSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimBurnFlame,
@ -272,37 +274,38 @@ const struct SpriteTemplate gFireBlastRingSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFireRing,
};
const union AnimCmd gUnknown_08595534[] =
static const union AnimCmd sAnim_FireBlastCross[] =
{
ANIMCMD_FRAME(32, 6),
ANIMCMD_FRAME(48, 6),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08595540[] =
static const union AnimCmd *const sAnims_FireBlastCross[] =
{
gUnknown_08595534,
sAnim_FireBlastCross,
};
const union AffineAnimCmd gUnknown_08595544[] =
static const union AffineAnimCmd gUnknown_08595544[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08595554[] =
static const union AffineAnimCmd gUnknown_08595554[] =
{
AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08595564[] =
// Unused
static const union AffineAnimCmd *const gUnknown_08595564[] =
{
gUnknown_08595544,
gUnknown_08595554,
@ -313,7 +316,7 @@ const struct SpriteTemplate gFireBlastCrossSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595540,
.anims = sAnims_FireBlastCross,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFireCross,
@ -324,7 +327,7 @@ const struct SpriteTemplate gFireSpiralOutwardSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFireSpiralOutward,
@ -335,13 +338,13 @@ const struct SpriteTemplate gWeatherBallFireDownSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimWeatherBallDown,
};
const struct SpriteTemplate gUnknown_085955B4 =
const struct SpriteTemplate gEruptionLaunchRockSpriteTemplate =
{
.tileTag = ANIM_TAG_WARM_ROCK,
.paletteTag = ANIM_TAG_WARM_ROCK,
@ -349,11 +352,10 @@ const struct SpriteTemplate gUnknown_085955B4 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81098EC,
.callback = AnimEruptionLaunchRock,
};
// gHeatedRockCoords
const s16 gUnknown_085955CC[][2] =
static const s16 sEruptionLaunchRockCoords[][2] =
{
{-2, -5},
{-1, -1},
@ -375,7 +377,7 @@ const struct SpriteTemplate gEruptionFallingRockSpriteTemplate =
.callback = AnimEruptionFallingRock,
};
const union AnimCmd gUnknown_08595600[] =
static const union AnimCmd sAnim_WillOWispOrb_0[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(4, 5),
@ -384,30 +386,30 @@ const union AnimCmd gUnknown_08595600[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd gUnknown_08595614[] =
static const union AnimCmd sAnim_WillOWispOrb_1[] =
{
ANIMCMD_FRAME(16, 5),
ANIMCMD_END,
};
const union AnimCmd gUnknown_0859561C[] =
static const union AnimCmd sAnim_WillOWispOrb_2[] =
{
ANIMCMD_FRAME(20, 5),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595624[] =
static const union AnimCmd sAnim_WillOWispOrb_3[] =
{
ANIMCMD_FRAME(20, 5),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_0859562C[] =
static const union AnimCmd *const sAnims_WillOWispOrb[] =
{
gUnknown_08595600,
gUnknown_08595614,
gUnknown_0859561C,
gUnknown_08595624,
sAnim_WillOWispOrb_0,
sAnim_WillOWispOrb_1,
sAnim_WillOWispOrb_2,
sAnim_WillOWispOrb_3,
};
const struct SpriteTemplate gWillOWispOrbSpriteTemplate =
@ -415,13 +417,13 @@ const struct SpriteTemplate gWillOWispOrbSpriteTemplate =
.tileTag = ANIM_TAG_WISP_ORB,
.paletteTag = ANIM_TAG_WISP_ORB,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_0859562C,
.anims = sAnims_WillOWispOrb,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimWillOWispOrb,
};
const union AnimCmd gUnknown_08595654[] =
static const union AnimCmd sAnim_WillOWispFire[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@ -430,9 +432,9 @@ const union AnimCmd gUnknown_08595654[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08595668[] =
static const union AnimCmd *const sAnims_WillOWispFire[] =
{
gUnknown_08595654,
sAnim_WillOWispFire,
};
const struct SpriteTemplate gWillOWispFireSpriteTemplate =
@ -440,7 +442,7 @@ const struct SpriteTemplate gWillOWispFireSpriteTemplate =
.tileTag = ANIM_TAG_WISP_FIRE,
.paletteTag = ANIM_TAG_WISP_FIRE,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595668,
.anims = sAnims_WillOWispFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimWillOWispFire,
@ -846,7 +848,7 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTIO
case 3:
if (!sub_80A80C8(task))
{
sub_81097B4(task->data[15], taskId, 6);
CreateEruptionLaunchRocks(task->data[15], taskId, 6);
task->data[0]++;
}
@ -901,12 +903,12 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTIO
}
}
static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
static void CreateEruptionLaunchRocks(u8 spriteId, u8 taskId, u8 a3)
{
u16 i, j;
s8 sign;
u16 y = sub_8109930(spriteId);
u16 y = GetEruptionLaunchRockInitialYPos(spriteId);
u16 x = gSprites[spriteId].pos1.x;
if(!GetBattlerSide(gBattleAnimAttacker))
@ -922,7 +924,7 @@ static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
for (i = 0, j = 0; i <= 6; i++)
{
u8 spriteId = CreateSprite(&gUnknown_085955B4, x, y, 2);
u8 spriteId = CreateSprite(&gEruptionLaunchRockSpriteTemplate, x, y, 2);
if (spriteId != 0x40)
{
@ -930,8 +932,8 @@ static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
if (++j >= 5)
j = 0;
//gHeatedRockCoords
sub_8109984(&gSprites[spriteId], gUnknown_085955CC[i][0] * sign, gUnknown_085955CC[i][1]);
InitEruptionLaunchRockCoordData(&gSprites[spriteId], sEruptionLaunchRockCoords[i][0] * sign, sEruptionLaunchRockCoords[i][1]);
gSprites[spriteId].data[6] = taskId;
gSprites[spriteId].data[7] = a3;
@ -940,9 +942,9 @@ static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
}
}
static void sub_81098EC(struct Sprite *sprite)
static void AnimEruptionLaunchRock(struct Sprite *sprite)
{
sub_81099A0(sprite);
UpdateEruptionLaunchRockPos(sprite);
if (sprite->invisible)
{
@ -951,23 +953,23 @@ static void sub_81098EC(struct Sprite *sprite)
}
}
static u16 sub_8109930(u8 spriteId)
static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId)
{
u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY;
u16 y = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY;
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
var1 = ((var1 << 16) + 0x4A0000) >> 16;
y = ((y << 16) + 0x4A0000) >> 16;
}
else
{
var1 = ((var1 << 16) + 0x2C0000) >> 16;
y = ((y << 16) + 0x2C0000) >> 16;
}
return var1;
return y;
}
static void sub_8109984(struct Sprite *sprite, s16 x, s16 y)
static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 x, s16 y)
{
sprite->data[0] = 0;
sprite->data[1] = 0;
@ -977,7 +979,7 @@ static void sub_8109984(struct Sprite *sprite, s16 x, s16 y)
sprite->data[5] = y * 8;
}
static void sub_81099A0(struct Sprite *sprite)
static void UpdateEruptionLaunchRockPos(struct Sprite *sprite)
{
int var1;
if (++sprite->data[0] > 2)

View File

@ -48,16 +48,16 @@ const struct SpriteTemplate gEllipticalGustSpriteTemplate =
.callback = AnimEllipticalGust,
};
const union AffineAnimCmd gUnknown_08596288[] =
static const union AffineAnimCmd sAffineAnim_GustToTarget[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085962A0[] =
static const union AffineAnimCmd *const sAffineAnims_GustToTarget[] =
{
gUnknown_08596288,
sAffineAnim_GustToTarget,
};
const struct SpriteTemplate gGustToTargetSpriteTemplate =
@ -67,11 +67,11 @@ const struct SpriteTemplate gGustToTargetSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_32x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085962A0,
.affineAnims = sAffineAnims_GustToTarget,
.callback = AnimGustToTarget,
};
const union AnimCmd gUnknown_085962BC[] =
static const union AnimCmd sAffineAnim_AirWaveCrescent[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
@ -80,9 +80,9 @@ const union AnimCmd gUnknown_085962BC[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_085962D0[] =
static const union AnimCmd *const sAffineAnims_AirWaveCrescent[] =
{
gUnknown_085962BC,
sAffineAnim_AirWaveCrescent,
};
const struct SpriteTemplate gAirWaveCrescentSpriteTemplate =
@ -90,13 +90,13 @@ const struct SpriteTemplate gAirWaveCrescentSpriteTemplate =
.tileTag = ANIM_TAG_AIR_WAVE_2,
.paletteTag = ANIM_TAG_AIR_WAVE_2,
.oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gUnknown_085962D0,
.anims = sAffineAnims_AirWaveCrescent,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimAirWaveCrescent,
};
const union AffineAnimCmd gUnknown_085962EC[] =
static const union AffineAnimCmd sAffineAnim_FlyBallUp[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
@ -105,27 +105,27 @@ const union AffineAnimCmd gUnknown_085962EC[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596314[] =
static const union AffineAnimCmd *const sAffineAnims_FlyBallUp[] =
{
gUnknown_085962EC,
sAffineAnim_FlyBallUp,
};
const union AffineAnimCmd gUnknown_08596318[] =
static const union AffineAnimCmd sAffineAnim_FlyBallAttack_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596328[] =
static const union AffineAnimCmd sAffineAnim_FlyBallAttack_1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596338[] =
static const union AffineAnimCmd *const sAffineAnims_FlyBallAttack[] =
{
gUnknown_08596318,
gUnknown_08596328,
sAffineAnim_FlyBallAttack_0,
sAffineAnim_FlyBallAttack_1,
};
const struct SpriteTemplate gFlyBallUpSpriteTemplate =
@ -135,7 +135,7 @@ const struct SpriteTemplate gFlyBallUpSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596314,
.affineAnims = sAffineAnims_FlyBallUp,
.callback = AnimFlyBallUp,
};
@ -146,26 +146,26 @@ const struct SpriteTemplate gFlyBallAttackSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596338,
.affineAnims = sAffineAnims_FlyBallAttack,
.callback = AnimFlyBallAttack,
};
const union AnimCmd gUnknown_08596370[] =
static const union AnimCmd sAnim_FallingFeather_0[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596378[] =
static const union AnimCmd sAnim_FallingFeather_1[] =
{
ANIMCMD_FRAME(16, 0, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08596380[] =
static const union AnimCmd *const sAnims_FallingFeather[] =
{
gUnknown_08596370,
gUnknown_08596378,
sAnim_FallingFeather_0,
sAnim_FallingFeather_1,
};
const struct SpriteTemplate gFallingFeatherSpriteTemplate =
@ -173,7 +173,7 @@ const struct SpriteTemplate gFallingFeatherSpriteTemplate =
.tileTag = ANIM_TAG_WHITE_FEATHER,
.paletteTag = ANIM_TAG_WHITE_FEATHER,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_08596380,
.anims = sAnims_FallingFeather,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFallingFeather,
@ -190,7 +190,7 @@ const struct SpriteTemplate gUnknown_085963A0 =
.callback = sub_810EA4C,
};
const union AnimCmd gUnknown_085963B8[] =
static const union AnimCmd sAnim_WhirlwindLines[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(8, 1),
@ -200,9 +200,9 @@ const union AnimCmd gUnknown_085963B8[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_085963D0[] =
static const union AnimCmd *const sAnims_WhirlwindLines[] =
{
gUnknown_085963B8,
sAnim_WhirlwindLines,
};
const struct SpriteTemplate gWhirlwindLineSpriteTemplate =
@ -210,13 +210,13 @@ const struct SpriteTemplate gWhirlwindLineSpriteTemplate =
.tileTag = ANIM_TAG_WHIRLWIND_LINES,
.paletteTag = ANIM_TAG_WHIRLWIND_LINES,
.oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gUnknown_085963D0,
.anims = sAnims_WhirlwindLines,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimWhirlwindLine,
};
const union AffineAnimCmd gUnknown_085963EC[] =
static const union AffineAnimCmd sAffineAnim_BounceBallShrink[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
@ -226,9 +226,9 @@ const union AffineAnimCmd gUnknown_085963EC[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_0859641C[] =
static const union AffineAnimCmd *const sAffineAnims_BounceBallShrink[] =
{
gUnknown_085963EC,
sAffineAnim_BounceBallShrink,
};
const struct SpriteTemplate gBounceBallShrinkSpriteTemplate =
@ -238,19 +238,19 @@ const struct SpriteTemplate gBounceBallShrinkSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859641C,
.affineAnims = sAffineAnims_BounceBallShrink,
.callback = AnimBounceBallShrink,
};
const union AffineAnimCmd gUnknown_08596438[] =
static const union AffineAnimCmd sAffineAnim_BounceBallLand[] =
{
AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596448[] =
static const union AffineAnimCmd *const sAffineAnims_BounceBallLand[] =
{
gUnknown_08596438,
sAffineAnim_BounceBallLand,
};
const struct SpriteTemplate gBounceBallLandSpriteTemplate =
@ -260,11 +260,11 @@ const struct SpriteTemplate gBounceBallLandSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596448,
.affineAnims = sAffineAnims_BounceBallLand,
.callback = AnimBounceBallLand,
};
const union AffineAnimCmd gUnknown_08596464[] =
static const union AffineAnimCmd sAffineAnim_DiveBall[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
@ -273,9 +273,9 @@ const union AffineAnimCmd gUnknown_08596464[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_0859648C[] =
static const union AffineAnimCmd *const sAffineAnims_DiveBall[] =
{
gUnknown_08596464,
sAffineAnim_DiveBall,
};
const struct SpriteTemplate gDiveBallSpriteTemplate =
@ -285,11 +285,11 @@ const struct SpriteTemplate gDiveBallSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859648C,
.affineAnims = sAffineAnims_DiveBall,
.callback = AnimDiveBall,
};
const union AffineAnimCmd gUnknown_085964A8[] =
static const union AffineAnimCmd gUnknown_085964A8[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x0, 0, 0),
AFFINEANIMCMD_FRAME(0x0, 0x20, 0, 12),
@ -297,7 +297,8 @@ const union AffineAnimCmd gUnknown_085964A8[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085964C8[] =
// Unused
static const union AffineAnimCmd *const gUnknown_085964C8[] =
{
gUnknown_085964A8,
};

View File

@ -42,16 +42,16 @@ static void AnimGrudgeFlame(struct Sprite *);
static void sub_8112F60(struct Sprite *);
static void sub_8112FB8(struct Sprite *);
const union AffineAnimCmd gUnknown_08596CF8[] =
static const union AffineAnimCmd sAffineAnim_ConfuseRayBallBounce[] =
{
AFFINEANIMCMD_FRAME(0x1E, 0x1E, 10, 5),
AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 10, 5),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd *const gUnknown_08596D10[] =
static const union AffineAnimCmd *const sAffineAnims_ConfuseRayBallBounce[] =
{
gUnknown_08596CF8,
sAffineAnim_ConfuseRayBallBounce,
};
const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate =
@ -61,7 +61,7 @@ const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596D10,
.affineAnims = sAffineAnims_ConfuseRayBallBounce,
.callback = AnimConfuseRayBallBounce,
};
@ -76,15 +76,15 @@ const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate =
.callback = AnimConfuseRayBallSpiral,
};
const union AffineAnimCmd gUnknown_08596D44[] =
static const union AffineAnimCmd sAffineAnim_ShadowBall[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd *const gUnknown_08596D54[] =
static const union AffineAnimCmd *const sAffineAnims_ShadowBall[] =
{
gUnknown_08596D44,
sAffineAnim_ShadowBall,
};
const struct SpriteTemplate gShadowBallSpriteTemplate =
@ -94,11 +94,11 @@ const struct SpriteTemplate gShadowBallSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596D54,
.affineAnims = sAffineAnims_ShadowBall,
.callback = AnimShadowBall,
};
const union AnimCmd gUnknown_08596D70[] =
static const union AnimCmd sAnim_Lick[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(8, 2),
@ -108,9 +108,9 @@ const union AnimCmd gUnknown_08596D70[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08596D88[] =
static const union AnimCmd *const sAnims_Lick[] =
{
gUnknown_08596D70,
sAnim_Lick,
};
const struct SpriteTemplate gLickSpriteTemplate =
@ -118,19 +118,20 @@ const struct SpriteTemplate gLickSpriteTemplate =
.tileTag = ANIM_TAG_LICK,
.paletteTag = ANIM_TAG_LICK,
.oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gUnknown_08596D88,
.anims = sAnims_Lick,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimLick,
};
const union AffineAnimCmd gUnknown_08596DA4[] =
static const union AffineAnimCmd gUnknown_08596DA4[] =
{
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596DB4[] =
// Unused
static const union AffineAnimCmd *const gUnknown_08596DB4[] =
{
gUnknown_08596DA4,
};
@ -179,7 +180,7 @@ const struct SpriteTemplate gNightmareDevilSpriteTemplate =
.callback = AnimGhostStatusSprite,
};
const union AnimCmd gUnknown_08596E18[] =
static const union AnimCmd sAnim_GrudgeFlame[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(8, 4),
@ -188,9 +189,9 @@ const union AnimCmd gUnknown_08596E18[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08596E2C[] =
static const union AnimCmd *const sAnims_GrudgeFlame[] =
{
gUnknown_08596E18,
sAnim_GrudgeFlame,
};
const struct SpriteTemplate gGrudgeFlameSpriteTemplate =
@ -198,12 +199,13 @@ const struct SpriteTemplate gGrudgeFlameSpriteTemplate =
.tileTag = ANIM_TAG_PURPLE_FLAME,
.paletteTag = ANIM_TAG_PURPLE_FLAME,
.oam = &gOamData_AffineOff_ObjBlend_16x32,
.anims = gUnknown_08596E2C,
.anims = sAnims_GrudgeFlame,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimGrudgeFlame,
};
// Unused
const struct SpriteTemplate gUnknown_08596E48 =
{
.tileTag = 0,

View File

@ -732,9 +732,9 @@ const u32 gBattleAnimSpritePal_PinkHeart[] = INCBIN_U32("graphics/battle_anims/s
const u32 gBattleAnimSpritePal_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz");
const u32 gBattleAnimSpritePal_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz");
const u32 gUnknown_08C232E0[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz");
const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz");
const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz");
const u32 gBattleAnimBgImage_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz");
const u32 gBattleAnimBgPalette_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz");
const u32 gBattleAnimBgTilemap_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz");
const u32 gBattleAnimSpriteGfx_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz");
const u32 gBattleAnimSpritePal_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz");
@ -750,8 +750,8 @@ const u32 gBattleAnimSpriteGfx_Finger2[] = INCBIN_U32("graphics/battle_anims/spr
const u32 gBattleAnimSpriteGfx_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz");
const u32 gBattleAnimSpritePal_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz");
const u32 gUnknown_08C249D0[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz");
const u32 gUnknown_08C249F8[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz");
const u32 gBattleAnimBgPalette_ScaryFace[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz");
const u32 gBattleAnimBgImage_ScaryFace[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz");
const u32 gBattleAnimSpritePal_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz");
const u32 gBattleAnimSpriteGfx_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz");
@ -844,9 +844,9 @@ const u32 gBattleAnimBgPalette_Bug[] = INCBIN_U32("graphics/battle_anims/backgro
const u32 gBattleAnimBgImage_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.4bpp.lz");
const u32 gBattleAnimBgTilemap_HighspeedPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_player.bin.lz");
const u32 gUnknown_08C2A634[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.4bpp.lz");
const u32 gUnknown_08C2A6D4[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.gbapal.lz");
const u32 gUnknown_08C2A6EC[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.bin.lz");
const u32 gBattleAnimMaskImage_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.4bpp.lz");
const u32 gBattleAnimMaskPalette_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.gbapal.lz");
const u32 gBattleAnimMaskTilemap_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.bin.lz");
const u32 gBattleAnimBgTilemap_GuillotineOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_opponent.bin.lz");
const u32 gBattleAnimBgTilemap_GuillotinePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_player.bin.lz");
@ -1001,8 +1001,8 @@ const u32 gUnknown_08D85A1C[] = INCBIN_U32("graphics/battle_frontier/battle_tile
const u32 gBattleAnimSpriteGfx_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz");
const u32 gUnknown_08D8D410[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz");
const u32 gUnknown_08D8D58C[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz");
const u32 gBattleAnimBgTilemap_Sandstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz");
const u32 gBattleAnimBgImage_Sandstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz");
const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz");
@ -1121,11 +1121,9 @@ const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims
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 gUnknown_08D95E00[] = INCBIN_U32("graphics/unknown/unknown_D95E00.bin.lz");
const u32 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin.lz");
const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.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");

View File

@ -27,26 +27,26 @@ static void AnimTask_ShakeBattlers(u8);
static void SetBattlersXOffsetForShake(struct Task *);
static void sub_81156D0(u8);
const union AffineAnimCmd gUnknown_08597150[] =
static const union AffineAnimCmd sAffineAnim_Bonemerang[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd gUnknown_08597160[] =
static const union AffineAnimCmd sAffineAnim_SpinningBone[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd *const gUnknown_08597170[] =
static const union AffineAnimCmd *const sAffineAnims_Bonemerang[] =
{
gUnknown_08597150,
sAffineAnim_Bonemerang,
};
const union AffineAnimCmd *const gUnknown_08597174[] =
static const union AffineAnimCmd *const sAffineAnims_SpinningBone[] =
{
gUnknown_08597160,
sAffineAnim_SpinningBone,
};
const struct SpriteTemplate gBonemerangSpriteTemplate =
@ -56,7 +56,7 @@ const struct SpriteTemplate gBonemerangSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597170,
.affineAnims = sAffineAnims_Bonemerang,
.callback = AnimBonemerangProjectile,
};
@ -67,7 +67,7 @@ const struct SpriteTemplate gSpinningBoneSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597174,
.affineAnims = sAffineAnims_SpinningBone,
.callback = AnimBoneHitProjectile,
};
@ -82,15 +82,15 @@ const struct SpriteTemplate gSandAttackDirtSpriteTemplate =
.callback = AnimDirtScatter,
};
const union AnimCmd gUnknown_085971C0[] =
static const union AnimCmd sAnim_MudSlapMud[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_085971C8[] =
static const union AnimCmd *const sAnims_MudSlapMud[] =
{
gUnknown_085971C0,
sAnim_MudSlapMud,
};
const struct SpriteTemplate gMudSlapMudSpriteTemplate =
@ -98,7 +98,7 @@ const struct SpriteTemplate gMudSlapMudSpriteTemplate =
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_085971C8,
.anims = sAnims_MudSlapMud,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimDirtScatter,

227
src/ice.c
View File

@ -14,9 +14,9 @@
#include "constants/rgb.h"
struct HailStruct {
s32 unk0:10;
s32 unk1:10;
s32 unk2:8;
s32 x:10;
s32 y:10;
s32 bPosition:8;
s32 unk3:4;
};
@ -49,19 +49,19 @@ static void AnimTask_OverlayFogTiles(u8);
static void AnimTask_Hail2(u8);
static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c);
const union AnimCmd gUnknown_08595A48[] =
static const union AnimCmd gUnknown_08595A48[] =
{
ANIMCMD_FRAME(0, 5, .hFlip = TRUE),
ANIMCMD_FRAME(1, 5, .hFlip = TRUE),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08595A54[] =
static const union AnimCmd *const gUnknown_08595A54[] =
{
gUnknown_08595A48,
};
// unknown sprite template
// Unused
const struct SpriteTemplate gUnknown_08595A58 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
@ -73,82 +73,83 @@ const struct SpriteTemplate gUnknown_08595A58 =
.callback = sub_810B6C4,
};
const union AnimCmd gUnknown_08595A70[] =
static const union AnimCmd gUnknown_08595A70[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595A78[] =
static const union AnimCmd sAnim_IceCrystalLarge[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595A80[] =
static const union AnimCmd sAnim_IceCrystalSmall[] =
{
ANIMCMD_FRAME(6, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595A88[] =
static const union AnimCmd sAnim_Snowball[] =
{
ANIMCMD_FRAME(7, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595A90[] =
static const union AnimCmd sAnim_BlizzardIceCrystal[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595A98[] =
static const union AnimCmd sAnim_SmallBubblePair[] =
{
ANIMCMD_FRAME(12, 6),
ANIMCMD_FRAME(13, 6),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08595AA4[] =
// Unused
static const union AnimCmd *const gUnknown_08595AA4[] =
{
gUnknown_08595A70,
};
const union AnimCmd *const gUnknown_08595AA8[] =
static const union AnimCmd *const sAnims_IceCrystalLarge[] =
{
gUnknown_08595A78,
sAnim_IceCrystalLarge,
};
const union AnimCmd *const gUnknown_08595AAC[] =
static const union AnimCmd *const sAnims_IceCrystalSmall[] =
{
gUnknown_08595A80,
sAnim_IceCrystalSmall,
};
const union AnimCmd *const gUnknown_08595AB0[] =
static const union AnimCmd *const sAnims_Snowball[] =
{
gUnknown_08595A88,
sAnim_Snowball,
};
const union AnimCmd *const gUnknown_08595AB4[] =
static const union AnimCmd *const sAnims_BlizzardIceCrystal[] =
{
gUnknown_08595A90,
sAnim_BlizzardIceCrystal,
};
const union AnimCmd *const gUnknown_08595AB8[] =
const union AnimCmd *const gAnims_SmallBubblePair[] =
{
gUnknown_08595A98,
sAnim_SmallBubblePair,
};
const union AffineAnimCmd gUnknown_08595ABC[] =
static const union AffineAnimCmd sAffineAnim_IceCrystalSpiralInwardLarge[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd *const gUnknown_08595ACC[] =
static const union AffineAnimCmd *const sAffineAnims_IceCrystalSpiralInwardLarge[] =
{
gUnknown_08595ABC,
sAffineAnim_IceCrystalSpiralInwardLarge,
};
const struct SpriteTemplate gIceCrystalSpiralInwardLarge =
@ -156,9 +157,9 @@ const struct SpriteTemplate gIceCrystalSpiralInwardLarge =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineDouble_ObjBlend_8x16,
.anims = gUnknown_08595AA8,
.anims = sAnims_IceCrystalLarge,
.images = NULL,
.affineAnims = gUnknown_08595ACC,
.affineAnims = sAffineAnims_IceCrystalSpiralInwardLarge,
.callback = AnimIcePunchSwirlingParticle,
};
@ -167,21 +168,21 @@ const struct SpriteTemplate gIceCrystalSpiralInwardSmall =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjBlend_8x8,
.anims = gUnknown_08595AAC,
.anims = sAnims_IceCrystalSmall,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimIcePunchSwirlingParticle,
};
const union AffineAnimCmd gUnknown_08595B00[] =
static const union AffineAnimCmd sAffineAnim_IceBeamInnerCrystal[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd *const gUnknown_08595B10[] =
static const union AffineAnimCmd *const sAffineAnims_IceBeamInnerCrystal[] =
{
gUnknown_08595B00,
sAffineAnim_IceBeamInnerCrystal,
};
const struct SpriteTemplate gIceBeamInnerCrystalSpriteTemplate =
@ -189,9 +190,9 @@ const struct SpriteTemplate gIceBeamInnerCrystalSpriteTemplate =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineNormal_ObjBlend_8x16,
.anims = gUnknown_08595AA8,
.anims = sAnims_IceCrystalLarge,
.images = NULL,
.affineAnims = gUnknown_08595B10,
.affineAnims = sAffineAnims_IceBeamInnerCrystal,
.callback = AnimIceBeamParticle,
};
@ -200,13 +201,13 @@ const struct SpriteTemplate gIceBeamOuterCrystalSpriteTemplate =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjBlend_8x8,
.anims = gUnknown_08595AAC,
.anims = sAnims_IceCrystalSmall,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimIceBeamParticle,
};
const union AffineAnimCmd gUnknown_08595B44[] =
static const union AffineAnimCmd sAffineAnim_IceCrystalHit[] =
{
AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0),
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
@ -214,9 +215,9 @@ const union AffineAnimCmd gUnknown_08595B44[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08595B64[] =
static const union AffineAnimCmd *const sAffineAnims_IceCrystalHit[] =
{
gUnknown_08595B44,
sAffineAnim_IceCrystalHit,
};
const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate =
@ -224,9 +225,9 @@ const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineNormal_ObjBlend_8x16,
.anims = gUnknown_08595AA8,
.anims = sAnims_IceCrystalLarge,
.images = NULL,
.affineAnims = gUnknown_08595B64,
.affineAnims = sAffineAnims_IceCrystalHit,
.callback = AnimIceEffectParticle,
};
@ -235,9 +236,9 @@ const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineNormal_ObjBlend_8x8,
.anims = gUnknown_08595AAC,
.anims = sAnims_IceCrystalSmall,
.images = NULL,
.affineAnims = gUnknown_08595B64,
.affineAnims = sAffineAnims_IceCrystalHit,
.callback = AnimIceEffectParticle,
};
@ -246,7 +247,7 @@ const struct SpriteTemplate gSwirlingSnowballSpriteTemplate =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595AB0,
.anims = sAnims_Snowball,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSwirlingSnowball,
@ -257,7 +258,7 @@ const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_08595AB4,
.anims = sAnims_BlizzardIceCrystal,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMoveParticleBeyondTarget,
@ -268,13 +269,13 @@ const struct SpriteTemplate gPowderSnowSnowballSpriteTemplate =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595AB0,
.anims = sAnims_Snowball,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMoveParticleBeyondTarget,
};
const union AnimCmd gUnknown_08595BE0[] =
static const union AnimCmd sAnim_IceGroundSpike[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(2, 5),
@ -286,32 +287,32 @@ const union AnimCmd gUnknown_08595BE0[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08595C00[] =
static const union AnimCmd *const sAnims_IceGroundSpike[] =
{
gUnknown_08595BE0,
sAnim_IceGroundSpike,
};
const struct SpriteTemplate gIceGroundSpikesSpriteTemplate =
const struct SpriteTemplate gIceGroundSpikeSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_SPIKES,
.paletteTag = ANIM_TAG_ICE_SPIKES,
.oam = &gOamData_AffineOff_ObjBlend_8x16,
.anims = gUnknown_08595C00,
.anims = sAnims_IceGroundSpike,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimWaveFromCenterOfTarget,
};
const union AnimCmd gUnknown_08595C1C[] =
static const union AnimCmd sAnim_Cloud[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(8, 8),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08595C28[] =
static const union AnimCmd *const sAnims_Cloud[] =
{
gUnknown_08595C1C,
sAnim_Cloud,
};
const struct SpriteTemplate gMistCloudSpriteTemplate =
@ -319,7 +320,7 @@ const struct SpriteTemplate gMistCloudSpriteTemplate =
.tileTag = ANIM_TAG_MIST_CLOUD,
.paletteTag = ANIM_TAG_MIST_CLOUD,
.oam = &gOamData_AffineOff_ObjBlend_32x16,
.anims = gUnknown_08595C28,
.anims = sAnims_Cloud,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = InitSwirlingFogAnim,
@ -330,13 +331,13 @@ const struct SpriteTemplate gSmogCloudSpriteTemplate =
.tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.oam = &gOamData_AffineOff_ObjBlend_32x16,
.anims = gUnknown_08595C28,
.anims = sAnims_Cloud,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = InitSwirlingFogAnim,
};
const u8 gUnknown_08595C5C[] =
static const u8 sUnknown_08595C5C[] =
{
0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9,
};
@ -352,7 +353,7 @@ const struct SpriteTemplate gMistBallSpriteTemplate =
.callback = AnimThrowMistBall,
};
const u8 gUnknown_08595C88[] =
static const u8 sUnknown_08595C88[] =
{
0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5,
};
@ -362,70 +363,70 @@ const struct SpriteTemplate gPoisonGasCloudSpriteTemplate =
.tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.oam = &gOamData_AffineOff_ObjBlend_32x16,
.anims = gUnknown_08595C28,
.anims = sAnims_Cloud,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = InitPoisonGasCloudAnim,
};
const struct HailStruct gUnknown_08595CB4[] =
static const struct HailStruct sHailCoordData[] =
{
{100, 120, 0, 2},
{85, 120, 0, 0},
{242, 120, 1, 1},
{66, 120, 2, 1},
{182, 120, 3, 0},
{60, 120, 0, 2},
{214, 120, 1, 0},
{113, 120, 0, 1},
{210, 120, 3, 1},
{38, 120, 2, 0},
{.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2},
{.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 0},
{.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 1},
{.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 1},
{.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 0},
{.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2},
{.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 0},
{.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 1},
{.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 1},
{.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 0},
};
const union AffineAnimCmd gUnknown_08595CDC[] =
static const union AffineAnimCmd sAffineAnim_HailParticle_0[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08595CEC[] =
static const union AffineAnimCmd sAffineAnim_HailParticle_1[] =
{
AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08595CFC[] =
static const union AffineAnimCmd sAffineAnim_HailParticle_2[] =
{
AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08595D0C[] =
static const union AffineAnimCmd sAffineAnim_WeatherBallIceDown[] =
{
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08595D1C[] =
static const union AffineAnimCmd *const sAffineAnims_HailParticle[] =
{
gUnknown_08595CDC,
gUnknown_08595CEC,
gUnknown_08595CFC,
sAffineAnim_HailParticle_0,
sAffineAnim_HailParticle_1,
sAffineAnim_HailParticle_2,
};
const union AffineAnimCmd *const gUnknown_08595D28[] =
static const union AffineAnimCmd *const sAffineAnims_WeatherBallIceDown[] =
{
gUnknown_08595D0C,
sAffineAnim_WeatherBallIceDown,
};
const struct SpriteTemplate gUnknown_08595D2C =
const struct SpriteTemplate gHailParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_HAIL,
.paletteTag = ANIM_TAG_HAIL,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595D1C,
.affineAnims = sAffineAnims_HailParticle,
.callback = AnimHailBegin,
};
@ -436,17 +437,17 @@ const struct SpriteTemplate gWeatherBallIceDownSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595D28,
.affineAnims = sAffineAnims_WeatherBallIceDown,
.callback = AnimWeatherBallDown,
};
const union AnimCmd gUnknown_08595D5C[] =
static const union AnimCmd sAnim_IceBallChunk_0[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595D64[] =
static const union AnimCmd sAnim_IceBallChunk_1[] =
{
ANIMCMD_FRAME(16, 4),
ANIMCMD_FRAME(32, 4),
@ -455,49 +456,49 @@ const union AnimCmd gUnknown_08595D64[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08595D78[] =
static const union AnimCmd *const sAnims_IceBallChunk[] =
{
gUnknown_08595D5C,
gUnknown_08595D64,
sAnim_IceBallChunk_0,
sAnim_IceBallChunk_1,
};
const union AffineAnimCmd gUnknown_08595D80[] =
static const union AffineAnimCmd sAffineAnim_IceBallChunk_0[] =
{
AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08595D90[] =
static const union AffineAnimCmd sAffineAnim_IceBallChunk_1[] =
{
AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08595DA0[] =
static const union AffineAnimCmd sAffineAnim_IceBallChunk_2[] =
{
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08595DB0[] =
static const union AffineAnimCmd sAffineAnim_IceBallChunk_3[] =
{
AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08595DC0[] =
static const union AffineAnimCmd sAffineAnim_IceBallChunk_4[] =
{
AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08595DD0[] =
static const union AffineAnimCmd *const sAffineAnims_IceBallChunk[] =
{
gUnknown_08595D80,
gUnknown_08595D90,
gUnknown_08595DA0,
gUnknown_08595DB0,
gUnknown_08595DC0,
sAffineAnim_IceBallChunk_0,
sAffineAnim_IceBallChunk_1,
sAffineAnim_IceBallChunk_2,
sAffineAnim_IceBallChunk_3,
sAffineAnim_IceBallChunk_4,
};
const struct SpriteTemplate gIceBallChunkSpriteTemplate =
@ -505,9 +506,9 @@ const struct SpriteTemplate gIceBallChunkSpriteTemplate =
.tileTag = ANIM_TAG_ICE_CHUNK,
.paletteTag = ANIM_TAG_ICE_CHUNK,
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08595D78,
.anims = sAnims_IceBallChunk,
.images = NULL,
.affineAnims = gUnknown_08595DD0,
.affineAnims = sAffineAnims_IceBallChunk,
.callback = InitIceBallAnim,
};
@ -516,13 +517,13 @@ const struct SpriteTemplate gIceBallImpactShardSpriteTemplate =
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595AAC,
.anims = sAnims_IceCrystalSmall,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = InitIceBallParticle,
};
// probably unused
// Unused
static void sub_810B6C4(struct Sprite *sprite)
{
s16 targetX, targetY, attackerX, attackerY;
@ -999,7 +1000,7 @@ void AnimTask_HazeScrollingFog(u8 taskId)
sub_80A6B30(&animBg);
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0);
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimFogTilemap, 0);
LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32);
gTasks[taskId].func = AnimTask_Haze2;
@ -1019,7 +1020,7 @@ static void AnimTask_Haze2(u8 taskId)
{
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[9]++;
gTasks[taskId].data[11] = gUnknown_08595C5C[gTasks[taskId].data[9]];
gTasks[taskId].data[11] = sUnknown_08595C5C[gTasks[taskId].data[9]];
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
if (gTasks[taskId].data[11] == 9)
@ -1106,7 +1107,7 @@ void AnimTask_LoadMistTiles(u8 taskId)
sub_80A6B30(&animBg);
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0);
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimFogTilemap, 0);
LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32);
gTasks[taskId].data[15] = -1;
@ -1124,7 +1125,7 @@ static void AnimTask_OverlayFogTiles(u8 taskId)
{
case 0:
gTasks[taskId].data[9] += 1;
gTasks[taskId].data[11] = gUnknown_08595C88[gTasks[taskId].data[9]];
gTasks[taskId].data[11] = sUnknown_08595C88[gTasks[taskId].data[9]];
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 17 - gTasks[taskId].data[11]));
if (gTasks[taskId].data[11] == 5)
{
@ -1387,11 +1388,11 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId,
s16 battlerX, battlerY;
s16 spriteX;
bool8 possibleBool = FALSE;
s8 unk = gUnknown_08595CB4[hailStructId].unk3;
s8 unk = sHailCoordData[hailStructId].unk3;
if (unk != 2)
{
id = GetBattlerAtPosition(gUnknown_08595CB4[hailStructId].unk2);
id = GetBattlerAtPosition(sHailCoordData[hailStructId].bPosition);
if (IsBattlerSpriteVisible(id))
{
possibleBool = TRUE;
@ -1411,17 +1412,17 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId,
}
else
{
battlerX = (gUnknown_08595CB4[hailStructId].unk0);
battlerY = (gUnknown_08595CB4[hailStructId].unk1);
battlerX = (sHailCoordData[hailStructId].x);
battlerY = (sHailCoordData[hailStructId].y);
}
}
else
{
battlerX = (gUnknown_08595CB4[hailStructId].unk0);
battlerY = (gUnknown_08595CB4[hailStructId].unk1);
battlerX = (sHailCoordData[hailStructId].x);
battlerY = (sHailCoordData[hailStructId].y);
}
spriteX = battlerX - ((battlerY + 8) / 2);
id = CreateSprite(&gUnknown_08595D2C, spriteX, -8, 18);
id = CreateSprite(&gHailParticleSpriteTemplate, spriteX, -8, 18);
if (id == MAX_SPRITES)
{
return FALSE;

View File

@ -35,7 +35,7 @@ static void AnimTask_FlashAnimTagWithColor_Step2(u8);
static void AnimTask_ShakeBattleTerrain_Step(u8);
static void sub_81163D0(struct Sprite *);
const union AnimCmd gUnknown_0859722C[] =
static const union AnimCmd sAnim_ConfusionDuck_0[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(4, 8),
@ -44,7 +44,7 @@ const union AnimCmd gUnknown_0859722C[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd gUnknown_08597240[] =
static const union AnimCmd sAnim_ConfusionDuck_1[] =
{
ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
ANIMCMD_FRAME(4, 8),
@ -53,10 +53,10 @@ const union AnimCmd gUnknown_08597240[] =
ANIMCMD_JUMP(0),
};
static const union AnimCmd *const sAnimTable_ConfusionDuck[] =
static const union AnimCmd *const sAnims_ConfusionDuck[] =
{
gUnknown_0859722C,
gUnknown_08597240,
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 = sAnimTable_ConfusionDuck,
.anims = sAnims_ConfusionDuck,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimConfusionDuck,
@ -92,7 +92,7 @@ const struct SpriteTemplate gComplexPaletteBlendSpriteTemplate =
.callback = AnimComplexPaletteBlend,
};
const union AnimCmd gUnknown_085972A4[] =
static const union AnimCmd gUnknown_085972A4[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@ -102,11 +102,12 @@ const union AnimCmd gUnknown_085972A4[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_085972BC[] =
static const union AnimCmd *const gUnknown_085972BC[] =
{
gUnknown_085972A4,
};
// Unused
const struct SpriteTemplate gUnknown_085972C0 =
{
.tileTag = ANIM_TAG_SPARKLE_4,
@ -129,39 +130,39 @@ const struct SpriteTemplate gShakeMonOrTerrainSpriteTemplate =
.callback = AnimShakeMonOrBattleTerrain,
};
const union AffineAnimCmd gUnknown_085972F0[] =
static const union AffineAnimCmd sAffineAnim_HitSplat_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597300[] =
static const union AffineAnimCmd sAffineAnim_HitSplat_1[] =
{
AFFINEANIMCMD_FRAME(0xD8, 0xD8, 0, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597318[] =
static const union AffineAnimCmd sAffineAnim_HitSplat_2[] =
{
AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597330[] =
static const union AffineAnimCmd sAffineAnim_HitSplat_3[] =
{
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const sAffineAnims_HitSplat[] =
static const union AffineAnimCmd *const sAffineAnims_HitSplat[] =
{
gUnknown_085972F0,
gUnknown_08597300,
gUnknown_08597318,
gUnknown_08597330,
sAffineAnim_HitSplat_0,
sAffineAnim_HitSplat_1,
sAffineAnim_HitSplat_2,
sAffineAnim_HitSplat_3,
};
const struct SpriteTemplate gBasicHitSplatSpriteTemplate =

View File

@ -13,9 +13,7 @@ static void AnimAcidPoisonDroplet(struct Sprite *);
static void AnimBubbleEffect(struct Sprite *);
static void AnimBubbleEffect_Step(struct Sprite *);
extern const union AnimCmd *const gUnknown_08595200[];
const union AnimCmd gUnknown_0859611C[] =
static const union AnimCmd sAnim_ToxicBubble[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(8, 5),
@ -24,9 +22,9 @@ const union AnimCmd gUnknown_0859611C[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08596130[] =
static const union AnimCmd *const sAnims_ToxicBubble[] =
{
gUnknown_0859611C,
sAnim_ToxicBubble,
};
const struct SpriteTemplate gToxicBubbleSpriteTemplate =
@ -34,46 +32,46 @@ const struct SpriteTemplate gToxicBubbleSpriteTemplate =
.tileTag = ANIM_TAG_TOXIC_BUBBLE,
.paletteTag = ANIM_TAG_TOXIC_BUBBLE,
.oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gUnknown_08596130,
.anims = sAnims_ToxicBubble,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSpriteOnMonPos,
};
const union AnimCmd gUnknown_0859614C[] =
static const union AnimCmd sAnim_PoisonProjectile[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596154[] =
static const union AnimCmd sAnim_AcidPoisonDroplet[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_0859615C[] =
static const union AnimCmd sAnim_SludgeBombHit[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08596164[] =
static const union AnimCmd *const sAnims_PoisonProjectile[] =
{
gUnknown_0859614C,
sAnim_PoisonProjectile,
};
const union AnimCmd *const gUnknown_08596168[] =
static const union AnimCmd *const sAnims_AcidPoisonDroplet[] =
{
gUnknown_08596154,
sAnim_AcidPoisonDroplet,
};
const union AnimCmd *const gUnknown_0859616C[] =
static const union AnimCmd *const sAnims_SludgeBombHit[] =
{
gUnknown_0859615C,
sAnim_SludgeBombHit,
};
const union AffineAnimCmd gUnknown_08596170[] =
static const union AffineAnimCmd sAffineAnim_PoisonProjectile[] =
{
AFFINEANIMCMD_FRAME(0x160, 0x160, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10),
@ -81,20 +79,20 @@ const union AffineAnimCmd gUnknown_08596170[] =
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd gUnknown_08596190[] =
static const union AffineAnimCmd sAffineAnim_SludgeBombHit[] =
{
AFFINEANIMCMD_FRAME(0xEC, 0xEC, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085961A0[] =
static const union AffineAnimCmd *const sAffineAnims_PoisonProjectile[] =
{
gUnknown_08596170,
sAffineAnim_PoisonProjectile,
};
const union AffineAnimCmd *const gUnknown_085961A4[] =
static const union AffineAnimCmd *const sAffineAnims_SludgeBombHit[] =
{
gUnknown_08596190,
sAffineAnim_SludgeBombHit,
};
const struct SpriteTemplate gSludgeProjectileSpriteTemplate =
@ -102,9 +100,9 @@ const struct SpriteTemplate gSludgeProjectileSpriteTemplate =
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gUnknown_08596164,
.anims = sAnims_PoisonProjectile,
.images = NULL,
.affineAnims = gUnknown_085961A0,
.affineAnims = sAffineAnims_PoisonProjectile,
.callback = AnimSludgeProjectile,
};
@ -113,9 +111,9 @@ const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate =
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gUnknown_08596164,
.anims = sAnims_PoisonProjectile,
.images = NULL,
.affineAnims = gUnknown_085961A0,
.affineAnims = sAffineAnims_PoisonProjectile,
.callback = AnimAcidPoisonBubble,
};
@ -124,22 +122,22 @@ const struct SpriteTemplate gSludgeBombHitParticleSpriteTemplate =
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gUnknown_0859616C,
.anims = sAnims_SludgeBombHit,
.images = NULL,
.affineAnims = gUnknown_085961A4,
.affineAnims = sAffineAnims_SludgeBombHit,
.callback = AnimSludgeBombHitParticle,
};
const union AffineAnimCmd gUnknown_085961F0[] =
static const union AffineAnimCmd sAffineAnim_AcidPoisonDroplet[] =
{
AFFINEANIMCMD_FRAME(0xFFF0, 0x10, 0, 6),
AFFINEANIMCMD_FRAME(0x10, 0xFFF0, 0, 6),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd *const gUnknown_08596208[] =
const union AffineAnimCmd *const gAffineAnims_Droplet[] =
{
gUnknown_085961F0,
sAffineAnim_AcidPoisonDroplet,
};
const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate =
@ -147,22 +145,22 @@ const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate =
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gUnknown_08596168,
.anims = sAnims_AcidPoisonDroplet,
.images = NULL,
.affineAnims = gUnknown_08596208,
.affineAnims = gAffineAnims_Droplet,
.callback = AnimAcidPoisonDroplet,
};
const union AffineAnimCmd gUnknown_08596224[] =
static const union AffineAnimCmd sAffineAnim_Bubble[] =
{
AFFINEANIMCMD_FRAME(0x9C, 0x9C, 0, 0),
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 20),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_0859623C[] =
static const union AffineAnimCmd *const sAffineAnims_Bubble[] =
{
gUnknown_08596224,
sAffineAnim_Bubble,
};
const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
@ -170,9 +168,9 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gUnknown_08596164,
.anims = sAnims_PoisonProjectile,
.images = NULL,
.affineAnims = gUnknown_0859623C,
.affineAnims = sAffineAnims_Bubble,
.callback = AnimBubbleEffect,
};
@ -181,9 +179,9 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
.anims = gUnknown_08595200,
.anims = gAnims_WaterBubble,
.images = NULL,
.affineAnims = gUnknown_0859623C,
.affineAnims = sAffineAnims_Bubble,
.callback = AnimBubbleEffect,
};

View File

@ -20,7 +20,7 @@ static void AnimQuestionMark(struct Sprite *);
static void AnimQuestionMark_Step1(struct Sprite *);
static void AnimQuestionMark_Step2(struct Sprite *);
static void AnimRedX(struct Sprite *);
static void sub_810FDF0(struct Sprite *);
static void AnimSkillSwapOrb(struct Sprite *);
static void AnimPsychoBoost(struct Sprite *);
static void AnimTask_MeditateStretchAttacker_Step(u8);
static void AnimTask_Teleport_Step(u8);
@ -29,16 +29,16 @@ static void AnimTask_SkillSwap_Step(u8);
static void AnimTask_ExtrasensoryDistortion_Step(u8);
static void AnimTask_TransparentCloneGrowAndShrink_Step(u8);
const union AffineAnimCmd gUnknown_0859652C[] =
static const union AffineAnimCmd sAffineAnim_PsychUpSpiral[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0xFFFE, 0xFFFE, -10, 120),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596544[] =
static const union AffineAnimCmd *const sAffineAnims_PsychUpSpiral[] =
{
gUnknown_0859652C,
sAffineAnim_PsychUpSpiral,
};
const struct SpriteTemplate gPsychUpSpiralSpriteTemplate =
@ -48,7 +48,7 @@ const struct SpriteTemplate gPsychUpSpiralSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596544,
.affineAnims = sAffineAnims_PsychUpSpiral,
.callback = AnimSpriteOnMonPos,
};
@ -107,7 +107,7 @@ const struct SpriteTemplate gMagicCoatWallSpriteTemplate =
.callback = AnimDefensiveWall,
};
const union AnimCmd gUnknown_085965D8[] =
static const union AnimCmd sAnim_ReflectSparkle[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@ -117,9 +117,9 @@ const union AnimCmd gUnknown_085965D8[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_085965F0[] =
static const union AnimCmd *const sAnims_ReflectSparkle[] =
{
gUnknown_085965D8,
sAnim_ReflectSparkle,
};
const struct SpriteTemplate gReflectSparkleSpriteTemplate =
@ -127,13 +127,13 @@ const struct SpriteTemplate gReflectSparkleSpriteTemplate =
.tileTag = ANIM_TAG_SPARKLE_4,
.paletteTag = ANIM_TAG_SPARKLE_4,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085965F0,
.anims = sAnims_ReflectSparkle,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimWallSparkle,
};
const union AnimCmd gUnknown_0859660C[] =
static const union AnimCmd sAnim_SpecialScreenSparkle[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(4, 5),
@ -142,9 +142,9 @@ const union AnimCmd gUnknown_0859660C[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08596620[] =
static const union AnimCmd *const sAnims_SpecialScreenSparkle[] =
{
gUnknown_0859660C,
sAnim_SpecialScreenSparkle,
};
const struct SpriteTemplate gSpecialScreenSparkleSpriteTemplate =
@ -152,7 +152,7 @@ const struct SpriteTemplate gSpecialScreenSparkleSpriteTemplate =
.tileTag = ANIM_TAG_SPARKLE_3,
.paletteTag = ANIM_TAG_SPARKLE_3,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_08596620,
.anims = sAnims_SpecialScreenSparkle,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimWallSparkle,
@ -169,7 +169,7 @@ const struct SpriteTemplate gGoldRingSpriteTemplate =
.callback = TranslateAnimSpriteToTargetMonLocation,
};
const union AnimCmd gUnknown_08596654[] =
static const union AnimCmd sAnim_BentSpoon_0[] =
{
ANIMCMD_FRAME(8, 60, .hFlip = TRUE),
ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
@ -189,7 +189,7 @@ const union AnimCmd gUnknown_08596654[] =
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596694[] =
static const union AnimCmd sAnim_BentSpoon_1[] =
{
ANIMCMD_FRAME(8, 60),
ANIMCMD_FRAME(16, 5),
@ -209,10 +209,10 @@ const union AnimCmd gUnknown_08596694[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_085966D4[] =
static const union AnimCmd *const sAnims_BentSpoon[] =
{
gUnknown_08596654,
gUnknown_08596694,
sAnim_BentSpoon_0,
sAnim_BentSpoon_1,
};
const struct SpriteTemplate gBentSpoonSpriteTemplate =
@ -220,13 +220,13 @@ const struct SpriteTemplate gBentSpoonSpriteTemplate =
.tileTag = ANIM_TAG_BENT_SPOON,
.paletteTag = ANIM_TAG_BENT_SPOON,
.oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gUnknown_085966D4,
.anims = sAnims_BentSpoon,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimBentSpoon,
};
const union AnimCmd gUnknown_085966F4[] =
static const union AnimCmd sAnim_QuestionMark[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(16, 6),
@ -238,12 +238,12 @@ const union AnimCmd gUnknown_085966F4[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08596714[] =
static const union AnimCmd *const sAnims_QuestionMark[] =
{
gUnknown_085966F4,
sAnim_QuestionMark,
};
const union AffineAnimCmd gUnknown_08596718[] =
static const union AffineAnimCmd sAffineAnim_QuestionMark[] =
{
AFFINEANIMCMD_FRAME(0, 0, 4, 4),
AFFINEANIMCMD_FRAME(0, 0, -4, 8),
@ -252,23 +252,23 @@ const union AffineAnimCmd gUnknown_08596718[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596740[] =
static const union AffineAnimCmd *const sAffineAnims_QuestionMark[] =
{
gUnknown_08596718,
sAffineAnim_QuestionMark,
};
const struct SpriteTemplate gAmnesiaQuestionMarkSpriteTemplate =
const struct SpriteTemplate gQuestionMarkSpriteTemplate =
{
.tileTag = ANIM_TAG_AMNESIA,
.paletteTag = ANIM_TAG_AMNESIA,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596714,
.anims = sAnims_QuestionMark,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimQuestionMark,
};
const union AffineAnimCmd gUnknown_0859675C[] =
static const union AffineAnimCmd sAffineAnim_MeditateStretchAttacker[] =
{
AFFINEANIMCMD_FRAME(-8, 10, 0, 16),
AFFINEANIMCMD_FRAME(18, -18, 0, 16),
@ -276,14 +276,14 @@ const union AffineAnimCmd gUnknown_0859675C[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_0859677C[] =
static const union AffineAnimCmd sAffineAnim_Teleport[] =
{
AFFINEANIMCMD_FRAME(64, -4, 0, 20),
AFFINEANIMCMD_FRAME(0, 0, 0, -56),
AFFINEANIMCMD_END,
};
const struct SpriteTemplate gUnknown_08596794 =
const struct SpriteTemplate gImprisonOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_HOLLOW_ORB,
.paletteTag = ANIM_TAG_HOLLOW_ORB,
@ -305,14 +305,14 @@ const struct SpriteTemplate gRedXSpriteTemplate =
.callback = AnimRedX,
};
const union AffineAnimCmd gUnknown_085967C4[] =
static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_0[] =
{
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 8),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd gUnknown_085967DC[] =
static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_1[] =
{
AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 6),
@ -321,7 +321,7 @@ const union AffineAnimCmd gUnknown_085967DC[] =
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd gUnknown_08596804[] =
static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_2[] =
{
AFFINEANIMCMD_FRAME(0xD0, 0xD0, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 4),
@ -330,7 +330,7 @@ const union AffineAnimCmd gUnknown_08596804[] =
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd gUnknown_0859682C[] =
static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_3[] =
{
AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 2),
@ -339,35 +339,35 @@ const union AffineAnimCmd gUnknown_0859682C[] =
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd *const gUnknown_08596854[] =
static const union AffineAnimCmd *const sAffineAnims_SkillSwapOrb[] =
{
gUnknown_085967C4,
gUnknown_085967DC,
gUnknown_08596804,
gUnknown_0859682C,
sAffineAnim_SkillSwapOrb_0,
sAffineAnim_SkillSwapOrb_1,
sAffineAnim_SkillSwapOrb_2,
sAffineAnim_SkillSwapOrb_3,
};
const struct SpriteTemplate gUnknown_08596864 =
const struct SpriteTemplate gSkillSwapOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUEGREEN_ORB,
.paletteTag = ANIM_TAG_BLUEGREEN_ORB,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596854,
.callback = sub_810FDF0,
.affineAnims = sAffineAnims_SkillSwapOrb,
.callback = AnimSkillSwapOrb,
};
const union AffineAnimCmd gUnknown_0859687C[] =
static const union AffineAnimCmd sAffineAnim_LusterPurgeCircle[] =
{
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 120),
AFFINEANIMCMD_END_ALT(1),
};
const union AffineAnimCmd *const gUnknown_08596894[] =
static const union AffineAnimCmd *const sAffineAnims_LusterPurgeCircle[] =
{
gUnknown_0859687C,
sAffineAnim_LusterPurgeCircle,
};
const struct SpriteTemplate gLusterPurgeCircleSpriteTemplate =
@ -377,11 +377,11 @@ const struct SpriteTemplate gLusterPurgeCircleSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596894,
.affineAnims = sAffineAnims_LusterPurgeCircle,
.callback = AnimSpriteOnMonPos,
};
const union AffineAnimCmd gUnknown_085968B0[] =
static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_0[] =
{
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 17),
@ -396,16 +396,16 @@ const union AffineAnimCmd gUnknown_085968B0[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596908[] =
static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_1[] =
{
AFFINEANIMCMD_FRAME(0xFFEC, 0x18, 0, 15),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596918[] =
static const union AffineAnimCmd *const sAffineAnims_PsychoBoostOrb[] =
{
gUnknown_085968B0,
gUnknown_08596908,
sAffineAnim_PsychoBoostOrb_0,
sAffineAnim_PsychoBoostOrb_1,
};
const struct SpriteTemplate gPsychoBoostOrbSpriteTemplate =
@ -415,7 +415,7 @@ const struct SpriteTemplate gPsychoBoostOrbSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596918,
.affineAnims = sAffineAnims_PsychoBoostOrb,
.callback = AnimPsychoBoost,
};
@ -641,6 +641,7 @@ static void AnimBentSpoon(struct Sprite *sprite)
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
// Used by Amnesia
static void AnimQuestionMark(struct Sprite *sprite)
{
s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2;
@ -662,7 +663,7 @@ static void AnimQuestionMark(struct Sprite *sprite)
static void AnimQuestionMark_Step1(struct Sprite *sprite)
{
sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL;
sprite->affineAnims = gUnknown_08596740;
sprite->affineAnims = sAffineAnims_QuestionMark;
sprite->data[0] = 0;
InitSpriteAffineAnim(sprite);
sprite->callback = AnimQuestionMark_Step2;
@ -693,7 +694,7 @@ void AnimTask_MeditateStretchAttacker(u8 taskId)
struct Task *task = &gTasks[taskId];
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[0] = spriteId;
PrepareAffineAnimInTaskData(task, spriteId, gUnknown_0859675C);
PrepareAffineAnimInTaskData(task, spriteId, sAffineAnim_MeditateStretchAttacker);
task->func = AnimTask_MeditateStretchAttacker_Step;
}
@ -712,7 +713,7 @@ void AnimTask_Teleport(u8 taskId)
task->data[2] = 0;
task->data[3] = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 4 : 8;
PrepareAffineAnimInTaskData(task, task->data[0], gUnknown_0859677C);
PrepareAffineAnimInTaskData(task, task->data[0], sAffineAnim_Teleport);
task->func = AnimTask_Teleport_Step;
}
@ -777,7 +778,7 @@ static void AnimTask_ImprisonOrbs_Step(u8 taskId)
if (++task->data[1] > 8)
{
task->data[1] = 0;
spriteId = CreateSprite(&gUnknown_08596794, task->data[13], task->data[14], 0);
spriteId = CreateSprite(&gImprisonOrbSpriteTemplate, task->data[13], task->data[14], 0);
task->data[task->data[2] + 8] = spriteId;
if (spriteId != MAX_SPRITES)
{
@ -916,7 +917,7 @@ static void AnimTask_SkillSwap_Step(u8 taskId)
if (++task->data[1] > 6)
{
task->data[1] = 0;
spriteId = CreateSprite(&gUnknown_08596864, task->data[11], task->data[12], 0);
spriteId = CreateSprite(&gSkillSwapOrbSpriteTemplate, task->data[11], task->data[12], 0);
if (spriteId != 64)
{
gSprites[spriteId].data[0] = 16;
@ -939,7 +940,7 @@ static void AnimTask_SkillSwap_Step(u8 taskId)
}
}
static void sub_810FDF0(struct Sprite *sprite)
static void AnimSkillSwapOrb(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
{

View File

@ -9,13 +9,10 @@
#include "constants/rgb.h"
#include "constants/songs.h"
extern const union AnimCmd *const gUnknown_085950E0[];
extern const union AnimCmd *const gUnknown_085954D0[];
static void AnimFallingRock(struct Sprite *);
static void AnimFallingRock_Step(struct Sprite *);
static void AnimRockFragment(struct Sprite *);
static void AnimDirtParticleAcrossScreen(struct Sprite *);
static void AnimFlyingSandCrescent(struct Sprite *);
static void AnimRaiseSprite(struct Sprite *);
static void AnimTask_Rollout_Step(u8 taskId);
static void AnimRolloutParticle(struct Sprite *);
@ -30,29 +27,29 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId);
static void sub_8111214(struct Task *task);
static u8 GetRolloutCounter(void);
const union AnimCmd gUnknown_08596AE0[] =
static const union AnimCmd sAnim_FlyingRock_0[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596AE8[] =
static const union AnimCmd sAnim_FlyingRock_1[] =
{
ANIMCMD_FRAME(48, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596AF0[] =
static const union AnimCmd sAnim_FlyingRock_2[] =
{
ANIMCMD_FRAME(64, 1),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08596AF8[] =
static const union AnimCmd *const sAnims_FlyingRock[] =
{
gUnknown_08596AE0,
gUnknown_08596AE8,
gUnknown_08596AF0,
sAnim_FlyingRock_0,
sAnim_FlyingRock_1,
sAnim_FlyingRock_2,
};
const struct SpriteTemplate gFallingRockSpriteTemplate =
@ -60,7 +57,7 @@ const struct SpriteTemplate gFallingRockSpriteTemplate =
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596AF8,
.anims = sAnims_FlyingRock,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFallingRock,
@ -71,7 +68,7 @@ const struct SpriteTemplate gRockFragmentSpriteTemplate =
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596AF8,
.anims = sAnims_FlyingRock,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimRockFragment,
@ -88,7 +85,7 @@ const struct SpriteTemplate gSwirlingDirtSpriteTemplate =
.callback = AnimParticleInVortex,
};
const union AffineAnimCmd gUnknown_08596B4C[] =
static const union AffineAnimCmd sAffineAnim_Whirlpool[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0),
AFFINEANIMCMD_FRAME(0x2, 0xFFFD, 0, 5),
@ -96,9 +93,9 @@ const union AffineAnimCmd gUnknown_08596B4C[] =
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd *const gUnknown_08596B6C[] =
static const union AffineAnimCmd *const sAffineAnims_Whirlpool[] =
{
gUnknown_08596B4C,
sAffineAnim_Whirlpool,
};
const struct SpriteTemplate gWhirlpoolSpriteTemplate =
@ -106,9 +103,9 @@ const struct SpriteTemplate gWhirlpoolSpriteTemplate =
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.anims = gAnims_WaterMudOrb,
.images = NULL,
.affineAnims = gUnknown_08596B6C,
.affineAnims = sAffineAnims_Whirlpool,
.callback = AnimParticleInVortex,
};
@ -117,7 +114,7 @@ const struct SpriteTemplate gFireSpinSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.anims = gAnims_BasicFire,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimParticleInVortex,
@ -131,72 +128,72 @@ const struct SpriteTemplate gFlyingSandCrescentSpriteTemplate =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimDirtParticleAcrossScreen,
.callback = AnimFlyingSandCrescent,
};
const struct Subsprite gUnknown_08596BB8[] =
static const struct Subsprite sFlyingSandSubsprites[] =
{
{.x = -16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 0, .priority = 1},
{.x = 16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 8, .priority = 1},
};
const struct SubspriteTable gUnknown_08596BC0[] =
static const struct SubspriteTable sFlyingSandSubspriteTable[] =
{
{ARRAY_COUNT(gUnknown_08596BB8), gUnknown_08596BB8},
{ARRAY_COUNT(sFlyingSandSubsprites), sFlyingSandSubsprites},
};
const union AnimCmd gUnknown_08596BC8[] =
static const union AnimCmd sAnim_BasicRock_0[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596BD0[] =
static const union AnimCmd sAnim_BasicRock_1[] =
{
ANIMCMD_FRAME(16, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596BD8[] =
static const union AnimCmd sAnim_WeatherBallRockDown_0[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596BE0[] =
static const union AnimCmd sAnim_WeatherBallRockDown_1[] =
{
ANIMCMD_FRAME(48, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596BE8[] =
static const union AnimCmd sAnim_TwisterRock_0[] =
{
ANIMCMD_FRAME(64, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08596BF0[] =
static const union AnimCmd sAnim_TwisterRock_1[] =
{
ANIMCMD_FRAME(80, 1),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08596BF8[] =
static const union AnimCmd *const sAnims_BasicRock[] =
{
gUnknown_08596BC8,
gUnknown_08596BD0,
sAnim_BasicRock_0,
sAnim_BasicRock_1,
};
const union AnimCmd *const gUnknown_08596C00[] =
static const union AnimCmd *const sAnims_WeatherBallRockDown[] =
{
gUnknown_08596BD8,
gUnknown_08596BE0,
sAnim_WeatherBallRockDown_0,
sAnim_WeatherBallRockDown_1,
};
const union AnimCmd *const gUnknown_08596C08[] =
static const union AnimCmd *const sAnims_TwisterRock[] =
{
gUnknown_08596BE8,
gUnknown_08596BF0,
sAnim_TwisterRock_0,
sAnim_TwisterRock_1,
};
const struct SpriteTemplate gAncientPowerRockSpriteTemplate =
@ -204,7 +201,7 @@ const struct SpriteTemplate gAncientPowerRockSpriteTemplate =
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596BF8,
.anims = sAnims_BasicRock,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimRaiseSprite,
@ -237,28 +234,28 @@ const struct SpriteTemplate gRockTombRockSpriteTemplate =
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596BF8,
.anims = sAnims_BasicRock,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimRockTomb,
};
const union AffineAnimCmd gUnknown_08596C70[] =
static const union AffineAnimCmd sAffineAnim_BasicRock_0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -5, 5),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd gUnknown_08596C80[] =
static const union AffineAnimCmd sAffineAnim_BasicRock_1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 5, 5),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd *const gUnknown_08596C90[] =
static const union AffineAnimCmd *const sAffineAnims_BasicRock[] =
{
gUnknown_08596C70,
gUnknown_08596C80,
sAffineAnim_BasicRock_0,
sAffineAnim_BasicRock_1,
};
const struct SpriteTemplate gRockBlastRockSpriteTemplate =
@ -266,9 +263,9 @@ const struct SpriteTemplate gRockBlastRockSpriteTemplate =
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_08596BF8,
.anims = sAnims_BasicRock,
.images = NULL,
.affineAnims = gUnknown_08596C90,
.affineAnims = sAffineAnims_BasicRock,
.callback = AnimRockBlastRock,
};
@ -277,20 +274,20 @@ const struct SpriteTemplate gRockScatterSpriteTemplate =
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_08596BF8,
.anims = sAnims_BasicRock,
.images = NULL,
.affineAnims = gUnknown_08596C90,
.affineAnims = sAffineAnims_BasicRock,
.callback = AnimRockScatter,
};
const struct SpriteTemplate gTwisterRockParticleSpriteTemplate =
const struct SpriteTemplate gTwisterRockSpriteTemplate =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596C08,
.anims = sAnims_TwisterRock,
.images = NULL,
.affineAnims = gUnknown_08596C90,
.affineAnims = sAffineAnims_BasicRock,
.callback = AnimMoveTwisterParticle,
};
@ -299,9 +296,9 @@ const struct SpriteTemplate gWeatherBallRockDownSpriteTemplate =
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_08596C00,
.anims = sAnims_WeatherBallRockDown,
.images = NULL,
.affineAnims = gUnknown_08596C90,
.affineAnims = sAffineAnims_BasicRock,
.callback = AnimWeatherBallDown,
};
@ -419,8 +416,8 @@ void AnimTask_LoadSandstormBackground(u8 taskId)
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80A6B30(&animBg);
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08D8D58C, animBg.tilesOffset);
sub_80A6D60(&animBg, gUnknown_08D8D410, 0);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Sandstorm, animBg.tilesOffset);
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_Sandstorm, 0);
LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32);
if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@ -501,7 +498,7 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId)
// arg 1: projectile speed
// arg 2: y pixel drop
// arg 3: ??? unknown (possibly a color bit)
static void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
static void AnimFlyingSandCrescent(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@ -518,7 +515,7 @@ static void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
}
sprite->pos1.y = gBattleAnimArgs[0];
SetSubspriteTables(sprite, gUnknown_08596BC0);
SetSubspriteTables(sprite, sFlyingSandSubspriteTable);
sprite->data[1] = gBattleAnimArgs[1];
sprite->data[2] = gBattleAnimArgs[2];
sprite->data[0]++;

View File

@ -13,12 +13,12 @@
#include "constants/battle.h"
#include "constants/rgb.h"
static void sub_810721C(struct Sprite *);
static void sub_8107228(struct Sprite *);
static void AnimMovingWaterBubble(struct Sprite *);
static void AnimMovingWaterBubble_Step1(struct Sprite *);
static void AnimMovingWaterBubble_Step2(struct Sprite *);
static void AnimMovingWaterBubble_Step3(struct Sprite *);
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 *);
@ -31,38 +31,34 @@ static void AnimSmallBubblePair(struct Sprite *);
static void AnimSmallBubblePair_Step(struct Sprite *);
static void AnimSmallDriftingBubbles(struct Sprite *);
static void AnimSmallDriftingBubbles_Step(struct Sprite *);
static void sub_810851C(struct Sprite *);
static void sub_81087C0(struct Sprite *);
static void sub_810886C(struct Sprite *);
static void sub_8108B2C(struct Sprite *);
static void sub_8108B94(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 sub_8108C54(struct Sprite *);
static void AnimWaterPulseRingBubble(struct Sprite *);
static void AnimWaterPulseRing_Step(struct Sprite *);
static void sub_810756C(u8);
static void AnimTask_RotateAuroraRingColors_Step(u8);
static void AnimTask_RunSinAnimTimer(u8);
static void sub_8107B84(u8);
static void sub_8107CC4(u8);
static void sub_8107D58(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 void sub_8108978(u8);
static u8 sub_8108384(void);
static void sub_8108408(struct Task*, u8);
static void sub_810871C(struct Task*, u8);
static void sub_8108AC0(struct Task*);
static void sub_8108D54(struct Sprite*, int, int);
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);
extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[];
extern const union AffineAnimCmd *const gUnknown_08596208[];
extern const union AnimCmd *const gUnknown_08595AB8[];
// what is this?
// Both unused
const u8 gUnknown_8593C80[] = INCBIN_U8("graphics/unknown/unknown_593C80.4bpp");
const u8 gUnknown_8593FFC[] = INCBIN_U8("graphics/unknown/unknown_593FFC.bin");
const union AnimCmd gUnknown_08594FFC[] =
static const union AnimCmd sAnim_RainDrop[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(8, 2),
@ -74,35 +70,35 @@ const union AnimCmd gUnknown_08594FFC[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_0859501C[] =
static const union AnimCmd *const sAnims_RainDrop[] =
{
gUnknown_08594FFC,
sAnim_RainDrop,
};
const struct SpriteTemplate gUnknown_08595020 =
const struct SpriteTemplate gRainDropSpriteTemplate =
{
.tileTag = ANIM_TAG_RAIN_DROPS,
.paletteTag = ANIM_TAG_RAIN_DROPS,
.oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gUnknown_0859501C,
.anims = sAnims_RainDrop,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810721C,
.callback = AnimRainDrop,
};
const union AffineAnimCmd gUnknown_08595038[] =
static const union AffineAnimCmd sAffineAnim_WaterBubbleProjectile[] =
{
AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 10),
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
AFFINEANIMCMD_JUMP(0),
};
const union AffineAnimCmd *const gUnknown_08595050[] =
static const union AffineAnimCmd *const sAffineAnims_WaterBubbleProjectile[] =
{
gUnknown_08595038,
sAffineAnim_WaterBubbleProjectile,
};
const union AnimCmd gUnknown_08595054[] =
static const union AnimCmd sAnim_WaterBubbleProjectile[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(4, 5),
@ -110,50 +106,50 @@ const union AnimCmd gUnknown_08595054[] =
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08595064[] =
static const union AnimCmd *const sAnims_WaterBubbleProjectile[] =
{
gUnknown_08595054,
sAnim_WaterBubbleProjectile,
};
const struct SpriteTemplate gMovingWaterBubbleSpriteTemplate =
const struct SpriteTemplate gWaterBubbleProjectileSpriteTemplate =
{
.tileTag = ANIM_TAG_BUBBLE,
.paletteTag = ANIM_TAG_BUBBLE,
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
.anims = gUnknown_08595064,
.anims = sAnims_WaterBubbleProjectile,
.images = NULL,
.affineAnims = gUnknown_08595050,
.callback = AnimMovingWaterBubble,
.affineAnims = sAffineAnims_WaterBubbleProjectile,
.callback = AnimWaterBubbleProjectile,
};
const union AnimCmd gUnknown_08595080[] =
static const union AnimCmd sAnim_AuroraBeamRing_0[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595088[] =
static const union AnimCmd sAnim_AuroraBeamRing_1[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08595090[] =
static const union AnimCmd *const sAnims_AuroraBeamRing[] =
{
gUnknown_08595080,
gUnknown_08595088,
sAnim_AuroraBeamRing_0,
sAnim_AuroraBeamRing_1,
};
const union AffineAnimCmd gUnknown_08595098[] =
static const union AffineAnimCmd sAffineAnim_AuroraBeamRing[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
AFFINEANIMCMD_FRAME(0x60, 0x60, 0, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085950B0[] =
static const union AffineAnimCmd *const sAffineAnims_AuroraBeamRing[] =
{
gUnknown_08595098,
sAffineAnim_AuroraBeamRing,
};
const struct SpriteTemplate gAuroraBeamRingSpriteTemplate =
@ -161,13 +157,13 @@ const struct SpriteTemplate gAuroraBeamRingSpriteTemplate =
.tileTag = ANIM_TAG_RAINBOW_RINGS,
.paletteTag = ANIM_TAG_RAINBOW_RINGS,
.oam = &gOamData_AffineDouble_ObjNormal_8x16,
.anims = gUnknown_08595090,
.anims = sAnims_AuroraBeamRing,
.images = NULL,
.affineAnims = gUnknown_085950B0,
.affineAnims = sAffineAnims_AuroraBeamRing,
.callback = AnimAuroraBeamRings,
};
const union AnimCmd gUnknown_085950CC[] =
static const union AnimCmd sAnim_WaterMudOrb[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(4, 1),
@ -176,9 +172,9 @@ const union AnimCmd gUnknown_085950CC[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_085950E0[] =
const union AnimCmd *const gAnims_WaterMudOrb[] =
{
gUnknown_085950CC,
sAnim_WaterMudOrb,
};
const struct SpriteTemplate gHydroPumpOrbSpriteTemplate =
@ -186,7 +182,7 @@ const struct SpriteTemplate gHydroPumpOrbSpriteTemplate =
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
.oam = &gOamData_AffineOff_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.anims = gAnims_WaterMudOrb,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimToTargetInSinWave,
@ -197,7 +193,7 @@ const struct SpriteTemplate gMudShotOrbSpriteTemplate =
.tileTag = ANIM_TAG_BROWN_ORB,
.paletteTag = ANIM_TAG_BROWN_ORB,
.oam = &gOamData_AffineOff_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.anims = gAnims_WaterMudOrb,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimToTargetInSinWave,
@ -225,7 +221,7 @@ const struct SpriteTemplate gSignalBeamGreenOrbSpriteTemplate =
.callback = AnimToTargetInSinWave,
};
const union AnimCmd gUnknown_08595144[] =
static const union AnimCmd sAnim_FlamethrowerFlame[] =
{
ANIMCMD_FRAME(16, 2),
ANIMCMD_FRAME(32, 2),
@ -233,9 +229,9 @@ const union AnimCmd gUnknown_08595144[] =
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gUnknown_08595154[] =
static const union AnimCmd *const sAnims_FlamethrowerFlame[] =
{
gUnknown_08595144,
sAnim_FlamethrowerFlame,
};
const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate =
@ -243,7 +239,7 @@ const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595154,
.anims = sAnims_FlamethrowerFlame,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimToTargetInSinWave,
@ -260,7 +256,7 @@ const struct SpriteTemplate gPsywaveRingSpriteTemplate =
.callback = AnimToTargetInSinWave,
};
const union AffineAnimCmd gUnknown_08595188[] =
static const union AffineAnimCmd sAffineAnim_HydroCannonCharge[] =
{
AFFINEANIMCMD_FRAME(0x3, 0x3, 10, 50),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 10),
@ -268,20 +264,20 @@ const union AffineAnimCmd gUnknown_08595188[] =
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_085951A8[] =
static const union AffineAnimCmd sAffineAnim_HydroCannonBeam[] =
{
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085951B8[] =
static const union AffineAnimCmd *const sAffineAnims_HydroCannonCharge[] =
{
gUnknown_08595188,
sAffineAnim_HydroCannonCharge,
};
const union AffineAnimCmd *const gUnknown_085951BC[] =
static const union AffineAnimCmd *const sAffineAnims_HydroCannonBeam[] =
{
gUnknown_085951A8,
sAffineAnim_HydroCannonBeam,
};
const struct SpriteTemplate gHydroCannonChargeSpriteTemplate =
@ -289,9 +285,9 @@ const struct SpriteTemplate gHydroCannonChargeSpriteTemplate =
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
.oam = &gOamData_AffineDouble_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.anims = gAnims_WaterMudOrb,
.images = NULL,
.affineAnims = gUnknown_085951B8,
.affineAnims = sAffineAnims_HydroCannonCharge,
.callback = AnimHydroCannonCharge,
};
@ -300,32 +296,32 @@ const struct SpriteTemplate gHydroCannonBeamSpriteTemplate =
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
.oam = &gOamData_AffineDouble_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.anims = gAnims_WaterMudOrb,
.images = NULL,
.affineAnims = gUnknown_085951BC,
.affineAnims = sAffineAnims_HydroCannonBeam,
.callback = AnimHydroCannonBeam,
};
const union AnimCmd gUnknown_085951F0[] =
static const union AnimCmd sAnim_WaterBubble[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_085951F8[] =
static const union AnimCmd sAnim_WaterGunDroplet[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08595200[] =
const union AnimCmd *const gAnims_WaterBubble[] =
{
gUnknown_085951F0,
sAnim_WaterBubble,
};
const union AnimCmd *const gUnknown_08595204[] =
static const union AnimCmd *const sAnims_WaterGunDroplet[] =
{
gUnknown_085951F8,
sAnim_WaterGunDroplet,
};
const struct SpriteTemplate gWaterGunProjectileSpriteTemplate =
@ -333,7 +329,7 @@ const struct SpriteTemplate gWaterGunProjectileSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
.oam = &gOamData_AffineOff_ObjBlend_16x16,
.anims = gUnknown_08595200,
.anims = gAnims_WaterBubble,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimThrowProjectile,
@ -344,18 +340,18 @@ const struct SpriteTemplate gWaterGunDropletSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
.oam = &gOamData_AffineDouble_ObjBlend_16x16,
.anims = gUnknown_08595204,
.anims = sAnims_WaterGunDroplet,
.images = NULL,
.affineAnims = gUnknown_08596208,
.affineAnims = gAffineAnims_Droplet,
.callback = AnimWaterGunDroplet,
};
const struct SpriteTemplate gSmallBubblePairSpriteTemplate =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS, // Little confusing. ice_crystals_4, which are basically bubbles. TODO: rename?
.tileTag = ANIM_TAG_ICE_CRYSTALS, // ice_crystals_4, which are bubbles
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595AB8,
.anims = gAnims_SmallBubblePair,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSmallBubblePair,
@ -372,7 +368,8 @@ const struct SpriteTemplate gSmallDriftingBubblesSpriteTemplate =
.callback = AnimSmallDriftingBubbles,
};
const struct SpriteTemplate gUnknown_08595268 =
// Used by Water Spout / Water Sport
const struct SpriteTemplate gSmallWaterOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_GLOWY_BLUE_ORB,
.paletteTag = ANIM_TAG_GLOWY_BLUE_ORB,
@ -380,68 +377,68 @@ const struct SpriteTemplate gUnknown_08595268 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_810851C,
.callback = AnimSmallWaterOrb,
};
const union AnimCmd gUnknown_08595280[] =
static const union AnimCmd sAnim_WaterPulseBubble_0[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595288[] =
static const union AnimCmd sAnim_WaterPulseBubble_1[] =
{
ANIMCMD_FRAME(9, 1),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08595290[] =
static const union AnimCmd sAnim_WeatherBallWaterDown[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08595298[] =
static const union AnimCmd *const sAnims_WaterPulseBubble[] =
{
gUnknown_08595280,
gUnknown_08595288,
sAnim_WaterPulseBubble_0,
sAnim_WaterPulseBubble_1,
};
const union AnimCmd *const gUnknown_085952A0[] =
static const union AnimCmd *const sAnims_WeatherBallWaterDown[] =
{
gUnknown_08595290,
sAnim_WeatherBallWaterDown,
};
const union AffineAnimCmd gUnknown_085952A4[] =
static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_0[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 15),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_085952BC[] =
static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_1[] =
{
AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 15),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_085952D4[] =
static const union AffineAnimCmd sAffineAnim_WeatherBallWaterDown[] =
{
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085952EC[] =
static const union AffineAnimCmd *const sAffineAnims_WaterPulseRingBubble[] =
{
gUnknown_085952A4,
gUnknown_085952BC,
sAffineAnim_WaterPulseRingBubble_0,
sAffineAnim_WaterPulseRingBubble_1,
};
const union AffineAnimCmd *const gUnknown_085952F4[] =
static const union AffineAnimCmd *const sAffineAnims_WeatherBallWaterDown[] =
{
gUnknown_085952D4,
sAffineAnim_WeatherBallWaterDown,
};
const struct SpriteTemplate gWaterPulseBubbleSpriteTemplate =
@ -449,21 +446,21 @@ const struct SpriteTemplate gWaterPulseBubbleSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595298,
.anims = sAnims_WaterPulseBubble,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimWaterPulseBubble,
};
const struct SpriteTemplate gUnknown_08595310 =
const struct SpriteTemplate gWaterPulseRingBubbleSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
.oam = &gOamData_AffineNormal_ObjNormal_8x8,
.anims = gUnknown_08595298,
.anims = sAnims_WaterPulseBubble,
.images = NULL,
.affineAnims = gUnknown_085952EC,
.callback = sub_8108C54,
.affineAnims = sAffineAnims_WaterPulseRingBubble,
.callback = AnimWaterPulseRingBubble,
};
const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate =
@ -471,14 +468,12 @@ const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate =
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gUnknown_085952A0,
.anims = sAnims_WeatherBallWaterDown,
.images = NULL,
.affineAnims = gUnknown_085952F4,
.affineAnims = sAffineAnims_WeatherBallWaterDown,
.callback = AnimWeatherBallDown,
};
extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate;
void AnimTask_CreateRaindrops(u8 taskId)
{
u8 x, y;
@ -494,18 +489,18 @@ void AnimTask_CreateRaindrops(u8 taskId)
{
x = Random2() % 240;
y = Random2() % 80;
CreateSprite(&gUnknown_08595020, x, y, 4);
CreateSprite(&gRainDropSpriteTemplate, x, y, 4);
}
if (gTasks[taskId].data[0] == gTasks[taskId].data[3])
DestroyAnimVisualTask(taskId);
}
static void sub_810721C(struct Sprite *sprite)
static void AnimRainDrop(struct Sprite *sprite)
{
sprite->callback = sub_8107228;
sprite->callback = AnimRainDrop_Step;
}
static void sub_8107228(struct Sprite *sprite)
static void AnimRainDrop_Step(struct Sprite *sprite)
{
if (++sprite->data[0] <= 13)
{
@ -517,7 +512,7 @@ static void sub_8107228(struct Sprite *sprite)
}
// For water bubbles that move to a dest, as in Bubble/Bubblebeam
static void AnimMovingWaterBubble(struct Sprite *sprite)
static void AnimWaterBubbleProjectile(struct Sprite *sprite)
{
u8 spriteId;
@ -550,11 +545,11 @@ static void AnimMovingWaterBubble(struct Sprite *sprite)
gSprites[spriteId].data[2] = gBattleAnimArgs[5];
gSprites[spriteId].data[3] = (u8)gBattleAnimArgs[4] * 256;
gSprites[spriteId].data[4] = gBattleAnimArgs[6];
sprite->callback = AnimMovingWaterBubble_Step1;
sprite->callback = AnimWaterBubbleProjectile_Step1;
sprite->callback(sprite);
}
static void AnimMovingWaterBubble_Step1(struct Sprite *sprite)
static void AnimWaterBubbleProjectile_Step1(struct Sprite *sprite)
{
u8 otherSpriteId = sprite->data[5];
u8 timer = gSprites[otherSpriteId].data[4];
@ -571,19 +566,19 @@ static void AnimMovingWaterBubble_Step1(struct Sprite *sprite)
}
else
{
sprite->callback = AnimMovingWaterBubble_Step2;
sprite->callback = AnimWaterBubbleProjectile_Step2;
DestroySprite(&gSprites[otherSpriteId]);
}
}
static void AnimMovingWaterBubble_Step2(struct Sprite *sprite)
static void AnimWaterBubbleProjectile_Step2(struct Sprite *sprite)
{
sprite->animPaused = FALSE;
sprite->callback = RunStoredCallbackWhenAnimEnds;
StoreSpriteCallbackInData6(sprite, AnimMovingWaterBubble_Step3);
StoreSpriteCallbackInData6(sprite, AnimWaterBubbleProjectile_Step3);
}
static void AnimMovingWaterBubble_Step3(struct Sprite *sprite)
static void AnimWaterBubbleProjectile_Step3(struct Sprite *sprite)
{
sprite->data[0] = 10;
sprite->callback = WaitAnimForDuration;
@ -626,11 +621,11 @@ 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 = sub_810756C;
gTasks[taskId].func = AnimTask_RotateAuroraRingColors_Step;
}
#ifdef NONMATCHING
static void sub_810756C(u8 taskId)
static void AnimTask_RotateAuroraRingColors_Step(u8 taskId)
{
int i;
u16 palIndex;
@ -654,7 +649,7 @@ static void sub_810756C(u8 taskId)
}
#else
NAKED
static void sub_810756C(u8 taskId)
static void AnimTask_RotateAuroraRingColors_Step(u8 taskId)
{
asm_unified("push {r4-r7,lr}\n\
lsls r0, 24\n\
@ -891,20 +886,20 @@ void AnimTask_CreateSurfWave(u8 taskId)
{
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_08D95E00);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfOpponent);
else
AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_08D960D0);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfPlayer);
}
else
{
sub_80A6D60(&animBg, gUnknown_08D963A4, 1);
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_SurfContest, 1);
}
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset);
if (gBattleAnimArgs[0] == 0)
LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32);
else
LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32);
taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1);
taskId2 = CreateTask(AnimTask_SurfWaveScanlineEffect, gTasks[taskId].priority + 1);
gTasks[taskId].data[15] = taskId2;
gTasks[taskId2].data[0] = 0;
gTasks[taskId2].data[1] = 0x1000;
@ -946,7 +941,7 @@ void AnimTask_CreateSurfWave(u8 taskId)
gTasks[taskId2].data[5] = 0;
}
gTasks[taskId].data[6] = 1;
gTasks[taskId].func = sub_8107B84;
gTasks[taskId].func = AnimTask_CreateSurfWave_Step1;
}
#else
NAKED
@ -995,22 +990,22 @@ void AnimTask_CreateSurfWave(u8 taskId)
bne _081079D0\n\
mov r0, sp\n\
ldrb r0, [r0, 0x9]\n\
ldr r1, =gUnknown_08D95E00\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, =gUnknown_08D960D0\n\
ldr r1, =gBattleAnimBgTilemap_SurfPlayer\n\
bl AnimLoadCompressedBgTilemap\n\
b _081079EA\n\
.pool\n\
_081079E0:\n\
ldr r1, =gUnknown_08D963A4\n\
ldr r1, =gBattleAnimBgTilemap_SurfContest\n\
mov r0, sp\n\
movs r2, 0x1\n\
bl sub_80A6D60\n\
bl AnimLoadCompressedBgTilemapHandleContest\n\
_081079EA:\n\
mov r0, sp\n\
ldrb r0, [r0, 0x9]\n\
@ -1039,7 +1034,7 @@ _08107A24:\n\
movs r2, 0x20\n\
bl LoadCompressedPalette\n\
_08107A32:\n\
ldr r0, =sub_8107D58\n\
ldr r0, =AnimTask_SurfWaveScanlineEffect\n\
ldr r4, =gTasks\n\
mov r2, r10\n\
lsls r5, r2, 2\n\
@ -1162,7 +1157,7 @@ _08107B58:\n\
adds r0, r1\n\
movs r1, 0x1\n\
strh r1, [r0, 0x14]\n\
ldr r1, =sub_8107B84\n\
ldr r1, =AnimTask_CreateSurfWave_Step1\n\
str r1, [r0]\n\
add sp, 0x10\n\
pop {r3-r5}\n\
@ -1177,7 +1172,7 @@ _08107B58:\n\
#endif
#ifdef NONMATCHING
static void sub_8107B84(u8 taskId)
static void AnimTask_CreateSurfWave_Step1(u8 taskId)
{
struct BattleAnimBgData animBg;
u8 i;
@ -1222,12 +1217,12 @@ static void sub_8107B84(u8 taskId)
if (!(gTasks[gTasks[taskId].data[15]].data[1] & 0x1F))
{
gTasks[taskId].data[0] = gTasks[gTasks[taskId].data[15]].data[1] & 0x1F;
gTasks[taskId].func = sub_8107CC4;
gTasks[taskId].func = AnimTask_CreateSurfWave_Step2;
}
}
#else
NAKED
static void sub_8107B84(u8 taskId)
static void AnimTask_CreateSurfWave_Step1(u8 taskId)
{
asm_unified("push {r4-r7,lr}\n\
sub sp, 0x10\n\
@ -1376,7 +1371,7 @@ _08107C86:\n\
cmp r3, 0\n\
bne _08107CA8\n\
strh r3, [r2, 0x8]\n\
ldr r0, =sub_8107CC4\n\
ldr r0, =AnimTask_CreateSurfWave_Step2\n\
str r0, [r2]\n\
_08107CA8:\n\
add sp, 0x10\n\
@ -1387,7 +1382,7 @@ _08107CA8:\n\
}
#endif
static void sub_8107CC4(u8 taskId)
static void AnimTask_CreateSurfWave_Step2(u8 taskId)
{
u16 *BGptrX = &gBattle_BG1_X;
u16 *BGptrY = &gBattle_BG1_Y;
@ -1410,7 +1405,7 @@ static void sub_8107CC4(u8 taskId)
}
}
static void sub_8107D58(u8 taskId)
static void AnimTask_SurfWaveScanlineEffect(u8 taskId)
{
s16 i;
struct ScanlineEffectParams params;
@ -1511,7 +1506,7 @@ void AnimTask_WaterSpoutLaunch(u8 taskId)
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[5] = gSprites[task->data[15]].pos1.y;
task->data[1] = sub_8108384();
task->data[1] = GetWaterSpoutPowerForAnim();
PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
task->func = AnimTask_WaterSpoutLaunch_Step;
}
@ -1565,7 +1560,7 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
}
break;
case 4:
sub_8108408(task, taskId);
CreateWaterSpoutLaunchDroplets(task, taskId);
task->data[0]++;
case 5:
if (++task->data[3] > 1)
@ -1601,7 +1596,9 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
}
}
static u8 sub_8108384(void)
// 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;
@ -1633,7 +1630,7 @@ static u8 sub_8108384(void)
return 3;
}
static void sub_8108408(struct Task *task, u8 taskId)
static void CreateWaterSpoutLaunchDroplets(struct Task *task, u8 taskId)
{
s16 i;
s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
@ -1647,7 +1644,7 @@ static void sub_8108408(struct Task *task, u8 taskId)
increment = 1;
for (i = 0; i < 20; i += increment)
{
spriteId = CreateSprite(&gUnknown_08595268, attackerCoordX, attackerCoordY, subpriority);
spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, attackerCoordX, attackerCoordY, subpriority);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].data[1] = i;
@ -1658,7 +1655,7 @@ static void sub_8108408(struct Task *task, u8 taskId)
gSprites[spriteId].data[6] = taskId;
gSprites[spriteId].data[7] = 2;
if (task->data[2] & 1)
sub_810851C(&gSprites[spriteId]);
AnimSmallWaterOrb(&gSprites[spriteId]);
task->data[2]++;
}
trigIndex = (trigIndex + increment * 2);
@ -1666,7 +1663,7 @@ static void sub_8108408(struct Task *task, u8 taskId)
}
}
static void sub_810851C(struct Sprite *sprite)
static void AnimSmallWaterOrb(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@ -1692,7 +1689,7 @@ void AnimTask_WaterSpoutRain(u8 taskId)
{
struct Task *task = &gTasks[taskId];
task->data[1] = sub_8108384();
task->data[1] = GetWaterSpoutPowerForAnim();
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
task->data[4] = 136;
@ -1720,7 +1717,7 @@ static void AnimTask_WaterSpoutRain_Step(u8 taskId)
if (++task->data[2] > 2)
{
task->data[2] = 0;
sub_810871C(task, taskId);
CreateWaterSpoutRainDroplet(task, taskId);
}
if (task->data[10] != 0 && task->data[13] == 0)
{
@ -1752,14 +1749,14 @@ static void AnimTask_WaterSpoutRain_Step(u8 taskId)
}
}
static void sub_810871C(struct Task *task, u8 taskId)
static void CreateWaterSpoutRainDroplet(struct Task *task, u8 taskId)
{
u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6];
u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0);
u8 spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[7], 0, 0);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].callback = sub_81087C0;
gSprites[spriteId].callback = AnimWaterSpoutRain;
gSprites[spriteId].data[5] = yPosArg;
gSprites[spriteId].data[6] = taskId;
gSprites[spriteId].data[7] = 9;
@ -1770,7 +1767,7 @@ static void sub_810871C(struct Task *task, u8 taskId)
task->data[7] = (ISO_RANDOMIZE2(task->data[7]) % task->data[5]) + task->data[4];
}
static void sub_81087C0(struct Sprite *sprite)
static void AnimWaterSpoutRain(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@ -1784,14 +1781,14 @@ static void sub_81087C0(struct Sprite *sprite)
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 = sub_810886C;
gSprites[sprite->data[1]].callback = AnimWaterSpoutRainHit;
}
DestroySprite(sprite);
}
}
}
static void sub_810886C(struct Sprite *sprite)
static void AnimWaterSpoutRainHit(struct Sprite *sprite)
{
if (++sprite->data[1] > 1)
{
@ -1820,22 +1817,22 @@ void AnimTask_WaterSport(u8 taskId)
task->data[9] = -32;
task->data[1] = 0;
task->data[0] = 0;
task->func = sub_8108978;
task->func = AnimTask_WaterSport_Step;
}
static void sub_8108978(u8 taskId)
static void AnimTask_WaterSport_Step(u8 taskId)
{
struct Task *task = &gTasks[taskId];
switch (task->data[0])
{
case 0:
sub_8108AC0(task);
CreateWaterSportDroplet(task);
if (task->data[10] != 0)
task->data[0]++;
break;
case 1:
sub_8108AC0(task);
CreateWaterSportDroplet(task);
if (++task->data[1] > 16)
{
task->data[1] = 0;
@ -1843,7 +1840,7 @@ static void sub_8108978(u8 taskId)
}
break;
case 2:
sub_8108AC0(task);
CreateWaterSportDroplet(task);
task->data[5] += task->data[7] * 6;
if (!(task->data[5] >= -16 && task->data[5] <= 256))
{
@ -1861,13 +1858,13 @@ static void sub_8108978(u8 taskId)
}
break;
case 3:
sub_8108AC0(task);
CreateWaterSportDroplet(task);
task->data[6] -= task->data[7] * 2;
if (++task->data[1] > 7)
task->data[0]++;
break;
case 4:
sub_8108AC0(task);
CreateWaterSportDroplet(task);
task->data[5] -= task->data[7] * 6;
if (!(task->data[5] >= -16 && task->data[5] <= 256))
{
@ -1877,7 +1874,7 @@ static void sub_8108978(u8 taskId)
}
break;
case 5:
sub_8108AC0(task);
CreateWaterSportDroplet(task);
task->data[6] -= task->data[7] * 2;
if (++task->data[1] > 7)
task->data[0] = 2;
@ -1892,14 +1889,14 @@ static void sub_8108978(u8 taskId)
}
}
static void sub_8108AC0(struct Task *task)
static void CreateWaterSportDroplet(struct Task *task)
{
u8 spriteId;
if (++task->data[2] > 1)
{
task->data[2] = 0;
spriteId = CreateSprite(&gUnknown_08595268, task->data[3], task->data[4], 10);
spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[3], task->data[4], 10);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].data[0] = 16;
@ -1907,13 +1904,13 @@ static void sub_8108AC0(struct Task *task)
gSprites[spriteId].data[4] = task->data[6];
gSprites[spriteId].data[5] = task->data[9];
InitAnimArcTranslation(&gSprites[spriteId]);
gSprites[spriteId].callback = sub_8108B2C;
gSprites[spriteId].callback = AnimWaterSportDroplet;
task->data[8]++;
}
}
}
static void sub_8108B2C(struct Sprite *sprite)
static void AnimWaterSportDroplet(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
{
@ -1924,11 +1921,11 @@ static void sub_8108B2C(struct Sprite *sprite)
sprite->data[4] = (Random2() & 0x1F) - 16 + sprite->pos1.y;
sprite->data[5] = ~(Random2() & 7);
InitAnimArcTranslation(sprite);
sprite->callback = sub_8108B94;
sprite->callback = AnimWaterSportDroplet_Step;
}
}
static void sub_8108B94(struct Sprite *sprite)
static void AnimWaterSportDroplet_Step(struct Sprite *sprite)
{
u16 i;
@ -1936,7 +1933,7 @@ static void sub_8108B94(struct Sprite *sprite)
{
for (i = 0; i < NUM_TASKS; i++)
{
if (gTasks[i].func == sub_8108978)
if (gTasks[i].func == AnimTask_WaterSport_Step)
{
gTasks[i].data[10] = 1;
gTasks[i].data[8]--;
@ -1967,7 +1964,7 @@ static void AnimWaterPulseBubble_Step(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
static void sub_8108C54(struct Sprite *sprite)
static void AnimWaterPulseRingBubble(struct Sprite *sprite)
{
sprite->data[3] += sprite->data[1];
sprite->data[4] += sprite->data[2];
@ -2000,7 +1997,7 @@ static void AnimWaterPulseRing_Step(struct Sprite *sprite)
if (++sprite->data[5] == sprite->data[4])
{
sprite->data[5] = 0;
sub_8108D54(sprite, xDiff, yDiff);
CreateWaterPulseRingBubbles(sprite, xDiff, yDiff);
}
if (sprite->data[3] == sprite->data[0])
DestroyAnimSprite(sprite);
@ -2008,7 +2005,7 @@ static void AnimWaterPulseRing_Step(struct Sprite *sprite)
}
#ifdef NONMATCHING
static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff)
{
s16 something = sprite->data[0] / 2;
s16 combinedX = sprite->pos1.x + sprite->pos2.x;
@ -2020,7 +2017,7 @@ static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
for (i = 0; i <= 0; i++)
{
spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130);
spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY + something, 130);
gSprites[spriteId].data[0] = 20;
gSprites[spriteId].data[1] = randomSomethingY;
gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
@ -2031,7 +2028,7 @@ static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
}
for (i = 0; i <= 0; i++)
{
spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY - something, 130);
spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY - something, 130);
gSprites[spriteId].data[0] = 20;
gSprites[spriteId].data[1] = randomSomethingY;
gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
@ -2043,7 +2040,7 @@ static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
}
#else
NAKED
static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff)
{
asm_unified("push {r4-r7,lr}\n\
mov r7, r10\n\
@ -2113,7 +2110,7 @@ static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
lsls r1, 16\n\
mov r10, r1\n\
_08108DE2:\n\
ldr r0, =gUnknown_08595310\n\
ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\
mov r2, r8\n\
asrs r1, r2, 16\n\
mov r3, r10\n\
@ -2168,7 +2165,7 @@ _08108E32:\n\
lsls r1, 16\n\
mov r10, r1\n\
_08108E58:\n\
ldr r0, =gUnknown_08595310\n\
ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\
mov r2, r8\n\
asrs r1, r2, 16\n\
mov r3, r10\n\