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 blendoff
end end
BulbblebeamCreateBubbles: 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3 delay 3
return return
@ -2860,7 +2860,7 @@ Move_AMNESIA:
loadspritegfx ANIM_TAG_AMNESIA loadspritegfx ANIM_TAG_AMNESIA
call SetPsychicBackground call SetPsychicBackground
delay 8 delay 8
createsprite gAmnesiaQuestionMarkSpriteTemplate, ANIM_ATTACKER, 20 createsprite gQuestionMarkSpriteTemplate, ANIM_ATTACKER, 20
playsewithpan SE_W118, SOUND_PAN_ATTACKER playsewithpan SE_W118, SOUND_PAN_ATTACKER
delay 54 delay 54
loopsewithpan SE_W118, SOUND_PAN_ATTACKER, 16, 3 loopsewithpan SE_W118, SOUND_PAN_ATTACKER, 16, 3
@ -5091,27 +5091,27 @@ Move_BUBBLE:
monbg ANIM_TARGET monbg ANIM_TARGET
setalpha 12, 8 setalpha 12, 8
delay 1 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6 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 playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100 waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
waitforvisualfinish waitforvisualfinish
@ -9654,26 +9654,26 @@ Move_TWISTER:
monbg ANIM_DEF_PARTNER monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET monbgprio_28 ANIM_TARGET
playsewithpan SE_W239, SOUND_PAN_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 delay 1
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 6, 60, 25 createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 55, 6, 60, 25
delay 1 delay 1
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 60, 7, 60, 30 createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 60, 7, 60, 30
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 10, 60, 30 createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 55, 10, 60, 30
delay 3 delay 3
createsprite gTwisterRockParticleSpriteTemplate, ANIM_TARGET, 2, 100, 50, 4, 50, 26 createsprite gTwisterRockSpriteTemplate, ANIM_TARGET, 2, 100, 50, 4, 50, 26
delay 1 delay 1
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 105, 25, 8, 60, 20 createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 105, 25, 8, 60, 20
delay 1 delay 1
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 40, 10, 48, 30 createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 40, 10, 48, 30
delay 3 delay 3
createsprite gTwisterRockParticleSpriteTemplate, ANIM_TARGET, 2, 120, 30, 6, 45, 25 createsprite gTwisterRockSpriteTemplate, ANIM_TARGET, 2, 120, 30, 6, 45, 25
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 35, 10, 60, 30 createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 35, 10, 60, 30
delay 3 delay 3
createsprite gTwisterRockParticleSpriteTemplate, ANIM_TARGET, 2, 105, 20, 8, 40, 0 createsprite gTwisterRockSpriteTemplate, ANIM_TARGET, 2, 105, 20, 8, 40, 0
delay 3 delay 3
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 20, 255, 15, 32, 0 createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 20, 255, 15, 32, 0
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 110, 10, 8, 32, 20 createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 110, 10, 8, 32, 20
waitforvisualfinish waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -32, -16, ANIM_TARGET, 3 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -32, -16, ANIM_TARGET, 3
playsewithpan SE_W004, SOUND_PAN_TARGET playsewithpan SE_W004, SOUND_PAN_TARGET
@ -9993,42 +9993,42 @@ IceCrystalEffectLong:
IceSpikesEffectShort: @ Unused IceSpikesEffectShort: @ Unused
loopsewithpan SE_W196, SOUND_PAN_TARGET, 6, 4 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 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 8, 24, 0 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 8, 24, 0
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -8, 24, 0 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -8, 24, 0
delay 4 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 16, 24, 0 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 16, 24, 0
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -16, 24, 0 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -16, 24, 0
delay 4 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 24, 24, 0 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 24, 24, 0
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -24, 24, 0 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -24, 24, 0
delay 4 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 32, 24, 0 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 32, 24, 0
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -32, 24, 0 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -32, 24, 0
return return
IceSpikesEffectLong: IceSpikesEffectLong:
loopsewithpan SE_W196, SOUND_PAN_TARGET, 6, 4 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 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 8, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 8, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -8, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -8, 24, 1
delay 4 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 16, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 16, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -16, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -16, 24, 1
delay 4 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 24, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 24, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -24, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -24, 24, 1
delay 4 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 32, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 32, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -32, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -32, 24, 1
delay 4 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 40, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 40, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -40, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -40, 24, 1
delay 4 delay 4
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 48, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 48, 24, 1
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -48, 24, 1 createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -48, 24, 1
return return
GrantingStarsEffect: 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); s16 CloneBattlerSpriteWithBlend(u8);
void obj_delete_but_dont_free_vram(struct Sprite*); void obj_delete_but_dont_free_vram(struct Sprite*);
u8 sub_80A89C8(int, u8, int); 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 AnimLoadCompressedBgGfx(u32, const u32*, u32);
void sub_80A6DAC(bool8); void sub_80A6DAC(bool8);
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *); void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *);
@ -285,4 +285,14 @@ extern const struct OamData gOamData_AffineOff_ObjBlend_16x32;
extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; 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 #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_MagentaHeart[];
extern const u32 gBattleAnimSpritePal_ElectricOrbs[]; extern const u32 gBattleAnimSpritePal_ElectricOrbs[];
extern const u32 gBattleAnimSpritePal_MovementWaves[]; extern const u32 gBattleAnimSpritePal_MovementWaves[];
extern const u32 gUnknown_08C249D0[]; extern const u32 gBattleAnimBgPalette_ScaryFace[];
extern const u32 gUnknown_08C249F8[]; extern const u32 gBattleAnimBgImage_ScaryFace[];
extern const u32 gBattleAnimSpritePal_RedHeart[]; extern const u32 gBattleAnimSpritePal_RedHeart[];
extern const u32 gBattleAnimSpritePal_RedOrb[]; extern const u32 gBattleAnimSpritePal_RedOrb[];
extern const u32 gBattleAnimSpritePal_EyeSparkle[]; extern const u32 gBattleAnimSpritePal_EyeSparkle[];
extern const u32 gBattleAnimSpritePal_PinkHeart[]; extern const u32 gBattleAnimSpritePal_PinkHeart[];
extern const u32 gUnknown_08C232E0; extern const u32 gBattleAnimBgImage_Attract;
extern const u32 gUnknown_08C23D50; extern const u32 gBattleAnimBgPalette_Attract;
extern const u32 gUnknown_08C23D78; extern const u32 gBattleAnimBgTilemap_Attract;
extern const u32 gBattleAnimSpritePal_Angel[]; extern const u32 gBattleAnimSpritePal_Angel[];
extern const u32 gBattleAnimSpritePal_Devil[]; extern const u32 gBattleAnimSpritePal_Devil[];
extern const u32 gBattleAnimSpritePal_Swipe[]; extern const u32 gBattleAnimSpritePal_Swipe[];
@ -4747,9 +4747,9 @@ extern const u32 gBattleAnimBgTilemap_Drill[];
extern const u32 gBattleAnimBgTilemap_DrillContests[]; extern const u32 gBattleAnimBgTilemap_DrillContests[];
extern const u32 gBattleAnimBgTilemap_HighspeedOpponent[]; extern const u32 gBattleAnimBgTilemap_HighspeedOpponent[];
extern const u32 gBattleAnimBgTilemap_HighspeedPlayer[]; extern const u32 gBattleAnimBgTilemap_HighspeedPlayer[];
extern const u32 gUnknown_08C2A634[]; extern const u32 gBattleAnimMaskImage_LightBeam[];
extern const u32 gUnknown_08C2A6D4[]; extern const u32 gBattleAnimMaskPalette_LightBeam[];
extern const u32 gUnknown_08C2A6EC[]; extern const u32 gBattleAnimMaskTilemap_LightBeam[];
extern const u32 gBattleAnimBgTilemap_Thunder[]; extern const u32 gBattleAnimBgTilemap_Thunder[];
extern const u32 gBattleAnimBgTilemap_GuillotineOpponent[]; extern const u32 gBattleAnimBgTilemap_GuillotineOpponent[];
extern const u32 gBattleAnimBgTilemap_GuillotinePlayer[]; extern const u32 gBattleAnimBgTilemap_GuillotinePlayer[];
@ -4796,9 +4796,9 @@ extern const u32 gContestJudgeGfx[];
extern const u32 gContestJudgeSymbolsGfx[]; extern const u32 gContestJudgeSymbolsGfx[];
extern const u32 gContest3Pal[]; extern const u32 gContest3Pal[];
extern const u32 gUnknown_08D95E00[]; extern const u32 gBattleAnimBgTilemap_SurfOpponent[];
extern const u32 gUnknown_08D960D0[]; extern const u32 gBattleAnimBgTilemap_SurfPlayer[];
extern const u32 gUnknown_08D963A4[]; extern const u32 gBattleAnimBgTilemap_SurfContest[];
extern const u32 gBattleAnimBgImage_Surf[]; extern const u32 gBattleAnimBgImage_Surf[];
extern const u32 gBattleAnimBgPalette_Surf[]; extern const u32 gBattleAnimBgPalette_Surf[];
extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[]; extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[];
@ -4873,8 +4873,8 @@ extern const u16 gUnknown_08DCF210[];
extern const u16 gUnknown_08DCF230[]; extern const u16 gUnknown_08DCF230[];
extern const u16 gUnknown_08DCF190[]; extern const u16 gUnknown_08DCF190[];
extern const u32 gUnknown_08D8D410[]; extern const u32 gBattleAnimBgTilemap_Sandstorm[];
extern const u32 gUnknown_08D8D58C[]; extern const u32 gBattleAnimBgImage_Sandstorm[];
// Pokedex Area Screen // Pokedex Area Screen
extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[]; extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[];

View File

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

View File

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

View File

@ -958,7 +958,7 @@ void AnimLoadCompressedBgTilemap(u32 bgId, const void *src)
CopyBgTilemapBufferToVram(bgId); 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); InitAnimBgTilemapBuffer(unk->bgId, src);
if (IsContest() == TRUE) if (IsContest() == TRUE)

View File

@ -331,7 +331,7 @@ void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId)
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species); newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species);
sub_80A6B30(&unknownStruct); sub_80A6B30(&unknownStruct);
sub_80A6D60(&unknownStruct, gUnknown_08C20684, 0); AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gUnknown_08C20684, 0);
AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C20668, unknownStruct.tilesOffset); AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C20668, unknownStruct.tilesOffset);
LoadPalette(&gUnknown_08597418, unknownStruct.paletteId * 16 + 1, 2); LoadPalette(&gUnknown_08597418, unknownStruct.paletteId * 16 + 1, 2);
@ -470,9 +470,9 @@ static void sub_81170EC(u8 taskId)
sub_80A6B30(&unknownStruct); sub_80A6B30(&unknownStruct);
if (sAnimStatsChangeData->data[0] == 0) if (sAnimStatsChangeData->data[0] == 0)
sub_80A6D60(&unknownStruct, gBattleStatMask1_Tilemap, 0); AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gBattleStatMask1_Tilemap, 0);
else else
sub_80A6D60(&unknownStruct, gBattleStatMask2_Tilemap, 0); AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gBattleStatMask2_Tilemap, 0);
AnimLoadCompressedBgGfx(unknownStruct.bgId, gBattleStatMask_Gfx, unknownStruct.tilesOffset); AnimLoadCompressedBgGfx(unknownStruct.bgId, gBattleStatMask_Gfx, unknownStruct.tilesOffset);
switch (sAnimStatsChangeData->data[1]) 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); spriteId2 = sub_80A89C8(battler2, gBattlerSpriteIds[battler2], species);
sub_80A6B30(&unknownStruct); sub_80A6B30(&unknownStruct);
sub_80A6D60(&unknownStruct, tilemap, 0); AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, tilemap, 0);
AnimLoadCompressedBgGfx(unknownStruct.bgId, gfx, unknownStruct.tilesOffset); AnimLoadCompressedBgGfx(unknownStruct.bgId, gfx, unknownStruct.tilesOffset);
LoadCompressedPalette(palette, unknownStruct.paletteId * 16, 32); 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 AnimMissileArc_Step(struct Sprite *);
static void AnimTailGlowOrb(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_FRAME(0x100, 0x100, 30, 0),
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd gUnknown_08596948[] = static const union AffineAnimCmd sAffineAnim_MegahornHorn_1[] =
{ {
AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0), AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0),
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd gUnknown_08596958[] = static const union AffineAnimCmd sAffineAnim_MegahornHorn_2[] =
{ {
AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0), AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0),
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd *const gUnknown_08596968[] = static const union AffineAnimCmd *const sAffineAnims_MegahornHorn[] =
{ {
gUnknown_08596938, sAffineAnim_MegahornHorn_0,
gUnknown_08596948, sAffineAnim_MegahornHorn_1,
gUnknown_08596958, sAffineAnim_MegahornHorn_2,
}; };
const struct SpriteTemplate gMegahornHornSpriteTemplate = const struct SpriteTemplate gMegahornHornSpriteTemplate =
@ -50,33 +50,33 @@ const struct SpriteTemplate gMegahornHornSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_32x16, .oam = &gOamData_AffineDouble_ObjNormal_32x16,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08596968, .affineAnims = sAffineAnims_MegahornHorn,
.callback = AnimMegahornHorn, .callback = AnimMegahornHorn,
}; };
const union AffineAnimCmd gUnknown_0859698C[] = static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_0[] =
{ {
AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1),
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd gUnknown_0859699C[] = static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_1[] =
{ {
AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd gUnknown_085969AC[] = static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_2[] =
{ {
AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd *const gUnknown_085969BC[] = static const union AffineAnimCmd *const sAffineAnims_LeechLifeNeedle[] =
{ {
gUnknown_0859698C, sAffineAnim_LeechLifeNeedle_0,
gUnknown_0859699C, sAffineAnim_LeechLifeNeedle_1,
gUnknown_085969AC, sAffineAnim_LeechLifeNeedle_2,
}; };
const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate = const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate =
@ -86,7 +86,7 @@ const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_16x16, .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_085969BC, .affineAnims = sAffineAnims_LeechLifeNeedle,
.callback = AnimLeechLifeNeedle, .callback = AnimLeechLifeNeedle,
}; };
@ -112,16 +112,16 @@ const struct SpriteTemplate gStringWrapSpriteTemplate =
.callback = AnimStringWrap, .callback = AnimStringWrap,
}; };
const union AffineAnimCmd gUnknown_08596A10[] = static const union AffineAnimCmd sAffineAnim_SpiderWeb[] =
{ {
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1), AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1),
AFFINEANIMCMD_JUMP(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 = const struct SpriteTemplate gSpiderWebSpriteTemplate =
@ -131,7 +131,7 @@ const struct SpriteTemplate gSpiderWebSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjBlend_64x64, .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08596A28, .affineAnims = sAffineAnims_SpiderWeb,
.callback = AnimSpiderWeb, .callback = AnimSpiderWeb,
}; };
@ -168,7 +168,7 @@ const struct SpriteTemplate gIcicleSpearSpriteTemplate =
.callback = AnimMissileArc, .callback = AnimMissileArc,
}; };
const union AffineAnimCmd gUnknown_08596A8C[] = static const union AffineAnimCmd sAffineAnim_TailGlowOrb[] =
{ {
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18),
@ -179,9 +179,9 @@ const union AffineAnimCmd gUnknown_08596A8C[] =
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd *const gUnknown_08596AC4[] = static const union AffineAnimCmd *const sAffineAnims_TailGlowOrb[] =
{ {
gUnknown_08596A8C, sAffineAnim_TailGlowOrb,
}; };
const struct SpriteTemplate gTailGlowOrbSpriteTemplate = const struct SpriteTemplate gTailGlowOrbSpriteTemplate =
@ -191,7 +191,7 @@ const struct SpriteTemplate gTailGlowOrbSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_64x64, .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08596AC4, .affineAnims = sAffineAnims_TailGlowOrb,
.callback = AnimTailGlowOrb, .callback = AnimTailGlowOrb,
}; };

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -42,16 +42,16 @@ static void AnimGrudgeFlame(struct Sprite *);
static void sub_8112F60(struct Sprite *); static void sub_8112F60(struct Sprite *);
static void sub_8112FB8(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(0x1E, 0x1E, 10, 5),
AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 10, 5), AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 10, 5),
AFFINEANIMCMD_JUMP(0), AFFINEANIMCMD_JUMP(0),
}; };
const union AffineAnimCmd *const gUnknown_08596D10[] = static const union AffineAnimCmd *const sAffineAnims_ConfuseRayBallBounce[] =
{ {
gUnknown_08596CF8, sAffineAnim_ConfuseRayBallBounce,
}; };
const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate = const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate =
@ -61,7 +61,7 @@ const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_16x16, .oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08596D10, .affineAnims = sAffineAnims_ConfuseRayBallBounce,
.callback = AnimConfuseRayBallBounce, .callback = AnimConfuseRayBallBounce,
}; };
@ -76,15 +76,15 @@ const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate =
.callback = AnimConfuseRayBallSpiral, .callback = AnimConfuseRayBallSpiral,
}; };
const union AffineAnimCmd gUnknown_08596D44[] = static const union AffineAnimCmd sAffineAnim_ShadowBall[] =
{ {
AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
AFFINEANIMCMD_JUMP(0), AFFINEANIMCMD_JUMP(0),
}; };
const union AffineAnimCmd *const gUnknown_08596D54[] = static const union AffineAnimCmd *const sAffineAnims_ShadowBall[] =
{ {
gUnknown_08596D44, sAffineAnim_ShadowBall,
}; };
const struct SpriteTemplate gShadowBallSpriteTemplate = const struct SpriteTemplate gShadowBallSpriteTemplate =
@ -94,11 +94,11 @@ const struct SpriteTemplate gShadowBallSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_32x32, .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08596D54, .affineAnims = sAffineAnims_ShadowBall,
.callback = AnimShadowBall, .callback = AnimShadowBall,
}; };
const union AnimCmd gUnknown_08596D70[] = static const union AnimCmd sAnim_Lick[] =
{ {
ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(8, 2), ANIMCMD_FRAME(8, 2),
@ -108,9 +108,9 @@ const union AnimCmd gUnknown_08596D70[] =
ANIMCMD_END, ANIMCMD_END,
}; };
const union AnimCmd *const gUnknown_08596D88[] = static const union AnimCmd *const sAnims_Lick[] =
{ {
gUnknown_08596D70, sAnim_Lick,
}; };
const struct SpriteTemplate gLickSpriteTemplate = const struct SpriteTemplate gLickSpriteTemplate =
@ -118,19 +118,20 @@ const struct SpriteTemplate gLickSpriteTemplate =
.tileTag = ANIM_TAG_LICK, .tileTag = ANIM_TAG_LICK,
.paletteTag = ANIM_TAG_LICK, .paletteTag = ANIM_TAG_LICK,
.oam = &gOamData_AffineOff_ObjNormal_16x32, .oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gUnknown_08596D88, .anims = sAnims_Lick,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimLick, .callback = AnimLick,
}; };
const union AffineAnimCmd gUnknown_08596DA4[] = static const union AffineAnimCmd gUnknown_08596DA4[] =
{ {
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd *const gUnknown_08596DB4[] = // Unused
static const union AffineAnimCmd *const gUnknown_08596DB4[] =
{ {
gUnknown_08596DA4, gUnknown_08596DA4,
}; };
@ -179,7 +180,7 @@ const struct SpriteTemplate gNightmareDevilSpriteTemplate =
.callback = AnimGhostStatusSprite, .callback = AnimGhostStatusSprite,
}; };
const union AnimCmd gUnknown_08596E18[] = static const union AnimCmd sAnim_GrudgeFlame[] =
{ {
ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(8, 4), ANIMCMD_FRAME(8, 4),
@ -188,9 +189,9 @@ const union AnimCmd gUnknown_08596E18[] =
ANIMCMD_JUMP(0), ANIMCMD_JUMP(0),
}; };
const union AnimCmd *const gUnknown_08596E2C[] = static const union AnimCmd *const sAnims_GrudgeFlame[] =
{ {
gUnknown_08596E18, sAnim_GrudgeFlame,
}; };
const struct SpriteTemplate gGrudgeFlameSpriteTemplate = const struct SpriteTemplate gGrudgeFlameSpriteTemplate =
@ -198,12 +199,13 @@ const struct SpriteTemplate gGrudgeFlameSpriteTemplate =
.tileTag = ANIM_TAG_PURPLE_FLAME, .tileTag = ANIM_TAG_PURPLE_FLAME,
.paletteTag = ANIM_TAG_PURPLE_FLAME, .paletteTag = ANIM_TAG_PURPLE_FLAME,
.oam = &gOamData_AffineOff_ObjBlend_16x32, .oam = &gOamData_AffineOff_ObjBlend_16x32,
.anims = gUnknown_08596E2C, .anims = sAnims_GrudgeFlame,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimGrudgeFlame, .callback = AnimGrudgeFlame,
}; };
// Unused
const struct SpriteTemplate gUnknown_08596E48 = const struct SpriteTemplate gUnknown_08596E48 =
{ {
.tileTag = 0, .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_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 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 gBattleAnimBgImage_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz");
const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz"); const u32 gBattleAnimBgPalette_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz");
const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.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 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"); 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 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 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 gBattleAnimBgPalette_ScaryFace[] = 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 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 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"); 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 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 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 gBattleAnimMaskImage_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.4bpp.lz");
const u32 gUnknown_08C2A6D4[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.gbapal.lz"); const u32 gBattleAnimMaskPalette_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.gbapal.lz");
const u32 gUnknown_08C2A6EC[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.bin.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_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"); 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 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 gBattleAnimBgTilemap_Sandstorm[] = 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 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"); 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 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 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 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 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin.lz"); const u32 gBattleAnimBgTilemap_SurfContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_contest.bin.lz");
const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.lz");
const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.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 SetBattlersXOffsetForShake(struct Task *);
static void sub_81156D0(u8); static void sub_81156D0(u8);
const union AffineAnimCmd gUnknown_08597150[] = static const union AffineAnimCmd sAffineAnim_Bonemerang[] =
{ {
AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1),
AFFINEANIMCMD_JUMP(0), AFFINEANIMCMD_JUMP(0),
}; };
const union AffineAnimCmd gUnknown_08597160[] = static const union AffineAnimCmd sAffineAnim_SpinningBone[] =
{ {
AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
AFFINEANIMCMD_JUMP(0), 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 = const struct SpriteTemplate gBonemerangSpriteTemplate =
@ -56,7 +56,7 @@ const struct SpriteTemplate gBonemerangSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_32x32, .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08597170, .affineAnims = sAffineAnims_Bonemerang,
.callback = AnimBonemerangProjectile, .callback = AnimBonemerangProjectile,
}; };
@ -67,7 +67,7 @@ const struct SpriteTemplate gSpinningBoneSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_32x32, .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08597174, .affineAnims = sAffineAnims_SpinningBone,
.callback = AnimBoneHitProjectile, .callback = AnimBoneHitProjectile,
}; };
@ -82,15 +82,15 @@ const struct SpriteTemplate gSandAttackDirtSpriteTemplate =
.callback = AnimDirtScatter, .callback = AnimDirtScatter,
}; };
const union AnimCmd gUnknown_085971C0[] = static const union AnimCmd sAnim_MudSlapMud[] =
{ {
ANIMCMD_FRAME(1, 1), ANIMCMD_FRAME(1, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
const union AnimCmd *const gUnknown_085971C8[] = static const union AnimCmd *const sAnims_MudSlapMud[] =
{ {
gUnknown_085971C0, sAnim_MudSlapMud,
}; };
const struct SpriteTemplate gMudSlapMudSpriteTemplate = const struct SpriteTemplate gMudSlapMudSpriteTemplate =
@ -98,7 +98,7 @@ const struct SpriteTemplate gMudSlapMudSpriteTemplate =
.tileTag = ANIM_TAG_MUD_SAND, .tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND,
.oam = &gOamData_AffineOff_ObjNormal_16x16, .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_085971C8, .anims = sAnims_MudSlapMud,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimDirtScatter, .callback = AnimDirtScatter,

227
src/ice.c
View File

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

View File

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

View File

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

View File

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

View File

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

View File

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