mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-27 04:04:17 +01:00
battle_anim_effects_3 (4)
This commit is contained in:
parent
64cf2d70fa
commit
4f590e8f61
@ -2266,7 +2266,7 @@ Move_SMOKESCREEN:
|
|||||||
playsewithpan SE_W104, SOUND_PAN_ATTACKER
|
playsewithpan SE_W104, SOUND_PAN_ATTACKER
|
||||||
createsprite gBlackBallSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 35, -25
|
createsprite gBlackBallSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 35, -25
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createvisualtask sub_815A160, 2
|
createvisualtask AnimTask_SmokescreenImpact, 2
|
||||||
delay 2
|
delay 2
|
||||||
playsewithpan SE_W028, SOUND_PAN_TARGET
|
playsewithpan SE_W028, SOUND_PAN_TARGET
|
||||||
createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -12, 104, 0, 75
|
createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -12, 104, 0, 75
|
||||||
@ -3341,7 +3341,7 @@ Move_RAPID_SPIN:
|
|||||||
loadspritegfx ANIM_TAG_RAPID_SPIN
|
loadspritegfx ANIM_TAG_RAPID_SPIN
|
||||||
monbg ANIM_ATTACKER
|
monbg ANIM_ATTACKER
|
||||||
createsprite gRapidSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 32, -32, 40, -2
|
createsprite gRapidSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 32, -32, 40, -2
|
||||||
createvisualtask sub_815ADB0, 2, 0, 2, 0
|
createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 0
|
||||||
loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4
|
loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2
|
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2
|
||||||
@ -3349,7 +3349,7 @@ Move_RAPID_SPIN:
|
|||||||
playsewithpan SE_W003, SOUND_PAN_TARGET
|
playsewithpan SE_W003, SOUND_PAN_TARGET
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
delay 8
|
delay 8
|
||||||
createvisualtask sub_815ADB0, 2, 0, 2, 1
|
createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 1
|
||||||
loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4
|
loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
clearmonbg ANIM_ATTACKER
|
clearmonbg ANIM_ATTACKER
|
||||||
@ -3493,7 +3493,7 @@ Move_HAIL:
|
|||||||
Move_TORMENT:
|
Move_TORMENT:
|
||||||
loadspritegfx ANIM_TAG_ANGER
|
loadspritegfx ANIM_TAG_ANGER
|
||||||
loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
|
loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
|
||||||
createvisualtask sub_815AFF0, 2
|
createvisualtask AnimTask_TormentAttacker, 2
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_TARGET, RGB_RED, 10, 1, 1
|
createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_TARGET, RGB_RED, 10, 1, 1
|
||||||
createsprite gAngerMarkSpriteTemplate, ANIM_TARGET, 2, 1, -20, -28
|
createsprite gAngerMarkSpriteTemplate, ANIM_TARGET, 2, 1, -20, -28
|
||||||
@ -3906,7 +3906,7 @@ Move_LUSTER_PURGE:
|
|||||||
loadspritegfx ANIM_TAG_IMPACT
|
loadspritegfx ANIM_TAG_IMPACT
|
||||||
fadetobg BG_PSYCHIC
|
fadetobg BG_PSYCHIC
|
||||||
waitbgfadeout
|
waitbgfadeout
|
||||||
createvisualtask sub_815A5C8, 5
|
createvisualtask AnimTask_FadeScreenToWhite, 5
|
||||||
waitbgfadein
|
waitbgfadein
|
||||||
monbg ANIM_ATTACKER
|
monbg ANIM_ATTACKER
|
||||||
setalpha 12, 8
|
setalpha 12, 8
|
||||||
@ -8095,7 +8095,7 @@ Move_WILL_O_WISP:
|
|||||||
Move_ENCORE:
|
Move_ENCORE:
|
||||||
loadspritegfx ANIM_TAG_SPOTLIGHT
|
loadspritegfx ANIM_TAG_SPOTLIGHT
|
||||||
loadspritegfx ANIM_TAG_TAG_HAND
|
loadspritegfx ANIM_TAG_TAG_HAND
|
||||||
createvisualtask sub_815ABEC, 2
|
createvisualtask AnimTask_CreateSpotlight, 2
|
||||||
createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0
|
createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createsprite gSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8
|
createsprite gSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8
|
||||||
@ -8109,7 +8109,7 @@ Move_ENCORE:
|
|||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1
|
createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createvisualtask sub_815AC8C, 2
|
createvisualtask AnimTask_RemoveSpotlight, 2
|
||||||
end
|
end
|
||||||
|
|
||||||
Move_TRICK:
|
Move_TRICK:
|
||||||
@ -8272,7 +8272,7 @@ Move_TRANSFORM:
|
|||||||
monbg ANIM_ATTACKER
|
monbg ANIM_ATTACKER
|
||||||
playsewithpan SE_W100, SOUND_PAN_ATTACKER
|
playsewithpan SE_W100, SOUND_PAN_ATTACKER
|
||||||
waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48
|
waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48
|
||||||
createvisualtask sub_815B7D0, 2, 0
|
createvisualtask AnimTask_TransformMon, 2, 0
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
clearmonbg ANIM_ATTACKER
|
clearmonbg ANIM_ATTACKER
|
||||||
end
|
end
|
||||||
@ -8401,7 +8401,7 @@ Move_FLATTER:
|
|||||||
loadspritegfx ANIM_TAG_SPOTLIGHT
|
loadspritegfx ANIM_TAG_SPOTLIGHT
|
||||||
loadspritegfx ANIM_TAG_CONFETTI
|
loadspritegfx ANIM_TAG_CONFETTI
|
||||||
createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET
|
createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET
|
||||||
createvisualtask sub_815ABEC, 2
|
createvisualtask AnimTask_CreateSpotlight, 2
|
||||||
createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0
|
createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createsprite gFlatterSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8, 80
|
createsprite gFlatterSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8, 80
|
||||||
@ -8435,7 +8435,7 @@ Move_FLATTER:
|
|||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1
|
createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createvisualtask sub_815AC8C, 2
|
createvisualtask AnimTask_RemoveSpotlight, 2
|
||||||
end
|
end
|
||||||
CreateFlatterConfetti:
|
CreateFlatterConfetti:
|
||||||
createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_ATTACKER
|
createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_ATTACKER
|
||||||
@ -9523,7 +9523,7 @@ Move_PSYCHO_BOOST:
|
|||||||
monbg ANIM_ATK_PARTNER
|
monbg ANIM_ATK_PARTNER
|
||||||
fadetobg BG_PSYCHIC
|
fadetobg BG_PSYCHIC
|
||||||
waitbgfadeout
|
waitbgfadeout
|
||||||
createvisualtask sub_815A5C8, 5
|
createvisualtask AnimTask_FadeScreenToWhite, 5
|
||||||
waitbgfadein
|
waitbgfadein
|
||||||
delay 6
|
delay 6
|
||||||
createvisualtask sub_8115A04, 2, 1, 2, 8, 0, 10, RGB_BLACK
|
createvisualtask sub_8115A04, 2, 1, 2, 8, 0, 10, RGB_BLACK
|
||||||
@ -10154,7 +10154,7 @@ ConfusionEffect:
|
|||||||
SetPsychicBackground:
|
SetPsychicBackground:
|
||||||
fadetobg BG_PSYCHIC
|
fadetobg BG_PSYCHIC
|
||||||
waitbgfadeout
|
waitbgfadeout
|
||||||
createvisualtask sub_815A504, 5
|
createvisualtask AnimTask_SetPsychicBackground, 5
|
||||||
waitbgfadein
|
waitbgfadein
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -10292,19 +10292,19 @@ Status_Nightmare:
|
|||||||
end
|
end
|
||||||
|
|
||||||
General_CastformChange:
|
General_CastformChange:
|
||||||
createvisualtask sub_815BB18, 2
|
createvisualtask AnimTask_IsMonInvisible, 2
|
||||||
jumpreteq 1, AnimScript_82D7ECA
|
jumpreteq 1, AnimScript_82D7ECA
|
||||||
goto AnimScript_82D7EB2
|
goto AnimScript_82D7EB2
|
||||||
AnimScript_82D7EB2:
|
AnimScript_82D7EB2:
|
||||||
monbg ANIM_ATTACKER
|
monbg ANIM_ATTACKER
|
||||||
playsewithpan SE_W100, SOUND_PAN_ATTACKER
|
playsewithpan SE_W100, SOUND_PAN_ATTACKER
|
||||||
waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48
|
waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48
|
||||||
createvisualtask sub_815B7D0, 2, 1
|
createvisualtask AnimTask_TransformMon, 2, 1
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
clearmonbg ANIM_ATTACKER
|
clearmonbg ANIM_ATTACKER
|
||||||
end
|
end
|
||||||
AnimScript_82D7ECA:
|
AnimScript_82D7ECA:
|
||||||
createvisualtask sub_815BB58, 2, 1
|
createvisualtask AnimTask_CastformGfxChange, 2, 1
|
||||||
end
|
end
|
||||||
|
|
||||||
General_StatsChange:
|
General_StatsChange:
|
||||||
|
@ -13,11 +13,11 @@ gUnknown_0831C604:: @ 831C604
|
|||||||
.byte 0x00, 0x00, 0x00, 0x00
|
.byte 0x00, 0x00, 0x00, 0x00
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
gUnknown_0831C620:: @ 831C620
|
gSmokescreenImpactSpriteSheet:: @ 831C620
|
||||||
obj_tiles gSmokescreenImpactTiles, 0x0180, 0xd6eb
|
obj_tiles gSmokescreenImpactTiles, 0x0180, 0xd6eb
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
gUnknown_0831C628:: @ 831C628
|
gSmokescreenlImpactSpritePalette:: @ 831C628
|
||||||
obj_pal gSmokescreenImpactPalette, 0xd6eb
|
obj_pal gSmokescreenImpactPalette, 0xd6eb
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
@ -48,8 +48,8 @@ gUnknown_0831C678:: @ 831C678
|
|||||||
.4byte gUnknown_0831C668
|
.4byte gUnknown_0831C668
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
gUnknown_0831C688:: @ 831C688
|
gSmokescreenImpactSpriteTemplate:: @ 831C688
|
||||||
spr_template 0xd6eb, 0xd6eb, gUnknown_0831C630, gUnknown_0831C678, NULL, gDummySpriteAffineAnimTable, sub_80753B4
|
spr_template 0xd6eb, 0xd6eb, gUnknown_0831C630, gUnknown_0831C678, NULL, gDummySpriteAffineAnimTable, SpriteCB_DestroySprite
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
gSpriteSheet_EnemyShadow:: @ 831C6A0
|
gSpriteSheet_EnemyShadow:: @ 831C6A0
|
||||||
|
@ -185,7 +185,7 @@ bool8 IsBattlerSpritePresent(u8 battlerId);
|
|||||||
void sub_80A6C68(u32 arg0);
|
void sub_80A6C68(u32 arg0);
|
||||||
u8 GetAnimBattlerSpriteId(u8 wantedBattler);
|
u8 GetAnimBattlerSpriteId(u8 wantedBattler);
|
||||||
bool8 IsDoubleBattle(void);
|
bool8 IsDoubleBattle(void);
|
||||||
u8 sub_80A6D94(void);
|
u8 GetPaletteOffset(void);
|
||||||
u8 GetBattlerSpriteBGPriorityRank(u8 battlerId);
|
u8 GetBattlerSpriteBGPriorityRank(u8 battlerId);
|
||||||
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
|
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
|
||||||
void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite);
|
void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite);
|
||||||
@ -231,7 +231,7 @@ void AnimWaterPulseRing(struct Sprite *sprite);
|
|||||||
void sub_810E2C8(struct Sprite *sprite);
|
void sub_810E2C8(struct Sprite *sprite);
|
||||||
|
|
||||||
// smokescreen.c
|
// smokescreen.c
|
||||||
u8 sub_807521C(s16 x, s16 y, u8 a3);
|
u8 SmokescreenImpact(s16 x, s16 y, u8 a3);
|
||||||
|
|
||||||
u32 UnpackSelectedBattleAnimPalettes(s16);
|
u32 UnpackSelectedBattleAnimPalettes(s16);
|
||||||
|
|
||||||
|
@ -2808,12 +2808,12 @@ static void LoadMoveBg(u16 bgId)
|
|||||||
void *dmaDest;
|
void *dmaDest;
|
||||||
|
|
||||||
LZDecompressWram(tilemap, gDecompressionBuffer);
|
LZDecompressWram(tilemap, gDecompressionBuffer);
|
||||||
sub_80A4720(sub_80A6D94(), (void*)(gDecompressionBuffer), 0x100, 0);
|
sub_80A4720(GetPaletteOffset(), (void*)(gDecompressionBuffer), 0x100, 0);
|
||||||
dmaSrc = gDecompressionBuffer;
|
dmaSrc = gDecompressionBuffer;
|
||||||
dmaDest = (void *)(BG_SCREEN_ADDR(26));
|
dmaDest = (void *)(BG_SCREEN_ADDR(26));
|
||||||
DmaCopy32(3, dmaSrc, dmaDest, 0x800);
|
DmaCopy32(3, dmaSrc, dmaDest, 0x800);
|
||||||
LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(BG_SCREEN_ADDR(4)));
|
LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(BG_SCREEN_ADDR(4)));
|
||||||
LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, sub_80A6D94() * 16, 32);
|
LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, GetPaletteOffset() * 16, 32);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -32,13 +32,13 @@ void AnimTealAlert(struct Sprite *);
|
|||||||
void AnimMeanLookEye(struct Sprite *);
|
void AnimMeanLookEye(struct Sprite *);
|
||||||
void AnimSpikes(struct Sprite *);
|
void AnimSpikes(struct Sprite *);
|
||||||
void AnimLeer(struct Sprite *);
|
void AnimLeer(struct Sprite *);
|
||||||
void sub_815A7EC(struct Sprite *);
|
void AnimLetterZ(struct Sprite *);
|
||||||
void AnimFang(struct Sprite *);
|
void AnimFang(struct Sprite *);
|
||||||
void AnimSpotlight(struct Sprite *);
|
void AnimSpotlight(struct Sprite *);
|
||||||
void AnimClappingHand(struct Sprite *);
|
void AnimClappingHand(struct Sprite *);
|
||||||
void AnimClappingHand2(struct Sprite *);
|
void AnimClappingHand2(struct Sprite *);
|
||||||
void AnimRapidSpin(struct Sprite *);
|
void AnimRapidSpin(struct Sprite *);
|
||||||
void sub_815B27C(struct Sprite *);
|
void AnimTriForceTriangle(struct Sprite *);
|
||||||
void AnimBatonPassPokeball(struct Sprite *);
|
void AnimBatonPassPokeball(struct Sprite *);
|
||||||
void AnimWishStar(struct Sprite *);
|
void AnimWishStar(struct Sprite *);
|
||||||
void AnimMiniTwinklingStar(struct Sprite *);
|
void AnimMiniTwinklingStar(struct Sprite *);
|
||||||
@ -52,7 +52,7 @@ void AnimFlatterSpotlight(struct Sprite *);
|
|||||||
void AnimReversalOrb(struct Sprite *);
|
void AnimReversalOrb(struct Sprite *);
|
||||||
void AnimYawnCloud(struct Sprite *);
|
void AnimYawnCloud(struct Sprite *);
|
||||||
void AnimSmokeBallEscapeCloud(struct Sprite *);
|
void AnimSmokeBallEscapeCloud(struct Sprite *);
|
||||||
void sub_815DEBC(struct Sprite *);
|
void AnimFacadeSweatDrop(struct Sprite *);
|
||||||
void AnimRoarNoiseLine(struct Sprite *);
|
void AnimRoarNoiseLine(struct Sprite *);
|
||||||
void AnimGlareEyeDot(struct Sprite *);
|
void AnimGlareEyeDot(struct Sprite *);
|
||||||
void AnimAssistPawprint(struct Sprite *);
|
void AnimAssistPawprint(struct Sprite *);
|
||||||
@ -66,26 +66,26 @@ void sub_815FE80(struct Sprite *);
|
|||||||
void AnimParticuleBurst(struct Sprite *);
|
void AnimParticuleBurst(struct Sprite *);
|
||||||
void AnimKnockOffStrike(struct Sprite *);
|
void AnimKnockOffStrike(struct Sprite *);
|
||||||
void AnimRecycle(struct Sprite *);
|
void AnimRecycle(struct Sprite *);
|
||||||
static void sub_815A114(struct Sprite *);
|
static void AnimBlackSmokeStep(struct Sprite *);
|
||||||
static void sub_815A1F4(struct Sprite *);
|
static void AnimWhiteHalo_Step1(struct Sprite *);
|
||||||
static void sub_815A234(struct Sprite *);
|
static void AnimWhiteHalo_Step2(struct Sprite *);
|
||||||
static void sub_815A31C(struct Sprite *);
|
static void AnimMeanLookEye_Step1(struct Sprite *);
|
||||||
static void sub_815A3AC(struct Sprite *);
|
static void AnimMeanLookEye_Step2(struct Sprite *);
|
||||||
static void sub_815A3F0(struct Sprite *);
|
static void AnimMeanLookEye_Step3(struct Sprite *);
|
||||||
static void sub_815A49C(struct Sprite *);
|
static void AnimMeanLookEye_Step4(struct Sprite *);
|
||||||
static void sub_815A52C(u8);
|
static void SetPsychicBackground_Step(u8);
|
||||||
static void sub_815A5F0(u8);
|
static void FadeScreenToWhite_Step(u8);
|
||||||
static void sub_815A73C(struct Sprite *);
|
static void AnimSpikes_Step1(struct Sprite *);
|
||||||
static void sub_815A76C(struct Sprite *);
|
static void AnimSpikes_Step2(struct Sprite *);
|
||||||
static void sub_815A9A0(struct Sprite *);
|
static void AnimSpotlight_Step1(struct Sprite *);
|
||||||
static void sub_815AA6C(struct Sprite *);
|
static void AnimSpotlight_Step2(struct Sprite *);
|
||||||
static void sub_815AB5C(struct Sprite *);
|
static void AnimClappingHand_Step(struct Sprite *);
|
||||||
static void sub_815AD4C(struct Sprite *);
|
static void AnimRapidSpin_Step(struct Sprite *);
|
||||||
static void sub_815AED8(u8);
|
static void RapinSpinMonElevation_Step(u8);
|
||||||
static void sub_815B054(u8);
|
static void TormentAttacker_Step(u8);
|
||||||
static void sub_815B23C(struct Sprite *);
|
static void TormentAttacker_Callback(struct Sprite *);
|
||||||
static void sub_815B4D4(struct Sprite *);
|
static void AnimWishStar_Step(struct Sprite *);
|
||||||
static void sub_815B5D0(struct Sprite *);
|
static void AnimMiniTwinklingStar_Step(struct Sprite *);
|
||||||
static void AnimGreenStar_Step1(struct Sprite *);
|
static void AnimGreenStar_Step1(struct Sprite *);
|
||||||
static void AnimGreenStar_Step2(struct Sprite *);
|
static void AnimGreenStar_Step2(struct Sprite *);
|
||||||
static void AnimGreenStar_Callback(struct Sprite *);
|
static void AnimGreenStar_Callback(struct Sprite *);
|
||||||
@ -107,7 +107,7 @@ static void AnimRoarNoiseLineStep(struct Sprite *);
|
|||||||
static void AnimTask_GlareEyeDotsStep(u8);
|
static void AnimTask_GlareEyeDotsStep(u8);
|
||||||
static void GetGlareEyeDotCoords(s16, s16, s16, s16, u8, u8, s16 *, s16 *);
|
static void GetGlareEyeDotCoords(s16, s16, s16, s16, u8, u8, s16 *, s16 *);
|
||||||
static void AnimTask_BarrageBallStep(u8);
|
static void AnimTask_BarrageBallStep(u8);
|
||||||
static void sub_815E784(struct Sprite *);
|
static void AnimSmellingSaltsHand_Step(struct Sprite *);
|
||||||
static void AnimTask_SmellingSaltsSquishStep(u8);
|
static void AnimTask_SmellingSaltsSquishStep(u8);
|
||||||
static void AnimSmellingSaltExclamationStep(struct Sprite *);
|
static void AnimSmellingSaltExclamationStep(struct Sprite *);
|
||||||
static void AnimHelpingHandClapStep(struct Sprite *);
|
static void AnimHelpingHandClapStep(struct Sprite *);
|
||||||
@ -315,7 +315,7 @@ const struct SpriteTemplate gLetterZSpriteTemplate =
|
|||||||
.anims = gLetterZAnimTable,
|
.anims = gLetterZAnimTable,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gLetterZAffineAnimTable,
|
.affineAnims = gLetterZAffineAnimTable,
|
||||||
.callback = sub_815A7EC,
|
.callback = AnimLetterZ,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd gFangAnimCmds[] =
|
const union AnimCmd gFangAnimCmds[] =
|
||||||
@ -473,7 +473,7 @@ const struct SpriteTemplate gTriForceTriangleSpriteTemplate =
|
|||||||
.anims = gTriForceTriangleAnimTable,
|
.anims = gTriForceTriangleAnimTable,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gTriForceTriangleAffineAnimTable,
|
.affineAnims = gTriForceTriangleAffineAnimTable,
|
||||||
.callback = sub_815B27C,
|
.callback = AnimTriForceTriangle,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd gEclipsingOrbAnimCmds[] =
|
const union AnimCmd gEclipsingOrbAnimCmds[] =
|
||||||
@ -888,7 +888,7 @@ const union AffineAnimCmd gFacadeSquishAffineAnimCmds[] =
|
|||||||
AFFINEANIMCMD_END,
|
AFFINEANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteTemplate gFacadeSweatDrop =
|
const struct SpriteTemplate gFacadeSweatDropSpriteTemplate =
|
||||||
{
|
{
|
||||||
.tileTag = ANIM_TAG_SWEAT_DROP,
|
.tileTag = ANIM_TAG_SWEAT_DROP,
|
||||||
.paletteTag = ANIM_TAG_SWEAT_DROP,
|
.paletteTag = ANIM_TAG_SWEAT_DROP,
|
||||||
@ -896,7 +896,7 @@ const struct SpriteTemplate gFacadeSweatDrop =
|
|||||||
.anims = gDummySpriteAnimTable,
|
.anims = gDummySpriteAnimTable,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = sub_815DEBC,
|
.callback = AnimFacadeSweatDrop,
|
||||||
};
|
};
|
||||||
|
|
||||||
const u16 gFacadeBlendColors[] = {
|
const u16 gFacadeBlendColors[] = {
|
||||||
@ -1190,10 +1190,10 @@ void AnimBlackSmoke(struct Sprite *sprite)
|
|||||||
sprite->data[0] = -gBattleAnimArgs[2];
|
sprite->data[0] = -gBattleAnimArgs[2];
|
||||||
|
|
||||||
sprite->data[1] = gBattleAnimArgs[4];
|
sprite->data[1] = gBattleAnimArgs[4];
|
||||||
sprite->callback = sub_815A114;
|
sprite->callback = AnimBlackSmokeStep;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A114(struct Sprite *sprite)
|
static void AnimBlackSmokeStep(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[1] > 0)
|
if (sprite->data[1] > 0)
|
||||||
{
|
{
|
||||||
@ -1208,9 +1208,9 @@ static void sub_815A114(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815A160(u8 taskId)
|
void AnimTask_SmokescreenImpact(u8 taskId)
|
||||||
{
|
{
|
||||||
sub_807521C(
|
SmokescreenImpact(
|
||||||
GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 8,
|
GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 8,
|
||||||
GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 8,
|
GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 8,
|
||||||
0);
|
0);
|
||||||
@ -1222,22 +1222,22 @@ void AnimWhiteHalo(struct Sprite *sprite)
|
|||||||
sprite->data[0] = 90;
|
sprite->data[0] = 90;
|
||||||
sprite->callback = WaitAnimForDuration;
|
sprite->callback = WaitAnimForDuration;
|
||||||
sprite->data[1] = 7;
|
sprite->data[1] = 7;
|
||||||
StoreSpriteCallbackInData6(sprite, sub_815A1F4);
|
StoreSpriteCallbackInData6(sprite, AnimWhiteHalo_Step1);
|
||||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1]));
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1]));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A1F4(struct Sprite *sprite)
|
static void AnimWhiteHalo_Step1(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1]));
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1]));
|
||||||
if (--sprite->data[1] < 0)
|
if (--sprite->data[1] < 0)
|
||||||
{
|
{
|
||||||
sprite->invisible = 1;
|
sprite->invisible = 1;
|
||||||
sprite->callback = sub_815A234;
|
sprite->callback = AnimWhiteHalo_Step2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A234(struct Sprite *sprite)
|
static void AnimWhiteHalo_Step2(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||||
@ -1271,10 +1271,10 @@ void AnimMeanLookEye(struct Sprite *sprite)
|
|||||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
|
||||||
sprite->data[0] = 4;
|
sprite->data[0] = 4;
|
||||||
sprite->callback = sub_815A31C;
|
sprite->callback = AnimMeanLookEye_Step1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A31C(struct Sprite *sprite)
|
static void AnimMeanLookEye_Step1(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
|
||||||
|
|
||||||
@ -1294,22 +1294,22 @@ static void sub_815A31C(struct Sprite *sprite)
|
|||||||
sprite->data[2] = 0;
|
sprite->data[2] = 0;
|
||||||
sprite->invisible = 1;
|
sprite->invisible = 1;
|
||||||
sprite->affineAnimPaused = 1;
|
sprite->affineAnimPaused = 1;
|
||||||
sprite->callback = sub_815A3AC;
|
sprite->callback = AnimMeanLookEye_Step2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A3AC(struct Sprite *sprite)
|
static void AnimMeanLookEye_Step2(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[2]++ > 9)
|
if (sprite->data[2]++ > 9)
|
||||||
{
|
{
|
||||||
sprite->invisible = 0;
|
sprite->invisible = 0;
|
||||||
sprite->affineAnimPaused = 0;
|
sprite->affineAnimPaused = 0;
|
||||||
if (sprite->affineAnimEnded)
|
if (sprite->affineAnimEnded)
|
||||||
sprite->callback = sub_815A3F0;
|
sprite->callback = AnimMeanLookEye_Step3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A3F0(struct Sprite *sprite)
|
static void AnimMeanLookEye_Step3(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
switch (sprite->data[3])
|
switch (sprite->data[3])
|
||||||
{
|
{
|
||||||
@ -1344,11 +1344,11 @@ static void sub_815A3F0(struct Sprite *sprite)
|
|||||||
sprite->data[1] = 0;
|
sprite->data[1] = 0;
|
||||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 0));
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 0));
|
||||||
sprite->callback = sub_815A49C;
|
sprite->callback = AnimMeanLookEye_Step4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A49C(struct Sprite *sprite)
|
static void AnimMeanLookEye_Step4(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
|
||||||
|
|
||||||
@ -1369,17 +1369,17 @@ static void sub_815A49C(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815A504(u8 taskId)
|
void AnimTask_SetPsychicBackground(u8 taskId)
|
||||||
{
|
{
|
||||||
gTasks[taskId].func = sub_815A52C;
|
gTasks[taskId].func = SetPsychicBackground_Step;
|
||||||
gAnimVisualTaskCount--;
|
gAnimVisualTaskCount--;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A52C(u8 taskId)
|
static void SetPsychicBackground_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
u16 lastColor;
|
u16 lastColor;
|
||||||
u8 paletteIndex = sub_80A6D94();
|
u8 paletteIndex = GetPaletteOffset();
|
||||||
|
|
||||||
if (++gTasks[taskId].data[5] == 4)
|
if (++gTasks[taskId].data[5] == 4)
|
||||||
{
|
{
|
||||||
@ -1395,17 +1395,17 @@ static void sub_815A52C(u8 taskId)
|
|||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815A5C8(u8 taskId)
|
void AnimTask_FadeScreenToWhite(u8 taskId)
|
||||||
{
|
{
|
||||||
gTasks[taskId].func = sub_815A5F0;
|
gTasks[taskId].func = FadeScreenToWhite_Step;
|
||||||
gAnimVisualTaskCount--;
|
gAnimVisualTaskCount--;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A5F0(u8 taskId)
|
static void FadeScreenToWhite_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
u16 lastColor;
|
u16 lastColor;
|
||||||
u8 paletteIndex = sub_80A6D94();
|
u8 paletteIndex = GetPaletteOffset();
|
||||||
|
|
||||||
if (++gTasks[taskId].data[5] == 4)
|
if (++gTasks[taskId].data[5] == 4)
|
||||||
{
|
{
|
||||||
@ -1443,21 +1443,21 @@ void AnimSpikes(struct Sprite *sprite)
|
|||||||
sprite->data[5] = -50;
|
sprite->data[5] = -50;
|
||||||
|
|
||||||
InitAnimArcTranslation(sprite);
|
InitAnimArcTranslation(sprite);
|
||||||
sprite->callback = sub_815A73C;
|
sprite->callback = AnimSpikes_Step1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A73C(struct Sprite *sprite)
|
static void AnimSpikes_Step1(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (TranslateAnimHorizontalArc(sprite))
|
if (TranslateAnimHorizontalArc(sprite))
|
||||||
{
|
{
|
||||||
sprite->data[0] = 30;
|
sprite->data[0] = 30;
|
||||||
sprite->data[1] = 0;
|
sprite->data[1] = 0;
|
||||||
sprite->callback = WaitAnimForDuration;
|
sprite->callback = WaitAnimForDuration;
|
||||||
StoreSpriteCallbackInData6(sprite, sub_815A76C);
|
StoreSpriteCallbackInData6(sprite, AnimSpikes_Step2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A76C(struct Sprite *sprite)
|
static void AnimSpikes_Step2(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[1] & 1)
|
if (sprite->data[1] & 1)
|
||||||
sprite->invisible ^= 1;
|
sprite->invisible ^= 1;
|
||||||
@ -1475,7 +1475,7 @@ void AnimLeer(struct Sprite *sprite)
|
|||||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815A7EC(struct Sprite *sprite)
|
void AnimLetterZ(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
int var0;
|
int var0;
|
||||||
if (sprite->data[0] == 0)
|
if (sprite->data[0] == 0)
|
||||||
@ -1552,10 +1552,10 @@ void AnimSpotlight(struct Sprite *sprite)
|
|||||||
|
|
||||||
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
|
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
|
||||||
sprite->invisible = 1;
|
sprite->invisible = 1;
|
||||||
sprite->callback = sub_815A9A0;
|
sprite->callback = AnimSpotlight_Step1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815A9A0(struct Sprite *sprite)
|
static void AnimSpotlight_Step1(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
switch (sprite->data[0])
|
switch (sprite->data[0])
|
||||||
{
|
{
|
||||||
@ -1591,13 +1591,13 @@ static void sub_815A9A0(struct Sprite *sprite)
|
|||||||
if (sprite->affineAnimEnded)
|
if (sprite->affineAnimEnded)
|
||||||
{
|
{
|
||||||
sprite->invisible = 1;
|
sprite->invisible = 1;
|
||||||
sprite->callback = sub_815AA6C;
|
sprite->callback = AnimSpotlight_Step2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815AA6C(struct Sprite *sprite)
|
static void AnimSpotlight_Step2(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
|
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
|
||||||
SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
|
SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
|
||||||
@ -1633,10 +1633,10 @@ void AnimClappingHand(struct Sprite *sprite)
|
|||||||
if (sprite->data[3] != 255)
|
if (sprite->data[3] != 255)
|
||||||
sprite->data[3] = gBattleAnimArgs[2];
|
sprite->data[3] = gBattleAnimArgs[2];
|
||||||
|
|
||||||
sprite->callback = sub_815AB5C;
|
sprite->callback = AnimClappingHand_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815AB5C(struct Sprite *sprite)
|
static void AnimClappingHand_Step(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[2] == 0)
|
if (sprite->data[2] == 0)
|
||||||
{
|
{
|
||||||
@ -1672,7 +1672,7 @@ void AnimClappingHand2(struct Sprite *sprite)
|
|||||||
AnimClappingHand(sprite);
|
AnimClappingHand(sprite);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815ABEC(u8 taskId)
|
void AnimTask_CreateSpotlight(u8 taskId)
|
||||||
{
|
{
|
||||||
if (IsContest())
|
if (IsContest())
|
||||||
{
|
{
|
||||||
@ -1695,7 +1695,7 @@ void sub_815ABEC(u8 taskId)
|
|||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815AC8C(u8 taskId)
|
void AnimTask_RemoveSpotlight(u8 taskId)
|
||||||
{
|
{
|
||||||
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
|
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
|
||||||
gBattle_WIN1H = 0;
|
gBattle_WIN1H = 0;
|
||||||
@ -1726,10 +1726,10 @@ void AnimRapidSpin(struct Sprite *sprite)
|
|||||||
sprite->data[2] = gBattleAnimArgs[4];
|
sprite->data[2] = gBattleAnimArgs[4];
|
||||||
sprite->data[3] = gBattleAnimArgs[5];
|
sprite->data[3] = gBattleAnimArgs[5];
|
||||||
sprite->data[4] = gBattleAnimArgs[3];
|
sprite->data[4] = gBattleAnimArgs[3];
|
||||||
sprite->callback = sub_815AD4C;
|
sprite->callback = AnimRapidSpin_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815AD4C(struct Sprite *sprite)
|
static void AnimRapidSpin_Step(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->data[1] = (sprite->data[1] + sprite->data[2]) & 0xFF;
|
sprite->data[1] = (sprite->data[1] + sprite->data[2]) & 0xFF;
|
||||||
sprite->pos2.x = gSineTable[sprite->data[1]] >> 4;
|
sprite->pos2.x = gSineTable[sprite->data[1]] >> 4;
|
||||||
@ -1747,7 +1747,7 @@ static void sub_815AD4C(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815ADB0(u8 taskId)
|
void AnimTask_RapinSpinMonElevation(u8 taskId)
|
||||||
{
|
{
|
||||||
s16 var0;
|
s16 var0;
|
||||||
u8 toBG2;
|
u8 toBG2;
|
||||||
@ -1828,10 +1828,10 @@ void sub_815ADB0(u8 taskId)
|
|||||||
scanlineParams.unused9 = 0;
|
scanlineParams.unused9 = 0;
|
||||||
ScanlineEffect_SetParams(scanlineParams);
|
ScanlineEffect_SetParams(scanlineParams);
|
||||||
|
|
||||||
task->func = sub_815AED8;
|
task->func = RapinSpinMonElevation_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815AED8(u8 taskId)
|
static void RapinSpinMonElevation_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
s16 i;
|
s16 i;
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
@ -1890,7 +1890,7 @@ static void sub_815AED8(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815AFF0(u8 taskId)
|
void AnimTask_TormentAttacker(u8 taskId)
|
||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
@ -1902,10 +1902,10 @@ void sub_815AFF0(u8 taskId)
|
|||||||
task->data[5] = -20;
|
task->data[5] = -20;
|
||||||
task->data[6] = 0;
|
task->data[6] = 0;
|
||||||
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||||
task->func = sub_815B054;
|
task->func = TormentAttacker_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815B054(u8 taskId)
|
static void TormentAttacker_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
int var0, var1;
|
int var0, var1;
|
||||||
s16 x, y;
|
s16 x, y;
|
||||||
@ -1987,7 +1987,7 @@ static void sub_815B054(u8 taskId)
|
|||||||
gSprites[i].data[0] = taskId;
|
gSprites[i].data[0] = taskId;
|
||||||
gSprites[i].data[1] = 6;
|
gSprites[i].data[1] = 6;
|
||||||
StartSpriteAnim(&gSprites[i], 2);
|
StartSpriteAnim(&gSprites[i], 2);
|
||||||
gSprites[i].callback = sub_815B23C;
|
gSprites[i].callback = TormentAttacker_Callback;
|
||||||
|
|
||||||
if (++j == 6)
|
if (++j == 6)
|
||||||
break;
|
break;
|
||||||
@ -2004,7 +2004,7 @@ static void sub_815B054(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815B23C(struct Sprite *sprite)
|
static void TormentAttacker_Callback(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->animEnded)
|
if (sprite->animEnded)
|
||||||
{
|
{
|
||||||
@ -2013,7 +2013,7 @@ static void sub_815B23C(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815B27C(struct Sprite *sprite)
|
void AnimTriForceTriangle(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[0] == 0)
|
if (sprite->data[0] == 0)
|
||||||
InitSpritePosToAnimAttacker(sprite, FALSE);
|
InitSpritePosToAnimAttacker(sprite, FALSE);
|
||||||
@ -2110,10 +2110,10 @@ void AnimWishStar(struct Sprite *sprite)
|
|||||||
sprite->pos1.x = 256;
|
sprite->pos1.x = 256;
|
||||||
|
|
||||||
sprite->pos1.y = 0;
|
sprite->pos1.y = 0;
|
||||||
sprite->callback = sub_815B4D4;
|
sprite->callback = AnimWishStar_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815B4D4(struct Sprite *sprite)
|
static void AnimWishStar_Step(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
u32 newX;
|
u32 newX;
|
||||||
|
|
||||||
@ -2156,10 +2156,10 @@ void AnimMiniTwinklingStar(struct Sprite *sprite)
|
|||||||
y = -y;
|
y = -y;
|
||||||
|
|
||||||
sprite->pos2.y = y;
|
sprite->pos2.y = y;
|
||||||
sprite->callback = sub_815B5D0;
|
sprite->callback = AnimMiniTwinklingStar_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815B5D0(struct Sprite *sprite)
|
static void AnimMiniTwinklingStar_Step(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (++sprite->data[0] < 30)
|
if (++sprite->data[0] < 30)
|
||||||
{
|
{
|
||||||
@ -2248,7 +2248,7 @@ void AnimTask_SwallowDeformMon(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815B7D0(u8 taskId)
|
void AnimTask_TransformMon(u8 taskId)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
u8 position;
|
u8 position;
|
||||||
@ -2361,13 +2361,13 @@ void sub_815B7D0(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815BB18(u8 taskId)
|
void AnimTask_IsMonInvisible(u8 taskId)
|
||||||
{
|
{
|
||||||
gBattleAnimArgs[7] = gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible;
|
gBattleAnimArgs[7] = gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible;
|
||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815BB58(u8 taskId)
|
void AnimTask_CastformGfxChange(u8 taskId)
|
||||||
{
|
{
|
||||||
HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, TRUE);
|
HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, TRUE);
|
||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
@ -3808,7 +3808,7 @@ static void CreateSweatDroplets(u8 taskId, bool8 arg1)
|
|||||||
|
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
u8 spriteId = CreateSprite(&gFacadeSweatDrop, xCoords[i], yCoords[i & 1], task->data[6] - 5);
|
u8 spriteId = CreateSprite(&gFacadeSweatDropSpriteTemplate, xCoords[i], yCoords[i & 1], task->data[6] - 5);
|
||||||
if (spriteId != MAX_SPRITES)
|
if (spriteId != MAX_SPRITES)
|
||||||
{
|
{
|
||||||
gSprites[spriteId].data[0] = 0;
|
gSprites[spriteId].data[0] = 0;
|
||||||
@ -3821,7 +3821,7 @@ static void CreateSweatDroplets(u8 taskId, bool8 arg1)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815DEBC(struct Sprite *sprite)
|
void AnimFacadeSweatDrop(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->pos1.x += sprite->data[1];
|
sprite->pos1.x += sprite->data[1];
|
||||||
sprite->pos1.y += sprite->data[2];
|
sprite->pos1.y += sprite->data[2];
|
||||||
@ -4175,10 +4175,10 @@ void AnimSmellingSaltsHand(struct Sprite *sprite)
|
|||||||
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8;
|
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
sprite->callback = sub_815E784;
|
sprite->callback = AnimSmellingSaltsHand_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_815E784(struct Sprite *sprite)
|
static void AnimSmellingSaltsHand_Step(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
switch (sprite->data[0])
|
switch (sprite->data[0])
|
||||||
{
|
{
|
||||||
|
@ -966,7 +966,7 @@ void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2)
|
|||||||
CopyBgTilemapBufferToVram(unk->bgId);
|
CopyBgTilemapBufferToVram(unk->bgId);
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 sub_80A6D94(void)
|
u8 GetPaletteOffset(void)
|
||||||
{
|
{
|
||||||
if (IsContest())
|
if (IsContest())
|
||||||
return 1;
|
return 1;
|
||||||
@ -1353,7 +1353,7 @@ u32 sub_80A75AC(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner,
|
|||||||
if (!IsContest())
|
if (!IsContest())
|
||||||
selectedPalettes = 0xe;
|
selectedPalettes = 0xe;
|
||||||
else
|
else
|
||||||
selectedPalettes = 1 << sub_80A6D94();
|
selectedPalettes = 1 << GetPaletteOffset();
|
||||||
}
|
}
|
||||||
if (attacker)
|
if (attacker)
|
||||||
{
|
{
|
||||||
|
@ -4,46 +4,46 @@
|
|||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
static void sub_8075370(struct Sprite *);
|
static void SmokescreenImpact_Callback(struct Sprite *);
|
||||||
|
|
||||||
extern const struct CompressedSpriteSheet gUnknown_0831C620;
|
extern const struct CompressedSpriteSheet gSmokescreenImpactSpriteSheet;
|
||||||
extern const struct CompressedSpritePalette gUnknown_0831C628;
|
extern const struct CompressedSpritePalette gSmokescreenlImpactSpritePalette;
|
||||||
extern const struct SpriteTemplate gUnknown_0831C688;
|
extern const struct SpriteTemplate gSmokescreenImpactSpriteTemplate;
|
||||||
|
|
||||||
u8 sub_807521C(s16 x, s16 y, u8 a3)
|
u8 SmokescreenImpact(s16 x, s16 y, u8 a3)
|
||||||
{
|
{
|
||||||
u8 mainSpriteId;
|
u8 mainSpriteId;
|
||||||
u8 spriteId1, spriteId2, spriteId3, spriteId4;
|
u8 spriteId1, spriteId2, spriteId3, spriteId4;
|
||||||
struct Sprite *mainSprite;
|
struct Sprite *mainSprite;
|
||||||
|
|
||||||
if (GetSpriteTileStartByTag(gUnknown_0831C620.tag) == 0xFFFF)
|
if (GetSpriteTileStartByTag(gSmokescreenImpactSpriteSheet.tag) == 0xFFFF)
|
||||||
{
|
{
|
||||||
LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831C620);
|
LoadCompressedSpriteSheetUsingHeap(&gSmokescreenImpactSpriteSheet);
|
||||||
LoadCompressedSpritePaletteUsingHeap(&gUnknown_0831C628);
|
LoadCompressedSpritePaletteUsingHeap(&gSmokescreenlImpactSpritePalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
mainSpriteId = CreateInvisibleSpriteWithCallback(sub_8075370);
|
mainSpriteId = CreateInvisibleSpriteWithCallback(SmokescreenImpact_Callback);
|
||||||
mainSprite = &gSprites[mainSpriteId];
|
mainSprite = &gSprites[mainSpriteId];
|
||||||
mainSprite->data[1] = a3;
|
mainSprite->data[1] = a3;
|
||||||
|
|
||||||
spriteId1 = CreateSprite(&gUnknown_0831C688, x - 16, y - 16, 2);
|
spriteId1 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y - 16, 2);
|
||||||
gSprites[spriteId1].data[0] = mainSpriteId;
|
gSprites[spriteId1].data[0] = mainSpriteId;
|
||||||
mainSprite->data[0]++;
|
mainSprite->data[0]++;
|
||||||
AnimateSprite(&gSprites[spriteId1]);
|
AnimateSprite(&gSprites[spriteId1]);
|
||||||
|
|
||||||
spriteId2 = CreateSprite(&gUnknown_0831C688, x, y - 16, 2);
|
spriteId2 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y - 16, 2);
|
||||||
gSprites[spriteId2].data[0] = mainSpriteId;
|
gSprites[spriteId2].data[0] = mainSpriteId;
|
||||||
mainSprite->data[0]++;
|
mainSprite->data[0]++;
|
||||||
StartSpriteAnim(&gSprites[spriteId2], 1);
|
StartSpriteAnim(&gSprites[spriteId2], 1);
|
||||||
AnimateSprite(&gSprites[spriteId2]);
|
AnimateSprite(&gSprites[spriteId2]);
|
||||||
|
|
||||||
spriteId3 = CreateSprite(&gUnknown_0831C688, x - 16, y, 2);
|
spriteId3 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y, 2);
|
||||||
gSprites[spriteId3].data[0] = mainSpriteId;
|
gSprites[spriteId3].data[0] = mainSpriteId;
|
||||||
mainSprite->data[0]++;
|
mainSprite->data[0]++;
|
||||||
StartSpriteAnim(&gSprites[spriteId3], 2);
|
StartSpriteAnim(&gSprites[spriteId3], 2);
|
||||||
AnimateSprite(&gSprites[spriteId3]);
|
AnimateSprite(&gSprites[spriteId3]);
|
||||||
|
|
||||||
spriteId4 = CreateSprite(&gUnknown_0831C688, x, y, 2);
|
spriteId4 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y, 2);
|
||||||
gSprites[spriteId4].data[0] = mainSpriteId;
|
gSprites[spriteId4].data[0] = mainSpriteId;
|
||||||
mainSprite->data[0]++;
|
mainSprite->data[0]++;
|
||||||
StartSpriteAnim(&gSprites[spriteId4], 3);
|
StartSpriteAnim(&gSprites[spriteId4], 3);
|
||||||
@ -52,12 +52,12 @@ u8 sub_807521C(s16 x, s16 y, u8 a3)
|
|||||||
return mainSpriteId;
|
return mainSpriteId;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8075370(struct Sprite *sprite)
|
static void SmokescreenImpact_Callback(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (!sprite->data[0])
|
if (!sprite->data[0])
|
||||||
{
|
{
|
||||||
FreeSpriteTilesByTag(gUnknown_0831C620.tag);
|
FreeSpriteTilesByTag(gSmokescreenImpactSpriteSheet.tag);
|
||||||
FreeSpritePaletteByTag(gUnknown_0831C628.tag);
|
FreeSpritePaletteByTag(gSmokescreenlImpactSpritePalette.tag);
|
||||||
if (!sprite->data[1])
|
if (!sprite->data[1])
|
||||||
DestroySprite(sprite);
|
DestroySprite(sprite);
|
||||||
else
|
else
|
||||||
@ -65,7 +65,7 @@ static void sub_8075370(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80753B4(struct Sprite *sprite)
|
void SpriteCB_DestroySprite(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->animEnded)
|
if (sprite->animEnded)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user