mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-01-13 07:03:40 +01:00
Label move anim data
This commit is contained in:
parent
efd53d080c
commit
68dc68907b
@ -2206,22 +2206,22 @@ Move_BUBBLE_BEAM:
|
||||
blendoff
|
||||
end
|
||||
BulbblebeamCreateBubbles:
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 70, 0, 256, 50
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 70, 0, 256, 50
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
delay 3
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 40, -10, 256, 50
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 40, -10, 256, 50
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
delay 3
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -60, 0, 256, 50
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -60, 0, 256, 50
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
delay 3
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 256, 50
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 256, 50
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
delay 3
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, -10, 256, 50
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, -10, 256, 50
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
delay 3
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 256, 50
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 256, 50
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
delay 3
|
||||
return
|
||||
@ -2860,7 +2860,7 @@ Move_AMNESIA:
|
||||
loadspritegfx ANIM_TAG_AMNESIA
|
||||
call SetPsychicBackground
|
||||
delay 8
|
||||
createsprite gAmnesiaQuestionMarkSpriteTemplate, ANIM_ATTACKER, 20
|
||||
createsprite gQuestionMarkSpriteTemplate, ANIM_ATTACKER, 20
|
||||
playsewithpan SE_W118, SOUND_PAN_ATTACKER
|
||||
delay 54
|
||||
loopsewithpan SE_W118, SOUND_PAN_ATTACKER, 16, 3
|
||||
@ -5091,27 +5091,27 @@ Move_BUBBLE:
|
||||
monbg ANIM_TARGET
|
||||
setalpha 12, 8
|
||||
delay 1
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 128, 100
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 128, 100
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
|
||||
delay 6
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 37, 40, 128, 100
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 35, 37, 40, 128, 100
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
|
||||
delay 6
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -37, 30, 128, 100
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 10, -37, 30, 128, 100
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
|
||||
delay 6
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, 15, 128, 100
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 30, 10, 15, 128, 100
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
|
||||
delay 6
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 33, 20, 128, 100
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 20, 33, 20, 128, 100
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
|
||||
delay 6
|
||||
createsprite gMovingWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 128, 100
|
||||
createsprite gWaterBubbleProjectileSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 128, 100
|
||||
playsewithpan SE_W145, SOUND_PAN_ATTACKER
|
||||
waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
|
||||
waitforvisualfinish
|
||||
@ -9654,26 +9654,26 @@ Move_TWISTER:
|
||||
monbg ANIM_DEF_PARTNER
|
||||
monbgprio_28 ANIM_TARGET
|
||||
playsewithpan SE_W239, SOUND_PAN_TARGET
|
||||
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 120, 70, 5, 70, 30
|
||||
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 120, 70, 5, 70, 30
|
||||
delay 1
|
||||
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 6, 60, 25
|
||||
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 55, 6, 60, 25
|
||||
delay 1
|
||||
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 60, 7, 60, 30
|
||||
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 10, 60, 30
|
||||
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 60, 7, 60, 30
|
||||
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 55, 10, 60, 30
|
||||
delay 3
|
||||
createsprite gTwisterRockParticleSpriteTemplate, ANIM_TARGET, 2, 100, 50, 4, 50, 26
|
||||
createsprite gTwisterRockSpriteTemplate, ANIM_TARGET, 2, 100, 50, 4, 50, 26
|
||||
delay 1
|
||||
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 105, 25, 8, 60, 20
|
||||
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 105, 25, 8, 60, 20
|
||||
delay 1
|
||||
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 40, 10, 48, 30
|
||||
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 40, 10, 48, 30
|
||||
delay 3
|
||||
createsprite gTwisterRockParticleSpriteTemplate, ANIM_TARGET, 2, 120, 30, 6, 45, 25
|
||||
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 35, 10, 60, 30
|
||||
createsprite gTwisterRockSpriteTemplate, ANIM_TARGET, 2, 120, 30, 6, 45, 25
|
||||
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 115, 35, 10, 60, 30
|
||||
delay 3
|
||||
createsprite gTwisterRockParticleSpriteTemplate, ANIM_TARGET, 2, 105, 20, 8, 40, 0
|
||||
createsprite gTwisterRockSpriteTemplate, ANIM_TARGET, 2, 105, 20, 8, 40, 0
|
||||
delay 3
|
||||
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 20, 255, 15, 32, 0
|
||||
createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 110, 10, 8, 32, 20
|
||||
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 20, 255, 15, 32, 0
|
||||
createsprite gTwisterLeafSpriteTemplate, ANIM_TARGET, 2, 110, 10, 8, 32, 20
|
||||
waitforvisualfinish
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -32, -16, ANIM_TARGET, 3
|
||||
playsewithpan SE_W004, SOUND_PAN_TARGET
|
||||
@ -9993,42 +9993,42 @@ IceCrystalEffectLong:
|
||||
|
||||
IceSpikesEffectShort: @ Unused
|
||||
loopsewithpan SE_W196, SOUND_PAN_TARGET, 6, 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 0, 24, 0
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 0, 24, 0
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 8, 24, 0
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -8, 24, 0
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 8, 24, 0
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -8, 24, 0
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 16, 24, 0
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -16, 24, 0
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 16, 24, 0
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -16, 24, 0
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 24, 24, 0
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -24, 24, 0
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 24, 24, 0
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -24, 24, 0
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 32, 24, 0
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -32, 24, 0
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 32, 24, 0
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -32, 24, 0
|
||||
return
|
||||
|
||||
IceSpikesEffectLong:
|
||||
loopsewithpan SE_W196, SOUND_PAN_TARGET, 6, 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 0, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 0, 24, 1
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 8, 24, 1
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -8, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 8, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -8, 24, 1
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 16, 24, 1
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -16, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 16, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -16, 24, 1
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 24, 24, 1
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -24, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 24, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -24, 24, 1
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 32, 24, 1
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -32, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 32, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -32, 24, 1
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 40, 24, 1
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -40, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 40, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -40, 24, 1
|
||||
delay 4
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, 48, 24, 1
|
||||
createsprite gIceGroundSpikesSpriteTemplate, ANIM_TARGET, 2, -48, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, 48, 24, 1
|
||||
createsprite gIceGroundSpikeSpriteTemplate, ANIM_TARGET, 2, -48, 24, 1
|
||||
return
|
||||
|
||||
GrantingStarsEffect:
|
||||
|
Before Width: | Height: | Size: 188 B After Width: | Height: | Size: 188 B |
@ -125,7 +125,7 @@ u8 sub_80A77AC(u8 a1);
|
||||
s16 CloneBattlerSpriteWithBlend(u8);
|
||||
void obj_delete_but_dont_free_vram(struct Sprite*);
|
||||
u8 sub_80A89C8(int, u8, int);
|
||||
void sub_80A6D60(struct BattleAnimBgData*, const void*, u32);
|
||||
void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData*, const void*, u32);
|
||||
void AnimLoadCompressedBgGfx(u32, const u32*, u32);
|
||||
void sub_80A6DAC(bool8);
|
||||
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *);
|
||||
@ -285,4 +285,14 @@ extern const struct OamData gOamData_AffineOff_ObjBlend_16x32;
|
||||
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
|
||||
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
|
||||
|
||||
extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate;
|
||||
|
||||
extern const union AnimCmd *const gAnims_WaterMudOrb[];
|
||||
extern const union AnimCmd *const gAnims_BasicFire[];
|
||||
extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_Droplet[];
|
||||
extern const union AnimCmd *const gAnims_SmallBubblePair[];
|
||||
extern const union AnimCmd *const gAnims_WaterBubble[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_Bite[];
|
||||
|
||||
#endif // GUARD_BATTLE_ANIM_H
|
||||
|
@ -4634,15 +4634,15 @@ extern const u32 gBattleAnimSpritePal_ThoughtBubble[];
|
||||
extern const u32 gBattleAnimSpritePal_MagentaHeart[];
|
||||
extern const u32 gBattleAnimSpritePal_ElectricOrbs[];
|
||||
extern const u32 gBattleAnimSpritePal_MovementWaves[];
|
||||
extern const u32 gUnknown_08C249D0[];
|
||||
extern const u32 gUnknown_08C249F8[];
|
||||
extern const u32 gBattleAnimBgPalette_ScaryFace[];
|
||||
extern const u32 gBattleAnimBgImage_ScaryFace[];
|
||||
extern const u32 gBattleAnimSpritePal_RedHeart[];
|
||||
extern const u32 gBattleAnimSpritePal_RedOrb[];
|
||||
extern const u32 gBattleAnimSpritePal_EyeSparkle[];
|
||||
extern const u32 gBattleAnimSpritePal_PinkHeart[];
|
||||
extern const u32 gUnknown_08C232E0;
|
||||
extern const u32 gUnknown_08C23D50;
|
||||
extern const u32 gUnknown_08C23D78;
|
||||
extern const u32 gBattleAnimBgImage_Attract;
|
||||
extern const u32 gBattleAnimBgPalette_Attract;
|
||||
extern const u32 gBattleAnimBgTilemap_Attract;
|
||||
extern const u32 gBattleAnimSpritePal_Angel[];
|
||||
extern const u32 gBattleAnimSpritePal_Devil[];
|
||||
extern const u32 gBattleAnimSpritePal_Swipe[];
|
||||
@ -4747,9 +4747,9 @@ extern const u32 gBattleAnimBgTilemap_Drill[];
|
||||
extern const u32 gBattleAnimBgTilemap_DrillContests[];
|
||||
extern const u32 gBattleAnimBgTilemap_HighspeedOpponent[];
|
||||
extern const u32 gBattleAnimBgTilemap_HighspeedPlayer[];
|
||||
extern const u32 gUnknown_08C2A634[];
|
||||
extern const u32 gUnknown_08C2A6D4[];
|
||||
extern const u32 gUnknown_08C2A6EC[];
|
||||
extern const u32 gBattleAnimMaskImage_LightBeam[];
|
||||
extern const u32 gBattleAnimMaskPalette_LightBeam[];
|
||||
extern const u32 gBattleAnimMaskTilemap_LightBeam[];
|
||||
extern const u32 gBattleAnimBgTilemap_Thunder[];
|
||||
extern const u32 gBattleAnimBgTilemap_GuillotineOpponent[];
|
||||
extern const u32 gBattleAnimBgTilemap_GuillotinePlayer[];
|
||||
@ -4796,9 +4796,9 @@ extern const u32 gContestJudgeGfx[];
|
||||
extern const u32 gContestJudgeSymbolsGfx[];
|
||||
extern const u32 gContest3Pal[];
|
||||
|
||||
extern const u32 gUnknown_08D95E00[];
|
||||
extern const u32 gUnknown_08D960D0[];
|
||||
extern const u32 gUnknown_08D963A4[];
|
||||
extern const u32 gBattleAnimBgTilemap_SurfOpponent[];
|
||||
extern const u32 gBattleAnimBgTilemap_SurfPlayer[];
|
||||
extern const u32 gBattleAnimBgTilemap_SurfContest[];
|
||||
extern const u32 gBattleAnimBgImage_Surf[];
|
||||
extern const u32 gBattleAnimBgPalette_Surf[];
|
||||
extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[];
|
||||
@ -4873,8 +4873,8 @@ extern const u16 gUnknown_08DCF210[];
|
||||
extern const u16 gUnknown_08DCF230[];
|
||||
extern const u16 gUnknown_08DCF190[];
|
||||
|
||||
extern const u32 gUnknown_08D8D410[];
|
||||
extern const u32 gUnknown_08D8D58C[];
|
||||
extern const u32 gBattleAnimBgTilemap_Sandstorm[];
|
||||
extern const u32 gBattleAnimBgImage_Sandstorm[];
|
||||
|
||||
// Pokedex Area Screen
|
||||
extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[];
|
||||
|
@ -515,7 +515,7 @@ const struct SpriteTemplate gRazorLeafParticleSpriteTemplate =
|
||||
.callback = AnimRazorLeafParticle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate =
|
||||
const struct SpriteTemplate gTwisterLeafSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_LEAF,
|
||||
.paletteTag = ANIM_TAG_LEAF,
|
||||
|
@ -126,6 +126,7 @@ const union AnimCmd gUnknown_0859327C[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
// Unused
|
||||
const union AnimCmd *const gUnknown_08593284[] =
|
||||
{
|
||||
gUnknown_0859327C,
|
||||
@ -155,7 +156,6 @@ const struct SpriteTemplate gUnknown_085932A0 =
|
||||
.callback = sub_810358C,
|
||||
};
|
||||
|
||||
extern const union AffineAnimCmd *const gUnknown_08597060[];
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_085932B8 =
|
||||
{
|
||||
@ -164,7 +164,7 @@ const struct SpriteTemplate gUnknown_085932B8 =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08597060,
|
||||
.affineAnims = gAffineAnims_Bite,
|
||||
.callback = sub_8103620,
|
||||
};
|
||||
|
||||
@ -911,7 +911,7 @@ const struct SpriteTemplate gMagentaHeartSpriteTemplate =
|
||||
.callback = AnimMagentaHeart,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08593988[] =
|
||||
static const union AffineAnimCmd sAffineAnims_StretchBattlerUp[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x000A, 0xFFF3, 0x00, 0x0A),
|
||||
AFFINEANIMCMD_FRAME(0xFFF6, 0x000D, 0x00, 0x0A),
|
||||
@ -1166,7 +1166,7 @@ const struct SpriteTemplate gMovementWavesSpriteTemplate =
|
||||
.callback = AnimMovmentWaves,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08593B98[] =
|
||||
static const union AffineAnimCmd sAffineAnims_UproarDistortion[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(-12, 8, 0, 4),
|
||||
AFFINEANIMCMD_FRAME(20, -20, 0, 4),
|
||||
@ -3125,7 +3125,7 @@ void AnimTask_StretchTargetUp(u8 taskId)
|
||||
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
|
||||
if (++gTasks[taskId].data[0] == 1)
|
||||
{
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_TARGET), gUnknown_08593988);
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_TARGET), sAffineAnims_StretchBattlerUp);
|
||||
gSprites[spriteId].pos2.x = 4;
|
||||
}
|
||||
else
|
||||
@ -3145,7 +3145,7 @@ void AnimTask_StretchAttackerUp(u8 taskId)
|
||||
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
if (++gTasks[taskId].data[0] == 1)
|
||||
{
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_08593988);
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), sAffineAnims_StretchBattlerUp);
|
||||
gSprites[spriteId].pos2.x = 4;
|
||||
}
|
||||
else
|
||||
@ -3249,9 +3249,9 @@ void AnimTask_HeartsBackground(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
|
||||
sub_80A6B30(&animBg);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, &gUnknown_08C232E0, animBg.tilesOffset);
|
||||
sub_80A6D60(&animBg, &gUnknown_08C23D78, 0);
|
||||
LoadCompressedPalette(&gUnknown_08C23D50, animBg.paletteId * 16, 32);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, &gBattleAnimBgImage_Attract, animBg.tilesOffset);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_Attract, 0);
|
||||
LoadCompressedPalette(&gBattleAnimBgPalette_Attract, animBg.paletteId * 16, 32);
|
||||
gTasks[taskId].func = AnimTask_HeartsBackground_Step;
|
||||
}
|
||||
|
||||
@ -3328,14 +3328,14 @@ void AnimTask_ScaryFace(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
|
||||
sub_80A6B30(&animBg);
|
||||
if (IsContest())
|
||||
sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0);
|
||||
else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT)
|
||||
sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0);
|
||||
else
|
||||
sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0);
|
||||
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_ScaryFace, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gBattleAnimBgPalette_ScaryFace, animBg.paletteId * 16, 32);
|
||||
gTasks[taskId].func = AnimTask_ScaryFace_Step;
|
||||
}
|
||||
|
||||
@ -3652,7 +3652,7 @@ void AnimTask_UproarDistortion(u8 taskId)
|
||||
{
|
||||
u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
|
||||
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], spriteId, gUnknown_08593B98);
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], spriteId, sAffineAnims_UproarDistortion);
|
||||
gTasks[taskId].func = AnimTask_UproarDistortion_Step;
|
||||
}
|
||||
|
||||
|
@ -2389,7 +2389,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
|
||||
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
|
||||
|
||||
sub_80A6B30(&animBg);
|
||||
sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimMaskTilemap_LightBeam, 0);
|
||||
if (IsContest())
|
||||
{
|
||||
gBattle_BG1_X = -56;
|
||||
@ -2405,8 +2405,8 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
|
||||
gBattle_BG1_Y = 0;
|
||||
}
|
||||
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gUnknown_08C2A6D4, animBg.paletteId * 16, 32);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimMaskImage_LightBeam, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, animBg.paletteId * 16, 32);
|
||||
|
||||
gTasks[taskId].data[10] = gBattle_BG1_X;
|
||||
gTasks[taskId].data[11] = gBattle_BG1_Y;
|
||||
@ -2570,7 +2570,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
|
||||
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
|
||||
|
||||
sub_80A6B30(&animBg);
|
||||
sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimMaskTilemap_LightBeam, 0);
|
||||
if (IsContest())
|
||||
{
|
||||
gBattle_BG1_X = -56;
|
||||
@ -2601,8 +2601,8 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
|
||||
gBattle_BG1_Y = 0;
|
||||
}
|
||||
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gUnknown_08C2A6D4, animBg.paletteId * 16, 32);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimMaskImage_LightBeam, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, animBg.paletteId * 16, 32);
|
||||
gTasks[taskId].data[10] = gBattle_BG1_X;
|
||||
gTasks[taskId].data[11] = gBattle_BG1_Y;
|
||||
gTasks[taskId].data[0]++;
|
||||
|
@ -958,7 +958,7 @@ void AnimLoadCompressedBgTilemap(u32 bgId, const void *src)
|
||||
CopyBgTilemapBufferToVram(bgId);
|
||||
}
|
||||
|
||||
void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2)
|
||||
void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData *unk, const void *src, u32 arg2)
|
||||
{
|
||||
InitAnimBgTilemapBuffer(unk->bgId, src);
|
||||
if (IsContest() == TRUE)
|
||||
|
@ -331,7 +331,7 @@ void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId)
|
||||
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species);
|
||||
sub_80A6B30(&unknownStruct);
|
||||
sub_80A6D60(&unknownStruct, gUnknown_08C20684, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gUnknown_08C20684, 0);
|
||||
AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C20668, unknownStruct.tilesOffset);
|
||||
LoadPalette(&gUnknown_08597418, unknownStruct.paletteId * 16 + 1, 2);
|
||||
|
||||
@ -470,9 +470,9 @@ static void sub_81170EC(u8 taskId)
|
||||
|
||||
sub_80A6B30(&unknownStruct);
|
||||
if (sAnimStatsChangeData->data[0] == 0)
|
||||
sub_80A6D60(&unknownStruct, gBattleStatMask1_Tilemap, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gBattleStatMask1_Tilemap, 0);
|
||||
else
|
||||
sub_80A6D60(&unknownStruct, gBattleStatMask2_Tilemap, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gBattleStatMask2_Tilemap, 0);
|
||||
|
||||
AnimLoadCompressedBgGfx(unknownStruct.bgId, gBattleStatMask_Gfx, unknownStruct.tilesOffset);
|
||||
switch (sAnimStatsChangeData->data[1])
|
||||
@ -825,7 +825,7 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5,
|
||||
spriteId2 = sub_80A89C8(battler2, gBattlerSpriteIds[battler2], species);
|
||||
|
||||
sub_80A6B30(&unknownStruct);
|
||||
sub_80A6D60(&unknownStruct, tilemap, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, tilemap, 0);
|
||||
AnimLoadCompressedBgGfx(unknownStruct.bgId, gfx, unknownStruct.tilesOffset);
|
||||
LoadCompressedPalette(palette, unknownStruct.paletteId * 16, 32);
|
||||
|
||||
|
48
src/bug.c
48
src/bug.c
@ -18,29 +18,29 @@ static void AnimMissileArc(struct Sprite *);
|
||||
static void AnimMissileArc_Step(struct Sprite *);
|
||||
static void AnimTailGlowOrb(struct Sprite *);
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596938[] =
|
||||
static const union AffineAnimCmd sAffineAnim_MegahornHorn_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 30, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596948[] =
|
||||
static const union AffineAnimCmd sAffineAnim_MegahornHorn_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596958[] =
|
||||
static const union AffineAnimCmd sAffineAnim_MegahornHorn_2[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596968[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_MegahornHorn[] =
|
||||
{
|
||||
gUnknown_08596938,
|
||||
gUnknown_08596948,
|
||||
gUnknown_08596958,
|
||||
sAffineAnim_MegahornHorn_0,
|
||||
sAffineAnim_MegahornHorn_1,
|
||||
sAffineAnim_MegahornHorn_2,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gMegahornHornSpriteTemplate =
|
||||
@ -50,33 +50,33 @@ const struct SpriteTemplate gMegahornHornSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596968,
|
||||
.affineAnims = sAffineAnims_MegahornHorn,
|
||||
.callback = AnimMegahornHorn,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_0859698C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_0859699C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085969AC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_2[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085969BC[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_LeechLifeNeedle[] =
|
||||
{
|
||||
gUnknown_0859698C,
|
||||
gUnknown_0859699C,
|
||||
gUnknown_085969AC,
|
||||
sAffineAnim_LeechLifeNeedle_0,
|
||||
sAffineAnim_LeechLifeNeedle_1,
|
||||
sAffineAnim_LeechLifeNeedle_2,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate =
|
||||
@ -86,7 +86,7 @@ const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085969BC,
|
||||
.affineAnims = sAffineAnims_LeechLifeNeedle,
|
||||
.callback = AnimLeechLifeNeedle,
|
||||
};
|
||||
|
||||
@ -112,16 +112,16 @@ const struct SpriteTemplate gStringWrapSpriteTemplate =
|
||||
.callback = AnimStringWrap,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596A10[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SpiderWeb[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1),
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596A28[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_SpiderWeb[] =
|
||||
{
|
||||
gUnknown_08596A10,
|
||||
sAffineAnim_SpiderWeb,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpiderWebSpriteTemplate =
|
||||
@ -131,7 +131,7 @@ const struct SpriteTemplate gSpiderWebSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596A28,
|
||||
.affineAnims = sAffineAnims_SpiderWeb,
|
||||
.callback = AnimSpiderWeb,
|
||||
};
|
||||
|
||||
@ -168,7 +168,7 @@ const struct SpriteTemplate gIcicleSpearSpriteTemplate =
|
||||
.callback = AnimMissileArc,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596A8C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_TailGlowOrb[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18),
|
||||
@ -179,9 +179,9 @@ const union AffineAnimCmd gUnknown_08596A8C[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596AC4[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_TailGlowOrb[] =
|
||||
{
|
||||
gUnknown_08596A8C,
|
||||
sAffineAnim_TailGlowOrb,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gTailGlowOrbSpriteTemplate =
|
||||
@ -191,7 +191,7 @@ const struct SpriteTemplate gTailGlowOrbSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596AC4,
|
||||
.affineAnims = sAffineAnims_TailGlowOrb,
|
||||
.callback = AnimTailGlowOrb,
|
||||
};
|
||||
|
||||
|
63
src/dark.c
63
src/dark.c
@ -25,6 +25,7 @@ static void sub_8114244(struct Task *);
|
||||
static void sub_8114374(u8);
|
||||
static void AnimTask_MetallicShine_Step(u8);
|
||||
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_08596FC8 =
|
||||
{
|
||||
.tileTag = ANIM_TAG_TIED_BAG,
|
||||
@ -36,64 +37,64 @@ const struct SpriteTemplate gUnknown_08596FC8 =
|
||||
.callback = sub_81138D4,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596FE0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bite_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596FF0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bite_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 32, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597000[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bite_2[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 64, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597010[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bite_3[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597020[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bite_4[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -128, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597030[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bite_5[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597040[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bite_6[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -64, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597050[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bite_7[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -32, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08597060[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_Bite[] =
|
||||
{
|
||||
gUnknown_08596FE0,
|
||||
gUnknown_08596FF0,
|
||||
gUnknown_08597000,
|
||||
gUnknown_08597010,
|
||||
gUnknown_08597020,
|
||||
gUnknown_08597030,
|
||||
gUnknown_08597040,
|
||||
gUnknown_08597050,
|
||||
sAffineAnim_Bite_0,
|
||||
sAffineAnim_Bite_1,
|
||||
sAffineAnim_Bite_2,
|
||||
sAffineAnim_Bite_3,
|
||||
sAffineAnim_Bite_4,
|
||||
sAffineAnim_Bite_5,
|
||||
sAffineAnim_Bite_6,
|
||||
sAffineAnim_Bite_7,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSharpTeethSpriteTemplate =
|
||||
@ -103,7 +104,7 @@ const struct SpriteTemplate gSharpTeethSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08597060,
|
||||
.affineAnims = gAffineAnims_Bite,
|
||||
.callback = AnimBite,
|
||||
};
|
||||
|
||||
@ -114,28 +115,28 @@ const struct SpriteTemplate gClampJawSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08597060,
|
||||
.affineAnims = gAffineAnims_Bite,
|
||||
.callback = AnimBite,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085970B0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_TearDrop_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xC0, 0xC0, 80, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085970C8[] =
|
||||
static const union AffineAnimCmd sAffineAnim_TearDrop_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xC0, 0xC0, -80, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085970E0[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_TearDrop[] =
|
||||
{
|
||||
gUnknown_085970B0,
|
||||
gUnknown_085970C8,
|
||||
sAffineAnim_TearDrop_0,
|
||||
sAffineAnim_TearDrop_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gTearDropSpriteTemplate =
|
||||
@ -145,11 +146,11 @@ const struct SpriteTemplate gTearDropSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085970E0,
|
||||
.affineAnims = sAffineAnims_TearDrop,
|
||||
.callback = AnimTearDrop,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08597100[] =
|
||||
static const union AnimCmd sAnim_ClawSlash_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(16, 4),
|
||||
@ -159,7 +160,7 @@ const union AnimCmd gUnknown_08597100[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08597118[] =
|
||||
static const union AnimCmd sAnim_ClawSlash_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
|
||||
@ -169,10 +170,10 @@ const union AnimCmd gUnknown_08597118[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08597130[] =
|
||||
static const union AnimCmd *const sAnims_ClawSlash[] =
|
||||
{
|
||||
gUnknown_08597100,
|
||||
gUnknown_08597118,
|
||||
sAnim_ClawSlash_0,
|
||||
sAnim_ClawSlash_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gClawSlashSpriteTemplate =
|
||||
@ -180,7 +181,7 @@ const struct SpriteTemplate gClawSlashSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_CLAW_SLASH,
|
||||
.paletteTag = ANIM_TAG_CLAW_SLASH,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08597130,
|
||||
.anims = sAnims_ClawSlash,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimClawSlash,
|
||||
|
58
src/dragon.c
58
src/dragon.c
@ -17,7 +17,7 @@ static void sub_8113574(struct Task *);
|
||||
|
||||
EWRAM_DATA static u16 gUnknown_0203A100[7] = {0};
|
||||
|
||||
const union AnimCmd gUnknown_08596E60[] =
|
||||
static const union AnimCmd gUnknown_08596E60[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(16, 4),
|
||||
@ -27,7 +27,7 @@ const union AnimCmd gUnknown_08596E60[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596E78[] =
|
||||
static const union AnimCmd *const gUnknown_08596E78[] =
|
||||
{
|
||||
gUnknown_08596E60,
|
||||
};
|
||||
@ -43,7 +43,7 @@ const struct SpriteTemplate gOutrageFlameSpriteTemplate =
|
||||
.callback = AnimOutrageFlame,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596E94[] =
|
||||
static const union AnimCmd sAnim_DragonBreathFire_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 3),
|
||||
ANIMCMD_FRAME(32, 3),
|
||||
@ -51,7 +51,7 @@ const union AnimCmd gUnknown_08596E94[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596EA4[] =
|
||||
static const union AnimCmd sAnim_DragonBreathFire_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(32, 3, .vFlip = TRUE, .hFlip = TRUE),
|
||||
@ -59,30 +59,30 @@ const union AnimCmd gUnknown_08596EA4[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596EB4[] =
|
||||
static const union AnimCmd *const sAnims_DragonBreathFire[] =
|
||||
{
|
||||
gUnknown_08596E94,
|
||||
gUnknown_08596EA4,
|
||||
sAnim_DragonBreathFire_0,
|
||||
sAnim_DragonBreathFire_1,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596EBC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_DragonBreathFire_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x50, 0x50, 127, 0),
|
||||
AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596ED4[] =
|
||||
static const union AffineAnimCmd sAffineAnim_DragonBreathFire_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596EEC[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_DragonBreathFire[] =
|
||||
{
|
||||
gUnknown_08596EBC,
|
||||
gUnknown_08596ED4,
|
||||
sAffineAnim_DragonBreathFire_0,
|
||||
sAffineAnim_DragonBreathFire_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gDragonBreathFireSpriteTemplate =
|
||||
@ -90,13 +90,13 @@ const struct SpriteTemplate gDragonBreathFireSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596EB4,
|
||||
.anims = sAnims_DragonBreathFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596EEC,
|
||||
.affineAnims = sAffineAnims_DragonBreathFire,
|
||||
.callback = AnimDragonFireToTarget,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596F0C[] =
|
||||
static const union AnimCmd sAnim_DragonRageFirePlume[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(16, 5),
|
||||
@ -106,9 +106,9 @@ const union AnimCmd gUnknown_08596F0C[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596F24[] =
|
||||
static const union AnimCmd *const sAnims_DragonRageFirePlume[] =
|
||||
{
|
||||
gUnknown_08596F0C,
|
||||
sAnim_DragonRageFirePlume,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate =
|
||||
@ -116,13 +116,13 @@ const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_FIRE_PLUME,
|
||||
.paletteTag = ANIM_TAG_FIRE_PLUME,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596F24,
|
||||
.anims = sAnims_DragonRageFirePlume,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimDragonRageFirePlume,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596F40[] =
|
||||
static const union AnimCmd sAnim_DragonRageFire[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 3),
|
||||
ANIMCMD_FRAME(32, 3),
|
||||
@ -130,28 +130,28 @@ const union AnimCmd gUnknown_08596F40[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596F50[] =
|
||||
static const union AnimCmd *const sAnims_DragonRageFire[] =
|
||||
{
|
||||
gUnknown_08596F40,
|
||||
gUnknown_08596F40,
|
||||
sAnim_DragonRageFire,
|
||||
sAnim_DragonRageFire,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596F58[] =
|
||||
static const union AffineAnimCmd sAffineAnim_DragonRageFire_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x64, 0x64, 127, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596F68[] =
|
||||
static const union AffineAnimCmd sAffineAnim_DragonRageFire_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x64, 0x64, 0, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596F78[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_DragonRageFire[] =
|
||||
{
|
||||
gUnknown_08596F58,
|
||||
gUnknown_08596F68,
|
||||
sAffineAnim_DragonRageFire_0,
|
||||
sAffineAnim_DragonRageFire_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate =
|
||||
@ -159,9 +159,9 @@ const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596F50,
|
||||
.anims = sAnims_DragonRageFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596F78,
|
||||
.affineAnims = sAffineAnims_DragonRageFire,
|
||||
.callback = AnimDragonFireToTarget,
|
||||
};
|
||||
|
||||
|
150
src/electric.c
150
src/electric.c
@ -22,22 +22,22 @@ static void AnimTask_ElectricBolt_Step(u8 taskId);
|
||||
static void AnimElectricBoltSegment(struct Sprite *);
|
||||
static void AnimThunderWave(struct Sprite *);
|
||||
static void AnimThunderWave_Step(struct Sprite *);
|
||||
static void sub_810AB78(u8 taskId);
|
||||
static void sub_810AC8C(struct Sprite *);
|
||||
static void sub_810ACC0(struct Sprite *);
|
||||
static void AnimTask_ElectricChargingParticles_Step(u8 taskId);
|
||||
static void AnimElectricChargingParticles(struct Sprite *);
|
||||
static void AnimElectricChargingParticles_Step(struct Sprite *);
|
||||
static void AnimGrowingChargeOrb(struct Sprite *);
|
||||
static void AnimElectricPuff(struct Sprite *);
|
||||
static void AnimVoltTackleOrbSlide(struct Sprite *);
|
||||
static void AnimVoltTackleOrbSlide_Step(struct Sprite *);
|
||||
static bool8 sub_810B154(struct Task *task, u8 taskId);
|
||||
static void sub_810B1F0(struct Sprite *);
|
||||
static void AnimVoltTackleBolt(struct Sprite *);
|
||||
static void AnimGrowingShockWaveOrb(struct Sprite *);
|
||||
static bool8 sub_810B430(struct Task *task, u8 taskId);
|
||||
static void AnimShockWaveProgressingBolt(struct Sprite *);
|
||||
static bool8 sub_810B614(struct Task *task, u8 taskId);
|
||||
static void sub_810B684(struct Sprite *sprite);
|
||||
|
||||
const union AnimCmd gUnknown_085956A4[] =
|
||||
static const union AnimCmd sAnim_Lightning[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(16, 5),
|
||||
@ -47,9 +47,9 @@ const union AnimCmd gUnknown_085956A4[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085956BC[] =
|
||||
static const union AnimCmd *const sAnims_Lightning[] =
|
||||
{
|
||||
gUnknown_085956A4,
|
||||
sAnim_Lightning,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gLightningSpriteTemplate =
|
||||
@ -57,13 +57,13 @@ const struct SpriteTemplate gLightningSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_LIGHTNING,
|
||||
.paletteTag = ANIM_TAG_LIGHTNING,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085956BC,
|
||||
.anims = sAnims_Lightning,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimLightning,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085956D8[] =
|
||||
static const union AffineAnimCmd gUnknown_085956D8[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 20),
|
||||
@ -71,11 +71,12 @@ const union AffineAnimCmd gUnknown_085956D8[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085956F8[] =
|
||||
static const union AffineAnimCmd *const gUnknown_085956F8[] =
|
||||
{
|
||||
gUnknown_085956D8,
|
||||
};
|
||||
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_085956FC =
|
||||
{
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
@ -87,7 +88,7 @@ const struct SpriteTemplate gUnknown_085956FC =
|
||||
.callback = sub_810A214,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595714[] =
|
||||
static const union AnimCmd gUnknown_08595714[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(16, 5),
|
||||
@ -98,11 +99,12 @@ const union AnimCmd gUnknown_08595714[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595730[] =
|
||||
static const union AnimCmd *const gUnknown_08595730[] =
|
||||
{
|
||||
gUnknown_08595714,
|
||||
};
|
||||
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_08595734 =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SHOCK,
|
||||
@ -136,15 +138,15 @@ const struct SpriteTemplate gZapCannonBallSpriteTemplate =
|
||||
.callback = TranslateAnimSpriteToTargetMonLocation,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_0859577C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_FlashingSpark[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_0859578C[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_FlashingSpark[] =
|
||||
{
|
||||
gUnknown_0859577C,
|
||||
sAffineAnim_FlashingSpark,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gZapCannonSparkSpriteTemplate =
|
||||
@ -154,11 +156,11 @@ const struct SpriteTemplate gZapCannonSparkSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_0859578C,
|
||||
.affineAnims = sAffineAnims_FlashingSpark,
|
||||
.callback = AnimZapCannonSpark,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085957A8[] =
|
||||
static const union AnimCmd sAnim_ThunderboltOrb[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 6),
|
||||
ANIMCMD_FRAME(16, 6),
|
||||
@ -166,12 +168,12 @@ const union AnimCmd gUnknown_085957A8[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085957B8[] =
|
||||
static const union AnimCmd *const sAnims_ThunderboltOrb[] =
|
||||
{
|
||||
gUnknown_085957A8,
|
||||
sAnim_ThunderboltOrb,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085957BC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_ThunderboltOrb[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xE8, 0xE8, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10),
|
||||
@ -179,9 +181,9 @@ const union AffineAnimCmd gUnknown_085957BC[] =
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085957DC[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_ThunderboltOrb[] =
|
||||
{
|
||||
gUnknown_085957BC,
|
||||
sAffineAnim_ThunderboltOrb,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gThunderboltOrbSpriteTemplate =
|
||||
@ -189,9 +191,9 @@ const struct SpriteTemplate gThunderboltOrbSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SHOCK_3,
|
||||
.paletteTag = ANIM_TAG_SHOCK_3,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gUnknown_085957B8,
|
||||
.anims = sAnims_ThunderboltOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085957DC,
|
||||
.affineAnims = sAffineAnims_ThunderboltOrb,
|
||||
.callback = AnimThunderboltOrb,
|
||||
};
|
||||
|
||||
@ -202,7 +204,7 @@ const struct SpriteTemplate gSparkElectricityFlashingSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_0859578C,
|
||||
.affineAnims = sAffineAnims_FlashingSpark,
|
||||
.callback = AnimSparkElectricityFlashing,
|
||||
};
|
||||
|
||||
@ -239,7 +241,7 @@ const struct SpriteTemplate gThunderWaveSpriteTemplate =
|
||||
.callback = AnimThunderWave,
|
||||
};
|
||||
|
||||
const s8 gUnknown_08595858[][2] =
|
||||
static const s8 sElectricChargingParticleCoordOffsets[][2] =
|
||||
{
|
||||
{ 58, -60},
|
||||
{-56, -36},
|
||||
@ -259,7 +261,7 @@ const s8 gUnknown_08595858[][2] =
|
||||
{ 48, 48},
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595878[] =
|
||||
static const union AnimCmd sAnim_ElectricChargingParticles_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(3, 1),
|
||||
ANIMCMD_FRAME(2, 1),
|
||||
@ -268,7 +270,7 @@ const union AnimCmd gUnknown_08595878[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_0859588C[] =
|
||||
static const union AnimCmd sAnim_ElectricChargingParticles_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(1, 5),
|
||||
@ -277,24 +279,24 @@ const union AnimCmd gUnknown_0859588C[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085958A0[] =
|
||||
static const union AnimCmd *const sAnims_ElectricChargingParticles[] =
|
||||
{
|
||||
gUnknown_08595878,
|
||||
gUnknown_0859588C,
|
||||
sAnim_ElectricChargingParticles_0,
|
||||
sAnim_ElectricChargingParticles_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085958A8 =
|
||||
const struct SpriteTemplate gElectricChargingParticlesSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ELECTRIC_ORBS,
|
||||
.paletteTag = ANIM_TAG_ELECTRIC_ORBS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = gUnknown_085958A0,
|
||||
.anims = sAnims_ElectricChargingParticles,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085958C0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 60),
|
||||
@ -306,7 +308,7 @@ const union AffineAnimCmd gUnknown_085958C0[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595900[] =
|
||||
static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
|
||||
@ -316,7 +318,7 @@ const union AffineAnimCmd gUnknown_08595900[] =
|
||||
AFFINEANIMCMD_JUMP(3),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595930[] =
|
||||
static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_2[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
|
||||
@ -324,11 +326,11 @@ const union AffineAnimCmd gUnknown_08595930[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595950[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_GrowingElectricOrb[] =
|
||||
{
|
||||
gUnknown_085958C0,
|
||||
gUnknown_08595900,
|
||||
gUnknown_08595930,
|
||||
sAffineAnim_GrowingElectricOrb_0,
|
||||
sAffineAnim_GrowingElectricOrb_1,
|
||||
sAffineAnim_GrowingElectricOrb_2,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gGrowingChargeOrbSpriteTemplate =
|
||||
@ -338,11 +340,11 @@ const struct SpriteTemplate gGrowingChargeOrbSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595950,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimGrowingChargeOrb,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595974[] =
|
||||
static const union AnimCmd sAnim_ElectricPuff[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 3),
|
||||
ANIMCMD_FRAME(16, 3),
|
||||
@ -351,9 +353,9 @@ const union AnimCmd gUnknown_08595974[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595988[] =
|
||||
static const union AnimCmd *const sAnims_ElectricPuff[] =
|
||||
{
|
||||
gUnknown_08595974,
|
||||
sAnim_ElectricPuff,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gElectricPuffSpriteTemplate =
|
||||
@ -361,7 +363,7 @@ const struct SpriteTemplate gElectricPuffSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ELECTRICITY,
|
||||
.paletteTag = ANIM_TAG_ELECTRICITY,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595988,
|
||||
.anims = sAnims_ElectricPuff,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimElectricPuff,
|
||||
@ -374,62 +376,62 @@ const struct SpriteTemplate gVoltTackleOrbSlideSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595950,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimVoltTackleOrbSlide,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085959BC[] =
|
||||
static const union AnimCmd sAnim_VoltTackleBolt_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 3),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085959C4[] =
|
||||
static const union AnimCmd sAnim_VoltTackleBolt_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(2, 3),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085959CC[] =
|
||||
static const union AnimCmd sAnim_VoltTackleBolt_2[] =
|
||||
{
|
||||
ANIMCMD_FRAME(4, 3),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085959D4[] =
|
||||
static const union AnimCmd sAnim_VoltTackleBolt_3[] =
|
||||
{
|
||||
ANIMCMD_FRAME(6, 3),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085959DC[] =
|
||||
static const union AnimCmd *const sAnims_VoltTackleBolt[] =
|
||||
{
|
||||
gUnknown_085959BC,
|
||||
gUnknown_085959C4,
|
||||
gUnknown_085959CC,
|
||||
gUnknown_085959D4,
|
||||
sAnim_VoltTackleBolt_0,
|
||||
sAnim_VoltTackleBolt_1,
|
||||
sAnim_VoltTackleBolt_2,
|
||||
sAnim_VoltTackleBolt_3,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085959EC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_VoltTackleBolt[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085959FC[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_VoltTackleBolt[] =
|
||||
{
|
||||
gUnknown_085959EC,
|
||||
sAffineAnim_VoltTackleBolt,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595A00 =
|
||||
const struct SpriteTemplate gVoltTackleBoltSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SPARK,
|
||||
.paletteTag = ANIM_TAG_SPARK,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_8x16,
|
||||
.anims = gUnknown_085959DC,
|
||||
.anims = sAnims_VoltTackleBolt,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085959FC,
|
||||
.callback = sub_810B1F0,
|
||||
.affineAnims = sAffineAnims_VoltTackleBolt,
|
||||
.callback = AnimVoltTackleBolt,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gGrowingShockWaveOrbSpriteTemplate =
|
||||
@ -439,7 +441,7 @@ const struct SpriteTemplate gGrowingShockWaveOrbSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595950,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimGrowingShockWaveOrb,
|
||||
};
|
||||
|
||||
@ -821,10 +823,10 @@ void AnimTask_ElectricChargingParticles(u8 taskId)
|
||||
task->data[11] = gBattleAnimArgs[3];
|
||||
task->data[12] = 0;
|
||||
task->data[13] = gBattleAnimArgs[2];
|
||||
task->func = sub_810AB78;
|
||||
task->func = AnimTask_ElectricChargingParticles_Step;
|
||||
}
|
||||
|
||||
static void sub_810AB78(u8 taskId)
|
||||
static void AnimTask_ElectricChargingParticles_Step(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
@ -834,12 +836,12 @@ static void sub_810AB78(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
task->data[12] = 0;
|
||||
spriteId = CreateSprite(&gUnknown_085958A8, task->data[14], task->data[15], 2);
|
||||
spriteId = CreateSprite(&gElectricChargingParticlesSpriteTemplate, task->data[14], task->data[15], 2);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[spriteId];
|
||||
sprite->pos1.x += gUnknown_08595858[task->data[9]][0];
|
||||
sprite->pos1.y += gUnknown_08595858[task->data[9]][1];
|
||||
sprite->pos1.x += sElectricChargingParticleCoordOffsets[task->data[9]][0];
|
||||
sprite->pos1.y += sElectricChargingParticleCoordOffsets[task->data[9]][1];
|
||||
|
||||
sprite->data[0] = 40 - task->data[8] * 5;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
@ -849,7 +851,7 @@ static void sub_810AB78(u8 taskId)
|
||||
sprite->data[5] = taskId;
|
||||
|
||||
InitAnimLinearTranslation(sprite);
|
||||
StoreSpriteCallbackInData6(sprite, sub_810ACC0);
|
||||
StoreSpriteCallbackInData6(sprite, AnimElectricChargingParticles);
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
|
||||
if (++task->data[9] > 15)
|
||||
@ -871,7 +873,7 @@ static void sub_810AB78(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
static void sub_810AC8C(struct Sprite *sprite)
|
||||
static void AnimElectricChargingParticles_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (AnimTranslateLinear(sprite))
|
||||
{
|
||||
@ -880,10 +882,10 @@ static void sub_810AC8C(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_810ACC0(struct Sprite *sprite)
|
||||
static void AnimElectricChargingParticles(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAnim(sprite, 1);
|
||||
sprite->callback = sub_810AC8C;
|
||||
sprite->callback = AnimElectricChargingParticles_Step;
|
||||
}
|
||||
|
||||
static void AnimGrowingChargeOrb(struct Sprite *sprite)
|
||||
@ -1086,7 +1088,7 @@ void AnimTask_VoltTackleBolt(u8 taskId)
|
||||
|
||||
static bool8 sub_810B154(struct Task *task, u8 taskId)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&gUnknown_08595A00, task->data[3], task->data[5], 35);
|
||||
u8 spriteId = CreateSprite(&gVoltTackleBoltSpriteTemplate, task->data[3], task->data[5], 35);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].data[6] = taskId;
|
||||
@ -1114,7 +1116,7 @@ static bool8 sub_810B154(struct Task *task, u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_810B1F0(struct Sprite *sprite)
|
||||
static void AnimVoltTackleBolt(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] > 12)
|
||||
{
|
||||
|
113
src/fight.c
113
src/fight.c
@ -39,6 +39,7 @@ static void AnimSpinningKickOrPunchFinish(struct Sprite *);
|
||||
|
||||
extern struct SpriteTemplate gBasicHitSplatSpriteTemplate;
|
||||
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_08595E14 =
|
||||
{
|
||||
.tileTag = ANIM_TAG_HUMANOID_FOOT,
|
||||
@ -50,51 +51,51 @@ const struct SpriteTemplate gUnknown_08595E14 =
|
||||
.callback = unc_080B08A0,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595E2C[] =
|
||||
static const union AnimCmd sAnim_HandOrFoot[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595E34[] =
|
||||
static const union AnimCmd sAnim_SlidingKick_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595E3C[] =
|
||||
static const union AnimCmd sAnim_SlidingKick_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(32, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595E44[] =
|
||||
static const union AnimCmd sAnim_CrossChopHand_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(48, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595E4C[] =
|
||||
static const union AnimCmd sAnim_CrossChopHand_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(48, 1, .hFlip = TRUE),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595E54[] =
|
||||
static const union AnimCmd *const sAnims_HandOrFoot[] =
|
||||
{
|
||||
gUnknown_08595E2C,
|
||||
sAnim_HandOrFoot,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595E58[] =
|
||||
static const union AnimCmd *const sAnims_SlidingKick[] =
|
||||
{
|
||||
gUnknown_08595E34,
|
||||
gUnknown_08595E3C,
|
||||
sAnim_SlidingKick_0,
|
||||
sAnim_SlidingKick_1,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595E60[] =
|
||||
static const union AnimCmd *const sAnims_CrossChopHand[] =
|
||||
{
|
||||
gUnknown_08595E44,
|
||||
gUnknown_08595E4C,
|
||||
sAnim_CrossChopHand_0,
|
||||
sAnim_CrossChopHand_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gKarateChopSpriteTemplate =
|
||||
@ -102,7 +103,7 @@ const struct SpriteTemplate gKarateChopSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E54,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSlideHandOrFootToTarget,
|
||||
@ -113,7 +114,7 @@ const struct SpriteTemplate gJumpKickSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E54,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimJumpKick,
|
||||
@ -124,7 +125,7 @@ const struct SpriteTemplate gFistFootSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E54,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimBasicFistOrFoot,
|
||||
@ -135,7 +136,7 @@ const struct SpriteTemplate gFistFootRandomPosSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E54,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFistOrFootRandomPos,
|
||||
@ -146,7 +147,7 @@ const struct SpriteTemplate gCrossChopHandSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E60,
|
||||
.anims = sAnims_CrossChopHand,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimCrossChopHand,
|
||||
@ -157,22 +158,22 @@ const struct SpriteTemplate gSlidingKickSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E58,
|
||||
.anims = sAnims_SlidingKick,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSlidingKick,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595EF8[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SpinningHandOrFoot[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 20, 1),
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595F10[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_SpinningHandOrFoot[] =
|
||||
{
|
||||
gUnknown_08595EF8,
|
||||
sAffineAnim_SpinningHandOrFoot,
|
||||
};
|
||||
|
||||
// Blaze Kick / Meteor Mash
|
||||
@ -181,22 +182,22 @@ const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E54,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595F10,
|
||||
.affineAnims = sAffineAnims_SpinningHandOrFoot,
|
||||
.callback = AnimSpinningKickOrPunch,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595F2C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_MegaPunchKick[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 20, 1),
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595F44[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_MegaPunchKick[] =
|
||||
{
|
||||
gUnknown_08595F2C,
|
||||
sAffineAnim_MegaPunchKick,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gMegaPunchKickSpriteTemplate =
|
||||
@ -204,9 +205,9 @@ const struct SpriteTemplate gMegaPunchKickSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E54,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595F44,
|
||||
.affineAnims = sAffineAnims_MegaPunchKick,
|
||||
.callback = AnimSpinningKickOrPunch,
|
||||
};
|
||||
|
||||
@ -215,7 +216,7 @@ const struct SpriteTemplate gStompFootSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E58,
|
||||
.anims = sAnims_SlidingKick,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimStompFoot,
|
||||
@ -254,7 +255,7 @@ const struct SpriteTemplate gBrickBreakWallShardSpriteTemplate =
|
||||
.callback = AnimBrickBreakWallShard,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595FC0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SuperpowerOrb[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 64),
|
||||
@ -263,9 +264,9 @@ const union AffineAnimCmd gUnknown_08595FC0[] =
|
||||
AFFINEANIMCMD_JUMP(2),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595FE8[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_SuperpowerOrb[] =
|
||||
{
|
||||
gUnknown_08595FC0,
|
||||
sAffineAnim_SuperpowerOrb,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSuperpowerOrbSpriteTemplate =
|
||||
@ -275,7 +276,7 @@ const struct SpriteTemplate gSuperpowerOrbSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595FE8,
|
||||
.affineAnims = sAffineAnims_SuperpowerOrb,
|
||||
.callback = AnimSuperpowerOrb,
|
||||
};
|
||||
|
||||
@ -306,13 +307,13 @@ const struct SpriteTemplate gArmThrustHandSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E54,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimArmThrustHit,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_0859604C[] =
|
||||
static const union AnimCmd sAnim_RevengeSmallScratch_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(16, 4),
|
||||
@ -320,7 +321,7 @@ const union AnimCmd gUnknown_0859604C[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_0859605C[] =
|
||||
static const union AnimCmd sAnim_RevengeSmallScratch_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(16, 4, .vFlip = TRUE),
|
||||
@ -328,7 +329,7 @@ const union AnimCmd gUnknown_0859605C[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_0859606C[] =
|
||||
static const union AnimCmd sAnim_RevengeSmallScratch_2[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
|
||||
@ -336,11 +337,11 @@ const union AnimCmd gUnknown_0859606C[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_0859607C[] =
|
||||
static const union AnimCmd *const sAnims_RevengeSmallScratch[] =
|
||||
{
|
||||
gUnknown_0859604C,
|
||||
gUnknown_0859605C,
|
||||
gUnknown_0859606C,
|
||||
sAnim_RevengeSmallScratch_0,
|
||||
sAnim_RevengeSmallScratch_1,
|
||||
sAnim_RevengeSmallScratch_2,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gRevengeSmallScratchSpriteTemplate =
|
||||
@ -348,38 +349,38 @@ const struct SpriteTemplate gRevengeSmallScratchSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_PURPLE_SCRATCH,
|
||||
.paletteTag = ANIM_TAG_PURPLE_SCRATCH,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_0859607C,
|
||||
.anims = sAnims_RevengeSmallScratch,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimRevengeScratch,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085960A0[] =
|
||||
static const union AnimCmd sAnim_RevengeBigScratch_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 6),
|
||||
ANIMCMD_FRAME(64, 6),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085960AC[] =
|
||||
static const union AnimCmd sAnim_RevengeBigScratch_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 6, .vFlip = TRUE, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(64, 6, .vFlip = TRUE, .hFlip = TRUE),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085960B8[] =
|
||||
static const union AnimCmd sAnim_RevengeBigScratch_2[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 6, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(64, 6, .hFlip = TRUE),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085960C4[] =
|
||||
static const union AnimCmd *const sAnims_RevengeBigScratch[] =
|
||||
{
|
||||
gUnknown_085960A0,
|
||||
gUnknown_085960AC,
|
||||
gUnknown_085960B8,
|
||||
sAnim_RevengeBigScratch_0,
|
||||
sAnim_RevengeBigScratch_1,
|
||||
sAnim_RevengeBigScratch_2,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gRevengeBigScratchSpriteTemplate =
|
||||
@ -387,22 +388,22 @@ const struct SpriteTemplate gRevengeBigScratchSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_PURPLE_SWIPE,
|
||||
.paletteTag = ANIM_TAG_PURPLE_SWIPE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_64x64,
|
||||
.anims = gUnknown_085960C4,
|
||||
.anims = sAnims_RevengeBigScratch,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimRevengeScratch,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085960E8[] =
|
||||
static const union AffineAnimCmd sAffineAnim_FocusPunchFist[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFE0, 0xFFE0, 0, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596100[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_FocusPunchFist[] =
|
||||
{
|
||||
gUnknown_085960E8,
|
||||
sAffineAnim_FocusPunchFist,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFocusPunchFistSpriteTemplate =
|
||||
@ -410,9 +411,9 @@ const struct SpriteTemplate gFocusPunchFistSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595E54,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596100,
|
||||
.affineAnims = sAffineAnims_FocusPunchFist,
|
||||
.callback = AnimFocusPunchFist,
|
||||
};
|
||||
|
||||
|
162
src/fire.c
162
src/fire.c
@ -27,11 +27,11 @@ static void AnimFireSpiralOutward(struct Sprite *);
|
||||
static void AnimFireSpiralOutward_Step1(struct Sprite *);
|
||||
static void AnimFireSpiralOutward_Step2(struct Sprite *);
|
||||
static void AnimTask_EruptionLaunchRocks_Step(u8 taskId);
|
||||
static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3);
|
||||
static void sub_81098EC(struct Sprite *);
|
||||
static u16 sub_8109930(u8 spriteId);
|
||||
static void sub_8109984(struct Sprite *sprite, s16 x, s16 y);
|
||||
static void sub_81099A0(struct Sprite *);
|
||||
static void CreateEruptionLaunchRocks(u8 spriteId, u8 taskId, u8 a3);
|
||||
static void AnimEruptionLaunchRock(struct Sprite *);
|
||||
static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId);
|
||||
static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 x, s16 y);
|
||||
static void UpdateEruptionLaunchRockPos(struct Sprite *);
|
||||
static void AnimEruptionFallingRock(struct Sprite *);
|
||||
static void AnimEruptionFallingRock_Step(struct Sprite *);
|
||||
static void AnimWillOWispOrb(struct Sprite *);
|
||||
@ -39,7 +39,7 @@ static void AnimWillOWispOrb_Step(struct Sprite *);
|
||||
static void AnimWillOWispFire(struct Sprite *);
|
||||
static void AnimTask_MoveHeatWaveTargets_Step(u8 taskId);
|
||||
|
||||
const union AnimCmd gUnknown_08595340[] =
|
||||
static const union AnimCmd sAnim_FireSpiralSpread_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 4),
|
||||
ANIMCMD_FRAME(32, 4),
|
||||
@ -47,7 +47,7 @@ const union AnimCmd gUnknown_08595340[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595350[] =
|
||||
static const union AnimCmd sAnim_FireSpiralSpread_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 4, .vFlip = TRUE, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(32, 4, .vFlip = TRUE, .hFlip = TRUE),
|
||||
@ -55,10 +55,10 @@ const union AnimCmd gUnknown_08595350[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595360[] =
|
||||
static const union AnimCmd *const sAnims_FireSpiralSpread[] =
|
||||
{
|
||||
gUnknown_08595340,
|
||||
gUnknown_08595350,
|
||||
sAnim_FireSpiralSpread_0,
|
||||
sAnim_FireSpiralSpread_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFireSpiralInwardSpriteTemplate =
|
||||
@ -66,7 +66,7 @@ const struct SpriteTemplate gFireSpiralInwardSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595360,
|
||||
.anims = sAnims_FireSpiralSpread,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFireSpiralInward,
|
||||
@ -77,13 +77,13 @@ const struct SpriteTemplate gFireSpreadSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595360,
|
||||
.anims = sAnims_FireSpiralSpread,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFireSpread,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595398[] =
|
||||
static const union AnimCmd sAnim_LargeFlame[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 3),
|
||||
ANIMCMD_FRAME(16, 3),
|
||||
@ -96,12 +96,12 @@ const union AnimCmd gUnknown_08595398[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085953BC[] =
|
||||
static const union AnimCmd *const sAnims_LargeFlame[] =
|
||||
{
|
||||
gUnknown_08595398,
|
||||
sAnim_LargeFlame,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085953C0[] =
|
||||
static const union AnimCmd sAnim_FirePlume[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(16, 5),
|
||||
@ -111,21 +111,21 @@ const union AnimCmd gUnknown_085953C0[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085953D8[] =
|
||||
static const union AnimCmd *const sAnims_FirePlume[] =
|
||||
{
|
||||
gUnknown_085953C0,
|
||||
sAnim_FirePlume,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085953DC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_LargeFlame[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x32, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x20, 0x0, 0, 7),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085953F4[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_LargeFlame[] =
|
||||
{
|
||||
gUnknown_085953DC,
|
||||
sAffineAnim_LargeFlame,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gLargeFlameSpriteTemplate =
|
||||
@ -133,9 +133,9 @@ const struct SpriteTemplate gLargeFlameSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_FIRE,
|
||||
.paletteTag = ANIM_TAG_FIRE,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gUnknown_085953BC,
|
||||
.anims = sAnims_LargeFlame,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085953F4,
|
||||
.affineAnims = sAffineAnims_LargeFlame,
|
||||
.callback = AnimLargeFlame,
|
||||
};
|
||||
|
||||
@ -144,7 +144,7 @@ const struct SpriteTemplate gLargeFlameScatterSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_FIRE,
|
||||
.paletteTag = ANIM_TAG_FIRE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085953BC,
|
||||
.anims = sAnims_LargeFlame,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimLargeFlame,
|
||||
@ -155,24 +155,25 @@ const struct SpriteTemplate gFirePlumeSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_FIRE_PLUME,
|
||||
.paletteTag = ANIM_TAG_FIRE_PLUME,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085953D8,
|
||||
.anims = sAnims_FirePlume,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFirePlume,
|
||||
};
|
||||
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_08595440 =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085953D8,
|
||||
.anims = sAnims_FirePlume,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFirePlume,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595458[] =
|
||||
static const union AnimCmd gUnknown_08595458[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 6),
|
||||
ANIMCMD_FRAME(32, 6),
|
||||
@ -180,11 +181,12 @@ const union AnimCmd gUnknown_08595458[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595468[] =
|
||||
static const union AnimCmd *const gUnknown_08595468[] =
|
||||
{
|
||||
gUnknown_08595458,
|
||||
};
|
||||
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_0859546C =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
@ -196,16 +198,16 @@ const struct SpriteTemplate gUnknown_0859546C =
|
||||
.callback = sub_8109064,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595484[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SunlightRay[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x2, 0x2, 10, 1),
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_0859549C[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_SunlightRay[] =
|
||||
{
|
||||
gUnknown_08595484,
|
||||
sAffineAnim_SunlightRay,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSunlightRaySpriteTemplate =
|
||||
@ -215,11 +217,11 @@ const struct SpriteTemplate gSunlightRaySpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_0859549C,
|
||||
.affineAnims = sAffineAnims_SunlightRay,
|
||||
.callback = AnimSunlight,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085954B8[] =
|
||||
static const union AnimCmd sAnim_BasicFire[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(16, 4),
|
||||
@ -229,9 +231,9 @@ const union AnimCmd gUnknown_085954B8[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085954D0[] =
|
||||
const union AnimCmd *const gAnims_BasicFire[] =
|
||||
{
|
||||
gUnknown_085954B8,
|
||||
sAnim_BasicFire,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gEmberSpriteTemplate =
|
||||
@ -250,7 +252,7 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085954D0,
|
||||
.anims = gAnims_BasicFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimEmberFlare,
|
||||
@ -261,7 +263,7 @@ const struct SpriteTemplate gBurnFlameSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085954D0,
|
||||
.anims = gAnims_BasicFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimBurnFlame,
|
||||
@ -272,37 +274,38 @@ const struct SpriteTemplate gFireBlastRingSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085954D0,
|
||||
.anims = gAnims_BasicFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFireRing,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595534[] =
|
||||
static const union AnimCmd sAnim_FireBlastCross[] =
|
||||
{
|
||||
ANIMCMD_FRAME(32, 6),
|
||||
ANIMCMD_FRAME(48, 6),
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595540[] =
|
||||
static const union AnimCmd *const sAnims_FireBlastCross[] =
|
||||
{
|
||||
gUnknown_08595534,
|
||||
sAnim_FireBlastCross,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595544[] =
|
||||
static const union AffineAnimCmd gUnknown_08595544[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595554[] =
|
||||
static const union AffineAnimCmd gUnknown_08595554[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595564[] =
|
||||
// Unused
|
||||
static const union AffineAnimCmd *const gUnknown_08595564[] =
|
||||
{
|
||||
gUnknown_08595544,
|
||||
gUnknown_08595554,
|
||||
@ -313,7 +316,7 @@ const struct SpriteTemplate gFireBlastCrossSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595540,
|
||||
.anims = sAnims_FireBlastCross,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFireCross,
|
||||
@ -324,7 +327,7 @@ const struct SpriteTemplate gFireSpiralOutwardSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085954D0,
|
||||
.anims = gAnims_BasicFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFireSpiralOutward,
|
||||
@ -335,13 +338,13 @@ const struct SpriteTemplate gWeatherBallFireDownSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085954D0,
|
||||
.anims = gAnims_BasicFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWeatherBallDown,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085955B4 =
|
||||
const struct SpriteTemplate gEruptionLaunchRockSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_WARM_ROCK,
|
||||
.paletteTag = ANIM_TAG_WARM_ROCK,
|
||||
@ -349,11 +352,10 @@ const struct SpriteTemplate gUnknown_085955B4 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_81098EC,
|
||||
.callback = AnimEruptionLaunchRock,
|
||||
};
|
||||
|
||||
// gHeatedRockCoords
|
||||
const s16 gUnknown_085955CC[][2] =
|
||||
static const s16 sEruptionLaunchRockCoords[][2] =
|
||||
{
|
||||
{-2, -5},
|
||||
{-1, -1},
|
||||
@ -375,7 +377,7 @@ const struct SpriteTemplate gEruptionFallingRockSpriteTemplate =
|
||||
.callback = AnimEruptionFallingRock,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595600[] =
|
||||
static const union AnimCmd sAnim_WillOWispOrb_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(4, 5),
|
||||
@ -384,30 +386,30 @@ const union AnimCmd gUnknown_08595600[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595614[] =
|
||||
static const union AnimCmd sAnim_WillOWispOrb_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 5),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_0859561C[] =
|
||||
static const union AnimCmd sAnim_WillOWispOrb_2[] =
|
||||
{
|
||||
ANIMCMD_FRAME(20, 5),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595624[] =
|
||||
static const union AnimCmd sAnim_WillOWispOrb_3[] =
|
||||
{
|
||||
ANIMCMD_FRAME(20, 5),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_0859562C[] =
|
||||
static const union AnimCmd *const sAnims_WillOWispOrb[] =
|
||||
{
|
||||
gUnknown_08595600,
|
||||
gUnknown_08595614,
|
||||
gUnknown_0859561C,
|
||||
gUnknown_08595624,
|
||||
sAnim_WillOWispOrb_0,
|
||||
sAnim_WillOWispOrb_1,
|
||||
sAnim_WillOWispOrb_2,
|
||||
sAnim_WillOWispOrb_3,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gWillOWispOrbSpriteTemplate =
|
||||
@ -415,13 +417,13 @@ const struct SpriteTemplate gWillOWispOrbSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_WISP_ORB,
|
||||
.paletteTag = ANIM_TAG_WISP_ORB,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = gUnknown_0859562C,
|
||||
.anims = sAnims_WillOWispOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWillOWispOrb,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595654[] =
|
||||
static const union AnimCmd sAnim_WillOWispFire[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(16, 5),
|
||||
@ -430,9 +432,9 @@ const union AnimCmd gUnknown_08595654[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595668[] =
|
||||
static const union AnimCmd *const sAnims_WillOWispFire[] =
|
||||
{
|
||||
gUnknown_08595654,
|
||||
sAnim_WillOWispFire,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gWillOWispFireSpriteTemplate =
|
||||
@ -440,7 +442,7 @@ const struct SpriteTemplate gWillOWispFireSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_WISP_FIRE,
|
||||
.paletteTag = ANIM_TAG_WISP_FIRE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595668,
|
||||
.anims = sAnims_WillOWispFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWillOWispFire,
|
||||
@ -846,7 +848,7 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTIO
|
||||
case 3:
|
||||
if (!sub_80A80C8(task))
|
||||
{
|
||||
sub_81097B4(task->data[15], taskId, 6);
|
||||
CreateEruptionLaunchRocks(task->data[15], taskId, 6);
|
||||
|
||||
task->data[0]++;
|
||||
}
|
||||
@ -901,12 +903,12 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTIO
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
|
||||
static void CreateEruptionLaunchRocks(u8 spriteId, u8 taskId, u8 a3)
|
||||
{
|
||||
u16 i, j;
|
||||
s8 sign;
|
||||
|
||||
u16 y = sub_8109930(spriteId);
|
||||
u16 y = GetEruptionLaunchRockInitialYPos(spriteId);
|
||||
u16 x = gSprites[spriteId].pos1.x;
|
||||
|
||||
if(!GetBattlerSide(gBattleAnimAttacker))
|
||||
@ -922,7 +924,7 @@ static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
|
||||
|
||||
for (i = 0, j = 0; i <= 6; i++)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&gUnknown_085955B4, x, y, 2);
|
||||
u8 spriteId = CreateSprite(&gEruptionLaunchRockSpriteTemplate, x, y, 2);
|
||||
|
||||
if (spriteId != 0x40)
|
||||
{
|
||||
@ -930,8 +932,8 @@ static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
|
||||
|
||||
if (++j >= 5)
|
||||
j = 0;
|
||||
//gHeatedRockCoords
|
||||
sub_8109984(&gSprites[spriteId], gUnknown_085955CC[i][0] * sign, gUnknown_085955CC[i][1]);
|
||||
|
||||
InitEruptionLaunchRockCoordData(&gSprites[spriteId], sEruptionLaunchRockCoords[i][0] * sign, sEruptionLaunchRockCoords[i][1]);
|
||||
gSprites[spriteId].data[6] = taskId;
|
||||
gSprites[spriteId].data[7] = a3;
|
||||
|
||||
@ -940,9 +942,9 @@ static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_81098EC(struct Sprite *sprite)
|
||||
static void AnimEruptionLaunchRock(struct Sprite *sprite)
|
||||
{
|
||||
sub_81099A0(sprite);
|
||||
UpdateEruptionLaunchRockPos(sprite);
|
||||
|
||||
if (sprite->invisible)
|
||||
{
|
||||
@ -951,23 +953,23 @@ static void sub_81098EC(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static u16 sub_8109930(u8 spriteId)
|
||||
static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId)
|
||||
{
|
||||
u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY;
|
||||
u16 y = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY;
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
var1 = ((var1 << 16) + 0x4A0000) >> 16;
|
||||
y = ((y << 16) + 0x4A0000) >> 16;
|
||||
}
|
||||
else
|
||||
{
|
||||
var1 = ((var1 << 16) + 0x2C0000) >> 16;
|
||||
y = ((y << 16) + 0x2C0000) >> 16;
|
||||
}
|
||||
|
||||
return var1;
|
||||
return y;
|
||||
}
|
||||
|
||||
static void sub_8109984(struct Sprite *sprite, s16 x, s16 y)
|
||||
static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 x, s16 y)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = 0;
|
||||
@ -977,7 +979,7 @@ static void sub_8109984(struct Sprite *sprite, s16 x, s16 y)
|
||||
sprite->data[5] = y * 8;
|
||||
}
|
||||
|
||||
static void sub_81099A0(struct Sprite *sprite)
|
||||
static void UpdateEruptionLaunchRockPos(struct Sprite *sprite)
|
||||
{
|
||||
int var1;
|
||||
if (++sprite->data[0] > 2)
|
||||
|
85
src/flying.c
85
src/flying.c
@ -48,16 +48,16 @@ const struct SpriteTemplate gEllipticalGustSpriteTemplate =
|
||||
.callback = AnimEllipticalGust,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596288[] =
|
||||
static const union AffineAnimCmd sAffineAnim_GustToTarget[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085962A0[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_GustToTarget[] =
|
||||
{
|
||||
gUnknown_08596288,
|
||||
sAffineAnim_GustToTarget,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gGustToTargetSpriteTemplate =
|
||||
@ -67,11 +67,11 @@ const struct SpriteTemplate gGustToTargetSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085962A0,
|
||||
.affineAnims = sAffineAnims_GustToTarget,
|
||||
.callback = AnimGustToTarget,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085962BC[] =
|
||||
static const union AnimCmd sAffineAnim_AirWaveCrescent[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 3),
|
||||
ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
|
||||
@ -80,9 +80,9 @@ const union AnimCmd gUnknown_085962BC[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085962D0[] =
|
||||
static const union AnimCmd *const sAffineAnims_AirWaveCrescent[] =
|
||||
{
|
||||
gUnknown_085962BC,
|
||||
sAffineAnim_AirWaveCrescent,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gAirWaveCrescentSpriteTemplate =
|
||||
@ -90,13 +90,13 @@ const struct SpriteTemplate gAirWaveCrescentSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_AIR_WAVE_2,
|
||||
.paletteTag = ANIM_TAG_AIR_WAVE_2,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x16,
|
||||
.anims = gUnknown_085962D0,
|
||||
.anims = sAffineAnims_AirWaveCrescent,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimAirWaveCrescent,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085962EC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_FlyBallUp[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
|
||||
@ -105,27 +105,27 @@ const union AffineAnimCmd gUnknown_085962EC[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596314[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_FlyBallUp[] =
|
||||
{
|
||||
gUnknown_085962EC,
|
||||
sAffineAnim_FlyBallUp,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596318[] =
|
||||
static const union AffineAnimCmd sAffineAnim_FlyBallAttack_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596328[] =
|
||||
static const union AffineAnimCmd sAffineAnim_FlyBallAttack_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596338[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_FlyBallAttack[] =
|
||||
{
|
||||
gUnknown_08596318,
|
||||
gUnknown_08596328,
|
||||
sAffineAnim_FlyBallAttack_0,
|
||||
sAffineAnim_FlyBallAttack_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFlyBallUpSpriteTemplate =
|
||||
@ -135,7 +135,7 @@ const struct SpriteTemplate gFlyBallUpSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596314,
|
||||
.affineAnims = sAffineAnims_FlyBallUp,
|
||||
.callback = AnimFlyBallUp,
|
||||
};
|
||||
|
||||
@ -146,26 +146,26 @@ const struct SpriteTemplate gFlyBallAttackSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596338,
|
||||
.affineAnims = sAffineAnims_FlyBallAttack,
|
||||
.callback = AnimFlyBallAttack,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596370[] =
|
||||
static const union AnimCmd sAnim_FallingFeather_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 0),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596378[] =
|
||||
static const union AnimCmd sAnim_FallingFeather_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 0, .hFlip = TRUE),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596380[] =
|
||||
static const union AnimCmd *const sAnims_FallingFeather[] =
|
||||
{
|
||||
gUnknown_08596370,
|
||||
gUnknown_08596378,
|
||||
sAnim_FallingFeather_0,
|
||||
sAnim_FallingFeather_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFallingFeatherSpriteTemplate =
|
||||
@ -173,7 +173,7 @@ const struct SpriteTemplate gFallingFeatherSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_WHITE_FEATHER,
|
||||
.paletteTag = ANIM_TAG_WHITE_FEATHER,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596380,
|
||||
.anims = sAnims_FallingFeather,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFallingFeather,
|
||||
@ -190,7 +190,7 @@ const struct SpriteTemplate gUnknown_085963A0 =
|
||||
.callback = sub_810EA4C,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085963B8[] =
|
||||
static const union AnimCmd sAnim_WhirlwindLines[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_FRAME(8, 1),
|
||||
@ -200,9 +200,9 @@ const union AnimCmd gUnknown_085963B8[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085963D0[] =
|
||||
static const union AnimCmd *const sAnims_WhirlwindLines[] =
|
||||
{
|
||||
gUnknown_085963B8,
|
||||
sAnim_WhirlwindLines,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gWhirlwindLineSpriteTemplate =
|
||||
@ -210,13 +210,13 @@ const struct SpriteTemplate gWhirlwindLineSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_WHIRLWIND_LINES,
|
||||
.paletteTag = ANIM_TAG_WHIRLWIND_LINES,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x16,
|
||||
.anims = gUnknown_085963D0,
|
||||
.anims = sAnims_WhirlwindLines,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWhirlwindLine,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085963EC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_BounceBallShrink[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
|
||||
@ -226,9 +226,9 @@ const union AffineAnimCmd gUnknown_085963EC[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_0859641C[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_BounceBallShrink[] =
|
||||
{
|
||||
gUnknown_085963EC,
|
||||
sAffineAnim_BounceBallShrink,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gBounceBallShrinkSpriteTemplate =
|
||||
@ -238,19 +238,19 @@ const struct SpriteTemplate gBounceBallShrinkSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_0859641C,
|
||||
.affineAnims = sAffineAnims_BounceBallShrink,
|
||||
.callback = AnimBounceBallShrink,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596438[] =
|
||||
static const union AffineAnimCmd sAffineAnim_BounceBallLand[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596448[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_BounceBallLand[] =
|
||||
{
|
||||
gUnknown_08596438,
|
||||
sAffineAnim_BounceBallLand,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gBounceBallLandSpriteTemplate =
|
||||
@ -260,11 +260,11 @@ const struct SpriteTemplate gBounceBallLandSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596448,
|
||||
.affineAnims = sAffineAnims_BounceBallLand,
|
||||
.callback = AnimBounceBallLand,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596464[] =
|
||||
static const union AffineAnimCmd sAffineAnim_DiveBall[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
|
||||
@ -273,9 +273,9 @@ const union AffineAnimCmd gUnknown_08596464[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_0859648C[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_DiveBall[] =
|
||||
{
|
||||
gUnknown_08596464,
|
||||
sAffineAnim_DiveBall,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gDiveBallSpriteTemplate =
|
||||
@ -285,11 +285,11 @@ const struct SpriteTemplate gDiveBallSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_0859648C,
|
||||
.affineAnims = sAffineAnims_DiveBall,
|
||||
.callback = AnimDiveBall,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085964A8[] =
|
||||
static const union AffineAnimCmd gUnknown_085964A8[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x0, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x20, 0, 12),
|
||||
@ -297,7 +297,8 @@ const union AffineAnimCmd gUnknown_085964A8[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085964C8[] =
|
||||
// Unused
|
||||
static const union AffineAnimCmd *const gUnknown_085964C8[] =
|
||||
{
|
||||
gUnknown_085964A8,
|
||||
};
|
||||
|
38
src/ghost.c
38
src/ghost.c
@ -42,16 +42,16 @@ static void AnimGrudgeFlame(struct Sprite *);
|
||||
static void sub_8112F60(struct Sprite *);
|
||||
static void sub_8112FB8(struct Sprite *);
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596CF8[] =
|
||||
static const union AffineAnimCmd sAffineAnim_ConfuseRayBallBounce[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x1E, 0x1E, 10, 5),
|
||||
AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 10, 5),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596D10[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_ConfuseRayBallBounce[] =
|
||||
{
|
||||
gUnknown_08596CF8,
|
||||
sAffineAnim_ConfuseRayBallBounce,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate =
|
||||
@ -61,7 +61,7 @@ const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596D10,
|
||||
.affineAnims = sAffineAnims_ConfuseRayBallBounce,
|
||||
.callback = AnimConfuseRayBallBounce,
|
||||
};
|
||||
|
||||
@ -76,15 +76,15 @@ const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate =
|
||||
.callback = AnimConfuseRayBallSpiral,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596D44[] =
|
||||
static const union AffineAnimCmd sAffineAnim_ShadowBall[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596D54[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_ShadowBall[] =
|
||||
{
|
||||
gUnknown_08596D44,
|
||||
sAffineAnim_ShadowBall,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gShadowBallSpriteTemplate =
|
||||
@ -94,11 +94,11 @@ const struct SpriteTemplate gShadowBallSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596D54,
|
||||
.affineAnims = sAffineAnims_ShadowBall,
|
||||
.callback = AnimShadowBall,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596D70[] =
|
||||
static const union AnimCmd sAnim_Lick[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 2),
|
||||
ANIMCMD_FRAME(8, 2),
|
||||
@ -108,9 +108,9 @@ const union AnimCmd gUnknown_08596D70[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596D88[] =
|
||||
static const union AnimCmd *const sAnims_Lick[] =
|
||||
{
|
||||
gUnknown_08596D70,
|
||||
sAnim_Lick,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gLickSpriteTemplate =
|
||||
@ -118,19 +118,20 @@ const struct SpriteTemplate gLickSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_LICK,
|
||||
.paletteTag = ANIM_TAG_LICK,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x32,
|
||||
.anims = gUnknown_08596D88,
|
||||
.anims = sAnims_Lick,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimLick,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596DA4[] =
|
||||
static const union AffineAnimCmd gUnknown_08596DA4[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596DB4[] =
|
||||
// Unused
|
||||
static const union AffineAnimCmd *const gUnknown_08596DB4[] =
|
||||
{
|
||||
gUnknown_08596DA4,
|
||||
};
|
||||
@ -179,7 +180,7 @@ const struct SpriteTemplate gNightmareDevilSpriteTemplate =
|
||||
.callback = AnimGhostStatusSprite,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596E18[] =
|
||||
static const union AnimCmd sAnim_GrudgeFlame[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(8, 4),
|
||||
@ -188,9 +189,9 @@ const union AnimCmd gUnknown_08596E18[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596E2C[] =
|
||||
static const union AnimCmd *const sAnims_GrudgeFlame[] =
|
||||
{
|
||||
gUnknown_08596E18,
|
||||
sAnim_GrudgeFlame,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gGrudgeFlameSpriteTemplate =
|
||||
@ -198,12 +199,13 @@ const struct SpriteTemplate gGrudgeFlameSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_PURPLE_FLAME,
|
||||
.paletteTag = ANIM_TAG_PURPLE_FLAME,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_16x32,
|
||||
.anims = gUnknown_08596E2C,
|
||||
.anims = sAnims_GrudgeFlame,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimGrudgeFlame,
|
||||
};
|
||||
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_08596E48 =
|
||||
{
|
||||
.tileTag = 0,
|
||||
|
@ -732,9 +732,9 @@ const u32 gBattleAnimSpritePal_PinkHeart[] = INCBIN_U32("graphics/battle_anims/s
|
||||
const u32 gBattleAnimSpritePal_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz");
|
||||
const u32 gBattleAnimSpritePal_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz");
|
||||
|
||||
const u32 gUnknown_08C232E0[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz");
|
||||
const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz");
|
||||
const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz");
|
||||
const u32 gBattleAnimBgImage_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz");
|
||||
const u32 gBattleAnimBgPalette_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz");
|
||||
const u32 gBattleAnimBgTilemap_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz");
|
||||
@ -750,8 +750,8 @@ const u32 gBattleAnimSpriteGfx_Finger2[] = INCBIN_U32("graphics/battle_anims/spr
|
||||
const u32 gBattleAnimSpriteGfx_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz");
|
||||
|
||||
const u32 gUnknown_08C249D0[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz");
|
||||
const u32 gUnknown_08C249F8[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz");
|
||||
const u32 gBattleAnimBgPalette_ScaryFace[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz");
|
||||
const u32 gBattleAnimBgImage_ScaryFace[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz");
|
||||
|
||||
const u32 gBattleAnimSpritePal_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz");
|
||||
const u32 gBattleAnimSpriteGfx_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz");
|
||||
@ -844,9 +844,9 @@ const u32 gBattleAnimBgPalette_Bug[] = INCBIN_U32("graphics/battle_anims/backgro
|
||||
const u32 gBattleAnimBgImage_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.4bpp.lz");
|
||||
const u32 gBattleAnimBgTilemap_HighspeedPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_player.bin.lz");
|
||||
|
||||
const u32 gUnknown_08C2A634[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.4bpp.lz");
|
||||
const u32 gUnknown_08C2A6D4[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.gbapal.lz");
|
||||
const u32 gUnknown_08C2A6EC[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.bin.lz");
|
||||
const u32 gBattleAnimMaskImage_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.4bpp.lz");
|
||||
const u32 gBattleAnimMaskPalette_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.gbapal.lz");
|
||||
const u32 gBattleAnimMaskTilemap_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.bin.lz");
|
||||
|
||||
const u32 gBattleAnimBgTilemap_GuillotineOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_opponent.bin.lz");
|
||||
const u32 gBattleAnimBgTilemap_GuillotinePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_player.bin.lz");
|
||||
@ -1001,8 +1001,8 @@ const u32 gUnknown_08D85A1C[] = INCBIN_U32("graphics/battle_frontier/battle_tile
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz");
|
||||
|
||||
const u32 gUnknown_08D8D410[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz");
|
||||
const u32 gUnknown_08D8D58C[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz");
|
||||
const u32 gBattleAnimBgTilemap_Sandstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz");
|
||||
const u32 gBattleAnimBgImage_Sandstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz");
|
||||
|
||||
const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz");
|
||||
|
||||
@ -1121,11 +1121,9 @@ const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims
|
||||
const u32 gBattleAnimBgImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz");
|
||||
const u32 gBattleAnimBgPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz");
|
||||
|
||||
const u32 gUnknown_08D95E00[] = INCBIN_U32("graphics/unknown/unknown_D95E00.bin.lz");
|
||||
|
||||
const u32 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin.lz");
|
||||
|
||||
const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.lz");
|
||||
const u32 gBattleAnimBgTilemap_SurfOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_opponent.bin.lz");
|
||||
const u32 gBattleAnimBgTilemap_SurfPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_player.bin.lz");
|
||||
const u32 gBattleAnimBgTilemap_SurfContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_contest.bin.lz");
|
||||
|
||||
const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz");
|
||||
|
||||
|
24
src/ground.c
24
src/ground.c
@ -27,26 +27,26 @@ static void AnimTask_ShakeBattlers(u8);
|
||||
static void SetBattlersXOffsetForShake(struct Task *);
|
||||
static void sub_81156D0(u8);
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597150[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bonemerang[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597160[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SpinningBone[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08597170[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_Bonemerang[] =
|
||||
{
|
||||
gUnknown_08597150,
|
||||
sAffineAnim_Bonemerang,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08597174[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_SpinningBone[] =
|
||||
{
|
||||
gUnknown_08597160,
|
||||
sAffineAnim_SpinningBone,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gBonemerangSpriteTemplate =
|
||||
@ -56,7 +56,7 @@ const struct SpriteTemplate gBonemerangSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08597170,
|
||||
.affineAnims = sAffineAnims_Bonemerang,
|
||||
.callback = AnimBonemerangProjectile,
|
||||
};
|
||||
|
||||
@ -67,7 +67,7 @@ const struct SpriteTemplate gSpinningBoneSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08597174,
|
||||
.affineAnims = sAffineAnims_SpinningBone,
|
||||
.callback = AnimBoneHitProjectile,
|
||||
};
|
||||
|
||||
@ -82,15 +82,15 @@ const struct SpriteTemplate gSandAttackDirtSpriteTemplate =
|
||||
.callback = AnimDirtScatter,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085971C0[] =
|
||||
static const union AnimCmd sAnim_MudSlapMud[] =
|
||||
{
|
||||
ANIMCMD_FRAME(1, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085971C8[] =
|
||||
static const union AnimCmd *const sAnims_MudSlapMud[] =
|
||||
{
|
||||
gUnknown_085971C0,
|
||||
sAnim_MudSlapMud,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gMudSlapMudSpriteTemplate =
|
||||
@ -98,7 +98,7 @@ const struct SpriteTemplate gMudSlapMudSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_MUD_SAND,
|
||||
.paletteTag = ANIM_TAG_MUD_SAND,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = gUnknown_085971C8,
|
||||
.anims = sAnims_MudSlapMud,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimDirtScatter,
|
||||
|
227
src/ice.c
227
src/ice.c
@ -14,9 +14,9 @@
|
||||
#include "constants/rgb.h"
|
||||
|
||||
struct HailStruct {
|
||||
s32 unk0:10;
|
||||
s32 unk1:10;
|
||||
s32 unk2:8;
|
||||
s32 x:10;
|
||||
s32 y:10;
|
||||
s32 bPosition:8;
|
||||
s32 unk3:4;
|
||||
};
|
||||
|
||||
@ -49,19 +49,19 @@ static void AnimTask_OverlayFogTiles(u8);
|
||||
static void AnimTask_Hail2(u8);
|
||||
static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c);
|
||||
|
||||
const union AnimCmd gUnknown_08595A48[] =
|
||||
static const union AnimCmd gUnknown_08595A48[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(1, 5, .hFlip = TRUE),
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595A54[] =
|
||||
static const union AnimCmd *const gUnknown_08595A54[] =
|
||||
{
|
||||
gUnknown_08595A48,
|
||||
};
|
||||
|
||||
// unknown sprite template
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_08595A58 =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
@ -73,82 +73,83 @@ const struct SpriteTemplate gUnknown_08595A58 =
|
||||
.callback = sub_810B6C4,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595A70[] =
|
||||
static const union AnimCmd gUnknown_08595A70[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595A78[] =
|
||||
static const union AnimCmd sAnim_IceCrystalLarge[] =
|
||||
{
|
||||
ANIMCMD_FRAME(4, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595A80[] =
|
||||
static const union AnimCmd sAnim_IceCrystalSmall[] =
|
||||
{
|
||||
ANIMCMD_FRAME(6, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595A88[] =
|
||||
static const union AnimCmd sAnim_Snowball[] =
|
||||
{
|
||||
ANIMCMD_FRAME(7, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595A90[] =
|
||||
static const union AnimCmd sAnim_BlizzardIceCrystal[] =
|
||||
{
|
||||
ANIMCMD_FRAME(8, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595A98[] =
|
||||
static const union AnimCmd sAnim_SmallBubblePair[] =
|
||||
{
|
||||
ANIMCMD_FRAME(12, 6),
|
||||
ANIMCMD_FRAME(13, 6),
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595AA4[] =
|
||||
// Unused
|
||||
static const union AnimCmd *const gUnknown_08595AA4[] =
|
||||
{
|
||||
gUnknown_08595A70,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595AA8[] =
|
||||
static const union AnimCmd *const sAnims_IceCrystalLarge[] =
|
||||
{
|
||||
gUnknown_08595A78,
|
||||
sAnim_IceCrystalLarge,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595AAC[] =
|
||||
static const union AnimCmd *const sAnims_IceCrystalSmall[] =
|
||||
{
|
||||
gUnknown_08595A80,
|
||||
sAnim_IceCrystalSmall,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595AB0[] =
|
||||
static const union AnimCmd *const sAnims_Snowball[] =
|
||||
{
|
||||
gUnknown_08595A88,
|
||||
sAnim_Snowball,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595AB4[] =
|
||||
static const union AnimCmd *const sAnims_BlizzardIceCrystal[] =
|
||||
{
|
||||
gUnknown_08595A90,
|
||||
sAnim_BlizzardIceCrystal,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595AB8[] =
|
||||
const union AnimCmd *const gAnims_SmallBubblePair[] =
|
||||
{
|
||||
gUnknown_08595A98,
|
||||
sAnim_SmallBubblePair,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595ABC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_IceCrystalSpiralInwardLarge[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595ACC[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_IceCrystalSpiralInwardLarge[] =
|
||||
{
|
||||
gUnknown_08595ABC,
|
||||
sAffineAnim_IceCrystalSpiralInwardLarge,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gIceCrystalSpiralInwardLarge =
|
||||
@ -156,9 +157,9 @@ const struct SpriteTemplate gIceCrystalSpiralInwardLarge =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_8x16,
|
||||
.anims = gUnknown_08595AA8,
|
||||
.anims = sAnims_IceCrystalLarge,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595ACC,
|
||||
.affineAnims = sAffineAnims_IceCrystalSpiralInwardLarge,
|
||||
.callback = AnimIcePunchSwirlingParticle,
|
||||
};
|
||||
|
||||
@ -167,21 +168,21 @@ const struct SpriteTemplate gIceCrystalSpiralInwardSmall =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_8x8,
|
||||
.anims = gUnknown_08595AAC,
|
||||
.anims = sAnims_IceCrystalSmall,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimIcePunchSwirlingParticle,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595B00[] =
|
||||
static const union AffineAnimCmd sAffineAnim_IceBeamInnerCrystal[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595B10[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_IceBeamInnerCrystal[] =
|
||||
{
|
||||
gUnknown_08595B00,
|
||||
sAffineAnim_IceBeamInnerCrystal,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gIceBeamInnerCrystalSpriteTemplate =
|
||||
@ -189,9 +190,9 @@ const struct SpriteTemplate gIceBeamInnerCrystalSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_8x16,
|
||||
.anims = gUnknown_08595AA8,
|
||||
.anims = sAnims_IceCrystalLarge,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595B10,
|
||||
.affineAnims = sAffineAnims_IceBeamInnerCrystal,
|
||||
.callback = AnimIceBeamParticle,
|
||||
};
|
||||
|
||||
@ -200,13 +201,13 @@ const struct SpriteTemplate gIceBeamOuterCrystalSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_8x8,
|
||||
.anims = gUnknown_08595AAC,
|
||||
.anims = sAnims_IceCrystalSmall,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimIceBeamParticle,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595B44[] =
|
||||
static const union AffineAnimCmd sAffineAnim_IceCrystalHit[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
|
||||
@ -214,9 +215,9 @@ const union AffineAnimCmd gUnknown_08595B44[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595B64[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_IceCrystalHit[] =
|
||||
{
|
||||
gUnknown_08595B44,
|
||||
sAffineAnim_IceCrystalHit,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate =
|
||||
@ -224,9 +225,9 @@ const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_8x16,
|
||||
.anims = gUnknown_08595AA8,
|
||||
.anims = sAnims_IceCrystalLarge,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595B64,
|
||||
.affineAnims = sAffineAnims_IceCrystalHit,
|
||||
.callback = AnimIceEffectParticle,
|
||||
};
|
||||
|
||||
@ -235,9 +236,9 @@ const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_8x8,
|
||||
.anims = gUnknown_08595AAC,
|
||||
.anims = sAnims_IceCrystalSmall,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595B64,
|
||||
.affineAnims = sAffineAnims_IceCrystalHit,
|
||||
.callback = AnimIceEffectParticle,
|
||||
};
|
||||
|
||||
@ -246,7 +247,7 @@ const struct SpriteTemplate gSwirlingSnowballSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = gUnknown_08595AB0,
|
||||
.anims = sAnims_Snowball,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSwirlingSnowball,
|
||||
@ -257,7 +258,7 @@ const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = gUnknown_08595AB4,
|
||||
.anims = sAnims_BlizzardIceCrystal,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimMoveParticleBeyondTarget,
|
||||
@ -268,13 +269,13 @@ const struct SpriteTemplate gPowderSnowSnowballSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = gUnknown_08595AB0,
|
||||
.anims = sAnims_Snowball,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimMoveParticleBeyondTarget,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595BE0[] =
|
||||
static const union AnimCmd sAnim_IceGroundSpike[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(2, 5),
|
||||
@ -286,32 +287,32 @@ const union AnimCmd gUnknown_08595BE0[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595C00[] =
|
||||
static const union AnimCmd *const sAnims_IceGroundSpike[] =
|
||||
{
|
||||
gUnknown_08595BE0,
|
||||
sAnim_IceGroundSpike,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gIceGroundSpikesSpriteTemplate =
|
||||
const struct SpriteTemplate gIceGroundSpikeSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ICE_SPIKES,
|
||||
.paletteTag = ANIM_TAG_ICE_SPIKES,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_8x16,
|
||||
.anims = gUnknown_08595C00,
|
||||
.anims = sAnims_IceGroundSpike,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWaveFromCenterOfTarget,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595C1C[] =
|
||||
static const union AnimCmd sAnim_Cloud[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 8),
|
||||
ANIMCMD_FRAME(8, 8),
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595C28[] =
|
||||
static const union AnimCmd *const sAnims_Cloud[] =
|
||||
{
|
||||
gUnknown_08595C1C,
|
||||
sAnim_Cloud,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gMistCloudSpriteTemplate =
|
||||
@ -319,7 +320,7 @@ const struct SpriteTemplate gMistCloudSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_MIST_CLOUD,
|
||||
.paletteTag = ANIM_TAG_MIST_CLOUD,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_32x16,
|
||||
.anims = gUnknown_08595C28,
|
||||
.anims = sAnims_Cloud,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = InitSwirlingFogAnim,
|
||||
@ -330,13 +331,13 @@ const struct SpriteTemplate gSmogCloudSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
|
||||
.paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_32x16,
|
||||
.anims = gUnknown_08595C28,
|
||||
.anims = sAnims_Cloud,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = InitSwirlingFogAnim,
|
||||
};
|
||||
|
||||
const u8 gUnknown_08595C5C[] =
|
||||
static const u8 sUnknown_08595C5C[] =
|
||||
{
|
||||
0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9,
|
||||
};
|
||||
@ -352,7 +353,7 @@ const struct SpriteTemplate gMistBallSpriteTemplate =
|
||||
.callback = AnimThrowMistBall,
|
||||
};
|
||||
|
||||
const u8 gUnknown_08595C88[] =
|
||||
static const u8 sUnknown_08595C88[] =
|
||||
{
|
||||
0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5,
|
||||
};
|
||||
@ -362,70 +363,70 @@ const struct SpriteTemplate gPoisonGasCloudSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
|
||||
.paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_32x16,
|
||||
.anims = gUnknown_08595C28,
|
||||
.anims = sAnims_Cloud,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = InitPoisonGasCloudAnim,
|
||||
};
|
||||
|
||||
const struct HailStruct gUnknown_08595CB4[] =
|
||||
static const struct HailStruct sHailCoordData[] =
|
||||
{
|
||||
{100, 120, 0, 2},
|
||||
{85, 120, 0, 0},
|
||||
{242, 120, 1, 1},
|
||||
{66, 120, 2, 1},
|
||||
{182, 120, 3, 0},
|
||||
{60, 120, 0, 2},
|
||||
{214, 120, 1, 0},
|
||||
{113, 120, 0, 1},
|
||||
{210, 120, 3, 1},
|
||||
{38, 120, 2, 0},
|
||||
{.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2},
|
||||
{.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 0},
|
||||
{.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 1},
|
||||
{.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 1},
|
||||
{.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 0},
|
||||
{.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2},
|
||||
{.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 0},
|
||||
{.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 1},
|
||||
{.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 1},
|
||||
{.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 0},
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595CDC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_HailParticle_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595CEC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_HailParticle_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595CFC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_HailParticle_2[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595D0C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_WeatherBallIceDown[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595D1C[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_HailParticle[] =
|
||||
{
|
||||
gUnknown_08595CDC,
|
||||
gUnknown_08595CEC,
|
||||
gUnknown_08595CFC,
|
||||
sAffineAnim_HailParticle_0,
|
||||
sAffineAnim_HailParticle_1,
|
||||
sAffineAnim_HailParticle_2,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595D28[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_WeatherBallIceDown[] =
|
||||
{
|
||||
gUnknown_08595D0C,
|
||||
sAffineAnim_WeatherBallIceDown,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595D2C =
|
||||
const struct SpriteTemplate gHailParticleSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_HAIL,
|
||||
.paletteTag = ANIM_TAG_HAIL,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595D1C,
|
||||
.affineAnims = sAffineAnims_HailParticle,
|
||||
.callback = AnimHailBegin,
|
||||
};
|
||||
|
||||
@ -436,17 +437,17 @@ const struct SpriteTemplate gWeatherBallIceDownSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595D28,
|
||||
.affineAnims = sAffineAnims_WeatherBallIceDown,
|
||||
.callback = AnimWeatherBallDown,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595D5C[] =
|
||||
static const union AnimCmd sAnim_IceBallChunk_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595D64[] =
|
||||
static const union AnimCmd sAnim_IceBallChunk_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 4),
|
||||
ANIMCMD_FRAME(32, 4),
|
||||
@ -455,49 +456,49 @@ const union AnimCmd gUnknown_08595D64[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595D78[] =
|
||||
static const union AnimCmd *const sAnims_IceBallChunk[] =
|
||||
{
|
||||
gUnknown_08595D5C,
|
||||
gUnknown_08595D64,
|
||||
sAnim_IceBallChunk_0,
|
||||
sAnim_IceBallChunk_1,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595D80[] =
|
||||
static const union AffineAnimCmd sAffineAnim_IceBallChunk_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595D90[] =
|
||||
static const union AffineAnimCmd sAffineAnim_IceBallChunk_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595DA0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_IceBallChunk_2[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595DB0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_IceBallChunk_3[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595DC0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_IceBallChunk_4[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595DD0[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_IceBallChunk[] =
|
||||
{
|
||||
gUnknown_08595D80,
|
||||
gUnknown_08595D90,
|
||||
gUnknown_08595DA0,
|
||||
gUnknown_08595DB0,
|
||||
gUnknown_08595DC0,
|
||||
sAffineAnim_IceBallChunk_0,
|
||||
sAffineAnim_IceBallChunk_1,
|
||||
sAffineAnim_IceBallChunk_2,
|
||||
sAffineAnim_IceBallChunk_3,
|
||||
sAffineAnim_IceBallChunk_4,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gIceBallChunkSpriteTemplate =
|
||||
@ -505,9 +506,9 @@ const struct SpriteTemplate gIceBallChunkSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CHUNK,
|
||||
.paletteTag = ANIM_TAG_ICE_CHUNK,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595D78,
|
||||
.anims = sAnims_IceBallChunk,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595DD0,
|
||||
.affineAnims = sAffineAnims_IceBallChunk,
|
||||
.callback = InitIceBallAnim,
|
||||
};
|
||||
|
||||
@ -516,13 +517,13 @@ const struct SpriteTemplate gIceBallImpactShardSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = gUnknown_08595AAC,
|
||||
.anims = sAnims_IceCrystalSmall,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = InitIceBallParticle,
|
||||
};
|
||||
|
||||
// probably unused
|
||||
// Unused
|
||||
static void sub_810B6C4(struct Sprite *sprite)
|
||||
{
|
||||
s16 targetX, targetY, attackerX, attackerY;
|
||||
@ -999,7 +1000,7 @@ void AnimTask_HazeScrollingFog(u8 taskId)
|
||||
|
||||
sub_80A6B30(&animBg);
|
||||
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
|
||||
sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimFogTilemap, 0);
|
||||
LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32);
|
||||
|
||||
gTasks[taskId].func = AnimTask_Haze2;
|
||||
@ -1019,7 +1020,7 @@ static void AnimTask_Haze2(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[10] = 0;
|
||||
gTasks[taskId].data[9]++;
|
||||
gTasks[taskId].data[11] = gUnknown_08595C5C[gTasks[taskId].data[9]];
|
||||
gTasks[taskId].data[11] = sUnknown_08595C5C[gTasks[taskId].data[9]];
|
||||
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
|
||||
if (gTasks[taskId].data[11] == 9)
|
||||
@ -1106,7 +1107,7 @@ void AnimTask_LoadMistTiles(u8 taskId)
|
||||
|
||||
sub_80A6B30(&animBg);
|
||||
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
|
||||
sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimFogTilemap, 0);
|
||||
LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32);
|
||||
|
||||
gTasks[taskId].data[15] = -1;
|
||||
@ -1124,7 +1125,7 @@ static void AnimTask_OverlayFogTiles(u8 taskId)
|
||||
{
|
||||
case 0:
|
||||
gTasks[taskId].data[9] += 1;
|
||||
gTasks[taskId].data[11] = gUnknown_08595C88[gTasks[taskId].data[9]];
|
||||
gTasks[taskId].data[11] = sUnknown_08595C88[gTasks[taskId].data[9]];
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 17 - gTasks[taskId].data[11]));
|
||||
if (gTasks[taskId].data[11] == 5)
|
||||
{
|
||||
@ -1387,11 +1388,11 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId,
|
||||
s16 battlerX, battlerY;
|
||||
s16 spriteX;
|
||||
bool8 possibleBool = FALSE;
|
||||
s8 unk = gUnknown_08595CB4[hailStructId].unk3;
|
||||
s8 unk = sHailCoordData[hailStructId].unk3;
|
||||
|
||||
if (unk != 2)
|
||||
{
|
||||
id = GetBattlerAtPosition(gUnknown_08595CB4[hailStructId].unk2);
|
||||
id = GetBattlerAtPosition(sHailCoordData[hailStructId].bPosition);
|
||||
if (IsBattlerSpriteVisible(id))
|
||||
{
|
||||
possibleBool = TRUE;
|
||||
@ -1411,17 +1412,17 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId,
|
||||
}
|
||||
else
|
||||
{
|
||||
battlerX = (gUnknown_08595CB4[hailStructId].unk0);
|
||||
battlerY = (gUnknown_08595CB4[hailStructId].unk1);
|
||||
battlerX = (sHailCoordData[hailStructId].x);
|
||||
battlerY = (sHailCoordData[hailStructId].y);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
battlerX = (gUnknown_08595CB4[hailStructId].unk0);
|
||||
battlerY = (gUnknown_08595CB4[hailStructId].unk1);
|
||||
battlerX = (sHailCoordData[hailStructId].x);
|
||||
battlerY = (sHailCoordData[hailStructId].y);
|
||||
}
|
||||
spriteX = battlerX - ((battlerY + 8) / 2);
|
||||
id = CreateSprite(&gUnknown_08595D2C, spriteX, -8, 18);
|
||||
id = CreateSprite(&gHailParticleSpriteTemplate, spriteX, -8, 18);
|
||||
if (id == MAX_SPRITES)
|
||||
{
|
||||
return FALSE;
|
||||
|
35
src/normal.c
35
src/normal.c
@ -35,7 +35,7 @@ static void AnimTask_FlashAnimTagWithColor_Step2(u8);
|
||||
static void AnimTask_ShakeBattleTerrain_Step(u8);
|
||||
static void sub_81163D0(struct Sprite *);
|
||||
|
||||
const union AnimCmd gUnknown_0859722C[] =
|
||||
static const union AnimCmd sAnim_ConfusionDuck_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 8),
|
||||
ANIMCMD_FRAME(4, 8),
|
||||
@ -44,7 +44,7 @@ const union AnimCmd gUnknown_0859722C[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08597240[] =
|
||||
static const union AnimCmd sAnim_ConfusionDuck_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 8),
|
||||
@ -53,10 +53,10 @@ const union AnimCmd gUnknown_08597240[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnimTable_ConfusionDuck[] =
|
||||
static const union AnimCmd *const sAnims_ConfusionDuck[] =
|
||||
{
|
||||
gUnknown_0859722C,
|
||||
gUnknown_08597240,
|
||||
sAnim_ConfusionDuck_0,
|
||||
sAnim_ConfusionDuck_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gConfusionDuckSpriteTemplate =
|
||||
@ -64,7 +64,7 @@ const struct SpriteTemplate gConfusionDuckSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_DUCK,
|
||||
.paletteTag = ANIM_TAG_DUCK,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = sAnimTable_ConfusionDuck,
|
||||
.anims = sAnims_ConfusionDuck,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimConfusionDuck,
|
||||
@ -92,7 +92,7 @@ const struct SpriteTemplate gComplexPaletteBlendSpriteTemplate =
|
||||
.callback = AnimComplexPaletteBlend,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085972A4[] =
|
||||
static const union AnimCmd gUnknown_085972A4[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 3),
|
||||
ANIMCMD_FRAME(16, 3),
|
||||
@ -102,11 +102,12 @@ const union AnimCmd gUnknown_085972A4[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085972BC[] =
|
||||
static const union AnimCmd *const gUnknown_085972BC[] =
|
||||
{
|
||||
gUnknown_085972A4,
|
||||
};
|
||||
|
||||
// Unused
|
||||
const struct SpriteTemplate gUnknown_085972C0 =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SPARKLE_4,
|
||||
@ -129,39 +130,39 @@ const struct SpriteTemplate gShakeMonOrTerrainSpriteTemplate =
|
||||
.callback = AnimShakeMonOrBattleTerrain,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085972F0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_HitSplat_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597300[] =
|
||||
static const union AffineAnimCmd sAffineAnim_HitSplat_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xD8, 0xD8, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597318[] =
|
||||
static const union AffineAnimCmd sAffineAnim_HitSplat_2[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08597330[] =
|
||||
static const union AffineAnimCmd sAffineAnim_HitSplat_3[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const sAffineAnims_HitSplat[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_HitSplat[] =
|
||||
{
|
||||
gUnknown_085972F0,
|
||||
gUnknown_08597300,
|
||||
gUnknown_08597318,
|
||||
gUnknown_08597330,
|
||||
sAffineAnim_HitSplat_0,
|
||||
sAffineAnim_HitSplat_1,
|
||||
sAffineAnim_HitSplat_2,
|
||||
sAffineAnim_HitSplat_3,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gBasicHitSplatSpriteTemplate =
|
||||
|
76
src/poison.c
76
src/poison.c
@ -13,9 +13,7 @@ static void AnimAcidPoisonDroplet(struct Sprite *);
|
||||
static void AnimBubbleEffect(struct Sprite *);
|
||||
static void AnimBubbleEffect_Step(struct Sprite *);
|
||||
|
||||
extern const union AnimCmd *const gUnknown_08595200[];
|
||||
|
||||
const union AnimCmd gUnknown_0859611C[] =
|
||||
static const union AnimCmd sAnim_ToxicBubble[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(8, 5),
|
||||
@ -24,9 +22,9 @@ const union AnimCmd gUnknown_0859611C[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596130[] =
|
||||
static const union AnimCmd *const sAnims_ToxicBubble[] =
|
||||
{
|
||||
gUnknown_0859611C,
|
||||
sAnim_ToxicBubble,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gToxicBubbleSpriteTemplate =
|
||||
@ -34,46 +32,46 @@ const struct SpriteTemplate gToxicBubbleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_TOXIC_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_TOXIC_BUBBLE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x32,
|
||||
.anims = gUnknown_08596130,
|
||||
.anims = sAnims_ToxicBubble,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSpriteOnMonPos,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_0859614C[] =
|
||||
static const union AnimCmd sAnim_PoisonProjectile[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596154[] =
|
||||
static const union AnimCmd sAnim_AcidPoisonDroplet[] =
|
||||
{
|
||||
ANIMCMD_FRAME(4, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_0859615C[] =
|
||||
static const union AnimCmd sAnim_SludgeBombHit[] =
|
||||
{
|
||||
ANIMCMD_FRAME(8, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596164[] =
|
||||
static const union AnimCmd *const sAnims_PoisonProjectile[] =
|
||||
{
|
||||
gUnknown_0859614C,
|
||||
sAnim_PoisonProjectile,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596168[] =
|
||||
static const union AnimCmd *const sAnims_AcidPoisonDroplet[] =
|
||||
{
|
||||
gUnknown_08596154,
|
||||
sAnim_AcidPoisonDroplet,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_0859616C[] =
|
||||
static const union AnimCmd *const sAnims_SludgeBombHit[] =
|
||||
{
|
||||
gUnknown_0859615C,
|
||||
sAnim_SludgeBombHit,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596170[] =
|
||||
static const union AffineAnimCmd sAffineAnim_PoisonProjectile[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x160, 0x160, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10),
|
||||
@ -81,20 +79,20 @@ const union AffineAnimCmd gUnknown_08596170[] =
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596190[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SludgeBombHit[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xEC, 0xEC, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085961A0[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_PoisonProjectile[] =
|
||||
{
|
||||
gUnknown_08596170,
|
||||
sAffineAnim_PoisonProjectile,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085961A4[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_SludgeBombHit[] =
|
||||
{
|
||||
gUnknown_08596190,
|
||||
sAffineAnim_SludgeBombHit,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSludgeProjectileSpriteTemplate =
|
||||
@ -102,9 +100,9 @@ const struct SpriteTemplate gSludgeProjectileSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = gUnknown_08596164,
|
||||
.anims = sAnims_PoisonProjectile,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085961A0,
|
||||
.affineAnims = sAffineAnims_PoisonProjectile,
|
||||
.callback = AnimSludgeProjectile,
|
||||
};
|
||||
|
||||
@ -113,9 +111,9 @@ const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = gUnknown_08596164,
|
||||
.anims = sAnims_PoisonProjectile,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085961A0,
|
||||
.affineAnims = sAffineAnims_PoisonProjectile,
|
||||
.callback = AnimAcidPoisonBubble,
|
||||
};
|
||||
|
||||
@ -124,22 +122,22 @@ const struct SpriteTemplate gSludgeBombHitParticleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gUnknown_0859616C,
|
||||
.anims = sAnims_SludgeBombHit,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085961A4,
|
||||
.affineAnims = sAffineAnims_SludgeBombHit,
|
||||
.callback = AnimSludgeBombHitParticle,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085961F0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_AcidPoisonDroplet[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xFFF0, 0x10, 0, 6),
|
||||
AFFINEANIMCMD_FRAME(0x10, 0xFFF0, 0, 6),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596208[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_Droplet[] =
|
||||
{
|
||||
gUnknown_085961F0,
|
||||
sAffineAnim_AcidPoisonDroplet,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate =
|
||||
@ -147,22 +145,22 @@ const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = gUnknown_08596168,
|
||||
.anims = sAnims_AcidPoisonDroplet,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596208,
|
||||
.affineAnims = gAffineAnims_Droplet,
|
||||
.callback = AnimAcidPoisonDroplet,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596224[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Bubble[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x9C, 0x9C, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 20),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_0859623C[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_Bubble[] =
|
||||
{
|
||||
gUnknown_08596224,
|
||||
sAffineAnim_Bubble,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
|
||||
@ -170,9 +168,9 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gUnknown_08596164,
|
||||
.anims = sAnims_PoisonProjectile,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_0859623C,
|
||||
.affineAnims = sAffineAnims_Bubble,
|
||||
.callback = AnimBubbleEffect,
|
||||
};
|
||||
|
||||
@ -181,9 +179,9 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||
.anims = gUnknown_08595200,
|
||||
.anims = gAnims_WaterBubble,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_0859623C,
|
||||
.affineAnims = sAffineAnims_Bubble,
|
||||
.callback = AnimBubbleEffect,
|
||||
};
|
||||
|
||||
|
117
src/psychic.c
117
src/psychic.c
@ -20,7 +20,7 @@ static void AnimQuestionMark(struct Sprite *);
|
||||
static void AnimQuestionMark_Step1(struct Sprite *);
|
||||
static void AnimQuestionMark_Step2(struct Sprite *);
|
||||
static void AnimRedX(struct Sprite *);
|
||||
static void sub_810FDF0(struct Sprite *);
|
||||
static void AnimSkillSwapOrb(struct Sprite *);
|
||||
static void AnimPsychoBoost(struct Sprite *);
|
||||
static void AnimTask_MeditateStretchAttacker_Step(u8);
|
||||
static void AnimTask_Teleport_Step(u8);
|
||||
@ -29,16 +29,16 @@ static void AnimTask_SkillSwap_Step(u8);
|
||||
static void AnimTask_ExtrasensoryDistortion_Step(u8);
|
||||
static void AnimTask_TransparentCloneGrowAndShrink_Step(u8);
|
||||
|
||||
const union AffineAnimCmd gUnknown_0859652C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_PsychUpSpiral[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFFE, 0xFFFE, -10, 120),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596544[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_PsychUpSpiral[] =
|
||||
{
|
||||
gUnknown_0859652C,
|
||||
sAffineAnim_PsychUpSpiral,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gPsychUpSpiralSpriteTemplate =
|
||||
@ -48,7 +48,7 @@ const struct SpriteTemplate gPsychUpSpiralSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596544,
|
||||
.affineAnims = sAffineAnims_PsychUpSpiral,
|
||||
.callback = AnimSpriteOnMonPos,
|
||||
};
|
||||
|
||||
@ -107,7 +107,7 @@ const struct SpriteTemplate gMagicCoatWallSpriteTemplate =
|
||||
.callback = AnimDefensiveWall,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085965D8[] =
|
||||
static const union AnimCmd sAnim_ReflectSparkle[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 3),
|
||||
ANIMCMD_FRAME(16, 3),
|
||||
@ -117,9 +117,9 @@ const union AnimCmd gUnknown_085965D8[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085965F0[] =
|
||||
static const union AnimCmd *const sAnims_ReflectSparkle[] =
|
||||
{
|
||||
gUnknown_085965D8,
|
||||
sAnim_ReflectSparkle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gReflectSparkleSpriteTemplate =
|
||||
@ -127,13 +127,13 @@ const struct SpriteTemplate gReflectSparkleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SPARKLE_4,
|
||||
.paletteTag = ANIM_TAG_SPARKLE_4,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085965F0,
|
||||
.anims = sAnims_ReflectSparkle,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWallSparkle,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_0859660C[] =
|
||||
static const union AnimCmd sAnim_SpecialScreenSparkle[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 5),
|
||||
ANIMCMD_FRAME(4, 5),
|
||||
@ -142,9 +142,9 @@ const union AnimCmd gUnknown_0859660C[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596620[] =
|
||||
static const union AnimCmd *const sAnims_SpecialScreenSparkle[] =
|
||||
{
|
||||
gUnknown_0859660C,
|
||||
sAnim_SpecialScreenSparkle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpecialScreenSparkleSpriteTemplate =
|
||||
@ -152,7 +152,7 @@ const struct SpriteTemplate gSpecialScreenSparkleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SPARKLE_3,
|
||||
.paletteTag = ANIM_TAG_SPARKLE_3,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = gUnknown_08596620,
|
||||
.anims = sAnims_SpecialScreenSparkle,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWallSparkle,
|
||||
@ -169,7 +169,7 @@ const struct SpriteTemplate gGoldRingSpriteTemplate =
|
||||
.callback = TranslateAnimSpriteToTargetMonLocation,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596654[] =
|
||||
static const union AnimCmd sAnim_BentSpoon_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(8, 60, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
|
||||
@ -189,7 +189,7 @@ const union AnimCmd gUnknown_08596654[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596694[] =
|
||||
static const union AnimCmd sAnim_BentSpoon_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(8, 60),
|
||||
ANIMCMD_FRAME(16, 5),
|
||||
@ -209,10 +209,10 @@ const union AnimCmd gUnknown_08596694[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085966D4[] =
|
||||
static const union AnimCmd *const sAnims_BentSpoon[] =
|
||||
{
|
||||
gUnknown_08596654,
|
||||
gUnknown_08596694,
|
||||
sAnim_BentSpoon_0,
|
||||
sAnim_BentSpoon_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gBentSpoonSpriteTemplate =
|
||||
@ -220,13 +220,13 @@ const struct SpriteTemplate gBentSpoonSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_BENT_SPOON,
|
||||
.paletteTag = ANIM_TAG_BENT_SPOON,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x32,
|
||||
.anims = gUnknown_085966D4,
|
||||
.anims = sAnims_BentSpoon,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimBentSpoon,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085966F4[] =
|
||||
static const union AnimCmd sAnim_QuestionMark[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 6),
|
||||
ANIMCMD_FRAME(16, 6),
|
||||
@ -238,12 +238,12 @@ const union AnimCmd gUnknown_085966F4[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596714[] =
|
||||
static const union AnimCmd *const sAnims_QuestionMark[] =
|
||||
{
|
||||
gUnknown_085966F4,
|
||||
sAnim_QuestionMark,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596718[] =
|
||||
static const union AffineAnimCmd sAffineAnim_QuestionMark[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, 4, 4),
|
||||
AFFINEANIMCMD_FRAME(0, 0, -4, 8),
|
||||
@ -252,23 +252,23 @@ const union AffineAnimCmd gUnknown_08596718[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596740[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_QuestionMark[] =
|
||||
{
|
||||
gUnknown_08596718,
|
||||
sAffineAnim_QuestionMark,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gAmnesiaQuestionMarkSpriteTemplate =
|
||||
const struct SpriteTemplate gQuestionMarkSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_AMNESIA,
|
||||
.paletteTag = ANIM_TAG_AMNESIA,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596714,
|
||||
.anims = sAnims_QuestionMark,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimQuestionMark,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_0859675C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_MeditateStretchAttacker[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(-8, 10, 0, 16),
|
||||
AFFINEANIMCMD_FRAME(18, -18, 0, 16),
|
||||
@ -276,14 +276,14 @@ const union AffineAnimCmd gUnknown_0859675C[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_0859677C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Teleport[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(64, -4, 0, 20),
|
||||
AFFINEANIMCMD_FRAME(0, 0, 0, -56),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596794 =
|
||||
const struct SpriteTemplate gImprisonOrbSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_HOLLOW_ORB,
|
||||
.paletteTag = ANIM_TAG_HOLLOW_ORB,
|
||||
@ -305,14 +305,14 @@ const struct SpriteTemplate gRedXSpriteTemplate =
|
||||
.callback = AnimRedX,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085967C4[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 8),
|
||||
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085967DC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 6),
|
||||
@ -321,7 +321,7 @@ const union AffineAnimCmd gUnknown_085967DC[] =
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596804[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_2[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xD0, 0xD0, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 4),
|
||||
@ -330,7 +330,7 @@ const union AffineAnimCmd gUnknown_08596804[] =
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_0859682C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_3[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 2),
|
||||
@ -339,35 +339,35 @@ const union AffineAnimCmd gUnknown_0859682C[] =
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596854[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_SkillSwapOrb[] =
|
||||
{
|
||||
gUnknown_085967C4,
|
||||
gUnknown_085967DC,
|
||||
gUnknown_08596804,
|
||||
gUnknown_0859682C,
|
||||
sAffineAnim_SkillSwapOrb_0,
|
||||
sAffineAnim_SkillSwapOrb_1,
|
||||
sAffineAnim_SkillSwapOrb_2,
|
||||
sAffineAnim_SkillSwapOrb_3,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596864 =
|
||||
const struct SpriteTemplate gSkillSwapOrbSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_BLUEGREEN_ORB,
|
||||
.paletteTag = ANIM_TAG_BLUEGREEN_ORB,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596854,
|
||||
.callback = sub_810FDF0,
|
||||
.affineAnims = sAffineAnims_SkillSwapOrb,
|
||||
.callback = AnimSkillSwapOrb,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_0859687C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_LusterPurgeCircle[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 120),
|
||||
AFFINEANIMCMD_END_ALT(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596894[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_LusterPurgeCircle[] =
|
||||
{
|
||||
gUnknown_0859687C,
|
||||
sAffineAnim_LusterPurgeCircle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gLusterPurgeCircleSpriteTemplate =
|
||||
@ -377,11 +377,11 @@ const struct SpriteTemplate gLusterPurgeCircleSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596894,
|
||||
.affineAnims = sAffineAnims_LusterPurgeCircle,
|
||||
.callback = AnimSpriteOnMonPos,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085968B0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 17),
|
||||
@ -396,16 +396,16 @@ const union AffineAnimCmd gUnknown_085968B0[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596908[] =
|
||||
static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xFFEC, 0x18, 0, 15),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596918[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_PsychoBoostOrb[] =
|
||||
{
|
||||
gUnknown_085968B0,
|
||||
gUnknown_08596908,
|
||||
sAffineAnim_PsychoBoostOrb_0,
|
||||
sAffineAnim_PsychoBoostOrb_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gPsychoBoostOrbSpriteTemplate =
|
||||
@ -415,7 +415,7 @@ const struct SpriteTemplate gPsychoBoostOrbSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596918,
|
||||
.affineAnims = sAffineAnims_PsychoBoostOrb,
|
||||
.callback = AnimPsychoBoost,
|
||||
};
|
||||
|
||||
@ -641,6 +641,7 @@ static void AnimBentSpoon(struct Sprite *sprite)
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
}
|
||||
|
||||
// Used by Amnesia
|
||||
static void AnimQuestionMark(struct Sprite *sprite)
|
||||
{
|
||||
s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2;
|
||||
@ -662,7 +663,7 @@ static void AnimQuestionMark(struct Sprite *sprite)
|
||||
static void AnimQuestionMark_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL;
|
||||
sprite->affineAnims = gUnknown_08596740;
|
||||
sprite->affineAnims = sAffineAnims_QuestionMark;
|
||||
sprite->data[0] = 0;
|
||||
InitSpriteAffineAnim(sprite);
|
||||
sprite->callback = AnimQuestionMark_Step2;
|
||||
@ -693,7 +694,7 @@ void AnimTask_MeditateStretchAttacker(u8 taskId)
|
||||
struct Task *task = &gTasks[taskId];
|
||||
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
task->data[0] = spriteId;
|
||||
PrepareAffineAnimInTaskData(task, spriteId, gUnknown_0859675C);
|
||||
PrepareAffineAnimInTaskData(task, spriteId, sAffineAnim_MeditateStretchAttacker);
|
||||
task->func = AnimTask_MeditateStretchAttacker_Step;
|
||||
}
|
||||
|
||||
@ -712,7 +713,7 @@ void AnimTask_Teleport(u8 taskId)
|
||||
task->data[2] = 0;
|
||||
task->data[3] = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 4 : 8;
|
||||
|
||||
PrepareAffineAnimInTaskData(task, task->data[0], gUnknown_0859677C);
|
||||
PrepareAffineAnimInTaskData(task, task->data[0], sAffineAnim_Teleport);
|
||||
task->func = AnimTask_Teleport_Step;
|
||||
}
|
||||
|
||||
@ -777,7 +778,7 @@ static void AnimTask_ImprisonOrbs_Step(u8 taskId)
|
||||
if (++task->data[1] > 8)
|
||||
{
|
||||
task->data[1] = 0;
|
||||
spriteId = CreateSprite(&gUnknown_08596794, task->data[13], task->data[14], 0);
|
||||
spriteId = CreateSprite(&gImprisonOrbSpriteTemplate, task->data[13], task->data[14], 0);
|
||||
task->data[task->data[2] + 8] = spriteId;
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
@ -916,7 +917,7 @@ static void AnimTask_SkillSwap_Step(u8 taskId)
|
||||
if (++task->data[1] > 6)
|
||||
{
|
||||
task->data[1] = 0;
|
||||
spriteId = CreateSprite(&gUnknown_08596864, task->data[11], task->data[12], 0);
|
||||
spriteId = CreateSprite(&gSkillSwapOrbSpriteTemplate, task->data[11], task->data[12], 0);
|
||||
if (spriteId != 64)
|
||||
{
|
||||
gSprites[spriteId].data[0] = 16;
|
||||
@ -939,7 +940,7 @@ static void AnimTask_SkillSwap_Step(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_810FDF0(struct Sprite *sprite)
|
||||
static void AnimSkillSwapOrb(struct Sprite *sprite)
|
||||
{
|
||||
if (TranslateAnimHorizontalArc(sprite))
|
||||
{
|
||||
|
113
src/rock.c
113
src/rock.c
@ -9,13 +9,10 @@
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
extern const union AnimCmd *const gUnknown_085950E0[];
|
||||
extern const union AnimCmd *const gUnknown_085954D0[];
|
||||
|
||||
static void AnimFallingRock(struct Sprite *);
|
||||
static void AnimFallingRock_Step(struct Sprite *);
|
||||
static void AnimRockFragment(struct Sprite *);
|
||||
static void AnimDirtParticleAcrossScreen(struct Sprite *);
|
||||
static void AnimFlyingSandCrescent(struct Sprite *);
|
||||
static void AnimRaiseSprite(struct Sprite *);
|
||||
static void AnimTask_Rollout_Step(u8 taskId);
|
||||
static void AnimRolloutParticle(struct Sprite *);
|
||||
@ -30,29 +27,29 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId);
|
||||
static void sub_8111214(struct Task *task);
|
||||
static u8 GetRolloutCounter(void);
|
||||
|
||||
const union AnimCmd gUnknown_08596AE0[] =
|
||||
static const union AnimCmd sAnim_FlyingRock_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(32, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596AE8[] =
|
||||
static const union AnimCmd sAnim_FlyingRock_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(48, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596AF0[] =
|
||||
static const union AnimCmd sAnim_FlyingRock_2[] =
|
||||
{
|
||||
ANIMCMD_FRAME(64, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596AF8[] =
|
||||
static const union AnimCmd *const sAnims_FlyingRock[] =
|
||||
{
|
||||
gUnknown_08596AE0,
|
||||
gUnknown_08596AE8,
|
||||
gUnknown_08596AF0,
|
||||
sAnim_FlyingRock_0,
|
||||
sAnim_FlyingRock_1,
|
||||
sAnim_FlyingRock_2,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFallingRockSpriteTemplate =
|
||||
@ -60,7 +57,7 @@ const struct SpriteTemplate gFallingRockSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ROCKS,
|
||||
.paletteTag = ANIM_TAG_ROCKS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596AF8,
|
||||
.anims = sAnims_FlyingRock,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFallingRock,
|
||||
@ -71,7 +68,7 @@ const struct SpriteTemplate gRockFragmentSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ROCKS,
|
||||
.paletteTag = ANIM_TAG_ROCKS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596AF8,
|
||||
.anims = sAnims_FlyingRock,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimRockFragment,
|
||||
@ -88,7 +85,7 @@ const struct SpriteTemplate gSwirlingDirtSpriteTemplate =
|
||||
.callback = AnimParticleInVortex,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596B4C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_Whirlpool[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x2, 0xFFFD, 0, 5),
|
||||
@ -96,9 +93,9 @@ const union AffineAnimCmd gUnknown_08596B4C[] =
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596B6C[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_Whirlpool[] =
|
||||
{
|
||||
gUnknown_08596B4C,
|
||||
sAffineAnim_Whirlpool,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gWhirlpoolSpriteTemplate =
|
||||
@ -106,9 +103,9 @@ const struct SpriteTemplate gWhirlpoolSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_WATER_ORB,
|
||||
.paletteTag = ANIM_TAG_WATER_ORB,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||
.anims = gUnknown_085950E0,
|
||||
.anims = gAnims_WaterMudOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596B6C,
|
||||
.affineAnims = sAffineAnims_Whirlpool,
|
||||
.callback = AnimParticleInVortex,
|
||||
};
|
||||
|
||||
@ -117,7 +114,7 @@ const struct SpriteTemplate gFireSpinSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_085954D0,
|
||||
.anims = gAnims_BasicFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimParticleInVortex,
|
||||
@ -131,72 +128,72 @@ const struct SpriteTemplate gFlyingSandCrescentSpriteTemplate =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimDirtParticleAcrossScreen,
|
||||
.callback = AnimFlyingSandCrescent,
|
||||
};
|
||||
|
||||
const struct Subsprite gUnknown_08596BB8[] =
|
||||
static const struct Subsprite sFlyingSandSubsprites[] =
|
||||
{
|
||||
{.x = -16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 0, .priority = 1},
|
||||
{.x = 16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 8, .priority = 1},
|
||||
};
|
||||
|
||||
const struct SubspriteTable gUnknown_08596BC0[] =
|
||||
static const struct SubspriteTable sFlyingSandSubspriteTable[] =
|
||||
{
|
||||
{ARRAY_COUNT(gUnknown_08596BB8), gUnknown_08596BB8},
|
||||
{ARRAY_COUNT(sFlyingSandSubsprites), sFlyingSandSubsprites},
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596BC8[] =
|
||||
static const union AnimCmd sAnim_BasicRock_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596BD0[] =
|
||||
static const union AnimCmd sAnim_BasicRock_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596BD8[] =
|
||||
static const union AnimCmd sAnim_WeatherBallRockDown_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(32, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596BE0[] =
|
||||
static const union AnimCmd sAnim_WeatherBallRockDown_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(48, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596BE8[] =
|
||||
static const union AnimCmd sAnim_TwisterRock_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(64, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08596BF0[] =
|
||||
static const union AnimCmd sAnim_TwisterRock_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(80, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596BF8[] =
|
||||
static const union AnimCmd *const sAnims_BasicRock[] =
|
||||
{
|
||||
gUnknown_08596BC8,
|
||||
gUnknown_08596BD0,
|
||||
sAnim_BasicRock_0,
|
||||
sAnim_BasicRock_1,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596C00[] =
|
||||
static const union AnimCmd *const sAnims_WeatherBallRockDown[] =
|
||||
{
|
||||
gUnknown_08596BD8,
|
||||
gUnknown_08596BE0,
|
||||
sAnim_WeatherBallRockDown_0,
|
||||
sAnim_WeatherBallRockDown_1,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08596C08[] =
|
||||
static const union AnimCmd *const sAnims_TwisterRock[] =
|
||||
{
|
||||
gUnknown_08596BE8,
|
||||
gUnknown_08596BF0,
|
||||
sAnim_TwisterRock_0,
|
||||
sAnim_TwisterRock_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gAncientPowerRockSpriteTemplate =
|
||||
@ -204,7 +201,7 @@ const struct SpriteTemplate gAncientPowerRockSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ROCKS,
|
||||
.paletteTag = ANIM_TAG_ROCKS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596BF8,
|
||||
.anims = sAnims_BasicRock,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimRaiseSprite,
|
||||
@ -237,28 +234,28 @@ const struct SpriteTemplate gRockTombRockSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ROCKS,
|
||||
.paletteTag = ANIM_TAG_ROCKS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596BF8,
|
||||
.anims = sAnims_BasicRock,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimRockTomb,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596C70[] =
|
||||
static const union AffineAnimCmd sAffineAnim_BasicRock_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -5, 5),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08596C80[] =
|
||||
static const union AffineAnimCmd sAffineAnim_BasicRock_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 5, 5),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08596C90[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_BasicRock[] =
|
||||
{
|
||||
gUnknown_08596C70,
|
||||
gUnknown_08596C80,
|
||||
sAffineAnim_BasicRock_0,
|
||||
sAffineAnim_BasicRock_1,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gRockBlastRockSpriteTemplate =
|
||||
@ -266,9 +263,9 @@ const struct SpriteTemplate gRockBlastRockSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ROCKS,
|
||||
.paletteTag = ANIM_TAG_ROCKS,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596BF8,
|
||||
.anims = sAnims_BasicRock,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596C90,
|
||||
.affineAnims = sAffineAnims_BasicRock,
|
||||
.callback = AnimRockBlastRock,
|
||||
};
|
||||
|
||||
@ -277,20 +274,20 @@ const struct SpriteTemplate gRockScatterSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ROCKS,
|
||||
.paletteTag = ANIM_TAG_ROCKS,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596BF8,
|
||||
.anims = sAnims_BasicRock,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596C90,
|
||||
.affineAnims = sAffineAnims_BasicRock,
|
||||
.callback = AnimRockScatter,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gTwisterRockParticleSpriteTemplate =
|
||||
const struct SpriteTemplate gTwisterRockSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ROCKS,
|
||||
.paletteTag = ANIM_TAG_ROCKS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596C08,
|
||||
.anims = sAnims_TwisterRock,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596C90,
|
||||
.affineAnims = sAffineAnims_BasicRock,
|
||||
.callback = AnimMoveTwisterParticle,
|
||||
};
|
||||
|
||||
@ -299,9 +296,9 @@ const struct SpriteTemplate gWeatherBallRockDownSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ROCKS,
|
||||
.paletteTag = ANIM_TAG_ROCKS,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gUnknown_08596C00,
|
||||
.anims = sAnims_WeatherBallRockDown,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596C90,
|
||||
.affineAnims = sAffineAnims_BasicRock,
|
||||
.callback = AnimWeatherBallDown,
|
||||
};
|
||||
|
||||
@ -419,8 +416,8 @@ void AnimTask_LoadSandstormBackground(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
|
||||
|
||||
sub_80A6B30(&animBg);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08D8D58C, animBg.tilesOffset);
|
||||
sub_80A6D60(&animBg, gUnknown_08D8D410, 0);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Sandstorm, animBg.tilesOffset);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_Sandstorm, 0);
|
||||
LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32);
|
||||
|
||||
if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
@ -501,7 +498,7 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId)
|
||||
// arg 1: projectile speed
|
||||
// arg 2: y pixel drop
|
||||
// arg 3: ??? unknown (possibly a color bit)
|
||||
static void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
|
||||
static void AnimFlyingSandCrescent(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
@ -518,7 +515,7 @@ static void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
sprite->pos1.y = gBattleAnimArgs[0];
|
||||
SetSubspriteTables(sprite, gUnknown_08596BC0);
|
||||
SetSubspriteTables(sprite, sFlyingSandSubspriteTable);
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
sprite->data[2] = gBattleAnimArgs[2];
|
||||
sprite->data[0]++;
|
||||
|
355
src/water.c
355
src/water.c
@ -13,12 +13,12 @@
|
||||
#include "constants/battle.h"
|
||||
#include "constants/rgb.h"
|
||||
|
||||
static void sub_810721C(struct Sprite *);
|
||||
static void sub_8107228(struct Sprite *);
|
||||
static void AnimMovingWaterBubble(struct Sprite *);
|
||||
static void AnimMovingWaterBubble_Step1(struct Sprite *);
|
||||
static void AnimMovingWaterBubble_Step2(struct Sprite *);
|
||||
static void AnimMovingWaterBubble_Step3(struct Sprite *);
|
||||
static void AnimRainDrop(struct Sprite *);
|
||||
static void AnimRainDrop_Step(struct Sprite *);
|
||||
static void AnimWaterBubbleProjectile(struct Sprite *);
|
||||
static void AnimWaterBubbleProjectile_Step1(struct Sprite *);
|
||||
static void AnimWaterBubbleProjectile_Step2(struct Sprite *);
|
||||
static void AnimWaterBubbleProjectile_Step3(struct Sprite *);
|
||||
static void AnimAuroraBeamRings(struct Sprite *);
|
||||
static void AnimAuroraBeamRings_Step(struct Sprite *);
|
||||
static void AnimToTargetInSinWave(struct Sprite *);
|
||||
@ -31,38 +31,34 @@ static void AnimSmallBubblePair(struct Sprite *);
|
||||
static void AnimSmallBubblePair_Step(struct Sprite *);
|
||||
static void AnimSmallDriftingBubbles(struct Sprite *);
|
||||
static void AnimSmallDriftingBubbles_Step(struct Sprite *);
|
||||
static void sub_810851C(struct Sprite *);
|
||||
static void sub_81087C0(struct Sprite *);
|
||||
static void sub_810886C(struct Sprite *);
|
||||
static void sub_8108B2C(struct Sprite *);
|
||||
static void sub_8108B94(struct Sprite *);
|
||||
static void AnimSmallWaterOrb(struct Sprite *);
|
||||
static void AnimWaterSpoutRain(struct Sprite *);
|
||||
static void AnimWaterSpoutRainHit(struct Sprite *);
|
||||
static void AnimWaterSportDroplet(struct Sprite *);
|
||||
static void AnimWaterSportDroplet_Step(struct Sprite *);
|
||||
static void AnimWaterPulseBubble(struct Sprite *);
|
||||
static void AnimWaterPulseBubble_Step(struct Sprite *);
|
||||
static void sub_8108C54(struct Sprite *);
|
||||
static void AnimWaterPulseRingBubble(struct Sprite *);
|
||||
static void AnimWaterPulseRing_Step(struct Sprite *);
|
||||
static void sub_810756C(u8);
|
||||
static void AnimTask_RotateAuroraRingColors_Step(u8);
|
||||
static void AnimTask_RunSinAnimTimer(u8);
|
||||
static void sub_8107B84(u8);
|
||||
static void sub_8107CC4(u8);
|
||||
static void sub_8107D58(u8);
|
||||
static void AnimTask_CreateSurfWave_Step1(u8);
|
||||
static void AnimTask_CreateSurfWave_Step2(u8);
|
||||
static void AnimTask_SurfWaveScanlineEffect(u8);
|
||||
static void AnimTask_WaterSpoutLaunch_Step(u8);
|
||||
static void AnimTask_WaterSpoutRain_Step(u8);
|
||||
static void sub_8108978(u8);
|
||||
static u8 sub_8108384(void);
|
||||
static void sub_8108408(struct Task*, u8);
|
||||
static void sub_810871C(struct Task*, u8);
|
||||
static void sub_8108AC0(struct Task*);
|
||||
static void sub_8108D54(struct Sprite*, int, int);
|
||||
static u8 GetWaterSpoutPowerForAnim(void);
|
||||
static void CreateWaterSpoutLaunchDroplets(struct Task*, u8);
|
||||
static void CreateWaterSpoutRainDroplet(struct Task*, u8);
|
||||
static void AnimTask_WaterSport_Step(u8);
|
||||
static void CreateWaterSportDroplet(struct Task*);
|
||||
static void CreateWaterPulseRingBubbles(struct Sprite*, int, int);
|
||||
|
||||
extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[];
|
||||
extern const union AffineAnimCmd *const gUnknown_08596208[];
|
||||
extern const union AnimCmd *const gUnknown_08595AB8[];
|
||||
|
||||
// what is this?
|
||||
// Both unused
|
||||
const u8 gUnknown_8593C80[] = INCBIN_U8("graphics/unknown/unknown_593C80.4bpp");
|
||||
const u8 gUnknown_8593FFC[] = INCBIN_U8("graphics/unknown/unknown_593FFC.bin");
|
||||
|
||||
const union AnimCmd gUnknown_08594FFC[] =
|
||||
static const union AnimCmd sAnim_RainDrop[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 2),
|
||||
ANIMCMD_FRAME(8, 2),
|
||||
@ -74,35 +70,35 @@ const union AnimCmd gUnknown_08594FFC[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_0859501C[] =
|
||||
static const union AnimCmd *const sAnims_RainDrop[] =
|
||||
{
|
||||
gUnknown_08594FFC,
|
||||
sAnim_RainDrop,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595020 =
|
||||
const struct SpriteTemplate gRainDropSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_RAIN_DROPS,
|
||||
.paletteTag = ANIM_TAG_RAIN_DROPS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x32,
|
||||
.anims = gUnknown_0859501C,
|
||||
.anims = sAnims_RainDrop,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810721C,
|
||||
.callback = AnimRainDrop,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595038[] =
|
||||
static const union AffineAnimCmd sAffineAnim_WaterBubbleProjectile[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 10),
|
||||
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_08595050[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_WaterBubbleProjectile[] =
|
||||
{
|
||||
gUnknown_08595038,
|
||||
sAffineAnim_WaterBubbleProjectile,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595054[] =
|
||||
static const union AnimCmd sAnim_WaterBubbleProjectile[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_FRAME(4, 5),
|
||||
@ -110,50 +106,50 @@ const union AnimCmd gUnknown_08595054[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595064[] =
|
||||
static const union AnimCmd *const sAnims_WaterBubbleProjectile[] =
|
||||
{
|
||||
gUnknown_08595054,
|
||||
sAnim_WaterBubbleProjectile,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gMovingWaterBubbleSpriteTemplate =
|
||||
const struct SpriteTemplate gWaterBubbleProjectileSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_BUBBLE,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||
.anims = gUnknown_08595064,
|
||||
.anims = sAnims_WaterBubbleProjectile,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08595050,
|
||||
.callback = AnimMovingWaterBubble,
|
||||
.affineAnims = sAffineAnims_WaterBubbleProjectile,
|
||||
.callback = AnimWaterBubbleProjectile,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595080[] =
|
||||
static const union AnimCmd sAnim_AuroraBeamRing_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595088[] =
|
||||
static const union AnimCmd sAnim_AuroraBeamRing_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(4, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595090[] =
|
||||
static const union AnimCmd *const sAnims_AuroraBeamRing[] =
|
||||
{
|
||||
gUnknown_08595080,
|
||||
gUnknown_08595088,
|
||||
sAnim_AuroraBeamRing_0,
|
||||
sAnim_AuroraBeamRing_1,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595098[] =
|
||||
static const union AffineAnimCmd sAffineAnim_AuroraBeamRing[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
|
||||
AFFINEANIMCMD_FRAME(0x60, 0x60, 0, 1),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085950B0[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_AuroraBeamRing[] =
|
||||
{
|
||||
gUnknown_08595098,
|
||||
sAffineAnim_AuroraBeamRing,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gAuroraBeamRingSpriteTemplate =
|
||||
@ -161,13 +157,13 @@ const struct SpriteTemplate gAuroraBeamRingSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_RAINBOW_RINGS,
|
||||
.paletteTag = ANIM_TAG_RAINBOW_RINGS,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_8x16,
|
||||
.anims = gUnknown_08595090,
|
||||
.anims = sAnims_AuroraBeamRing,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085950B0,
|
||||
.affineAnims = sAffineAnims_AuroraBeamRing,
|
||||
.callback = AnimAuroraBeamRings,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085950CC[] =
|
||||
static const union AnimCmd sAnim_WaterMudOrb[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_FRAME(4, 1),
|
||||
@ -176,9 +172,9 @@ const union AnimCmd gUnknown_085950CC[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085950E0[] =
|
||||
const union AnimCmd *const gAnims_WaterMudOrb[] =
|
||||
{
|
||||
gUnknown_085950CC,
|
||||
sAnim_WaterMudOrb,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gHydroPumpOrbSpriteTemplate =
|
||||
@ -186,7 +182,7 @@ const struct SpriteTemplate gHydroPumpOrbSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_WATER_ORB,
|
||||
.paletteTag = ANIM_TAG_WATER_ORB,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_16x16,
|
||||
.anims = gUnknown_085950E0,
|
||||
.anims = gAnims_WaterMudOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimToTargetInSinWave,
|
||||
@ -197,7 +193,7 @@ const struct SpriteTemplate gMudShotOrbSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_BROWN_ORB,
|
||||
.paletteTag = ANIM_TAG_BROWN_ORB,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_16x16,
|
||||
.anims = gUnknown_085950E0,
|
||||
.anims = gAnims_WaterMudOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimToTargetInSinWave,
|
||||
@ -225,7 +221,7 @@ const struct SpriteTemplate gSignalBeamGreenOrbSpriteTemplate =
|
||||
.callback = AnimToTargetInSinWave,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595144[] =
|
||||
static const union AnimCmd sAnim_FlamethrowerFlame[] =
|
||||
{
|
||||
ANIMCMD_FRAME(16, 2),
|
||||
ANIMCMD_FRAME(32, 2),
|
||||
@ -233,9 +229,9 @@ const union AnimCmd gUnknown_08595144[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595154[] =
|
||||
static const union AnimCmd *const sAnims_FlamethrowerFlame[] =
|
||||
{
|
||||
gUnknown_08595144,
|
||||
sAnim_FlamethrowerFlame,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate =
|
||||
@ -243,7 +239,7 @@ const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gUnknown_08595154,
|
||||
.anims = sAnims_FlamethrowerFlame,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimToTargetInSinWave,
|
||||
@ -260,7 +256,7 @@ const struct SpriteTemplate gPsywaveRingSpriteTemplate =
|
||||
.callback = AnimToTargetInSinWave,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_08595188[] =
|
||||
static const union AffineAnimCmd sAffineAnim_HydroCannonCharge[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x3, 0x3, 10, 50),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 10),
|
||||
@ -268,20 +264,20 @@ const union AffineAnimCmd gUnknown_08595188[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085951A8[] =
|
||||
static const union AffineAnimCmd sAffineAnim_HydroCannonBeam[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085951B8[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_HydroCannonCharge[] =
|
||||
{
|
||||
gUnknown_08595188,
|
||||
sAffineAnim_HydroCannonCharge,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085951BC[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_HydroCannonBeam[] =
|
||||
{
|
||||
gUnknown_085951A8,
|
||||
sAffineAnim_HydroCannonBeam,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gHydroCannonChargeSpriteTemplate =
|
||||
@ -289,9 +285,9 @@ const struct SpriteTemplate gHydroCannonChargeSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_WATER_ORB,
|
||||
.paletteTag = ANIM_TAG_WATER_ORB,
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_16x16,
|
||||
.anims = gUnknown_085950E0,
|
||||
.anims = gAnims_WaterMudOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085951B8,
|
||||
.affineAnims = sAffineAnims_HydroCannonCharge,
|
||||
.callback = AnimHydroCannonCharge,
|
||||
};
|
||||
|
||||
@ -300,32 +296,32 @@ const struct SpriteTemplate gHydroCannonBeamSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_WATER_ORB,
|
||||
.paletteTag = ANIM_TAG_WATER_ORB,
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_16x16,
|
||||
.anims = gUnknown_085950E0,
|
||||
.anims = gAnims_WaterMudOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085951BC,
|
||||
.affineAnims = sAffineAnims_HydroCannonBeam,
|
||||
.callback = AnimHydroCannonBeam,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085951F0[] =
|
||||
static const union AnimCmd sAnim_WaterBubble[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_085951F8[] =
|
||||
static const union AnimCmd sAnim_WaterGunDroplet[] =
|
||||
{
|
||||
ANIMCMD_FRAME(4, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595200[] =
|
||||
const union AnimCmd *const gAnims_WaterBubble[] =
|
||||
{
|
||||
gUnknown_085951F0,
|
||||
sAnim_WaterBubble,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595204[] =
|
||||
static const union AnimCmd *const sAnims_WaterGunDroplet[] =
|
||||
{
|
||||
gUnknown_085951F8,
|
||||
sAnim_WaterGunDroplet,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gWaterGunProjectileSpriteTemplate =
|
||||
@ -333,7 +329,7 @@ const struct SpriteTemplate gWaterGunProjectileSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_16x16,
|
||||
.anims = gUnknown_08595200,
|
||||
.anims = gAnims_WaterBubble,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimThrowProjectile,
|
||||
@ -344,18 +340,18 @@ const struct SpriteTemplate gWaterGunDropletSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_16x16,
|
||||
.anims = gUnknown_08595204,
|
||||
.anims = sAnims_WaterGunDroplet,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_08596208,
|
||||
.affineAnims = gAffineAnims_Droplet,
|
||||
.callback = AnimWaterGunDroplet,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSmallBubblePairSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS, // Little confusing. ice_crystals_4, which are basically bubbles. TODO: rename?
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS, // ice_crystals_4, which are bubbles
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = gUnknown_08595AB8,
|
||||
.anims = gAnims_SmallBubblePair,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSmallBubblePair,
|
||||
@ -372,7 +368,8 @@ const struct SpriteTemplate gSmallDriftingBubblesSpriteTemplate =
|
||||
.callback = AnimSmallDriftingBubbles,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595268 =
|
||||
// Used by Water Spout / Water Sport
|
||||
const struct SpriteTemplate gSmallWaterOrbSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_GLOWY_BLUE_ORB,
|
||||
.paletteTag = ANIM_TAG_GLOWY_BLUE_ORB,
|
||||
@ -380,68 +377,68 @@ const struct SpriteTemplate gUnknown_08595268 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_810851C,
|
||||
.callback = AnimSmallWaterOrb,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595280[] =
|
||||
static const union AnimCmd sAnim_WaterPulseBubble_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(8, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595288[] =
|
||||
static const union AnimCmd sAnim_WaterPulseBubble_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(9, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd gUnknown_08595290[] =
|
||||
static const union AnimCmd sAnim_WeatherBallWaterDown[] =
|
||||
{
|
||||
ANIMCMD_FRAME(4, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_08595298[] =
|
||||
static const union AnimCmd *const sAnims_WaterPulseBubble[] =
|
||||
{
|
||||
gUnknown_08595280,
|
||||
gUnknown_08595288,
|
||||
sAnim_WaterPulseBubble_0,
|
||||
sAnim_WaterPulseBubble_1,
|
||||
};
|
||||
|
||||
const union AnimCmd *const gUnknown_085952A0[] =
|
||||
static const union AnimCmd *const sAnims_WeatherBallWaterDown[] =
|
||||
{
|
||||
gUnknown_08595290,
|
||||
sAnim_WeatherBallWaterDown,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085952A4[] =
|
||||
static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 15),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085952BC[] =
|
||||
static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_1[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 15),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gUnknown_085952D4[] =
|
||||
static const union AffineAnimCmd sAffineAnim_WeatherBallWaterDown[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085952EC[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_WaterPulseRingBubble[] =
|
||||
{
|
||||
gUnknown_085952A4,
|
||||
gUnknown_085952BC,
|
||||
sAffineAnim_WaterPulseRingBubble_0,
|
||||
sAffineAnim_WaterPulseRingBubble_1,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gUnknown_085952F4[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_WeatherBallWaterDown[] =
|
||||
{
|
||||
gUnknown_085952D4,
|
||||
sAffineAnim_WeatherBallWaterDown,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gWaterPulseBubbleSpriteTemplate =
|
||||
@ -449,21 +446,21 @@ const struct SpriteTemplate gWaterPulseBubbleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = gUnknown_08595298,
|
||||
.anims = sAnims_WaterPulseBubble,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWaterPulseBubble,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08595310 =
|
||||
const struct SpriteTemplate gWaterPulseRingBubbleSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_8x8,
|
||||
.anims = gUnknown_08595298,
|
||||
.anims = sAnims_WaterPulseBubble,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085952EC,
|
||||
.callback = sub_8108C54,
|
||||
.affineAnims = sAffineAnims_WaterPulseRingBubble,
|
||||
.callback = AnimWaterPulseRingBubble,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate =
|
||||
@ -471,14 +468,12 @@ const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gUnknown_085952A0,
|
||||
.anims = sAnims_WeatherBallWaterDown,
|
||||
.images = NULL,
|
||||
.affineAnims = gUnknown_085952F4,
|
||||
.affineAnims = sAffineAnims_WeatherBallWaterDown,
|
||||
.callback = AnimWeatherBallDown,
|
||||
};
|
||||
|
||||
extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate;
|
||||
|
||||
void AnimTask_CreateRaindrops(u8 taskId)
|
||||
{
|
||||
u8 x, y;
|
||||
@ -494,18 +489,18 @@ void AnimTask_CreateRaindrops(u8 taskId)
|
||||
{
|
||||
x = Random2() % 240;
|
||||
y = Random2() % 80;
|
||||
CreateSprite(&gUnknown_08595020, x, y, 4);
|
||||
CreateSprite(&gRainDropSpriteTemplate, x, y, 4);
|
||||
}
|
||||
if (gTasks[taskId].data[0] == gTasks[taskId].data[3])
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
static void sub_810721C(struct Sprite *sprite)
|
||||
static void AnimRainDrop(struct Sprite *sprite)
|
||||
{
|
||||
sprite->callback = sub_8107228;
|
||||
sprite->callback = AnimRainDrop_Step;
|
||||
}
|
||||
|
||||
static void sub_8107228(struct Sprite *sprite)
|
||||
static void AnimRainDrop_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] <= 13)
|
||||
{
|
||||
@ -517,7 +512,7 @@ static void sub_8107228(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// For water bubbles that move to a dest, as in Bubble/Bubblebeam
|
||||
static void AnimMovingWaterBubble(struct Sprite *sprite)
|
||||
static void AnimWaterBubbleProjectile(struct Sprite *sprite)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
@ -550,11 +545,11 @@ static void AnimMovingWaterBubble(struct Sprite *sprite)
|
||||
gSprites[spriteId].data[2] = gBattleAnimArgs[5];
|
||||
gSprites[spriteId].data[3] = (u8)gBattleAnimArgs[4] * 256;
|
||||
gSprites[spriteId].data[4] = gBattleAnimArgs[6];
|
||||
sprite->callback = AnimMovingWaterBubble_Step1;
|
||||
sprite->callback = AnimWaterBubbleProjectile_Step1;
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
|
||||
static void AnimMovingWaterBubble_Step1(struct Sprite *sprite)
|
||||
static void AnimWaterBubbleProjectile_Step1(struct Sprite *sprite)
|
||||
{
|
||||
u8 otherSpriteId = sprite->data[5];
|
||||
u8 timer = gSprites[otherSpriteId].data[4];
|
||||
@ -571,19 +566,19 @@ static void AnimMovingWaterBubble_Step1(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->callback = AnimMovingWaterBubble_Step2;
|
||||
sprite->callback = AnimWaterBubbleProjectile_Step2;
|
||||
DestroySprite(&gSprites[otherSpriteId]);
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimMovingWaterBubble_Step2(struct Sprite *sprite)
|
||||
static void AnimWaterBubbleProjectile_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->animPaused = FALSE;
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
StoreSpriteCallbackInData6(sprite, AnimMovingWaterBubble_Step3);
|
||||
StoreSpriteCallbackInData6(sprite, AnimWaterBubbleProjectile_Step3);
|
||||
}
|
||||
|
||||
static void AnimMovingWaterBubble_Step3(struct Sprite *sprite)
|
||||
static void AnimWaterBubbleProjectile_Step3(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 10;
|
||||
sprite->callback = WaitAnimForDuration;
|
||||
@ -626,11 +621,11 @@ void AnimTask_RotateAuroraRingColors(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[0] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS) * 16 + 256;
|
||||
gTasks[taskId].func = sub_810756C;
|
||||
gTasks[taskId].func = AnimTask_RotateAuroraRingColors_Step;
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static void sub_810756C(u8 taskId)
|
||||
static void AnimTask_RotateAuroraRingColors_Step(u8 taskId)
|
||||
{
|
||||
int i;
|
||||
u16 palIndex;
|
||||
@ -654,7 +649,7 @@ static void sub_810756C(u8 taskId)
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
static void sub_810756C(u8 taskId)
|
||||
static void AnimTask_RotateAuroraRingColors_Step(u8 taskId)
|
||||
{
|
||||
asm_unified("push {r4-r7,lr}\n\
|
||||
lsls r0, 24\n\
|
||||
@ -891,20 +886,20 @@ void AnimTask_CreateSurfWave(u8 taskId)
|
||||
{
|
||||
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_08D95E00);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfOpponent);
|
||||
else
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_08D960D0);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfPlayer);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80A6D60(&animBg, gUnknown_08D963A4, 1);
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_SurfContest, 1);
|
||||
}
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset);
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32);
|
||||
else
|
||||
LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32);
|
||||
taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1);
|
||||
taskId2 = CreateTask(AnimTask_SurfWaveScanlineEffect, gTasks[taskId].priority + 1);
|
||||
gTasks[taskId].data[15] = taskId2;
|
||||
gTasks[taskId2].data[0] = 0;
|
||||
gTasks[taskId2].data[1] = 0x1000;
|
||||
@ -946,7 +941,7 @@ void AnimTask_CreateSurfWave(u8 taskId)
|
||||
gTasks[taskId2].data[5] = 0;
|
||||
}
|
||||
gTasks[taskId].data[6] = 1;
|
||||
gTasks[taskId].func = sub_8107B84;
|
||||
gTasks[taskId].func = AnimTask_CreateSurfWave_Step1;
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
@ -995,22 +990,22 @@ void AnimTask_CreateSurfWave(u8 taskId)
|
||||
bne _081079D0\n\
|
||||
mov r0, sp\n\
|
||||
ldrb r0, [r0, 0x9]\n\
|
||||
ldr r1, =gUnknown_08D95E00\n\
|
||||
ldr r1, =gBattleAnimBgTilemap_SurfOpponent\n\
|
||||
bl AnimLoadCompressedBgTilemap\n\
|
||||
b _081079EA\n\
|
||||
.pool\n\
|
||||
_081079D0:\n\
|
||||
mov r0, sp\n\
|
||||
ldrb r0, [r0, 0x9]\n\
|
||||
ldr r1, =gUnknown_08D960D0\n\
|
||||
ldr r1, =gBattleAnimBgTilemap_SurfPlayer\n\
|
||||
bl AnimLoadCompressedBgTilemap\n\
|
||||
b _081079EA\n\
|
||||
.pool\n\
|
||||
_081079E0:\n\
|
||||
ldr r1, =gUnknown_08D963A4\n\
|
||||
ldr r1, =gBattleAnimBgTilemap_SurfContest\n\
|
||||
mov r0, sp\n\
|
||||
movs r2, 0x1\n\
|
||||
bl sub_80A6D60\n\
|
||||
bl AnimLoadCompressedBgTilemapHandleContest\n\
|
||||
_081079EA:\n\
|
||||
mov r0, sp\n\
|
||||
ldrb r0, [r0, 0x9]\n\
|
||||
@ -1039,7 +1034,7 @@ _08107A24:\n\
|
||||
movs r2, 0x20\n\
|
||||
bl LoadCompressedPalette\n\
|
||||
_08107A32:\n\
|
||||
ldr r0, =sub_8107D58\n\
|
||||
ldr r0, =AnimTask_SurfWaveScanlineEffect\n\
|
||||
ldr r4, =gTasks\n\
|
||||
mov r2, r10\n\
|
||||
lsls r5, r2, 2\n\
|
||||
@ -1162,7 +1157,7 @@ _08107B58:\n\
|
||||
adds r0, r1\n\
|
||||
movs r1, 0x1\n\
|
||||
strh r1, [r0, 0x14]\n\
|
||||
ldr r1, =sub_8107B84\n\
|
||||
ldr r1, =AnimTask_CreateSurfWave_Step1\n\
|
||||
str r1, [r0]\n\
|
||||
add sp, 0x10\n\
|
||||
pop {r3-r5}\n\
|
||||
@ -1177,7 +1172,7 @@ _08107B58:\n\
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static void sub_8107B84(u8 taskId)
|
||||
static void AnimTask_CreateSurfWave_Step1(u8 taskId)
|
||||
{
|
||||
struct BattleAnimBgData animBg;
|
||||
u8 i;
|
||||
@ -1222,12 +1217,12 @@ static void sub_8107B84(u8 taskId)
|
||||
if (!(gTasks[gTasks[taskId].data[15]].data[1] & 0x1F))
|
||||
{
|
||||
gTasks[taskId].data[0] = gTasks[gTasks[taskId].data[15]].data[1] & 0x1F;
|
||||
gTasks[taskId].func = sub_8107CC4;
|
||||
gTasks[taskId].func = AnimTask_CreateSurfWave_Step2;
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
static void sub_8107B84(u8 taskId)
|
||||
static void AnimTask_CreateSurfWave_Step1(u8 taskId)
|
||||
{
|
||||
asm_unified("push {r4-r7,lr}\n\
|
||||
sub sp, 0x10\n\
|
||||
@ -1376,7 +1371,7 @@ _08107C86:\n\
|
||||
cmp r3, 0\n\
|
||||
bne _08107CA8\n\
|
||||
strh r3, [r2, 0x8]\n\
|
||||
ldr r0, =sub_8107CC4\n\
|
||||
ldr r0, =AnimTask_CreateSurfWave_Step2\n\
|
||||
str r0, [r2]\n\
|
||||
_08107CA8:\n\
|
||||
add sp, 0x10\n\
|
||||
@ -1387,7 +1382,7 @@ _08107CA8:\n\
|
||||
}
|
||||
#endif
|
||||
|
||||
static void sub_8107CC4(u8 taskId)
|
||||
static void AnimTask_CreateSurfWave_Step2(u8 taskId)
|
||||
{
|
||||
u16 *BGptrX = &gBattle_BG1_X;
|
||||
u16 *BGptrY = &gBattle_BG1_Y;
|
||||
@ -1410,7 +1405,7 @@ static void sub_8107CC4(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8107D58(u8 taskId)
|
||||
static void AnimTask_SurfWaveScanlineEffect(u8 taskId)
|
||||
{
|
||||
s16 i;
|
||||
struct ScanlineEffectParams params;
|
||||
@ -1511,7 +1506,7 @@ void AnimTask_WaterSpoutLaunch(u8 taskId)
|
||||
|
||||
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
task->data[5] = gSprites[task->data[15]].pos1.y;
|
||||
task->data[1] = sub_8108384();
|
||||
task->data[1] = GetWaterSpoutPowerForAnim();
|
||||
PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
|
||||
task->func = AnimTask_WaterSpoutLaunch_Step;
|
||||
}
|
||||
@ -1565,7 +1560,7 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
sub_8108408(task, taskId);
|
||||
CreateWaterSpoutLaunchDroplets(task, taskId);
|
||||
task->data[0]++;
|
||||
case 5:
|
||||
if (++task->data[3] > 1)
|
||||
@ -1601,7 +1596,9 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static u8 sub_8108384(void)
|
||||
// Returns a value 0-3 relative to which quarter HP the attacker is in
|
||||
// A higher number results in more water sprites during the Water Spout animation
|
||||
static u8 GetWaterSpoutPowerForAnim(void)
|
||||
{
|
||||
u8 i;
|
||||
u16 hp;
|
||||
@ -1633,7 +1630,7 @@ static u8 sub_8108384(void)
|
||||
return 3;
|
||||
}
|
||||
|
||||
static void sub_8108408(struct Task *task, u8 taskId)
|
||||
static void CreateWaterSpoutLaunchDroplets(struct Task *task, u8 taskId)
|
||||
{
|
||||
s16 i;
|
||||
s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
@ -1647,7 +1644,7 @@ static void sub_8108408(struct Task *task, u8 taskId)
|
||||
increment = 1;
|
||||
for (i = 0; i < 20; i += increment)
|
||||
{
|
||||
spriteId = CreateSprite(&gUnknown_08595268, attackerCoordX, attackerCoordY, subpriority);
|
||||
spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, attackerCoordX, attackerCoordY, subpriority);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].data[1] = i;
|
||||
@ -1658,7 +1655,7 @@ static void sub_8108408(struct Task *task, u8 taskId)
|
||||
gSprites[spriteId].data[6] = taskId;
|
||||
gSprites[spriteId].data[7] = 2;
|
||||
if (task->data[2] & 1)
|
||||
sub_810851C(&gSprites[spriteId]);
|
||||
AnimSmallWaterOrb(&gSprites[spriteId]);
|
||||
task->data[2]++;
|
||||
}
|
||||
trigIndex = (trigIndex + increment * 2);
|
||||
@ -1666,7 +1663,7 @@ static void sub_8108408(struct Task *task, u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_810851C(struct Sprite *sprite)
|
||||
static void AnimSmallWaterOrb(struct Sprite *sprite)
|
||||
{
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
@ -1692,7 +1689,7 @@ void AnimTask_WaterSpoutRain(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
task->data[1] = sub_8108384();
|
||||
task->data[1] = GetWaterSpoutPowerForAnim();
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
task->data[4] = 136;
|
||||
@ -1720,7 +1717,7 @@ static void AnimTask_WaterSpoutRain_Step(u8 taskId)
|
||||
if (++task->data[2] > 2)
|
||||
{
|
||||
task->data[2] = 0;
|
||||
sub_810871C(task, taskId);
|
||||
CreateWaterSpoutRainDroplet(task, taskId);
|
||||
}
|
||||
if (task->data[10] != 0 && task->data[13] == 0)
|
||||
{
|
||||
@ -1752,14 +1749,14 @@ static void AnimTask_WaterSpoutRain_Step(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_810871C(struct Task *task, u8 taskId)
|
||||
static void CreateWaterSpoutRainDroplet(struct Task *task, u8 taskId)
|
||||
{
|
||||
u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6];
|
||||
u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0);
|
||||
u8 spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[7], 0, 0);
|
||||
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].callback = sub_81087C0;
|
||||
gSprites[spriteId].callback = AnimWaterSpoutRain;
|
||||
gSprites[spriteId].data[5] = yPosArg;
|
||||
gSprites[spriteId].data[6] = taskId;
|
||||
gSprites[spriteId].data[7] = 9;
|
||||
@ -1770,7 +1767,7 @@ static void sub_810871C(struct Task *task, u8 taskId)
|
||||
task->data[7] = (ISO_RANDOMIZE2(task->data[7]) % task->data[5]) + task->data[4];
|
||||
}
|
||||
|
||||
static void sub_81087C0(struct Sprite *sprite)
|
||||
static void AnimWaterSpoutRain(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
@ -1784,14 +1781,14 @@ static void sub_81087C0(struct Sprite *sprite)
|
||||
StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3);
|
||||
gSprites[sprite->data[1]].data[6] = sprite->data[6];
|
||||
gSprites[sprite->data[1]].data[7] = sprite->data[7];
|
||||
gSprites[sprite->data[1]].callback = sub_810886C;
|
||||
gSprites[sprite->data[1]].callback = AnimWaterSpoutRainHit;
|
||||
}
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_810886C(struct Sprite *sprite)
|
||||
static void AnimWaterSpoutRainHit(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[1] > 1)
|
||||
{
|
||||
@ -1820,22 +1817,22 @@ void AnimTask_WaterSport(u8 taskId)
|
||||
task->data[9] = -32;
|
||||
task->data[1] = 0;
|
||||
task->data[0] = 0;
|
||||
task->func = sub_8108978;
|
||||
task->func = AnimTask_WaterSport_Step;
|
||||
}
|
||||
|
||||
static void sub_8108978(u8 taskId)
|
||||
static void AnimTask_WaterSport_Step(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
switch (task->data[0])
|
||||
{
|
||||
case 0:
|
||||
sub_8108AC0(task);
|
||||
CreateWaterSportDroplet(task);
|
||||
if (task->data[10] != 0)
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
sub_8108AC0(task);
|
||||
CreateWaterSportDroplet(task);
|
||||
if (++task->data[1] > 16)
|
||||
{
|
||||
task->data[1] = 0;
|
||||
@ -1843,7 +1840,7 @@ static void sub_8108978(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
sub_8108AC0(task);
|
||||
CreateWaterSportDroplet(task);
|
||||
task->data[5] += task->data[7] * 6;
|
||||
if (!(task->data[5] >= -16 && task->data[5] <= 256))
|
||||
{
|
||||
@ -1861,13 +1858,13 @@ static void sub_8108978(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
sub_8108AC0(task);
|
||||
CreateWaterSportDroplet(task);
|
||||
task->data[6] -= task->data[7] * 2;
|
||||
if (++task->data[1] > 7)
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 4:
|
||||
sub_8108AC0(task);
|
||||
CreateWaterSportDroplet(task);
|
||||
task->data[5] -= task->data[7] * 6;
|
||||
if (!(task->data[5] >= -16 && task->data[5] <= 256))
|
||||
{
|
||||
@ -1877,7 +1874,7 @@ static void sub_8108978(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
sub_8108AC0(task);
|
||||
CreateWaterSportDroplet(task);
|
||||
task->data[6] -= task->data[7] * 2;
|
||||
if (++task->data[1] > 7)
|
||||
task->data[0] = 2;
|
||||
@ -1892,14 +1889,14 @@ static void sub_8108978(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8108AC0(struct Task *task)
|
||||
static void CreateWaterSportDroplet(struct Task *task)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
if (++task->data[2] > 1)
|
||||
{
|
||||
task->data[2] = 0;
|
||||
spriteId = CreateSprite(&gUnknown_08595268, task->data[3], task->data[4], 10);
|
||||
spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[3], task->data[4], 10);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].data[0] = 16;
|
||||
@ -1907,13 +1904,13 @@ static void sub_8108AC0(struct Task *task)
|
||||
gSprites[spriteId].data[4] = task->data[6];
|
||||
gSprites[spriteId].data[5] = task->data[9];
|
||||
InitAnimArcTranslation(&gSprites[spriteId]);
|
||||
gSprites[spriteId].callback = sub_8108B2C;
|
||||
gSprites[spriteId].callback = AnimWaterSportDroplet;
|
||||
task->data[8]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8108B2C(struct Sprite *sprite)
|
||||
static void AnimWaterSportDroplet(struct Sprite *sprite)
|
||||
{
|
||||
if (TranslateAnimHorizontalArc(sprite))
|
||||
{
|
||||
@ -1924,11 +1921,11 @@ static void sub_8108B2C(struct Sprite *sprite)
|
||||
sprite->data[4] = (Random2() & 0x1F) - 16 + sprite->pos1.y;
|
||||
sprite->data[5] = ~(Random2() & 7);
|
||||
InitAnimArcTranslation(sprite);
|
||||
sprite->callback = sub_8108B94;
|
||||
sprite->callback = AnimWaterSportDroplet_Step;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8108B94(struct Sprite *sprite)
|
||||
static void AnimWaterSportDroplet_Step(struct Sprite *sprite)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
@ -1936,7 +1933,7 @@ static void sub_8108B94(struct Sprite *sprite)
|
||||
{
|
||||
for (i = 0; i < NUM_TASKS; i++)
|
||||
{
|
||||
if (gTasks[i].func == sub_8108978)
|
||||
if (gTasks[i].func == AnimTask_WaterSport_Step)
|
||||
{
|
||||
gTasks[i].data[10] = 1;
|
||||
gTasks[i].data[8]--;
|
||||
@ -1967,7 +1964,7 @@ static void AnimWaterPulseBubble_Step(struct Sprite *sprite)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
static void sub_8108C54(struct Sprite *sprite)
|
||||
static void AnimWaterPulseRingBubble(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
@ -2000,7 +1997,7 @@ static void AnimWaterPulseRing_Step(struct Sprite *sprite)
|
||||
if (++sprite->data[5] == sprite->data[4])
|
||||
{
|
||||
sprite->data[5] = 0;
|
||||
sub_8108D54(sprite, xDiff, yDiff);
|
||||
CreateWaterPulseRingBubbles(sprite, xDiff, yDiff);
|
||||
}
|
||||
if (sprite->data[3] == sprite->data[0])
|
||||
DestroyAnimSprite(sprite);
|
||||
@ -2008,7 +2005,7 @@ static void AnimWaterPulseRing_Step(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
|
||||
static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff)
|
||||
{
|
||||
s16 something = sprite->data[0] / 2;
|
||||
s16 combinedX = sprite->pos1.x + sprite->pos2.x;
|
||||
@ -2020,7 +2017,7 @@ static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
|
||||
|
||||
for (i = 0; i <= 0; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130);
|
||||
spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY + something, 130);
|
||||
gSprites[spriteId].data[0] = 20;
|
||||
gSprites[spriteId].data[1] = randomSomethingY;
|
||||
gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
|
||||
@ -2031,7 +2028,7 @@ static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
|
||||
}
|
||||
for (i = 0; i <= 0; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY - something, 130);
|
||||
spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY - something, 130);
|
||||
gSprites[spriteId].data[0] = 20;
|
||||
gSprites[spriteId].data[1] = randomSomethingY;
|
||||
gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
|
||||
@ -2043,7 +2040,7 @@ static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
|
||||
static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff)
|
||||
{
|
||||
asm_unified("push {r4-r7,lr}\n\
|
||||
mov r7, r10\n\
|
||||
@ -2113,7 +2110,7 @@ static void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
|
||||
lsls r1, 16\n\
|
||||
mov r10, r1\n\
|
||||
_08108DE2:\n\
|
||||
ldr r0, =gUnknown_08595310\n\
|
||||
ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\
|
||||
mov r2, r8\n\
|
||||
asrs r1, r2, 16\n\
|
||||
mov r3, r10\n\
|
||||
@ -2168,7 +2165,7 @@ _08108E32:\n\
|
||||
lsls r1, 16\n\
|
||||
mov r10, r1\n\
|
||||
_08108E58:\n\
|
||||
ldr r0, =gUnknown_08595310\n\
|
||||
ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\
|
||||
mov r2, r8\n\
|
||||
asrs r1, r2, 16\n\
|
||||
mov r3, r10\n\
|
||||
|
Loading…
x
Reference in New Issue
Block a user