mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Merge pull request #390 from ghoulslash/battle_engine
add animations for all moves
This commit is contained in:
commit
19699bee23
@ -288,3 +288,43 @@
|
||||
createvisualtask AnimTask_IsDoubleBattle, 0
|
||||
jumprettrue \ptr
|
||||
.endm
|
||||
|
||||
@ keep CFRU macros cause I'm lazy. todo: update to createsprite and createvisualtask, respectively
|
||||
.macro launchtemplate launchtemplatePtr launchtemplatePriority launchtemplateArgsNo launchtemplatearg0 launchtemplatearg1 launchtemplatearg2 launchtemplatearg3 launchtemplatearg4 launchtemplatearg5 launchtemplatearg6 launchtemplatearg7 launchtemplatearg8
|
||||
.byte 0x2
|
||||
.word \launchtemplatePtr
|
||||
.byte \launchtemplatePriority
|
||||
.byte \launchtemplateArgsNo
|
||||
.hword \launchtemplatearg0
|
||||
.hword \launchtemplatearg1
|
||||
.hword \launchtemplatearg2
|
||||
.hword \launchtemplatearg3
|
||||
.hword \launchtemplatearg4
|
||||
.hword \launchtemplatearg5
|
||||
.hword \launchtemplatearg6
|
||||
.hword \launchtemplatearg7
|
||||
.hword \launchtemplatearg8
|
||||
.endm
|
||||
|
||||
.macro launchtask launchtaskPtr launchtaskPriority launchtaskArgsNo launchtaskarg0 launchtaskarg1 launchtaskarg2 launchtaskarg3 launchtaskarg4 launchtaskarg5 launchtaskarg6 launchtaskarg7 launchtaskarg8
|
||||
.byte 0x3
|
||||
.word \launchtaskPtr
|
||||
.byte \launchtaskPriority
|
||||
.byte \launchtaskArgsNo
|
||||
.hword \launchtaskarg0
|
||||
.hword \launchtaskarg1
|
||||
.hword \launchtaskarg2
|
||||
.hword \launchtaskarg3
|
||||
.hword \launchtaskarg4
|
||||
.hword \launchtaskarg5
|
||||
.hword \launchtaskarg6
|
||||
.hword \launchtaskarg7
|
||||
.hword \launchtaskarg8
|
||||
.endm
|
||||
|
||||
.macro setblends setblends_value
|
||||
.byte 0xC
|
||||
.hword \setblends_value
|
||||
.endm
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 272 B |
Binary file not shown.
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 467 B |
@ -50,6 +50,7 @@ extern u8 gBattleAnimAttacker;
|
||||
extern u8 gBattleAnimTarget;
|
||||
extern u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT];
|
||||
extern u8 gAnimCustomPanning;
|
||||
extern u16 gAnimMoveIndex;
|
||||
|
||||
void ClearBattleAnimationVars(void);
|
||||
void DoMoveAnim(u16 move);
|
||||
@ -207,6 +208,10 @@ void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId);
|
||||
|
||||
// battle_anim_ground.c
|
||||
void AnimTask_HorizontalShake(u8 taskId);
|
||||
void AnimMudSportDirt(struct Sprite *sprite);
|
||||
void AnimDirtScatter(struct Sprite *sprite);
|
||||
void AnimMudSportDirtRising(struct Sprite *sprite);
|
||||
extern const union AffineAnimCmd *const gAffineAnims_SpinningBone[];
|
||||
|
||||
// battle_anim_special.c
|
||||
void sub_8172EF0(u8 battler, struct Pokemon *mon);
|
||||
@ -225,29 +230,110 @@ void AnimParticleBurst(struct Sprite *);
|
||||
void AnimPowerAbsorptionOrb(struct Sprite* sprite);
|
||||
void AnimNeedleArmSpike(struct Sprite *);
|
||||
void AnimTask_CompressTargetHorizontally(u8 taskId);
|
||||
void AnimSporeParticle(struct Sprite* sprite);
|
||||
void AnimAbsorptionOrb(struct Sprite* sprite);
|
||||
void AnimPetalDanceSmallFlower(struct Sprite* sprite);
|
||||
void AnimPetalDanceBigFlower(struct Sprite* sprite);
|
||||
void AnimEndureEnergy(struct Sprite* sprite);
|
||||
void AnimMimicOrb(struct Sprite* sprite);
|
||||
void AnimSolarbeamBigOrb(struct Sprite* sprite);
|
||||
void AnimHyperBeamOrb(struct Sprite* sprite);
|
||||
void AnimNeedleArmSpike_Step(struct Sprite* sprite);
|
||||
void AnimMovePowderParticle(struct Sprite* sprite);
|
||||
void AnimMetronomeFinger(struct Sprite* sprite);
|
||||
void AnimConversion(struct Sprite* sprite);
|
||||
void AnimCuttingSlice(struct Sprite* sprite);
|
||||
void AnimThoughtBubble(struct Sprite* sprite);
|
||||
void AnimTranslateLinearSingleSineWave(struct Sprite* sprite);
|
||||
void AnimGrantingStars(struct Sprite* sprite);
|
||||
void AnimFollowMeFinger(struct Sprite* sprite);
|
||||
extern const union AnimCmd *const gRazorLeafParticleAnimTable[];
|
||||
extern const union AnimCmd *const gPowerAbsorptionOrbAnimTable[];
|
||||
extern const union AffineAnimCmd *const gPowerAbsorptionOrbAffineAnimTable[];
|
||||
extern const union AnimCmd *const gMusicNotesAnimTable[];
|
||||
extern const union AffineAnimCmd *const gMimicOrbAffineAnimTable[];
|
||||
extern const union AnimCmd *const gSolarbeamBigOrbAnimTable[];
|
||||
extern const union AnimCmd *const gPowderParticlesAnimTable[];
|
||||
extern const union AffineAnimCmd *const gMetronomeFingerAffineAnimTable[];
|
||||
extern const union AnimCmd *const gPetalDanceBigFlowerAnimTable[];
|
||||
extern const union AnimCmd *const gOctazookaAnimTable[];
|
||||
extern const union AffineAnimCmd *const gAbsorptionOrbAffineAnimTable[];
|
||||
extern const union AnimCmd *const gGrantingStarsAnimTable[];
|
||||
extern const union AnimCmd *const gSporeParticleAnimTable[];
|
||||
extern const union AnimCmd *const gHealingBlueStarAnimTable[];
|
||||
extern const union AnimCmd *const gMoonlightSparkleAnimTable[];
|
||||
extern const union AnimCmd *const gEndureEnergyAnimTable[];
|
||||
extern const union AnimCmd *const gPetalDanceSmallFlowerAnimTable[];
|
||||
extern const union AnimCmd *const gConversionAnimTable[];
|
||||
extern const union AffineAnimCmd *const gConversionAffineAnimTable[];
|
||||
extern const union AnimCmd *const gCuttingSliceAnimTable[];
|
||||
extern const union AnimCmd *const gScratchAnimTable[];
|
||||
extern const union AnimCmd *const gIngrainRootAnimTable[];
|
||||
extern const union AffineAnimCmd *const gSwiftStarAffineAnimTable[];
|
||||
extern const union AnimCmd *const gMetronomeThroughtBubbleAnimTable[];
|
||||
|
||||
// battle_anim_effects_2.c
|
||||
void AnimUproarRing(struct Sprite *sprite);
|
||||
void AnimSonicBoomProjectile(struct Sprite *sprite);
|
||||
void AnimOrbitFast(struct Sprite *sprite);
|
||||
void AnimOrbitScatter(struct Sprite *sprite);
|
||||
void AnimAngerMark(struct Sprite *sprite);
|
||||
void AnimHyperVoiceRing(struct Sprite *sprite);
|
||||
extern const union AffineAnimCmd *const gThinRingShrinkingAffineAnimTable[];
|
||||
extern const union AffineAnimCmd *const gThinRingExpandingAffineAnimTable[];
|
||||
extern const union AnimCmd *const gExplosionAnimTable[];
|
||||
extern const union AffineAnimCmd *const gGuardRingAffineAnimTable[];
|
||||
extern const union AffineAnimCmd *const gAngerMarkAffineAnimTable[];
|
||||
extern const union AffineAnimCmd *const gWaterPulseRingAffineAnimTable[];
|
||||
extern const union AffineAnimCmd *const gHyperVoiceRingAffineAnimTable[];
|
||||
extern const union AnimCmd *const gCoinAnimTable[];
|
||||
extern const union AffineAnimCmd *const gHiddenPowerOrbAffineAnimTable[];
|
||||
|
||||
// battle_anim_effects_3.c
|
||||
void AnimBlackSmoke(struct Sprite *sprite);
|
||||
void AnimSweetScentPetal(struct Sprite *sprite);
|
||||
void AnimTealAlert(struct Sprite *sprite);
|
||||
void AnimBlockX(struct Sprite *sprite);
|
||||
extern const union AnimCmd *const gOpeningEyeAnimTable[];
|
||||
extern const union AnimCmd *const gEclipsingOrbAnimTable[];
|
||||
|
||||
// battle_anim_water.c
|
||||
void AnimWaterPulseRing(struct Sprite *sprite);
|
||||
void AnimSmallBubblePair(struct Sprite *sprite);
|
||||
void AnimWaterPulseBubble(struct Sprite *sprite);
|
||||
extern const union AnimCmd *const gAnims_WaterBubbleProjectile[];
|
||||
extern const union AnimCmd *const gAnims_FlamethrowerFlame[];
|
||||
extern const union AnimCmd *const gAnims_WaterPulseBubble[];
|
||||
|
||||
// battle_anim_flying.c
|
||||
void DestroyAnimSpriteAfterTimer(struct Sprite *sprite);
|
||||
void sub_810E2C8(struct Sprite *sprite);
|
||||
void AnimAirWaveCrescent(struct Sprite *sprite);
|
||||
void AnimFlyBallUp(struct Sprite *sprite);
|
||||
void AnimFlyBallAttack(struct Sprite *sprite);
|
||||
void AnimFlyBallAttack_Step(struct Sprite *sprite);
|
||||
void AnimFlyBallUp_Step(struct Sprite *sprite);
|
||||
extern const union AnimCmd *const gAffineAnims_AirWaveCrescent[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_FlyBallUp[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_FlyBallAttack[];
|
||||
|
||||
// battle_anim_poison.c
|
||||
void AnimSludgeBombHitParticle(struct Sprite *);
|
||||
void AnimAcidPoisonBubble_Step(struct Sprite *sprite);
|
||||
extern const union AffineAnimCmd *const gAffineAnims_PoisonProjectile[];
|
||||
extern const union AnimCmd *const gAnims_PoisonProjectile[];
|
||||
extern const union AnimCmd *const gAnims_AcidPoisonDroplet[];
|
||||
|
||||
// battle_anim_ghost.c
|
||||
void AnimGhostStatusSprite(struct Sprite *sprite);
|
||||
void AnimShadowBall(struct Sprite *sprite);
|
||||
void AnimTask_GrudgeFlames_Step(u8 taskId);
|
||||
extern const union AffineAnimCmd *const gAffineAnims_ShadowBall[];
|
||||
|
||||
// battle_anim_psychic.c
|
||||
extern const union AffineAnimCmd *const gAffineAnims_PsychoBoostOrb[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_LusterPurgeCircle[];
|
||||
void AnimPsychoBoost(struct Sprite *sprite);
|
||||
|
||||
// battle_anim_smokescreen.c
|
||||
u8 SmokescreenImpact(s16 x, s16 y, u8 a3);
|
||||
@ -315,4 +401,93 @@ extern const union AnimCmd *const gAnims_SmallBubblePair[];
|
||||
extern const union AnimCmd *const gAnims_WaterBubble[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_Bite[];
|
||||
|
||||
// battle_anim_normal.c
|
||||
extern const union AffineAnimCmd *const gAffineAnims_HitSplat[];
|
||||
void AnimHitSplatBasic(struct Sprite *sprite);
|
||||
void AnimFlashingHitSplat(struct Sprite *sprite);
|
||||
void AnimFlashingHitSplat_Step(struct Sprite *sprite);
|
||||
void AnimHitSplatRandom(struct Sprite *sprite);
|
||||
void AnimCrossImpact(struct Sprite *sprite);
|
||||
void AnimHitSplatOnMonEdge(struct Sprite *sprite);
|
||||
|
||||
// battle_anim_electric.c
|
||||
void AnimThunderWave(struct Sprite *sprite);
|
||||
void AnimGrowingChargeOrb(struct Sprite *sprite);
|
||||
void AnimZapCannonSpark(struct Sprite *sprite);
|
||||
void AnimSparkElectricity(struct Sprite *sprite);
|
||||
void AnimElectricPuff(struct Sprite *sprite);
|
||||
void AnimSparkElectricityFlashing(struct Sprite *sprite);
|
||||
void AnimGrowingShockWaveOrb(struct Sprite *sprite);
|
||||
extern const union AffineAnimCmd *const gAffineAnims_GrowingElectricOrb[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_FlashingSpark[];
|
||||
extern const union AnimCmd *const gAnims_ThunderboltOrb[];
|
||||
extern const union AnimCmd *const gAnims_ElectricPuff[];
|
||||
extern const union AnimCmd *const gAnims_ElectricChargingParticles[];
|
||||
|
||||
// battle_anim_fight.c
|
||||
void AnimStompFoot(struct Sprite *sprite);
|
||||
void AnimSpinningKickOrPunch(struct Sprite *sprite);
|
||||
void AnimBrickBreakWall_Step(struct Sprite *sprite);
|
||||
void AnimJumpKick(struct Sprite *sprite);
|
||||
void AnimBasicFistOrFoot(struct Sprite *sprite);
|
||||
void AnimSpinningKickOrPunchFinish(struct Sprite *sprite);
|
||||
void AnimRevengeScratch(struct Sprite *sprite);
|
||||
void AnimDizzyPunchDuck(struct Sprite *sprite);
|
||||
extern const union AnimCmd *const gAnims_HandOrFoot[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_MegaPunchKick[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_SpinningHandOrFoot[];
|
||||
extern const union AnimCmd *const gAnims_RevengeBigScratch[];
|
||||
|
||||
// battle_anim_rock.c
|
||||
extern const union AffineAnimCmd *const gAffineAnims_Whirlpool[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_BasicRock[];
|
||||
void AnimParticleInVortex(struct Sprite *sprite);
|
||||
void AnimFallingRock(struct Sprite *sprite);
|
||||
void AnimRaiseSprite(struct Sprite *sprite);
|
||||
void AnimFallingRock_Step(struct Sprite *sprite);
|
||||
void AnimFlyingSandCrescent(struct Sprite *sprite);
|
||||
|
||||
// battle_anim_dark.c
|
||||
void AnimClawSlash(struct Sprite *sprite);
|
||||
void AnimTearDrop(struct Sprite *sprite);
|
||||
void AnimBite(struct Sprite *sprite);
|
||||
extern const union AnimCmd *const gAnims_ClawSlash[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_TearDrop[];
|
||||
|
||||
// battle_anim_bug.c
|
||||
void AnimStringWrap_Step(struct Sprite *sprite);
|
||||
void AnimMissileArc(struct Sprite *sprite);
|
||||
void AnimSpiderWeb(struct Sprite *sprite);
|
||||
void AnimMissileArc_Step(struct Sprite *sprite);
|
||||
|
||||
// battle_anim_ice.c
|
||||
void AnimThrowMistBall(struct Sprite *sprite);
|
||||
void AnimMoveParticleBeyondTarget(struct Sprite *sprite);
|
||||
void AnimIceEffectParticle(struct Sprite *sprite);
|
||||
void AnimSwirlingSnowball_Step1(struct Sprite *sprite);
|
||||
extern const union AnimCmd *const gAnims_Snowball[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_IceCrystalHit[];
|
||||
extern const union AnimCmd *const gAnims_IceCrystalLarge[];
|
||||
extern const union AnimCmd *const gAnims_IceBallChunk[];
|
||||
extern const union AnimCmd *const gAnims_BlizzardIceCrystal[];
|
||||
|
||||
// battle_anim_fire.c
|
||||
void AnimFireSpread(struct Sprite *sprite);
|
||||
void AnimFireSpiralOutward(struct Sprite *sprite);
|
||||
extern const union AnimCmd *const gAnims_FireBlastCross[];
|
||||
|
||||
// battle_anim_dragon.c
|
||||
extern const union AnimCmd *const gAnims_DragonBreathFire[];
|
||||
extern const union AnimCmd *const gAnims_DragonRageFirePlume[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_DragonRageFire[];
|
||||
extern const union AnimCmd *const gAnims_DragonRageFire[];
|
||||
extern const union AffineAnimCmd *const gAffineAnims_DragonBreathFire[];
|
||||
void AnimDragonRageFirePlume(struct Sprite *sprite);
|
||||
void AnimDragonFireToTarget(struct Sprite *sprite);
|
||||
void AnimDragonDanceOrb(struct Sprite *sprite);
|
||||
void AnimOverheatFlame(struct Sprite *sprite);
|
||||
|
||||
// battle_anim_new.c
|
||||
void CoreEnforcerLoadBeamTarget(struct Sprite* sprite);
|
||||
|
||||
#endif // GUARD_BATTLE_ANIM_H
|
||||
|
@ -592,5 +592,29 @@
|
||||
#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18
|
||||
#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19
|
||||
|
||||
// mon pal blend
|
||||
#define ANIM_PAL_BG 0x1
|
||||
#define ANIM_PAL_ATK 0x2
|
||||
#define ANIM_PAL_DEF 0x4
|
||||
#define ANIM_PAL_ATK_PARTNER 0x8
|
||||
#define ANIM_PAL_DEF_PARTNER 0x10
|
||||
#define ANIM_PAL_ALL 0x1f
|
||||
#define ANIM_PAL_BG_4 0x20
|
||||
#define ANIM_PAL_BG_5 0x40
|
||||
#define ANIM_PAL_ALL_BATTLERS 0x780
|
||||
#define ANIM_PAL_PLAYER1 0x80
|
||||
#define ANIM_PAL_PLAYER2 0x100
|
||||
#define ANIM_PAL_OPPONENT1 0x200
|
||||
#define ANIM_PAL_OPPONENT2 0x400
|
||||
|
||||
// horseshoe/fist frames
|
||||
#define ANIM_RIGHT_FIST 0
|
||||
#define ANIM_LEFT_FIST 2
|
||||
|
||||
// surf wave palettes
|
||||
#define ANIM_SURF_PAL_SURF 0
|
||||
#define ANIM_SURF_PAL_MUDDY_WATER 1
|
||||
#define ANIM_SURF_PAL_SLUDGE_WAVE 2
|
||||
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_ANIM_H
|
||||
|
@ -97,20 +97,20 @@
|
||||
#define B_POWDER_GRASS GEN_6 // In Gen6+, Grass type Pokémon are immune to powder and spore moves.
|
||||
|
||||
// Animation Settings
|
||||
#define NEW_SWORD_PARTICLE // update swords dance particle
|
||||
#define NEW_LEECH_SEED_PARTICLE //update leech seed's animation particle
|
||||
#define NEW_HORN_ATTACK_PARTICLE //update horn attack's horn
|
||||
#define NEW_LEAF_PARTICLE // update leaf particle
|
||||
#define NEW_EMBER_PARTICLES //updates ember fire particle
|
||||
#define NEW_MEAN_LOOK_PARTICLE //update mean look eye
|
||||
#define NEW_TEETH_PARTICLE //update bite/crunch teeth particle
|
||||
#define NEW_HANDS_FEET_PARTICLE //update chop/kick/punch particles
|
||||
#define NEW_SPIKES_PARTICLE //update spikes particle
|
||||
#define NEW_FLY_BUBBLE_PARTICLE //update fly 'bubble' particle
|
||||
#define NEW_CURSE_NAIL_PARTICLE //updates curse nail
|
||||
#define NEW_BATON_PASS_BALL_PARTICLE //update baton pass pokeball sprite
|
||||
#define NEW_MORNING_SUN_STAR_PARTICLE //updates morning sun star particles
|
||||
#define NEW_IMPACT_PALETTE //updates the basic 'hit' particle
|
||||
#define NEW_SURF_PARTICLE_PALETTE //updates the surf wave palette
|
||||
#define NEW_SWORD_PARTICLE TRUE // update swords dance particle
|
||||
#define NEW_LEECH_SEED_PARTICLE TRUE //update leech seed's animation particle
|
||||
#define NEW_HORN_ATTACK_PARTICLE TRUE //update horn attack's horn
|
||||
#define NEW_LEAF_PARTICLE TRUE // update leaf particle
|
||||
#define NEW_EMBER_PARTICLES TRUE //updates ember fire particle
|
||||
#define NEW_MEAN_LOOK_PARTICLE TRUE //update mean look eye
|
||||
#define NEW_TEETH_PARTICLE TRUE //update bite/crunch teeth particle
|
||||
#define NEW_HANDS_FEET_PARTICLE TRUE //update chop/kick/punch particles
|
||||
#define NEW_SPIKES_PARTICLE TRUE //update spikes particle
|
||||
#define NEW_FLY_BUBBLE_PARTICLE TRUE //update fly 'bubble' particle
|
||||
#define NEW_CURSE_NAIL_PARTICLE TRUE //updates curse nail
|
||||
#define NEW_BATON_PASS_BALL_PARTICLE TRUE //update baton pass pokeball sprite
|
||||
#define NEW_MORNING_SUN_STAR_PARTICLE TRUE //updates morning sun star particles
|
||||
#define NEW_IMPACT_PALETTE TRUE //updates the basic 'hit' particle
|
||||
#define NEW_SURF_PARTICLE_PALETTE TRUE //updates the surf wave palette
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_CONFIG_H
|
||||
|
@ -697,6 +697,45 @@
|
||||
|
||||
#define MOVES_COUNT_GEN7 677
|
||||
|
||||
#define MOVES_COUNT MOVES_COUNT_GEN7
|
||||
// Gen 8 moves.
|
||||
#define MOVE_DYNAMAX_CANNON (MOVES_COUNT_GEN7 + 0)
|
||||
#define MOVE_SNIPE_SHOT (MOVES_COUNT_GEN7 + 1)
|
||||
#define MOVE_JAW_LOCK (MOVES_COUNT_GEN7 + 2)
|
||||
#define MOVE_STUFF_CHEEKS (MOVES_COUNT_GEN7 + 3)
|
||||
#define MOVE_NO_RETREAT (MOVES_COUNT_GEN7 + 4)
|
||||
#define MOVE_TAR_SHOT (MOVES_COUNT_GEN7 + 5)
|
||||
#define MOVE_MAGIC_POWDER (MOVES_COUNT_GEN7 + 6)
|
||||
#define MOVE_DRAGON_DARTS (MOVES_COUNT_GEN7 + 7)
|
||||
#define MOVE_TEA_TIME (MOVES_COUNT_GEN7 + 8)
|
||||
#define MOVE_OCTOLOCK (MOVES_COUNT_GEN7 + 9)
|
||||
#define MOVE_BOLT_BEAK (MOVES_COUNT_GEN7 + 10)
|
||||
#define MOVE_FISHIOUS_REND (MOVES_COUNT_GEN7 + 11)
|
||||
#define MOVE_COURT_CHANGE (MOVES_COUNT_GEN7 + 12)
|
||||
#define MOVE_CLANGOROUS_SOUL (MOVES_COUNT_GEN7 + 13)
|
||||
#define MOVE_BODY_PRESS (MOVES_COUNT_GEN7 + 14)
|
||||
#define MOVE_DECORATE (MOVES_COUNT_GEN7 + 15)
|
||||
#define MOVE_DRUM_BEATING (MOVES_COUNT_GEN7 + 16)
|
||||
#define MOVE_SNAP_TRAP (MOVES_COUNT_GEN7 + 17)
|
||||
#define MOVE_PYRO_BALL (MOVES_COUNT_GEN7 + 18)
|
||||
#define MOVE_BEHEMOTH_BLADE (MOVES_COUNT_GEN7 + 19)
|
||||
#define MOVE_BEHEMOTH_BASH (MOVES_COUNT_GEN7 + 20)
|
||||
#define MOVE_AURA_WHEEL (MOVES_COUNT_GEN7 + 21)
|
||||
#define MOVE_BREAKING_SWIPE (MOVES_COUNT_GEN7 + 22)
|
||||
#define MOVE_BRANCH_POKE (MOVES_COUNT_GEN7 + 23)
|
||||
#define MOVE_OVERDRIVE (MOVES_COUNT_GEN7 + 24)
|
||||
#define MOVE_APPLE_ACID (MOVES_COUNT_GEN7 + 25)
|
||||
#define MOVE_GRAV_APPLE (MOVES_COUNT_GEN7 + 26)
|
||||
#define MOVE_SPIRIT_BREAK (MOVES_COUNT_GEN7 + 27)
|
||||
#define MOVE_STRANGE_STEAM (MOVES_COUNT_GEN7 + 28)
|
||||
#define MOVE_LIFE_DEW (MOVES_COUNT_GEN7 + 29)
|
||||
#define MOVE_OBSTRUCT (MOVES_COUNT_GEN7 + 30)
|
||||
#define MOVE_FALSE_SURRENDER (MOVES_COUNT_GEN7 + 31)
|
||||
#define MOVE_METEOR_ASSAULT (MOVES_COUNT_GEN7 + 32)
|
||||
#define MOVE_ETERNA_BEAM (MOVES_COUNT_GEN7 + 33)
|
||||
#define MOVE_STEEL_BEAM (MOVES_COUNT_GEN7 + 34)
|
||||
|
||||
#define MOVES_COUNT_GEN8 (MOVES_COUNT_GEN7 + 35)
|
||||
|
||||
#define MOVES_COUNT MOVES_COUNT_GEN8
|
||||
|
||||
#endif // GUARD_CONSTANTS_MOVES_H
|
||||
|
@ -197,6 +197,7 @@ SECTIONS {
|
||||
src/battle_anim_ground.o(.text);
|
||||
src/battle_anim_normal.o(.text);
|
||||
src/battle_anim_utility_funcs.o(.text);
|
||||
src/battle_anim_new.o(.text);
|
||||
src/battle_intro.o(.text);
|
||||
src/bike.o(.text);
|
||||
src/easy_chat.o(.text);
|
||||
@ -570,6 +571,7 @@ SECTIONS {
|
||||
src/battle_anim_ground.o(.rodata);
|
||||
src/battle_anim_normal.o(.rodata);
|
||||
src/battle_anim_utility_funcs.o(.rodata);
|
||||
src/battle_anim_new.o(.rodata);
|
||||
src/battle_intro.o(.rodata);
|
||||
src/bike.o(.rodata);
|
||||
src/easy_chat.o(.rodata);
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
#include "constants/battle_anim.h"
|
||||
#include "constants/battle_config.h"
|
||||
|
||||
#define ANIM_SPRITE_INDEX_COUNT 8
|
||||
|
||||
@ -108,7 +109,7 @@ EWRAM_DATA static u16 sSoundAnimFramesToWait = 0;
|
||||
EWRAM_DATA static u8 sMonAnimTaskIdArray[2] = {0};
|
||||
EWRAM_DATA u8 gAnimMoveTurn = 0;
|
||||
EWRAM_DATA static u8 sAnimBackgroundFadeState = 0;
|
||||
EWRAM_DATA static u16 sAnimMoveIndex = 0; // Set but unused.
|
||||
EWRAM_DATA u16 gAnimMoveIndex = 0; // Set but unused.
|
||||
EWRAM_DATA u8 gBattleAnimAttacker = 0;
|
||||
EWRAM_DATA u8 gBattleAnimTarget = 0;
|
||||
EWRAM_DATA u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT] = {0};
|
||||
@ -1130,12 +1131,12 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_Pencil, 0x0200, ANIM_TAG_PENCIL},
|
||||
{gBattleAnimSpriteGfx_AirWave, 0x0100, ANIM_TAG_AIR_WAVE},
|
||||
{gBattleAnimSpriteGfx_Orb, 0x0200, ANIM_TAG_ORB},
|
||||
#ifdef NEW_SWORD_PARTICLE
|
||||
#if NEW_SWORD_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewSword, 0x0400, ANIM_TAG_SWORD},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_Sword, 0x0400, ANIM_TAG_SWORD},
|
||||
#endif
|
||||
#ifdef NEW_LEECH_SEED_PARTICLE
|
||||
#if NEW_LEECH_SEED_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewLeechSeed, 0x0180, ANIM_TAG_SEED},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_Seed, 0x0180, ANIM_TAG_SEED},
|
||||
@ -1162,7 +1163,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE},
|
||||
{gBattleAnimSpriteGfx_Leer, 0x0A00, ANIM_TAG_LEER},
|
||||
{gBattleAnimSpriteGfx_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST},
|
||||
#ifdef NEW_EMBER_PARTICLES
|
||||
#if NEW_EMBER_PARTICLES
|
||||
{gBattleAnimSpriteGfx_NewEmbers, 0x0A00, ANIM_TAG_SMALL_EMBER},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER},
|
||||
@ -1195,7 +1196,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_RedFist, 0x0200, ANIM_TAG_RED_FIST},
|
||||
{gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT},
|
||||
{gBattleAnimSpriteGfx_Ring, 0x0180, ANIM_TAG_RING},
|
||||
#ifdef NEW_ROCKS_PARTICLE
|
||||
#if NEW_ROCKS_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewRocks, 0x0C00, ANIM_TAG_ROCKS},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_Rocks, 0x0C00, ANIM_TAG_ROCKS},
|
||||
@ -1204,7 +1205,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2},
|
||||
{gBattleAnimSpriteGfx_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH},
|
||||
{gBattleAnimSpriteGfx_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS},
|
||||
#ifdef NEW_LEAF_PARTICLE
|
||||
#if NEW_LEAF_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewLeaf, 0x0480, ANIM_TAG_LEAF},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_Leaf, 0x0480, ANIM_TAG_LEAF},
|
||||
@ -1272,7 +1273,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2},
|
||||
{gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2},
|
||||
{gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL},
|
||||
#ifdef NEW_SUBSTITUTE_PARTICLE
|
||||
#if NEW_SUBSTITUTE_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewSubstituteFront, 0x0200, ANIM_TAG_MONSTER_DOLL},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL},
|
||||
@ -1288,7 +1289,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT},
|
||||
{gBattleAnimSpriteGfx_Scratch, 0x0a00, ANIM_TAG_SCRATCH},
|
||||
{gBattleAnimSpriteGfx_Cut, 0x0800, ANIM_TAG_CUT},
|
||||
#ifdef NEW_TEETH_PARTICLE
|
||||
#if NEW_TEETH_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewTeeth, 0x0800, ANIM_TAG_SHARP_TEETH},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH},
|
||||
@ -1296,7 +1297,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS},
|
||||
{gBattleAnimSpriteGfx_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS},
|
||||
{gBattleAnimSpriteGfx_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES},
|
||||
#ifdef NEW_HANDS_FEET_PARTICLE
|
||||
#if NEW_HANDS_FEET_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewHandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET},
|
||||
@ -1309,7 +1310,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB},
|
||||
{gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE},
|
||||
{gBattleAnimSpriteGfx_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE},
|
||||
#ifdef NEW_SPIKES_PARTICLE
|
||||
#if NEW_SPIKES_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewSpikes, 0x0080, ANIM_TAG_SPIKES},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_SPIKES},
|
||||
@ -1317,7 +1318,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2},
|
||||
{gBattleAnimSpriteGfx_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2},
|
||||
{gBattleAnimSpriteGfx_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES},
|
||||
#ifdef NEW_FLY_BUBBLE_PARTICLE
|
||||
#if NEW_FLY_BUBBLE_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewFly, 0x0800, ANIM_TAG_ROUND_SHADOW},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW},
|
||||
@ -1352,7 +1353,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY},
|
||||
{gBattleAnimSpriteGfx_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE},
|
||||
{gBattleAnimSpriteGfx_Tendrils, 0x1000, ANIM_TAG_TENDRILS},
|
||||
#ifdef NEW_MEAN_LOOK_PARTICLE
|
||||
#if NEW_MEAN_LOOK_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewEye, 0x0800, ANIM_TAG_EYE},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_Eye, 0x0800, ANIM_TAG_EYE},
|
||||
@ -1368,7 +1369,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_Spiral, 0x0800, ANIM_TAG_SPIRAL},
|
||||
{gBattleAnimSpriteGfx_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z},
|
||||
{gBattleAnimSpriteGfx_Explosion, 0x0800, ANIM_TAG_EXPLOSION},
|
||||
#ifdef NEW_CURSE_NAIL_PARTICLE
|
||||
#if NEW_CURSE_NAIL_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewNail, 0x0400, ANIM_TAG_NAIL},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_Nail, 0x0400, ANIM_TAG_NAIL},
|
||||
@ -1399,7 +1400,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_Roots, 0x0800, ANIM_TAG_ROOTS},
|
||||
{gBattleAnimSpriteGfx_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG},
|
||||
{gBattleAnimSpriteGfx_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE},
|
||||
#ifdef NEW_BATON_PASS_BALL_PARTICLE
|
||||
#if NEW_BATON_PASS_BALL_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewPokeball, 0x0080, ANIM_TAG_POKEBALL},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_Pokeball, 0x0080, ANIM_TAG_POKEBALL},
|
||||
@ -1418,7 +1419,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL},
|
||||
{gBattleAnimSpriteGfx_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT},
|
||||
{gBattleAnimSpriteGfx_Confetti, 0x0180, ANIM_TAG_CONFETTI},
|
||||
#ifdef NEW_MORNING_SUN_STAR_PARTICLE
|
||||
#if NEW_MORNING_SUN_STAR_PARTICLE
|
||||
{gBattleAnimSpriteGfx_NewGreenStar, 0x0200, ANIM_TAG_GREEN_STAR},
|
||||
#else
|
||||
{gBattleAnimSpriteGfx_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR},
|
||||
@ -1573,12 +1574,12 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_Pencil, ANIM_TAG_PENCIL},
|
||||
{gBattleAnimSpritePal_AirWave, ANIM_TAG_AIR_WAVE},
|
||||
{gBattleAnimSpritePal_Orb, ANIM_TAG_ORB},
|
||||
#ifdef NEW_SWORD_PARTICLE
|
||||
#if NEW_SWORD_PARTICLE
|
||||
{gBattleAnimSpritePal_NewSword, ANIM_TAG_SWORD},
|
||||
#else
|
||||
{gBattleAnimSpritePal_Sword, ANIM_TAG_SWORD},
|
||||
#endif
|
||||
#ifdef NEW_LEECH_SEED_PARTICLE
|
||||
#if NEW_LEECH_SEED_PARTICLE
|
||||
{gBattleAnimSpritePal_NewLeechSeed, ANIM_TAG_SEED},
|
||||
#else
|
||||
{gBattleAnimSpritePal_Seed, ANIM_TAG_SEED},
|
||||
@ -1596,7 +1597,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_BALL},
|
||||
{gBattleAnimSpritePal_Conversion, ANIM_TAG_CONVERSION},
|
||||
{gBattleAnimSpritePal_Glass, ANIM_TAG_GLASS},
|
||||
#ifdef NEW_HORN_ATTACK_PARTICLE
|
||||
#if NEW_HORN_ATTACK_PARTICLE
|
||||
{gBattleAnimSpritePal_NewHornHit, ANIM_TAG_HORN_HIT},
|
||||
#else
|
||||
{gBattleAnimSpritePal_HornHit, ANIM_TAG_HORN_HIT},
|
||||
@ -1609,7 +1610,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_HIT_DUPLICATE},
|
||||
{gBattleAnimSpritePal_Leer, ANIM_TAG_LEER},
|
||||
{gBattleAnimSpritePal_BlueBurst, ANIM_TAG_BLUE_BURST},
|
||||
#ifdef NEW_EMBER_PARTICLES
|
||||
#if NEW_EMBER_PARTICLES
|
||||
{gBattleAnimSpritePal_NewEmbers, ANIM_TAG_SMALL_EMBER},
|
||||
#else
|
||||
{gBattleAnimSpritePal_SmallEmber, ANIM_TAG_SMALL_EMBER},
|
||||
@ -1642,7 +1643,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_RED_FIST},
|
||||
{gBattleAnimSpritePal_SlamHit, ANIM_TAG_SLAM_HIT},
|
||||
{gBattleAnimSpritePal_Ring, ANIM_TAG_RING},
|
||||
#ifdef NEW_ROCKS_PARTICLE
|
||||
#if NEW_ROCKS_PARTICLE
|
||||
{gBattleAnimSpritePal_NewRocks, ANIM_TAG_ROCKS},
|
||||
#else
|
||||
{gBattleAnimSpritePal_Rocks, ANIM_TAG_ROCKS},
|
||||
@ -1651,7 +1652,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_YellowUnk2, ANIM_TAG_YELLOW_UNK_2},
|
||||
{gBattleAnimSpritePal_AirSlash, ANIM_TAG_AIR_SLASH},
|
||||
{gBattleAnimSpritePal_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS},
|
||||
#ifdef NEW_LEAF_PARTICLE
|
||||
#if NEW_LEAF_PARTICLE
|
||||
{gBattleAnimSpritePal_NewLeaf, ANIM_TAG_LEAF},
|
||||
#else
|
||||
{gBattleAnimSpritePal_Leaf, ANIM_TAG_LEAF},
|
||||
@ -1719,7 +1720,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2},
|
||||
{gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2},
|
||||
{gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL},
|
||||
#ifdef NEW_SUBSTITUTE_PARTICLE
|
||||
#if NEW_SUBSTITUTE_PARTICLE
|
||||
{gBattleAnimSpritePal_NewSubstituteFront, ANIM_TAG_MONSTER_DOLL},
|
||||
#else
|
||||
{gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL},
|
||||
@ -1731,7 +1732,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_Tongue, ANIM_TAG_TONGUE},
|
||||
{gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE},
|
||||
{gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE_2},
|
||||
#ifdef NEW_IMPACT_PALETTE
|
||||
#if NEW_IMPACT_PALETTE
|
||||
{gBattleAnimSpritePal_NewImpact, ANIM_TAG_IMPACT},
|
||||
#else
|
||||
{gBattleAnimSpritePal_Impact, ANIM_TAG_IMPACT},
|
||||
@ -1739,7 +1740,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_CircleImpact, ANIM_TAG_CIRCLE_IMPACT},
|
||||
{gBattleAnimSpritePal_Impact, ANIM_TAG_SCRATCH},
|
||||
{gBattleAnimSpritePal_Impact, ANIM_TAG_CUT},
|
||||
#ifdef NEW_TEETH_PARTICLE
|
||||
#if NEW_TEETH_PARTICLE
|
||||
{gBattleAnimSpritePal_NewTeeth, ANIM_TAG_SHARP_TEETH},
|
||||
#else
|
||||
{gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_SHARP_TEETH},
|
||||
@ -1747,7 +1748,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_RainbowRings, ANIM_TAG_RAINBOW_RINGS},
|
||||
{gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_CRYSTALS},
|
||||
{gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_SPIKES},
|
||||
#ifdef NEW_HANDS_FEET_PARTICLE
|
||||
#if NEW_HANDS_FEET_PARTICLE
|
||||
{gBattleAnimSpritePal_NewHandsAndFeet, ANIM_TAG_HANDS_AND_FEET},
|
||||
#else
|
||||
{gBattleAnimSpritePal_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET},
|
||||
@ -1760,7 +1761,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_ORB},
|
||||
{gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_POISON_BUBBLE},
|
||||
{gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE},
|
||||
#ifdef NEW_SPIKES_PARTICLE
|
||||
#if NEW_SPIKES_PARTICLE
|
||||
{gBattleAnimSpritePal_NewSpikes, ANIM_TAG_SPIKES},
|
||||
#else
|
||||
{gBattleAnimSpritePal_Spikes, ANIM_TAG_SPIKES},
|
||||
@ -1768,7 +1769,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_HornHit2, ANIM_TAG_HORN_HIT_2},
|
||||
{gBattleAnimSpritePal_AirWave2, ANIM_TAG_AIR_WAVE_2},
|
||||
{gBattleAnimSpritePal_SmallBubbles, ANIM_TAG_SMALL_BUBBLES},
|
||||
#ifdef NEW_FLY_BUBBLE_PARTICLE
|
||||
#if NEW_FLY_BUBBLE_PARTICLE
|
||||
{gBattleAnimSpritePal_NewFly, ANIM_TAG_ROUND_SHADOW},
|
||||
#else
|
||||
{gBattleAnimSpritePal_RoundShadow, ANIM_TAG_ROUND_SHADOW},
|
||||
@ -1803,7 +1804,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_FocusEnergy, ANIM_TAG_FOCUS_ENERGY},
|
||||
{gBattleAnimSpritePal_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE},
|
||||
{gBattleAnimSpritePal_Tendrils, ANIM_TAG_TENDRILS},
|
||||
#ifdef NEW_MEAN_LOOK_PARTICLE
|
||||
#if NEW_MEAN_LOOK_PARTICLE
|
||||
{gBattleAnimSpritePal_NewEye, ANIM_TAG_EYE},
|
||||
#else
|
||||
{gBattleAnimSpritePal_Eye, ANIM_TAG_EYE},
|
||||
@ -1846,7 +1847,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_Roots, ANIM_TAG_ROOTS},
|
||||
{gBattleAnimSpritePal_ItemBag, ANIM_TAG_ITEM_BAG},
|
||||
{gBattleAnimSpritePal_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE},
|
||||
#ifdef NEW_BATON_PASS_BALL_PARTICLE
|
||||
#if NEW_BATON_PASS_BALL_PARTICLE
|
||||
{gBattleAnimSpritePal_NewPokeball, ANIM_TAG_POKEBALL},
|
||||
#else
|
||||
{gBattleAnimSpritePal_Pokeball, ANIM_TAG_POKEBALL},
|
||||
@ -1865,7 +1866,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_PinkPetal, ANIM_TAG_PINK_PETAL},
|
||||
{gBattleAnimSpritePal_PainSplit, ANIM_TAG_PAIN_SPLIT},
|
||||
{gBattleAnimSpritePal_Confetti, ANIM_TAG_CONFETTI},
|
||||
#ifdef NEW_MORNING_SUN_STAR_PARTICLE
|
||||
#if NEW_MORNING_SUN_STAR_PARTICLE
|
||||
{gBattleAnimSpritePal_NewGreenStar, ANIM_TAG_GREEN_STAR},
|
||||
#else
|
||||
{gBattleAnimSpritePal_GreenStar, ANIM_TAG_GREEN_STAR},
|
||||
@ -2175,7 +2176,7 @@ void ClearBattleAnimationVars(void)
|
||||
sMonAnimTaskIdArray[1] = 0xFF;
|
||||
gAnimMoveTurn = 0;
|
||||
sAnimBackgroundFadeState = 0;
|
||||
sAnimMoveIndex = 0;
|
||||
gAnimMoveIndex = 0;
|
||||
gBattleAnimAttacker = 0;
|
||||
gBattleAnimTarget = 0;
|
||||
gAnimCustomPanning = 0;
|
||||
@ -2211,9 +2212,9 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
|
||||
}
|
||||
|
||||
if (!isMoveAnim)
|
||||
sAnimMoveIndex = 0;
|
||||
gAnimMoveIndex = 0;
|
||||
else
|
||||
sAnimMoveIndex = tableId;
|
||||
gAnimMoveIndex = tableId;
|
||||
|
||||
for (i = 0; i < ANIM_ARGS_COUNT; i++)
|
||||
gBattleAnimArgs[i] = 0;
|
||||
|
@ -9,13 +9,9 @@ static void AnimLeechLifeNeedle(struct Sprite *);
|
||||
static void AnimTranslateWebThread(struct Sprite *);
|
||||
static void AnimTranslateWebThread_Step(struct Sprite *);
|
||||
static void AnimStringWrap(struct Sprite *);
|
||||
static void AnimStringWrap_Step(struct Sprite *);
|
||||
static void AnimSpiderWeb(struct Sprite *);
|
||||
static void AnimSpiderWeb_Step(struct Sprite *);
|
||||
static void AnimSpiderWeb_End(struct Sprite *);
|
||||
static void AnimTranslateStinger(struct Sprite *);
|
||||
static void AnimMissileArc(struct Sprite *);
|
||||
static void AnimMissileArc_Step(struct Sprite *);
|
||||
static void AnimTailGlowOrb(struct Sprite *);
|
||||
|
||||
static const union AffineAnimCmd sAffineAnim_MegahornHorn_0[] =
|
||||
@ -307,7 +303,7 @@ static void AnimStringWrap(struct Sprite *sprite)
|
||||
sprite->callback = AnimStringWrap_Step;
|
||||
}
|
||||
|
||||
static void AnimStringWrap_Step(struct Sprite *sprite)
|
||||
void AnimStringWrap_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] == 3)
|
||||
{
|
||||
@ -324,7 +320,7 @@ static void AnimStringWrap_Step(struct Sprite *sprite)
|
||||
// arg0: x
|
||||
// arg1: y
|
||||
// arg2: targets both
|
||||
static void AnimSpiderWeb(struct Sprite *sprite)
|
||||
void AnimSpiderWeb(struct Sprite *sprite)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
|
||||
@ -432,7 +428,7 @@ static void AnimTranslateStinger(struct Sprite *sprite)
|
||||
// arg 3: target y pixel offset
|
||||
// arg 4: duration
|
||||
// arg 5: wave amplitude
|
||||
static void AnimMissileArc(struct Sprite *sprite)
|
||||
void AnimMissileArc(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
|
||||
@ -449,7 +445,7 @@ static void AnimMissileArc(struct Sprite *sprite)
|
||||
sprite->invisible = TRUE;
|
||||
}
|
||||
|
||||
static void AnimMissileArc_Step(struct Sprite *sprite)
|
||||
void AnimMissileArc_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->invisible = FALSE;
|
||||
|
||||
|
@ -10,9 +10,6 @@
|
||||
#include "constants/rgb.h"
|
||||
|
||||
static void sub_81138D4(struct Sprite *);
|
||||
static void AnimBite(struct Sprite *);
|
||||
static void AnimTearDrop(struct Sprite *);
|
||||
static void AnimClawSlash(struct Sprite *);
|
||||
static void AnimTask_AttackerFadeToInvisible_Step(u8);
|
||||
static void AnimTask_AttackerFadeFromInvisible_Step(u8);
|
||||
static void sub_8113950(struct Sprite *);
|
||||
@ -134,7 +131,7 @@ static const union AffineAnimCmd sAffineAnim_TearDrop_1[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_TearDrop[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_TearDrop[] =
|
||||
{
|
||||
sAffineAnim_TearDrop_0,
|
||||
sAffineAnim_TearDrop_1,
|
||||
@ -147,7 +144,7 @@ const struct SpriteTemplate gTearDropSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_TearDrop,
|
||||
.affineAnims = gAffineAnims_TearDrop,
|
||||
.callback = AnimTearDrop,
|
||||
};
|
||||
|
||||
@ -171,7 +168,7 @@ static const union AnimCmd sAnim_ClawSlash_1[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_ClawSlash[] =
|
||||
const union AnimCmd *const gAnims_ClawSlash[] =
|
||||
{
|
||||
sAnim_ClawSlash_0,
|
||||
sAnim_ClawSlash_1,
|
||||
@ -182,7 +179,7 @@ const struct SpriteTemplate gClawSlashSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_CLAW_SLASH,
|
||||
.paletteTag = ANIM_TAG_CLAW_SLASH,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_ClawSlash,
|
||||
.anims = gAnims_ClawSlash,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimClawSlash,
|
||||
@ -397,7 +394,7 @@ static void sub_8113950(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// Move sprite inward for Bite/Crunch and Clamp
|
||||
static void AnimBite(struct Sprite *sprite)
|
||||
void AnimBite(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
@ -429,7 +426,7 @@ static void AnimBite_Step2(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// Launches a tear drop away from the battler. Used by Fake Tears
|
||||
static void AnimTearDrop(struct Sprite *sprite)
|
||||
void AnimTearDrop(struct Sprite *sprite)
|
||||
{
|
||||
u8 battler;
|
||||
s8 xOffset;
|
||||
@ -883,7 +880,7 @@ void sub_8114470(u8 taskId)
|
||||
}
|
||||
|
||||
// Animates a deep slash from a claw. Used by Metal Claw, Dragon Claw, and Crush Claw
|
||||
static void AnimClawSlash(struct Sprite *sprite)
|
||||
void AnimClawSlash(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
|
@ -6,11 +6,7 @@
|
||||
#include "constants/rgb.h"
|
||||
|
||||
static void AnimOutrageFlame(struct Sprite *);
|
||||
static void AnimDragonRageFirePlume(struct Sprite *);
|
||||
static void AnimDragonFireToTarget(struct Sprite *);
|
||||
static void AnimDragonDanceOrb(struct Sprite *);
|
||||
static void AnimDragonDanceOrb_Step(struct Sprite *);
|
||||
static void AnimOverheatFlame(struct Sprite *);
|
||||
static void AnimOverheatFlame_Step(struct Sprite *);
|
||||
static void AnimTask_DragonDanceWaver_Step(u8);
|
||||
static void sub_8113574(struct Task *);
|
||||
@ -62,7 +58,7 @@ static const union AnimCmd sAnim_DragonBreathFire_1[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_DragonBreathFire[] =
|
||||
const union AnimCmd *const gAnims_DragonBreathFire[] =
|
||||
{
|
||||
sAnim_DragonBreathFire_0,
|
||||
sAnim_DragonBreathFire_1,
|
||||
@ -82,7 +78,7 @@ static const union AffineAnimCmd sAffineAnim_DragonBreathFire_1[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_DragonBreathFire[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_DragonBreathFire[] =
|
||||
{
|
||||
sAffineAnim_DragonBreathFire_0,
|
||||
sAffineAnim_DragonBreathFire_1,
|
||||
@ -93,9 +89,9 @@ const struct SpriteTemplate gDragonBreathFireSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_DragonBreathFire,
|
||||
.anims = gAnims_DragonBreathFire,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_DragonBreathFire,
|
||||
.affineAnims = gAffineAnims_DragonBreathFire,
|
||||
.callback = AnimDragonFireToTarget,
|
||||
};
|
||||
|
||||
@ -109,7 +105,7 @@ static const union AnimCmd sAnim_DragonRageFirePlume[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_DragonRageFirePlume[] =
|
||||
const union AnimCmd *const gAnims_DragonRageFirePlume[] =
|
||||
{
|
||||
sAnim_DragonRageFirePlume,
|
||||
};
|
||||
@ -119,7 +115,7 @@ const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_FIRE_PLUME,
|
||||
.paletteTag = ANIM_TAG_FIRE_PLUME,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_DragonRageFirePlume,
|
||||
.anims = gAnims_DragonRageFirePlume,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimDragonRageFirePlume,
|
||||
@ -133,7 +129,7 @@ static const union AnimCmd sAnim_DragonRageFire[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_DragonRageFire[] =
|
||||
const union AnimCmd *const gAnims_DragonRageFire[] =
|
||||
{
|
||||
sAnim_DragonRageFire,
|
||||
sAnim_DragonRageFire,
|
||||
@ -151,7 +147,7 @@ static const union AffineAnimCmd sAffineAnim_DragonRageFire_1[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_DragonRageFire[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_DragonRageFire[] =
|
||||
{
|
||||
sAffineAnim_DragonRageFire_0,
|
||||
sAffineAnim_DragonRageFire_1,
|
||||
@ -162,9 +158,9 @@ const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_DragonRageFire,
|
||||
.anims = gAnims_DragonRageFire,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_DragonRageFire,
|
||||
.affineAnims = gAffineAnims_DragonRageFire,
|
||||
.callback = AnimDragonFireToTarget,
|
||||
};
|
||||
|
||||
@ -371,7 +367,7 @@ static void sub_8113100(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
}
|
||||
|
||||
static void AnimDragonRageFirePlume(struct Sprite *sprite)
|
||||
void AnimDragonRageFirePlume(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
@ -391,7 +387,7 @@ static void AnimDragonRageFirePlume(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// For Dragon Breath and Dragon Rage
|
||||
static void AnimDragonFireToTarget(struct Sprite *sprite)
|
||||
void AnimDragonFireToTarget(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
@ -399,7 +395,7 @@ static void AnimDragonFireToTarget(struct Sprite *sprite)
|
||||
sub_8113100(sprite);
|
||||
}
|
||||
|
||||
static void AnimDragonDanceOrb(struct Sprite *sprite)
|
||||
void AnimDragonDanceOrb(struct Sprite *sprite)
|
||||
{
|
||||
u16 r5;
|
||||
u16 r0;
|
||||
@ -546,7 +542,7 @@ static void sub_8113574(struct Task *task)
|
||||
task->data[5] = (task->data[5] + 9) & 0xFF;
|
||||
}
|
||||
|
||||
static void AnimOverheatFlame(struct Sprite *sprite)
|
||||
void AnimOverheatFlame(struct Sprite *sprite)
|
||||
{
|
||||
int r6 = (gBattleAnimArgs[2] * 3) / 5;
|
||||
int i;
|
||||
|
@ -15,23 +15,17 @@
|
||||
#include "util.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/moves.h"
|
||||
|
||||
EWRAM_DATA s16 gUnknown_0203A0F8[4] = {0};
|
||||
|
||||
static void AnimMovePowderParticle(struct Sprite *);
|
||||
static void AnimMovePowderParticle_Step(struct Sprite *);
|
||||
static void AnimSolarbeamBigOrb(struct Sprite *);
|
||||
static void AnimSolarbeamSmallOrb(struct Sprite *);
|
||||
static void AnimSolarbeamSmallOrb_Step(struct Sprite *);
|
||||
static void AnimAbsorptionOrb(struct Sprite *);
|
||||
static void AnimAbsorptionOrb_Step(struct Sprite *);
|
||||
static void AnimHyperBeamOrb(struct Sprite *);
|
||||
static void AnimHyperBeamOrb_Step(struct Sprite *);
|
||||
static void AnimSporeParticle(struct Sprite *);
|
||||
static void AnimSporeParticle_Step(struct Sprite *);
|
||||
static void AnimPetalDanceBigFlower(struct Sprite *);
|
||||
static void AnimPetalDanceBigFlower_Step(struct Sprite *);
|
||||
static void AnimPetalDanceSmallFlower(struct Sprite *);
|
||||
static void AnimPetalDanceSmallFlower_Step(struct Sprite *);
|
||||
static void AnimRazorLeafParticle(struct Sprite *);
|
||||
static void AnimRazorLeafParticle_Step1(struct Sprite *);
|
||||
@ -39,12 +33,10 @@ static void AnimRazorLeafParticle_Step2(struct Sprite *);
|
||||
static void AnimLeechSeed(struct Sprite *);
|
||||
static void AnimLeechSeed_Step(struct Sprite *);
|
||||
static void AnimLeechSeedSprouts(struct Sprite *);
|
||||
static void AnimTranslateLinearSingleSineWave(struct Sprite *);
|
||||
static void AnimTranslateLinearSingleSineWave_Step(struct Sprite *);
|
||||
static void AnimConstrictBinding(struct Sprite *);
|
||||
static void AnimConstrictBinding_Step1(struct Sprite *);
|
||||
static void AnimConstrictBinding_Step2(struct Sprite *);
|
||||
static void AnimMimicOrb(struct Sprite *);
|
||||
static void AnimIngrainRoot(struct Sprite *);
|
||||
static void AnimFrenzyPlantRoot(struct Sprite *);
|
||||
static void AnimRootFlickerOut(struct Sprite *);
|
||||
@ -62,11 +54,9 @@ static void AnimTrickBag_Step2(struct Sprite *);
|
||||
static void AnimTrickBag_Step3(struct Sprite *);
|
||||
static void AnimFlyingParticle(struct Sprite *);
|
||||
static void AnimFlyingParticle_Step(struct Sprite *);
|
||||
static void AnimNeedleArmSpike_Step(struct Sprite *);
|
||||
static void sub_81009F8(struct Sprite *);
|
||||
static void AnimWhipHit(struct Sprite *);
|
||||
static void sub_8100A94(struct Sprite *);
|
||||
static void AnimCuttingSlice(struct Sprite *);
|
||||
static void AnimAirCutterSlice(struct Sprite *);
|
||||
static void AnimSlice_Step(struct Sprite *);
|
||||
static void sub_8100E1C(struct Sprite *);
|
||||
@ -76,7 +66,6 @@ static void AnimProtect_Step(struct Sprite *);
|
||||
static void AnimMilkBottle(struct Sprite *);
|
||||
static void AnimMilkBottle_Step1(struct Sprite *);
|
||||
static void AnimMilkBottle_Step2(struct Sprite *, int, int);
|
||||
static void AnimGrantingStars(struct Sprite *);
|
||||
static void AnimSparkingStars(struct Sprite *);
|
||||
static void sub_8101440(struct Sprite *);
|
||||
static void sub_81014A0(struct Sprite *);
|
||||
@ -105,11 +94,9 @@ static void AnimFalseSwipeSlice_Step1(struct Sprite *);
|
||||
static void AnimFalseSwipeSlice_Step2(struct Sprite *);
|
||||
static void AnimFalseSwipeSlice_Step3(struct Sprite *);
|
||||
static void AnimFalseSwipePositionedSlice(struct Sprite *);
|
||||
static void AnimEndureEnergy(struct Sprite *);
|
||||
static void AnimEndureEnergy_Step(struct Sprite *);
|
||||
static void AnimSharpenSphere(struct Sprite *);
|
||||
static void AnimSharpenSphere_Step(struct Sprite *);
|
||||
static void AnimConversion(struct Sprite *);
|
||||
static void AnimConversion2(struct Sprite *);
|
||||
static void AnimConversion2_Step(struct Sprite *);
|
||||
static void AnimMoon(struct Sprite *);
|
||||
@ -127,11 +114,8 @@ static void AnimFlyingMusicNotes_Step(struct Sprite *);
|
||||
static void AnimBellyDrumHand(struct Sprite *);
|
||||
static void AnimSlowFlyingMusicNotes(struct Sprite *);
|
||||
static void AnimSlowFlyingMusicNotes_Step(struct Sprite *);
|
||||
static void AnimThoughtBubble(struct Sprite *);
|
||||
static void AnimThoughtBubble_Step(struct Sprite *);
|
||||
static void AnimMetronomeFinger(struct Sprite *);
|
||||
static void AnimMetronomeFinger_Step(struct Sprite *);
|
||||
static void AnimFollowMeFinger(struct Sprite *);
|
||||
static void AnimFollowMeFinger_Step1(struct Sprite *);
|
||||
static void AnimFollowMeFinger_Step2(struct Sprite *);
|
||||
static void AnimTauntFinger(struct Sprite *);
|
||||
@ -2975,7 +2959,7 @@ static void AnimWoodHammerSmall(struct Sprite *sprite)
|
||||
// arg 3: vertical movement speed (sub-pixel value)
|
||||
// arg 4: wave amplitude
|
||||
// arg 5: wave speed
|
||||
static void AnimMovePowderParticle(struct Sprite* sprite)
|
||||
void AnimMovePowderParticle(struct Sprite* sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
@ -3030,7 +3014,7 @@ void AnimPowerAbsorptionOrb(struct Sprite* sprite)
|
||||
// arg 1: initial y pixel offset
|
||||
// arg 2: duration
|
||||
// arg 3: sprite anim number
|
||||
static void AnimSolarbeamBigOrb(struct Sprite* sprite)
|
||||
void AnimSolarbeamBigOrb(struct Sprite* sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[3]);
|
||||
@ -3050,11 +3034,20 @@ static void AnimSolarbeamBigOrb(struct Sprite* sprite)
|
||||
static void AnimSolarbeamSmallOrb(struct Sprite* sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
|
||||
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gAnimMoveIndex == MOVE_CORE_ENFORCER)
|
||||
{
|
||||
CoreEnforcerLoadBeamTarget(sprite);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[5] = gBattleAnimArgs[3];
|
||||
sprite->callback = AnimSolarbeamSmallOrb_Step;
|
||||
@ -3105,7 +3098,7 @@ void AnimTask_CreateSmallSolarbeamOrbs(u8 taskId)
|
||||
// arg 1: initial y pixel offset
|
||||
// arg 2: wave amplitude
|
||||
// arg 3: wave period (lower means faster wave)
|
||||
static void AnimAbsorptionOrb(struct Sprite* sprite)
|
||||
void AnimAbsorptionOrb(struct Sprite* sprite)
|
||||
{
|
||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
@ -3124,7 +3117,7 @@ static void AnimAbsorptionOrb_Step(struct Sprite* sprite)
|
||||
|
||||
// Moves an orb in a wave-like fashion towards the target mon. The wave's
|
||||
// properties and the sprite anim are randomly determined.
|
||||
static void AnimHyperBeamOrb(struct Sprite* sprite)
|
||||
void AnimHyperBeamOrb(struct Sprite* sprite)
|
||||
{
|
||||
u16 speed;
|
||||
u16 animNum = Random2();
|
||||
@ -3515,7 +3508,7 @@ static void AnimLeechSeedSprouts(struct Sprite* sprite)
|
||||
// arg 2: initial wave offset
|
||||
// arg 3: duration
|
||||
// arg 4: blend (0 = off, 1 = on)
|
||||
static void AnimSporeParticle(struct Sprite* sprite)
|
||||
void AnimSporeParticle(struct Sprite* sprite)
|
||||
{
|
||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
|
||||
@ -3577,7 +3570,7 @@ void AnimTask_SporeDoubleBattle(u8 taskId)
|
||||
// arg 1: initial y pixel offset
|
||||
// arg 2: target y pixel offset
|
||||
// arg 3: duration
|
||||
static void AnimPetalDanceBigFlower(struct Sprite* sprite)
|
||||
void AnimPetalDanceBigFlower(struct Sprite* sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, FALSE);
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
@ -3615,7 +3608,7 @@ static void AnimPetalDanceBigFlower_Step(struct Sprite* sprite)
|
||||
// arg 1: initial y pixel offset
|
||||
// arg 2: target y pixel offset
|
||||
// arg 3: duration
|
||||
static void AnimPetalDanceSmallFlower(struct Sprite* sprite)
|
||||
void AnimPetalDanceSmallFlower(struct Sprite* sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
@ -3713,7 +3706,7 @@ static void AnimRazorLeafParticle_Step2(struct Sprite* sprite)
|
||||
// arg 4: translation duration
|
||||
// arg 5: wave amplitude
|
||||
// arg 6: target between double battle opponents (boolean)
|
||||
static void AnimTranslateLinearSingleSineWave(struct Sprite* sprite)
|
||||
void AnimTranslateLinearSingleSineWave(struct Sprite* sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
@ -3944,7 +3937,7 @@ static void AnimTask_DuplicateAndShrinkToPos_Step2(u8 taskId)
|
||||
// Moves an orb from the target mon to the attacking mon.
|
||||
// arg 0: initial x pixel offset
|
||||
// arg 1: initial y pixel offset
|
||||
static void AnimMimicOrb(struct Sprite* sprite)
|
||||
void AnimMimicOrb(struct Sprite* sprite)
|
||||
{
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
@ -4795,7 +4788,7 @@ void AnimNeedleArmSpike(struct Sprite* sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimNeedleArmSpike_Step(struct Sprite* sprite)
|
||||
void AnimNeedleArmSpike_Step(struct Sprite* sprite)
|
||||
{
|
||||
if (sprite->data[0])
|
||||
{
|
||||
@ -4862,7 +4855,7 @@ static void sub_8100A94(struct Sprite* sprite)
|
||||
// arg 0: initial x pixel offset
|
||||
// arg 1: initial y pixel offset
|
||||
// arg 2: slice direction; 0 = right-to-left, 1 = left-to-right
|
||||
static void AnimCuttingSlice(struct Sprite* sprite)
|
||||
void AnimCuttingSlice(struct Sprite* sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
@ -5198,7 +5191,7 @@ static void AnimMilkBottle_Step2(struct Sprite* sprite, int unk1, int unk2)
|
||||
sprite->data[3] = 0;
|
||||
}
|
||||
|
||||
static void AnimGrantingStars(struct Sprite* sprite)
|
||||
void AnimGrantingStars(struct Sprite* sprite)
|
||||
{
|
||||
if (!gBattleAnimArgs[2])
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
@ -5847,7 +5840,7 @@ static void AnimFalseSwipeSlice_Step3(struct Sprite* sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimEndureEnergy(struct Sprite* sprite)
|
||||
void AnimEndureEnergy(struct Sprite* sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
@ -5915,7 +5908,7 @@ static void AnimSharpenSphere_Step(struct Sprite* sprite)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
static void AnimConversion(struct Sprite* sprite)
|
||||
void AnimConversion(struct Sprite* sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
@ -6538,7 +6531,7 @@ void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite)
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4;
|
||||
}
|
||||
|
||||
static void AnimThoughtBubble(struct Sprite* sprite)
|
||||
void AnimThoughtBubble(struct Sprite* sprite)
|
||||
{
|
||||
u8 a;
|
||||
u8 battler;
|
||||
@ -6566,7 +6559,7 @@ static void AnimThoughtBubble_Step(struct Sprite* sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimMetronomeFinger(struct Sprite* sprite)
|
||||
void AnimMetronomeFinger(struct Sprite* sprite)
|
||||
{
|
||||
u8 battler;
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
@ -6590,7 +6583,7 @@ static void AnimMetronomeFinger_Step(struct Sprite* sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimFollowMeFinger(struct Sprite* sprite)
|
||||
void AnimFollowMeFinger(struct Sprite* sprite)
|
||||
{
|
||||
u8 battler;
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
|
@ -26,7 +26,6 @@ static void sub_8103680(struct Sprite *);
|
||||
static void AnimKinesisZapEnergy(struct Sprite *);
|
||||
static void AnimSwordsDanceBlade(struct Sprite *);
|
||||
static void AnimSwordsDanceBlade_Step(struct Sprite *);
|
||||
static void AnimSonicBoomProjectile(struct Sprite *);
|
||||
static void AnimAirWaveProjectile(struct Sprite *);
|
||||
static void AnimAirWaveProjectile_Step1(struct Sprite *sprite);
|
||||
static void AnimAirWaveProjectile_Step2(struct Sprite *sprite);
|
||||
@ -46,12 +45,9 @@ static void AnimGuillotinePincer_Step1(struct Sprite *);
|
||||
static void AnimGuillotinePincer_Step2(struct Sprite *);
|
||||
static void AnimGuillotinePincer_Step3(struct Sprite *);
|
||||
static void AnimBreathPuff(struct Sprite *);
|
||||
static void AnimAngerMark(struct Sprite *);
|
||||
static void AnimPencil(struct Sprite *);
|
||||
static void AnimPencil_Step(struct Sprite *);
|
||||
static void AnimBlendThinRing(struct Sprite *);
|
||||
static void AnimHyperVoiceRing(struct Sprite *);
|
||||
static void AnimUproarRing(struct Sprite *);
|
||||
static void AnimSoftBoiledEgg(struct Sprite *);
|
||||
static void AnimSoftBoiledEgg_Step1(struct Sprite *);
|
||||
static void AnimSoftBoiledEgg_Step2(struct Sprite *);
|
||||
@ -67,9 +63,7 @@ static void AnimRedHeartProjectile(struct Sprite *);
|
||||
static void AnimRedHeartProjectile_Step(struct Sprite *);
|
||||
static void AnimRedHeartRising(struct Sprite *);
|
||||
static void AnimRedHeartRising_Step(struct Sprite *);
|
||||
static void AnimOrbitFast(struct Sprite *);
|
||||
static void AnimOrbitFast_Step(struct Sprite *);
|
||||
static void AnimOrbitScatter(struct Sprite *);
|
||||
static void AnimOrbitScatter_Step(struct Sprite *);
|
||||
static void AnimSpitUpOrb(struct Sprite *);
|
||||
static void AnimSpitUpOrb_Step(struct Sprite *sprite);
|
||||
@ -1523,7 +1517,7 @@ static void AnimSwordsDanceBlade_Step(struct Sprite *sprite)
|
||||
// arg 2: target x pixel offset
|
||||
// arg 3: target y pixel offset
|
||||
// arg 4: duration
|
||||
static void AnimSonicBoomProjectile(struct Sprite *sprite)
|
||||
void AnimSonicBoomProjectile(struct Sprite *sprite)
|
||||
{
|
||||
s16 targetXPos;
|
||||
s16 targetYPos;
|
||||
@ -2311,7 +2305,7 @@ static void AnimBreathPuff(struct Sprite *sprite)
|
||||
// arg 0: target mon (0 = attacker, 1 = target)
|
||||
// arg 1: x pixel offset
|
||||
// arg 2: y pixel offset
|
||||
static void AnimAngerMark(struct Sprite *sprite)
|
||||
void AnimAngerMark(struct Sprite *sprite)
|
||||
{
|
||||
u8 battler;
|
||||
if (!gBattleAnimArgs[0])
|
||||
@ -2621,7 +2615,7 @@ void sub_8105284(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimHyperVoiceRing(struct Sprite *sprite)
|
||||
void AnimHyperVoiceRing(struct Sprite *sprite)
|
||||
{
|
||||
u16 r9 = 0;
|
||||
u16 r6 = 0;
|
||||
@ -2706,7 +2700,7 @@ static void AnimHyperVoiceRing(struct Sprite *sprite)
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
|
||||
static void AnimUproarRing(struct Sprite *sprite)
|
||||
void AnimUproarRing(struct Sprite *sprite)
|
||||
{
|
||||
u8 index = IndexOfSpritePaletteTag(ANIM_TAG_THIN_RING);
|
||||
if (index != 0xFF)
|
||||
@ -3443,7 +3437,7 @@ static void AnimTask_ScaryFace_Step(u8 taskId)
|
||||
// Used by MOVE_HIDDEN_POWER
|
||||
// arg 0: duration
|
||||
// arg 1: initial wave offset
|
||||
static void AnimOrbitFast(struct Sprite *sprite)
|
||||
void AnimOrbitFast(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
@ -3494,7 +3488,7 @@ static void AnimOrbitFast_Step(struct Sprite *sprite)
|
||||
// Moves orbs away from the mon, based on where they are in their orbit.
|
||||
// Used in MOVE_HIDDEN_POWER.
|
||||
// arg 0: initial wave offset
|
||||
static void AnimOrbitScatter(struct Sprite *sprite)
|
||||
void AnimOrbitScatter(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
|
@ -26,12 +26,10 @@
|
||||
|
||||
extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate;
|
||||
|
||||
static void AnimBlackSmoke(struct Sprite *);
|
||||
static void AnimBlackSmoke_Step(struct Sprite *);
|
||||
static void AnimWhiteHalo(struct Sprite *);
|
||||
static void AnimWhiteHalo_Step1(struct Sprite *);
|
||||
static void AnimWhiteHalo_Step2(struct Sprite *);
|
||||
static void AnimTealAlert(struct Sprite *);
|
||||
static void AnimMeanLookEye(struct Sprite *);
|
||||
static void AnimMeanLookEye_Step1(struct Sprite *);
|
||||
static void AnimMeanLookEye_Step2(struct Sprite *);
|
||||
@ -63,7 +61,6 @@ static void AnimGreenStar_Step1(struct Sprite *);
|
||||
static void AnimGreenStar_Step2(struct Sprite *);
|
||||
static void AnimGreenStar_Callback(struct Sprite *);
|
||||
static void AnimWeakFrustrationAngerMark(struct Sprite *);
|
||||
static void AnimSweetScentPetal(struct Sprite *);
|
||||
static void AnimSweetScentPetal_Step(struct Sprite *);
|
||||
static void AnimPainSplitProjectile(struct Sprite *);
|
||||
static void AnimFlatterConfetti(struct Sprite *);
|
||||
@ -90,7 +87,6 @@ static void AnimForesightMagnifyingGlass(struct Sprite *);
|
||||
static void AnimForesightMagnifyingGlass_Step(struct Sprite *);
|
||||
static void AnimMeteorMashStar(struct Sprite *);
|
||||
static void AnimMeteorMashStar_Step(struct Sprite *sprite);
|
||||
static void AnimBlockX(struct Sprite *);
|
||||
static void AnimBlockX_Step(struct Sprite *);
|
||||
static void sub_815FE80(struct Sprite *);
|
||||
static void AnimKnockOffStrike(struct Sprite *);
|
||||
@ -1224,7 +1220,7 @@ const struct SpriteTemplate gMegaSymbolSpriteTemplate =
|
||||
.callback = AnimGhostStatusSprite,
|
||||
};
|
||||
|
||||
static void AnimBlackSmoke(struct Sprite *sprite)
|
||||
void AnimBlackSmoke(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
@ -1289,7 +1285,7 @@ static void AnimWhiteHalo_Step2(struct Sprite *sprite)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
static void AnimTealAlert(struct Sprite *sprite)
|
||||
void AnimTealAlert(struct Sprite *sprite)
|
||||
{
|
||||
u16 rotation;
|
||||
u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
@ -2843,7 +2839,7 @@ static void AnimTask_RockMonBackAndForth_Step(u8 taskId)
|
||||
// arg 0: initial y pixel offset
|
||||
// arg 1: sprite anim num
|
||||
// arg 2: unused
|
||||
static void AnimSweetScentPetal(struct Sprite *sprite)
|
||||
void AnimSweetScentPetal(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
@ -4855,7 +4851,7 @@ static void AnimTask_MonToSubstituteDoll(u8 taskId)
|
||||
|
||||
// Moves down an X that flickers and disappears.
|
||||
// No args.
|
||||
static void AnimBlockX(struct Sprite *sprite)
|
||||
void AnimBlockX(struct Sprite *sprite)
|
||||
{
|
||||
s16 y;
|
||||
|
||||
|
@ -4,34 +4,28 @@
|
||||
#include "trig.h"
|
||||
#include "constants/songs.h"
|
||||
#include "sound.h"
|
||||
#include "constants/moves.h"
|
||||
|
||||
static void AnimLightning(struct Sprite *);
|
||||
static void AnimLightning_Step(struct Sprite *);
|
||||
static void sub_810A214(struct Sprite *);
|
||||
static void sub_810A258(struct Sprite *);
|
||||
static void sub_810A274(struct Sprite *);
|
||||
static void AnimSparkElectricity(struct Sprite *);
|
||||
static void AnimZapCannonSpark(struct Sprite *);
|
||||
static void AnimZapCannonSpark_Step(struct Sprite *);
|
||||
static void AnimThunderboltOrb(struct Sprite *);
|
||||
static void AnimThunderboltOrb_Step(struct Sprite *);
|
||||
static void AnimSparkElectricityFlashing(struct Sprite *);
|
||||
static void AnimSparkElectricityFlashing_Step(struct Sprite *);
|
||||
static void AnimElectricity(struct Sprite *);
|
||||
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 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 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);
|
||||
@ -144,7 +138,7 @@ static const union AffineAnimCmd sAffineAnim_FlashingSpark[] =
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_FlashingSpark[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_FlashingSpark[] =
|
||||
{
|
||||
sAffineAnim_FlashingSpark,
|
||||
};
|
||||
@ -156,7 +150,7 @@ const struct SpriteTemplate gZapCannonSparkSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_FlashingSpark,
|
||||
.affineAnims = gAffineAnims_FlashingSpark,
|
||||
.callback = AnimZapCannonSpark,
|
||||
};
|
||||
|
||||
@ -168,7 +162,7 @@ static const union AnimCmd sAnim_ThunderboltOrb[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_ThunderboltOrb[] =
|
||||
const union AnimCmd *const gAnims_ThunderboltOrb[] =
|
||||
{
|
||||
sAnim_ThunderboltOrb,
|
||||
};
|
||||
@ -191,7 +185,7 @@ const struct SpriteTemplate gThunderboltOrbSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SHOCK_3,
|
||||
.paletteTag = ANIM_TAG_SHOCK_3,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = sAnims_ThunderboltOrb,
|
||||
.anims = gAnims_ThunderboltOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_ThunderboltOrb,
|
||||
.callback = AnimThunderboltOrb,
|
||||
@ -204,7 +198,7 @@ const struct SpriteTemplate gSparkElectricityFlashingSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_FlashingSpark,
|
||||
.affineAnims = gAffineAnims_FlashingSpark,
|
||||
.callback = AnimSparkElectricityFlashing,
|
||||
};
|
||||
|
||||
@ -241,6 +235,17 @@ const struct SpriteTemplate gThunderWaveSpriteTemplate =
|
||||
.callback = AnimThunderWave,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gAnchorShotChainTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_CHAIN_LINK,
|
||||
.paletteTag = ANIM_TAG_CHAIN_LINK,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimThunderWave
|
||||
};
|
||||
|
||||
static const s8 sElectricChargingParticleCoordOffsets[][2] =
|
||||
{
|
||||
{ 58, -60},
|
||||
@ -279,7 +284,7 @@ static const union AnimCmd sAnim_ElectricChargingParticles_1[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_ElectricChargingParticles[] =
|
||||
const union AnimCmd *const gAnims_ElectricChargingParticles[] =
|
||||
{
|
||||
sAnim_ElectricChargingParticles_0,
|
||||
sAnim_ElectricChargingParticles_1,
|
||||
@ -290,12 +295,23 @@ const struct SpriteTemplate gElectricChargingParticlesSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ELECTRIC_ORBS,
|
||||
.paletteTag = ANIM_TAG_ELECTRIC_ORBS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = sAnims_ElectricChargingParticles,
|
||||
.anims = gAnims_ElectricChargingParticles,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gLightOfRuinGrayChargeTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ELECTRIC_ORBS,
|
||||
.paletteTag = ANIM_TAG_GUST,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = gAnims_ElectricChargingParticles,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
|
||||
@ -326,7 +342,7 @@ static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_2[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_GrowingElectricOrb[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_GrowingElectricOrb[] =
|
||||
{
|
||||
sAffineAnim_GrowingElectricOrb_0,
|
||||
sAffineAnim_GrowingElectricOrb_1,
|
||||
@ -340,7 +356,7 @@ const struct SpriteTemplate gGrowingChargeOrbSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.affineAnims = gAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimGrowingChargeOrb,
|
||||
};
|
||||
|
||||
@ -353,7 +369,7 @@ static const union AnimCmd sAnim_ElectricPuff[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_ElectricPuff[] =
|
||||
const union AnimCmd *const gAnims_ElectricPuff[] =
|
||||
{
|
||||
sAnim_ElectricPuff,
|
||||
};
|
||||
@ -363,7 +379,7 @@ const struct SpriteTemplate gElectricPuffSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ELECTRICITY,
|
||||
.paletteTag = ANIM_TAG_ELECTRICITY,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_ElectricPuff,
|
||||
.anims = gAnims_ElectricPuff,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimElectricPuff,
|
||||
@ -376,7 +392,7 @@ const struct SpriteTemplate gVoltTackleOrbSlideSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.affineAnims = gAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimVoltTackleOrbSlide,
|
||||
};
|
||||
|
||||
@ -441,7 +457,7 @@ const struct SpriteTemplate gGrowingShockWaveOrbSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.affineAnims = gAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimGrowingShockWaveOrb,
|
||||
};
|
||||
|
||||
@ -463,7 +479,7 @@ const struct SpriteTemplate gFlashCannonGrayChargeTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.affineAnims = gAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimGrowingChargeOrb
|
||||
};
|
||||
|
||||
@ -499,7 +515,7 @@ const struct SpriteTemplate gSeedFlareGreenChargeTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.affineAnims = gAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimGrowingChargeOrb
|
||||
};
|
||||
|
||||
@ -560,7 +576,7 @@ static void sub_810A274(struct Sprite *sprite)
|
||||
sprite->callback = TranslateSpriteInCircleOverDuration;
|
||||
}
|
||||
|
||||
static void AnimSparkElectricity(struct Sprite *sprite)
|
||||
void AnimSparkElectricity(struct Sprite *sprite)
|
||||
{
|
||||
u8 battler;
|
||||
u32 matrixNum;
|
||||
@ -617,7 +633,7 @@ static void AnimSparkElectricity(struct Sprite *sprite)
|
||||
sprite->callback = DestroyAnimSpriteAfterTimer;
|
||||
}
|
||||
|
||||
static void AnimZapCannonSpark(struct Sprite *sprite)
|
||||
void AnimZapCannonSpark(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
@ -672,7 +688,7 @@ static void AnimThunderboltOrb(struct Sprite *sprite)
|
||||
sprite->callback = AnimThunderboltOrb_Step;
|
||||
}
|
||||
|
||||
static void AnimSparkElectricityFlashing(struct Sprite *sprite)
|
||||
void AnimSparkElectricityFlashing(struct Sprite *sprite)
|
||||
{
|
||||
u8 battler;
|
||||
|
||||
@ -822,13 +838,17 @@ static void AnimElectricBoltSegment(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// The horizontal bands of electricity used in Thunder Wave
|
||||
static void AnimThunderWave(struct Sprite *sprite)
|
||||
void AnimThunderWave(struct Sprite *sprite)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority);
|
||||
if (gAnimMoveIndex == MOVE_ANCHOR_SHOT)
|
||||
spriteId = CreateSprite(&gAnchorShotChainTemplate, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority);
|
||||
else
|
||||
spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority);
|
||||
|
||||
gSprites[spriteId].oam.tileNum += 8;
|
||||
gAnimVisualTaskCount++;
|
||||
gSprites[spriteId].callback = AnimThunderWave_Step;
|
||||
@ -884,7 +904,11 @@ static void AnimTask_ElectricChargingParticles_Step(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
task->data[12] = 0;
|
||||
spriteId = CreateSprite(&gElectricChargingParticlesSpriteTemplate, task->data[14], task->data[15], 2);
|
||||
if (gAnimMoveIndex == MOVE_FLASH_CANNON || gAnimMoveIndex == MOVE_STEEL_BEAM)
|
||||
spriteId = CreateSprite(&gLightOfRuinGrayChargeTemplate, task->data[14], task->data[15], 2);
|
||||
else
|
||||
spriteId = CreateSprite(&gElectricChargingParticlesSpriteTemplate, task->data[14], task->data[15], 2);
|
||||
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[spriteId];
|
||||
@ -936,7 +960,7 @@ static void AnimElectricChargingParticles(struct Sprite *sprite)
|
||||
sprite->callback = AnimElectricChargingParticles_Step;
|
||||
}
|
||||
|
||||
static void AnimGrowingChargeOrb(struct Sprite *sprite)
|
||||
void AnimGrowingChargeOrb(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
@ -954,7 +978,7 @@ static void AnimGrowingChargeOrb(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// The quick electric burst at the end of Charge / during the Volt Tackle hit
|
||||
static void AnimElectricPuff(struct Sprite *sprite)
|
||||
void AnimElectricPuff(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
{
|
||||
@ -1174,7 +1198,7 @@ static void AnimVoltTackleBolt(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimGrowingShockWaveOrb(struct Sprite *sprite)
|
||||
void AnimGrowingShockWaveOrb(struct Sprite *sprite)
|
||||
{
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
|
@ -8,21 +8,15 @@
|
||||
|
||||
static void unc_080B08A0(struct Sprite *);
|
||||
static void AnimSlideHandOrFootToTarget(struct Sprite *);
|
||||
static void AnimJumpKick(struct Sprite *);
|
||||
static void AnimBasicFistOrFoot(struct Sprite *);
|
||||
static void AnimFistOrFootRandomPos(struct Sprite *);
|
||||
static void AnimFistOrFootRandomPos_Step(struct Sprite *);
|
||||
static void AnimCrossChopHand(struct Sprite *);
|
||||
static void AnimCrossChopHand_Step(struct Sprite *);
|
||||
static void AnimSlidingKick(struct Sprite *);
|
||||
static void AnimSlidingKick_Step(struct Sprite *);
|
||||
static void AnimSpinningKickOrPunch(struct Sprite *);
|
||||
static void AnimStompFoot(struct Sprite *);
|
||||
static void AnimStompFoot_Step(struct Sprite *);
|
||||
static void AnimStompFoot_End(struct Sprite *);
|
||||
static void AnimDizzyPunchDuck(struct Sprite *);
|
||||
static void AnimBrickBreakWall(struct Sprite *);
|
||||
static void AnimBrickBreakWall_Step(struct Sprite *);
|
||||
static void AnimBrickBreakWallShard(struct Sprite *);
|
||||
static void AnimBrickBreakWallShard_Step(struct Sprite *);
|
||||
static void AnimSuperpowerOrb(struct Sprite *);
|
||||
@ -33,9 +27,7 @@ static void AnimSuperpowerRock_Step2(struct Sprite *);
|
||||
static void AnimSuperpowerFireball(struct Sprite *);
|
||||
static void AnimArmThrustHit(struct Sprite *);
|
||||
static void AnimArmThrustHit_Step(struct Sprite *sprite);
|
||||
static void AnimRevengeScratch(struct Sprite *);
|
||||
static void AnimFocusPunchFist(struct Sprite *);
|
||||
static void AnimSpinningKickOrPunchFinish(struct Sprite *);
|
||||
static void AnimForcePalm(struct Sprite *sprite);
|
||||
|
||||
extern struct SpriteTemplate gBasicHitSplatSpriteTemplate;
|
||||
@ -82,7 +74,7 @@ static const union AnimCmd sAnim_CrossChopHand_1[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_HandOrFoot[] =
|
||||
const union AnimCmd *const gAnims_HandOrFoot[] =
|
||||
{
|
||||
sAnim_HandOrFoot,
|
||||
};
|
||||
@ -104,7 +96,7 @@ const struct SpriteTemplate gKarateChopSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.anims = gAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSlideHandOrFootToTarget,
|
||||
@ -115,7 +107,7 @@ const struct SpriteTemplate gJumpKickSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.anims = gAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimJumpKick,
|
||||
@ -126,7 +118,7 @@ const struct SpriteTemplate gFistFootSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.anims = gAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimBasicFistOrFoot,
|
||||
@ -137,7 +129,7 @@ const struct SpriteTemplate gFistFootRandomPosSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.anims = gAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFistOrFootRandomPos,
|
||||
@ -172,7 +164,7 @@ static const union AffineAnimCmd sAffineAnim_SpinningHandOrFoot[] =
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_SpinningHandOrFoot[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_SpinningHandOrFoot[] =
|
||||
{
|
||||
sAffineAnim_SpinningHandOrFoot,
|
||||
};
|
||||
@ -183,9 +175,9 @@ const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.anims = gAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_SpinningHandOrFoot,
|
||||
.affineAnims = gAffineAnims_SpinningHandOrFoot,
|
||||
.callback = AnimSpinningKickOrPunch,
|
||||
};
|
||||
|
||||
@ -196,7 +188,7 @@ static const union AffineAnimCmd sAffineAnim_MegaPunchKick[] =
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_MegaPunchKick[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_MegaPunchKick[] =
|
||||
{
|
||||
sAffineAnim_MegaPunchKick,
|
||||
};
|
||||
@ -206,9 +198,9 @@ const struct SpriteTemplate gMegaPunchKickSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.anims = gAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_MegaPunchKick,
|
||||
.affineAnims = gAffineAnims_MegaPunchKick,
|
||||
.callback = AnimSpinningKickOrPunch,
|
||||
};
|
||||
|
||||
@ -308,7 +300,7 @@ const struct SpriteTemplate gArmThrustHandSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.anims = gAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimArmThrustHit,
|
||||
@ -377,7 +369,7 @@ static const union AnimCmd sAnim_RevengeBigScratch_2[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_RevengeBigScratch[] =
|
||||
const union AnimCmd *const gAnims_RevengeBigScratch[] =
|
||||
{
|
||||
sAnim_RevengeBigScratch_0,
|
||||
sAnim_RevengeBigScratch_1,
|
||||
@ -389,7 +381,7 @@ const struct SpriteTemplate gRevengeBigScratchSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_PURPLE_SWIPE,
|
||||
.paletteTag = ANIM_TAG_PURPLE_SWIPE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_64x64,
|
||||
.anims = sAnims_RevengeBigScratch,
|
||||
.anims = gAnims_RevengeBigScratch,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimRevengeScratch,
|
||||
@ -412,7 +404,7 @@ const struct SpriteTemplate gFocusPunchFistSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.anims = gAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_FocusPunchFist,
|
||||
.callback = AnimFocusPunchFist,
|
||||
@ -423,7 +415,7 @@ const struct SpriteTemplate gPalmSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
|
||||
.paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_HandOrFoot,
|
||||
.anims = gAnims_HandOrFoot,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimBasicFistOrFoot,
|
||||
@ -520,7 +512,7 @@ static void AnimSlideHandOrFootToTarget(struct Sprite *sprite)
|
||||
AnimTravelDiagonally(sprite);
|
||||
}
|
||||
|
||||
static void AnimJumpKick(struct Sprite *sprite)
|
||||
void AnimJumpKick(struct Sprite *sprite)
|
||||
{
|
||||
if (IsContest())
|
||||
{
|
||||
@ -538,7 +530,7 @@ static void AnimJumpKick(struct Sprite *sprite)
|
||||
// arg 2: duration
|
||||
// arg 3: ? (todo: related to initial pixel offsets)
|
||||
// arg 4: anim num
|
||||
static void AnimBasicFistOrFoot(struct Sprite *sprite)
|
||||
void AnimBasicFistOrFoot(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
|
||||
|
||||
@ -698,7 +690,7 @@ static void AnimSlidingKick_Step(struct Sprite *sprite)
|
||||
// arg 1: initial y pixel offset
|
||||
// arg 2: anim num
|
||||
// arg 3: spin duration
|
||||
static void AnimSpinningKickOrPunch(struct Sprite *sprite)
|
||||
void AnimSpinningKickOrPunch(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
|
||||
@ -708,7 +700,7 @@ static void AnimSpinningKickOrPunch(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, AnimSpinningKickOrPunchFinish);
|
||||
}
|
||||
|
||||
static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite)
|
||||
void AnimSpinningKickOrPunchFinish(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAffineAnim(sprite, 0);
|
||||
sprite->affineAnimPaused = 1;
|
||||
@ -722,7 +714,7 @@ static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite)
|
||||
// arg 0: initial x pixel offset
|
||||
// arg 1: initial y pixel offset
|
||||
// arg 2: initial wait duration
|
||||
static void AnimStompFoot(struct Sprite *sprite)
|
||||
void AnimStompFoot(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
@ -751,7 +743,7 @@ static void AnimStompFoot_End(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
static void AnimDizzyPunchDuck(struct Sprite *sprite)
|
||||
void AnimDizzyPunchDuck(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
@ -799,7 +791,7 @@ static void AnimBrickBreakWall(struct Sprite *sprite)
|
||||
sprite->callback = AnimBrickBreakWall_Step;
|
||||
}
|
||||
|
||||
static void AnimBrickBreakWall_Step(struct Sprite *sprite)
|
||||
void AnimBrickBreakWall_Step(struct Sprite *sprite)
|
||||
{
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
@ -1050,7 +1042,7 @@ static void AnimArmThrustHit(struct Sprite *sprite)
|
||||
sprite->callback = AnimArmThrustHit_Step;
|
||||
}
|
||||
|
||||
static void AnimRevengeScratch(struct Sprite *sprite)
|
||||
void AnimRevengeScratch(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[2] == ANIM_ATTACKER)
|
||||
InitSpritePosToAnimAttacker(sprite, 0);
|
||||
|
@ -8,7 +8,6 @@
|
||||
#include "trig.h"
|
||||
|
||||
static void AnimFireSpiralInward(struct Sprite *);
|
||||
static void AnimFireSpread(struct Sprite *);
|
||||
static void AnimFirePlume(struct Sprite *);
|
||||
static void AnimLargeFlame(struct Sprite *);
|
||||
static void sub_8109028(struct Sprite *);
|
||||
@ -23,7 +22,6 @@ static void AnimFireRing_Step2(struct Sprite *);
|
||||
static void AnimFireRing_Step3(struct Sprite *);
|
||||
static void UpdateFireRingCircleOffset(struct Sprite *);
|
||||
static void AnimFireCross(struct Sprite *);
|
||||
static void AnimFireSpiralOutward(struct Sprite *);
|
||||
static void AnimFireSpiralOutward_Step1(struct Sprite *);
|
||||
static void AnimFireSpiralOutward_Step2(struct Sprite *);
|
||||
static void AnimTask_EruptionLaunchRocks_Step(u8 taskId);
|
||||
@ -313,7 +311,7 @@ static const union AnimCmd sAnim_FireBlastCross[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_FireBlastCross[] =
|
||||
const union AnimCmd *const gAnims_FireBlastCross[] =
|
||||
{
|
||||
sAnim_FireBlastCross,
|
||||
};
|
||||
@ -342,7 +340,7 @@ const struct SpriteTemplate gFireBlastCrossSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_FireBlastCross,
|
||||
.anims = gAnims_FireBlastCross,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFireCross,
|
||||
@ -565,7 +563,7 @@ static void AnimFireSpiralInward(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// For the impact spread of fire sprites for moves like Blaze Kick or Fire Punch
|
||||
static void AnimFireSpread(struct Sprite *sprite)
|
||||
void AnimFireSpread(struct Sprite *sprite)
|
||||
{
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
|
||||
@ -824,7 +822,7 @@ static void AnimFireCross(struct Sprite *sprite)
|
||||
sprite->callback = TranslateSpriteLinear;
|
||||
}
|
||||
|
||||
static void AnimFireSpiralOutward(struct Sprite *sprite)
|
||||
void AnimFireSpiralOutward(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
|
||||
|
@ -12,10 +12,6 @@ static void AnimEllipticalGust(struct Sprite *);
|
||||
static void AnimEllipticalGust_Step(struct Sprite *);
|
||||
static void AnimGustToTarget(struct Sprite *);
|
||||
static void AnimGustToTarget_Step(struct Sprite *);
|
||||
static void AnimFlyBallUp(struct Sprite *);
|
||||
static void AnimFlyBallUp_Step(struct Sprite *);
|
||||
static void AnimFlyBallAttack(struct Sprite *);
|
||||
static void AnimFlyBallAttack_Step(struct Sprite *);
|
||||
static void AnimFallingFeather(struct Sprite *);
|
||||
static void sub_810E520(struct Sprite *);
|
||||
static void sub_810EB40(struct Sprite *);
|
||||
@ -104,7 +100,7 @@ static const union AffineAnimCmd sAffineAnim_FlyBallUp[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_FlyBallUp[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_FlyBallUp[] =
|
||||
{
|
||||
sAffineAnim_FlyBallUp,
|
||||
};
|
||||
@ -121,7 +117,7 @@ static const union AffineAnimCmd sAffineAnim_FlyBallAttack_1[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_FlyBallAttack[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_FlyBallAttack[] =
|
||||
{
|
||||
sAffineAnim_FlyBallAttack_0,
|
||||
sAffineAnim_FlyBallAttack_1,
|
||||
@ -134,7 +130,7 @@ const struct SpriteTemplate gFlyBallUpSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_FlyBallUp,
|
||||
.affineAnims = gAffineAnims_FlyBallUp,
|
||||
.callback = AnimFlyBallUp,
|
||||
};
|
||||
|
||||
@ -145,7 +141,7 @@ const struct SpriteTemplate gFlyBallAttackSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_FlyBallAttack,
|
||||
.affineAnims = gAffineAnims_FlyBallAttack,
|
||||
.callback = AnimFlyBallAttack,
|
||||
};
|
||||
|
||||
@ -464,7 +460,7 @@ void AnimAirWaveCrescent(struct Sprite *sprite)
|
||||
SeekSpriteAnim(sprite, gBattleAnimArgs[5]);
|
||||
}
|
||||
|
||||
static void AnimFlyBallUp(struct Sprite *sprite)
|
||||
void AnimFlyBallUp(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
@ -473,7 +469,7 @@ static void AnimFlyBallUp(struct Sprite *sprite)
|
||||
gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE;
|
||||
}
|
||||
|
||||
static void AnimFlyBallUp_Step(struct Sprite *sprite)
|
||||
void AnimFlyBallUp_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] > 0)
|
||||
{
|
||||
@ -489,7 +485,7 @@ static void AnimFlyBallUp_Step(struct Sprite *sprite)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
static void AnimFlyBallAttack(struct Sprite *sprite)
|
||||
void AnimFlyBallAttack(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
@ -514,7 +510,7 @@ static void AnimFlyBallAttack(struct Sprite *sprite)
|
||||
sprite->callback = AnimFlyBallAttack_Step;
|
||||
}
|
||||
|
||||
static void AnimFlyBallAttack_Step(struct Sprite *sprite)
|
||||
void AnimFlyBallAttack_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 1;
|
||||
AnimTranslateLinear(sprite);
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "sound.h"
|
||||
#include "trig.h"
|
||||
#include "util.h"
|
||||
#include "constants/moves.h"
|
||||
|
||||
static void AnimConfuseRayBallBounce(struct Sprite *);
|
||||
static void AnimConfuseRayBallBounce_Step1(struct Sprite *);
|
||||
@ -18,7 +19,6 @@ static void AnimConfuseRayBallSpiral(struct Sprite *);
|
||||
static void AnimConfuseRayBallSpiral_Step(struct Sprite *);
|
||||
static void AnimTask_NightShadeClone_Step1(u8 taskId);
|
||||
static void AnimTask_NightShadeClone_Step2(u8 taskId);
|
||||
static void AnimShadowBall(struct Sprite *);
|
||||
static void AnimShadowBall_Step(struct Sprite *);
|
||||
static void AnimLick(struct Sprite *);
|
||||
static void AnimLick_Step(struct Sprite *);
|
||||
@ -36,7 +36,6 @@ static void AnimCurseNail_Step1(struct Sprite *);
|
||||
static void AnimCurseNail_Step2(struct Sprite *);
|
||||
static void AnimCurseNail_End(struct Sprite *);
|
||||
static void AnimGhostStatusSprite_Step(struct Sprite *);
|
||||
static void AnimTask_GrudgeFlames_Step(u8 taskId);
|
||||
static void AnimGrudgeFlame(struct Sprite *);
|
||||
static void sub_8112F60(struct Sprite *);
|
||||
static void sub_8112FB8(struct Sprite *);
|
||||
@ -81,7 +80,7 @@ static const union AffineAnimCmd sAffineAnim_ShadowBall[] =
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_ShadowBall[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_ShadowBall[] =
|
||||
{
|
||||
sAffineAnim_ShadowBall,
|
||||
};
|
||||
@ -93,7 +92,7 @@ const struct SpriteTemplate gShadowBallSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_ShadowBall,
|
||||
.affineAnims = gAffineAnims_ShadowBall,
|
||||
.callback = AnimShadowBall,
|
||||
};
|
||||
|
||||
@ -104,7 +103,7 @@ const struct SpriteTemplate gEnergyBallSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_ShadowBall,
|
||||
.affineAnims = gAffineAnims_ShadowBall,
|
||||
.callback = AnimShadowBall,
|
||||
};
|
||||
|
||||
@ -179,6 +178,17 @@ const struct SpriteTemplate gDestinyBondWhiteShadowSpriteTemplate =
|
||||
.callback = AnimDestinyBondWhiteShadow,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gDarkVoidBlackHoleTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_WHITE_SHADOW,
|
||||
.paletteTag = ANIM_TAG_QUICK_GUARD_HAND,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_64x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimDestinyBondWhiteShadow
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gCurseNailSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_NAIL,
|
||||
@ -256,7 +266,7 @@ const struct SpriteTemplate gFlashCannonBallMovementTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_ShadowBall,
|
||||
.affineAnims = gAffineAnims_ShadowBall,
|
||||
.callback = AnimShadowBall
|
||||
};
|
||||
|
||||
@ -443,7 +453,7 @@ static void AnimTask_NightShadeClone_Step2(u8 taskId)
|
||||
// arg 0: duration step 1 (attacker -> center)
|
||||
// arg 1: duration step 2 (spin center)
|
||||
// arg 2: duration step 3 (center -> target)
|
||||
static void AnimShadowBall(struct Sprite *sprite)
|
||||
void AnimShadowBall(struct Sprite *sprite)
|
||||
{
|
||||
s16 oldPosX = sprite->pos1.x;
|
||||
s16 oldPosY = sprite->pos1.y;
|
||||
@ -865,7 +875,11 @@ void AnimTask_DestinyBondWhiteShadow(u8 taskId)
|
||||
&& battler != (gBattleAnimAttacker ^ 2)
|
||||
&& IsBattlerSpriteVisible(battler))
|
||||
{
|
||||
spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55);
|
||||
if (gAnimMoveIndex == MOVE_DARK_VOID)
|
||||
spriteId = CreateSprite(&gDarkVoidBlackHoleTemplate, baseX, baseY, 55); //dark void
|
||||
else
|
||||
spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55); //destiny bond
|
||||
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
x = GetBattlerSpriteCoord(battler, 2);
|
||||
@ -887,7 +901,11 @@ void AnimTask_DestinyBondWhiteShadow(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55);
|
||||
if (gAnimMoveIndex == MOVE_DARK_VOID)
|
||||
spriteId = CreateSprite(&gDarkVoidBlackHoleTemplate, baseX, baseY, 55); //dark void
|
||||
else
|
||||
spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55); //destiny bond
|
||||
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
x = 48;
|
||||
@ -1237,7 +1255,7 @@ void AnimTask_GrudgeFlames(u8 taskId)
|
||||
task->func = AnimTask_GrudgeFlames_Step;
|
||||
}
|
||||
|
||||
static void AnimTask_GrudgeFlames_Step(u8 taskId)
|
||||
void AnimTask_GrudgeFlames_Step(u8 taskId)
|
||||
{
|
||||
u16 i;
|
||||
u8 spriteId;
|
||||
|
@ -8,14 +8,11 @@
|
||||
|
||||
static void AnimBonemerangProjectile(struct Sprite *);
|
||||
static void AnimBoneHitProjectile(struct Sprite *);
|
||||
static void AnimDirtScatter(struct Sprite *);
|
||||
static void AnimMudSportDirt(struct Sprite *);
|
||||
static void AnimDirtPlumeParticle(struct Sprite *);
|
||||
static void AnimDirtPlumeParticle_Step(struct Sprite *);
|
||||
static void AnimDigDirtMound(struct Sprite *);
|
||||
static void AnimBonemerangProjectile_Step(struct Sprite *);
|
||||
static void AnimBonemerangProjectile_End(struct Sprite *);
|
||||
static void AnimMudSportDirtRising(struct Sprite *);
|
||||
static void AnimMudSportDirtFalling(struct Sprite *);
|
||||
static void AnimTask_DigBounceMovement(u8);
|
||||
static void AnimTask_DigEndBounceMovementSetInvisible(u8);
|
||||
@ -44,7 +41,7 @@ static const union AffineAnimCmd *const sAffineAnims_Bonemerang[] =
|
||||
sAffineAnim_Bonemerang,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_SpinningBone[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_SpinningBone[] =
|
||||
{
|
||||
sAffineAnim_SpinningBone,
|
||||
};
|
||||
@ -67,7 +64,7 @@ const struct SpriteTemplate gSpinningBoneSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_SpinningBone,
|
||||
.affineAnims = gAffineAnims_SpinningBone,
|
||||
.callback = AnimBoneHitProjectile,
|
||||
};
|
||||
|
||||
@ -222,7 +219,7 @@ static void AnimBoneHitProjectile(struct Sprite *sprite)
|
||||
// arg 2: duration
|
||||
// arg 3: target x pixel offset
|
||||
// arg 4: target y pixel offset
|
||||
static void AnimDirtScatter(struct Sprite *sprite)
|
||||
void AnimDirtScatter(struct Sprite *sprite)
|
||||
{
|
||||
u8 targetXPos, targetYPos;
|
||||
s16 xOffset, yOffset;
|
||||
@ -251,7 +248,7 @@ static void AnimDirtScatter(struct Sprite *sprite)
|
||||
// arg 0: 0 = dirt is rising into the air, 1 = dirt is falling down
|
||||
// arg 1: initial x pixel offset
|
||||
// arg 2: initial y pixel offset
|
||||
static void AnimMudSportDirt(struct Sprite *sprite)
|
||||
void AnimMudSportDirt(struct Sprite *sprite)
|
||||
{
|
||||
sprite->oam.tileNum++;
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
@ -270,7 +267,7 @@ static void AnimMudSportDirt(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimMudSportDirtRising(struct Sprite *sprite)
|
||||
void AnimMudSportDirtRising(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[1] > 1)
|
||||
{
|
||||
|
@ -24,18 +24,14 @@ static void sub_810B6C4(struct Sprite *);
|
||||
static void sub_810B848(struct Sprite *);
|
||||
static void AnimIcePunchSwirlingParticle(struct Sprite *);
|
||||
static void AnimIceBeamParticle(struct Sprite *);
|
||||
static void AnimIceEffectParticle(struct Sprite *);
|
||||
static void AnimFlickerIceEffectParticle(struct Sprite *);
|
||||
static void AnimSwirlingSnowball(struct Sprite *);
|
||||
static void AnimSwirlingSnowball_Step1(struct Sprite *);
|
||||
static void AnimSwirlingSnowball_Step2(struct Sprite *);
|
||||
static void AnimSwirlingSnowball_End(struct Sprite *);
|
||||
static void AnimMoveParticleBeyondTarget(struct Sprite *);
|
||||
static void AnimWiggleParticleTowardsTarget(struct Sprite *);
|
||||
static void AnimWaveFromCenterOfTarget(struct Sprite *);
|
||||
static void InitSwirlingFogAnim(struct Sprite *);
|
||||
static void AnimSwirlingFogAnim(struct Sprite *);
|
||||
static void AnimThrowMistBall(struct Sprite *);
|
||||
static void InitPoisonGasCloudAnim(struct Sprite *);
|
||||
static void MovePoisonGasCloud(struct Sprite *);
|
||||
static void AnimHailBegin(struct Sprite *);
|
||||
@ -118,7 +114,7 @@ static const union AnimCmd *const gUnknown_08595AA4[] =
|
||||
gUnknown_08595A70,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_IceCrystalLarge[] =
|
||||
const union AnimCmd *const gAnims_IceCrystalLarge[] =
|
||||
{
|
||||
sAnim_IceCrystalLarge,
|
||||
};
|
||||
@ -128,12 +124,12 @@ static const union AnimCmd *const sAnims_IceCrystalSmall[] =
|
||||
sAnim_IceCrystalSmall,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_Snowball[] =
|
||||
const union AnimCmd *const gAnims_Snowball[] =
|
||||
{
|
||||
sAnim_Snowball,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_BlizzardIceCrystal[] =
|
||||
const union AnimCmd *const gAnims_BlizzardIceCrystal[] =
|
||||
{
|
||||
sAnim_BlizzardIceCrystal,
|
||||
};
|
||||
@ -159,7 +155,7 @@ const struct SpriteTemplate gIceCrystalSpiralInwardLarge =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_8x16,
|
||||
.anims = sAnims_IceCrystalLarge,
|
||||
.anims = gAnims_IceCrystalLarge,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_IceCrystalSpiralInwardLarge,
|
||||
.callback = AnimIcePunchSwirlingParticle,
|
||||
@ -192,7 +188,7 @@ const struct SpriteTemplate gIceBeamInnerCrystalSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_8x16,
|
||||
.anims = sAnims_IceCrystalLarge,
|
||||
.anims = gAnims_IceCrystalLarge,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_IceBeamInnerCrystal,
|
||||
.callback = AnimIceBeamParticle,
|
||||
@ -217,7 +213,7 @@ static const union AffineAnimCmd sAffineAnim_IceCrystalHit[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_IceCrystalHit[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_IceCrystalHit[] =
|
||||
{
|
||||
sAffineAnim_IceCrystalHit,
|
||||
};
|
||||
@ -227,9 +223,9 @@ const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_8x16,
|
||||
.anims = sAnims_IceCrystalLarge,
|
||||
.anims = gAnims_IceCrystalLarge,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_IceCrystalHit,
|
||||
.affineAnims = gAffineAnims_IceCrystalHit,
|
||||
.callback = AnimIceEffectParticle,
|
||||
};
|
||||
|
||||
@ -240,7 +236,7 @@ const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_8x8,
|
||||
.anims = sAnims_IceCrystalSmall,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_IceCrystalHit,
|
||||
.affineAnims = gAffineAnims_IceCrystalHit,
|
||||
.callback = AnimIceEffectParticle,
|
||||
};
|
||||
|
||||
@ -249,7 +245,7 @@ const struct SpriteTemplate gSwirlingSnowballSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = sAnims_Snowball,
|
||||
.anims = gAnims_Snowball,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSwirlingSnowball,
|
||||
@ -260,7 +256,7 @@ const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = sAnims_BlizzardIceCrystal,
|
||||
.anims = gAnims_BlizzardIceCrystal,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimMoveParticleBeyondTarget,
|
||||
@ -271,7 +267,7 @@ const struct SpriteTemplate gPowderSnowSnowballSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = sAnims_Snowball,
|
||||
.anims = gAnims_Snowball,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimMoveParticleBeyondTarget,
|
||||
@ -458,7 +454,7 @@ static const union AnimCmd sAnim_IceBallChunk_1[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_IceBallChunk[] =
|
||||
const union AnimCmd *const gAnims_IceBallChunk[] =
|
||||
{
|
||||
sAnim_IceBallChunk_0,
|
||||
sAnim_IceBallChunk_1,
|
||||
@ -508,7 +504,7 @@ const struct SpriteTemplate gIceBallChunkSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_ICE_CHUNK,
|
||||
.paletteTag = ANIM_TAG_ICE_CHUNK,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_IceBallChunk,
|
||||
.anims = gAnims_IceBallChunk,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_IceBallChunk,
|
||||
.callback = InitIceBallAnim,
|
||||
@ -568,7 +564,7 @@ const struct SpriteTemplate gChatterSingNotesTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = gMusicNotesAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_IceCrystalHit,
|
||||
.affineAnims = gAffineAnims_IceCrystalHit,
|
||||
.callback = AnimIceEffectParticle
|
||||
};
|
||||
|
||||
@ -710,7 +706,7 @@ static void AnimIceBeamParticle(struct Sprite *sprite)
|
||||
// arg 0: target x offset
|
||||
// arg 1: target y offset
|
||||
// arg 2: ??? unknown boolean
|
||||
static void AnimIceEffectParticle(struct Sprite *sprite)
|
||||
void AnimIceEffectParticle(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[2] == 0)
|
||||
{
|
||||
@ -801,7 +797,7 @@ static void AnimSwirlingSnowball(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, AnimSwirlingSnowball_Step1);
|
||||
}
|
||||
|
||||
static void AnimSwirlingSnowball_Step1(struct Sprite *sprite)
|
||||
void AnimSwirlingSnowball_Step1(struct Sprite *sprite)
|
||||
{
|
||||
s16 tempVar;
|
||||
|
||||
@ -865,7 +861,7 @@ static void AnimSwirlingSnowball_End(struct Sprite *sprite)
|
||||
// arg 5: wave amplitude
|
||||
// arg 6: wave frequency
|
||||
// arg 7: multiple targets? (boolean)
|
||||
static void AnimMoveParticleBeyondTarget(struct Sprite *sprite)
|
||||
void AnimMoveParticleBeyondTarget(struct Sprite *sprite)
|
||||
{
|
||||
int i;
|
||||
s16 tempDataHolder[8];
|
||||
@ -1167,7 +1163,7 @@ static void AnimTask_Haze2(u8 taskId)
|
||||
// arg 3: target y offset
|
||||
// arg 4: duration
|
||||
// arg 5: ??? unknown (seems to vibrate target mon somehow)
|
||||
static void AnimThrowMistBall(struct Sprite *sprite)
|
||||
void AnimThrowMistBall(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
|
4994
src/battle_anim_new.c
Normal file
4994
src/battle_anim_new.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -16,14 +16,8 @@ static void sub_81159B4(struct Sprite *);
|
||||
static void AnimShakeMonOrBattleTerrain(struct Sprite *);
|
||||
static void AnimShakeMonOrBattleTerrain_Step(struct Sprite *);
|
||||
static void AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(void);
|
||||
static void AnimHitSplatBasic(struct Sprite *);
|
||||
static void AnimHitSplatPersistent(struct Sprite *);
|
||||
static void AnimHitSplatHandleInvert(struct Sprite *);
|
||||
static void AnimHitSplatRandom(struct Sprite *);
|
||||
static void AnimHitSplatOnMonEdge(struct Sprite *);
|
||||
static void AnimCrossImpact(struct Sprite *);
|
||||
static void AnimFlashingHitSplat(struct Sprite *);
|
||||
static void AnimFlashingHitSplat_Step(struct Sprite *);
|
||||
static void AnimConfusionDuck_Step(struct Sprite *);
|
||||
static void BlendColorCycle(u8, u8, u8);
|
||||
static void AnimTask_BlendColorCycleLoop(u8);
|
||||
@ -215,7 +209,7 @@ static const union AffineAnimCmd sAffineAnim_HitSplat_3[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_HitSplat[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_HitSplat[] =
|
||||
{
|
||||
sAffineAnim_HitSplat_0,
|
||||
sAffineAnim_HitSplat_1,
|
||||
@ -230,7 +224,7 @@ const struct SpriteTemplate gBasicHitSplatSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_HitSplat,
|
||||
.affineAnims = gAffineAnims_HitSplat,
|
||||
.callback = AnimHitSplatBasic,
|
||||
};
|
||||
|
||||
@ -241,7 +235,7 @@ const struct SpriteTemplate gHandleInvertHitSplatSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_HitSplat,
|
||||
.affineAnims = gAffineAnims_HitSplat,
|
||||
.callback = AnimHitSplatHandleInvert,
|
||||
};
|
||||
|
||||
@ -252,7 +246,7 @@ const struct SpriteTemplate gWaterHitSplatSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_HitSplat,
|
||||
.affineAnims = gAffineAnims_HitSplat,
|
||||
.callback = AnimHitSplatBasic,
|
||||
};
|
||||
|
||||
@ -263,7 +257,7 @@ const struct SpriteTemplate gRandomPosHitSplatSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_HitSplat,
|
||||
.affineAnims = gAffineAnims_HitSplat,
|
||||
.callback = AnimHitSplatRandom,
|
||||
};
|
||||
|
||||
@ -274,7 +268,7 @@ const struct SpriteTemplate gMonEdgeHitSplatSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_HitSplat,
|
||||
.affineAnims = gAffineAnims_HitSplat,
|
||||
.callback = AnimHitSplatOnMonEdge,
|
||||
};
|
||||
|
||||
@ -296,7 +290,7 @@ const struct SpriteTemplate gFlashingHitSplatSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_HitSplat,
|
||||
.affineAnims = gAffineAnims_HitSplat,
|
||||
.callback = AnimFlashingHitSplat,
|
||||
};
|
||||
|
||||
@ -307,7 +301,7 @@ const struct SpriteTemplate gPersistHitSplatSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_HitSplat,
|
||||
.affineAnims = gAffineAnims_HitSplat,
|
||||
.callback = AnimHitSplatPersistent,
|
||||
};
|
||||
|
||||
@ -1015,7 +1009,7 @@ static void AnimTask_ShakeBattleTerrain_Step(u8 taskId)
|
||||
#undef tTimer
|
||||
#undef tShakeDelay
|
||||
|
||||
static void AnimHitSplatBasic(struct Sprite *sprite)
|
||||
void AnimHitSplatBasic(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
|
||||
if (gBattleAnimArgs[2] == ANIM_ATTACKER)
|
||||
@ -1051,7 +1045,7 @@ static void AnimHitSplatHandleInvert(struct Sprite *sprite)
|
||||
AnimHitSplatBasic(sprite);
|
||||
}
|
||||
|
||||
static void AnimHitSplatRandom(struct Sprite *sprite)
|
||||
void AnimHitSplatRandom(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[1] == -1)
|
||||
gBattleAnimArgs[1] = Random2() & 3;
|
||||
@ -1069,7 +1063,7 @@ static void AnimHitSplatRandom(struct Sprite *sprite)
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
}
|
||||
|
||||
static void AnimHitSplatOnMonEdge(struct Sprite *sprite)
|
||||
void AnimHitSplatOnMonEdge(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
|
||||
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x;
|
||||
@ -1081,7 +1075,7 @@ static void AnimHitSplatOnMonEdge(struct Sprite *sprite)
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
}
|
||||
|
||||
static void AnimCrossImpact(struct Sprite *sprite)
|
||||
void AnimCrossImpact(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[2] == ANIM_ATTACKER)
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
@ -1093,7 +1087,7 @@ static void AnimCrossImpact(struct Sprite *sprite)
|
||||
sprite->callback = WaitAnimForDuration;
|
||||
}
|
||||
|
||||
static void AnimFlashingHitSplat(struct Sprite *sprite)
|
||||
void AnimFlashingHitSplat(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
|
||||
if (gBattleAnimArgs[2] == ANIM_ATTACKER)
|
||||
@ -1104,7 +1098,7 @@ static void AnimFlashingHitSplat(struct Sprite *sprite)
|
||||
sprite->callback = AnimFlashingHitSplat_Step;
|
||||
}
|
||||
|
||||
static void AnimFlashingHitSplat_Step(struct Sprite *sprite)
|
||||
void AnimFlashingHitSplat_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->invisible ^= 1;
|
||||
if (sprite->data[0]++ > 12)
|
||||
|
@ -6,7 +6,6 @@
|
||||
static void AnimSludgeProjectile(struct Sprite *);
|
||||
static void AnimSludgeProjectile_Step(struct Sprite *);
|
||||
static void AnimAcidPoisonBubble(struct Sprite *);
|
||||
static void AnimAcidPoisonBubble_Step(struct Sprite *);
|
||||
static void AnimSludgeBombHitParticle_Step(struct Sprite *);
|
||||
static void AnimAcidPoisonDroplet(struct Sprite *);
|
||||
static void AnimBubbleEffect(struct Sprite *);
|
||||
@ -60,12 +59,12 @@ static const union AnimCmd sAnim_SludgeBombHit[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_PoisonProjectile[] =
|
||||
const union AnimCmd *const gAnims_PoisonProjectile[] =
|
||||
{
|
||||
sAnim_PoisonProjectile,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_AcidPoisonDroplet[] =
|
||||
const union AnimCmd *const gAnims_AcidPoisonDroplet[] =
|
||||
{
|
||||
sAnim_AcidPoisonDroplet,
|
||||
};
|
||||
@ -104,7 +103,7 @@ const struct SpriteTemplate gSludgeProjectileSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = sAnims_PoisonProjectile,
|
||||
.anims = gAnims_PoisonProjectile,
|
||||
.images = NULL,
|
||||
.affineAnims = gAffineAnims_PoisonProjectile,
|
||||
.callback = AnimSludgeProjectile,
|
||||
@ -115,7 +114,7 @@ const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = sAnims_PoisonProjectile,
|
||||
.anims = gAnims_PoisonProjectile,
|
||||
.images = NULL,
|
||||
.affineAnims = gAffineAnims_PoisonProjectile,
|
||||
.callback = AnimAcidPoisonBubble,
|
||||
@ -149,7 +148,7 @@ const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = sAnims_AcidPoisonDroplet,
|
||||
.anims = gAnims_AcidPoisonDroplet,
|
||||
.images = NULL,
|
||||
.affineAnims = gAffineAnims_Droplet,
|
||||
.callback = AnimAcidPoisonDroplet,
|
||||
@ -172,7 +171,7 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = sAnims_PoisonProjectile,
|
||||
.anims = gAnims_PoisonProjectile,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_Bubble,
|
||||
.callback = AnimBubbleEffect,
|
||||
@ -194,7 +193,7 @@ const struct SpriteTemplate gGreenPoisonDrip =
|
||||
.tileTag = ANIM_TAG_GREEN_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_GREEN_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = sAnims_AcidPoisonDroplet,
|
||||
.anims = gAnims_AcidPoisonDroplet,
|
||||
.images = NULL,
|
||||
.affineAnims = gAffineAnims_Droplet,
|
||||
.callback = AnimAcidPoisonDroplet,
|
||||
@ -205,7 +204,7 @@ const struct SpriteTemplate gGreenPoisonBubble =
|
||||
.tileTag = ANIM_TAG_GREEN_POISON_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_GREEN_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = sAnims_PoisonProjectile,
|
||||
.anims = gAnims_PoisonProjectile,
|
||||
.images = NULL,
|
||||
.affineAnims = gAffineAnims_PoisonProjectile,
|
||||
.callback = AnimAcidPoisonBubble,
|
||||
@ -445,7 +444,7 @@ static void AnimAcidPoisonBubble(struct Sprite *sprite)
|
||||
sprite->callback = AnimAcidPoisonBubble_Step;
|
||||
}
|
||||
|
||||
static void AnimAcidPoisonBubble_Step(struct Sprite *sprite)
|
||||
void AnimAcidPoisonBubble_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (TranslateAnimHorizontalArc(sprite))
|
||||
DestroyAnimSprite(sprite);
|
||||
|
@ -21,7 +21,6 @@ static void AnimQuestionMark_Step1(struct Sprite *);
|
||||
static void AnimQuestionMark_Step2(struct Sprite *);
|
||||
static void AnimRedX(struct Sprite *);
|
||||
static void AnimSkillSwapOrb(struct Sprite *);
|
||||
static void AnimPsychoBoost(struct Sprite *);
|
||||
static void AnimTask_MeditateStretchAttacker_Step(u8);
|
||||
static void AnimTask_Teleport_Step(u8);
|
||||
static void AnimTask_ImprisonOrbs_Step(u8);
|
||||
@ -404,7 +403,7 @@ static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_1[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_PsychoBoostOrb[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_PsychoBoostOrb[] =
|
||||
{
|
||||
sAffineAnim_PsychoBoostOrb_0,
|
||||
sAffineAnim_PsychoBoostOrb_1,
|
||||
@ -417,7 +416,7 @@ const struct SpriteTemplate gPsychoBoostOrbSpriteTemplate =
|
||||
.oam = &gOamData_AffineDouble_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_PsychoBoostOrb,
|
||||
.affineAnims = gAffineAnims_PsychoBoostOrb,
|
||||
.callback = AnimPsychoBoost,
|
||||
};
|
||||
|
||||
@ -1236,7 +1235,7 @@ static void AnimTask_TransparentCloneGrowAndShrink_Step(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimPsychoBoost(struct Sprite *sprite)
|
||||
void AnimPsychoBoost(struct Sprite *sprite)
|
||||
{
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
|
@ -9,11 +9,7 @@
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
static void AnimFallingRock(struct Sprite *);
|
||||
static void AnimFallingRock_Step(struct Sprite *);
|
||||
static void AnimRockFragment(struct Sprite *);
|
||||
static void AnimFlyingSandCrescent(struct Sprite *);
|
||||
static void AnimRaiseSprite(struct Sprite *);
|
||||
static void AnimTask_Rollout_Step(u8 taskId);
|
||||
static void AnimRolloutParticle(struct Sprite *);
|
||||
static void AnimRockTomb(struct Sprite *);
|
||||
@ -21,7 +17,6 @@ static void AnimRockTomb_Step(struct Sprite *sprite);
|
||||
static void AnimRockBlastRock(struct Sprite *);
|
||||
static void AnimRockScatter(struct Sprite *);
|
||||
static void AnimRockScatter_Step(struct Sprite *sprite);
|
||||
static void AnimParticleInVortex(struct Sprite *);
|
||||
static void AnimParticleInVortex_Step(struct Sprite *sprite);
|
||||
static void AnimTask_LoadSandstormBackground_Step(u8 taskId);
|
||||
static void sub_8111214(struct Task *task);
|
||||
@ -96,7 +91,7 @@ static const union AffineAnimCmd sAffineAnim_Whirlpool[] =
|
||||
AFFINEANIMCMD_JUMP(1),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_Whirlpool[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_Whirlpool[] =
|
||||
{
|
||||
sAffineAnim_Whirlpool,
|
||||
};
|
||||
@ -108,7 +103,7 @@ const struct SpriteTemplate gWhirlpoolSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||
.anims = gAnims_WaterMudOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_Whirlpool,
|
||||
.affineAnims = gAffineAnims_Whirlpool,
|
||||
.callback = AnimParticleInVortex,
|
||||
};
|
||||
|
||||
@ -255,7 +250,7 @@ static const union AffineAnimCmd sAffineAnim_BasicRock_1[] =
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnims_BasicRock[] =
|
||||
const union AffineAnimCmd *const gAffineAnims_BasicRock[] =
|
||||
{
|
||||
sAffineAnim_BasicRock_0,
|
||||
sAffineAnim_BasicRock_1,
|
||||
@ -268,7 +263,7 @@ const struct SpriteTemplate gRockBlastRockSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = sAnims_BasicRock,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_BasicRock,
|
||||
.affineAnims = gAffineAnims_BasicRock,
|
||||
.callback = AnimRockBlastRock,
|
||||
};
|
||||
|
||||
@ -279,7 +274,7 @@ const struct SpriteTemplate gRockScatterSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = sAnims_BasicRock,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_BasicRock,
|
||||
.affineAnims = gAffineAnims_BasicRock,
|
||||
.callback = AnimRockScatter,
|
||||
};
|
||||
|
||||
@ -290,7 +285,7 @@ const struct SpriteTemplate gTwisterRockSpriteTemplate =
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_TwisterRock,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_BasicRock,
|
||||
.affineAnims = gAffineAnims_BasicRock,
|
||||
.callback = AnimMoveTwisterParticle,
|
||||
};
|
||||
|
||||
@ -301,7 +296,7 @@ const struct SpriteTemplate gWeatherBallRockDownSpriteTemplate =
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = sAnims_WeatherBallRockDown,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_BasicRock,
|
||||
.affineAnims = gAffineAnims_BasicRock,
|
||||
.callback = AnimWeatherBallDown,
|
||||
};
|
||||
|
||||
@ -404,7 +399,7 @@ static void AnimStealthRockStep2(struct Sprite *sprite)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
static void AnimFallingRock(struct Sprite *sprite)
|
||||
void AnimFallingRock(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[3] != 0)
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
@ -427,7 +422,7 @@ static void AnimFallingRock(struct Sprite *sprite)
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
|
||||
static void AnimFallingRock_Step(struct Sprite *sprite)
|
||||
void AnimFallingRock_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->data[5];
|
||||
|
||||
@ -470,7 +465,7 @@ static void AnimRockFragment(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// Swirls particle in vortex. Used for moves like Fire Spin or Sand Tomb
|
||||
static void AnimParticleInVortex(struct Sprite *sprite)
|
||||
void AnimParticleInVortex(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[6] == ANIM_ATTACKER)
|
||||
InitSpritePosToAnimAttacker(sprite, 0);
|
||||
@ -600,7 +595,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 AnimFlyingSandCrescent(struct Sprite *sprite)
|
||||
void AnimFlyingSandCrescent(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
@ -651,7 +646,7 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite)
|
||||
// arg 2: terminal y offset
|
||||
// arg 3: duration
|
||||
// arg 4: sprite size [1,5]
|
||||
static void AnimRaiseSprite(struct Sprite *sprite)
|
||||
void AnimRaiseSprite(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
|
||||
InitSpritePosToAnimAttacker(sprite, 0);
|
||||
|
@ -29,7 +29,6 @@ static void AnimHydroCannonCharge(struct Sprite *);
|
||||
static void AnimHydroCannonCharge_Step(struct Sprite *);
|
||||
static void AnimHydroCannonBeam(struct Sprite *);
|
||||
static void AnimWaterGunDroplet(struct Sprite *);
|
||||
static void AnimSmallBubblePair(struct Sprite *);
|
||||
static void AnimSmallBubblePair_Step(struct Sprite *);
|
||||
static void AnimSmallDriftingBubbles(struct Sprite *);
|
||||
static void AnimSmallDriftingBubbles_Step(struct Sprite *);
|
||||
@ -38,7 +37,6 @@ 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 AnimWaterPulseRingBubble(struct Sprite *);
|
||||
static void AnimWaterPulseRing_Step(struct Sprite *);
|
||||
@ -111,7 +109,7 @@ static const union AnimCmd sAnim_WaterBubbleProjectile[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_WaterBubbleProjectile[] =
|
||||
const union AnimCmd *const gAnims_WaterBubbleProjectile[] =
|
||||
{
|
||||
sAnim_WaterBubbleProjectile,
|
||||
};
|
||||
@ -121,7 +119,7 @@ const struct SpriteTemplate gWaterBubbleProjectileSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_BUBBLE,
|
||||
.paletteTag = ANIM_TAG_BUBBLE,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||
.anims = sAnims_WaterBubbleProjectile,
|
||||
.anims = gAnims_WaterBubbleProjectile,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_WaterBubbleProjectile,
|
||||
.callback = AnimWaterBubbleProjectile,
|
||||
@ -245,7 +243,7 @@ static const union AnimCmd sAnim_FlamethrowerFlame[] =
|
||||
ANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_FlamethrowerFlame[] =
|
||||
const union AnimCmd *const gAnims_FlamethrowerFlame[] =
|
||||
{
|
||||
sAnim_FlamethrowerFlame,
|
||||
};
|
||||
@ -255,7 +253,7 @@ const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_FlamethrowerFlame,
|
||||
.anims = gAnims_FlamethrowerFlame,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimToTargetInSinWave,
|
||||
@ -266,7 +264,7 @@ const struct SpriteTemplate gFirePledgeSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_FlamethrowerFlame,
|
||||
.anims = gAnims_FlamethrowerFlame,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFlyUpTarget,
|
||||
@ -425,7 +423,7 @@ static const union AnimCmd sAnim_WeatherBallWaterDown[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnims_WaterPulseBubble[] =
|
||||
const union AnimCmd *const gAnims_WaterPulseBubble[] =
|
||||
{
|
||||
sAnim_WaterPulseBubble_0,
|
||||
sAnim_WaterPulseBubble_1,
|
||||
@ -473,7 +471,7 @@ const struct SpriteTemplate gWaterPulseBubbleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = sAnims_WaterPulseBubble,
|
||||
.anims = gAnims_WaterPulseBubble,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWaterPulseBubble,
|
||||
@ -484,7 +482,7 @@ const struct SpriteTemplate gWaterPulseRingBubbleSpriteTemplate =
|
||||
.tileTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_8x8,
|
||||
.anims = sAnims_WaterPulseBubble,
|
||||
.anims = gAnims_WaterPulseBubble,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_WaterPulseRingBubble,
|
||||
.callback = AnimWaterPulseRingBubble,
|
||||
@ -1033,7 +1031,7 @@ static void AnimWaterGunDroplet(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
static void AnimSmallBubblePair(struct Sprite *sprite)
|
||||
void AnimSmallBubblePair(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[3] != ANIM_ATTACKER)
|
||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||
@ -1077,10 +1075,20 @@ void AnimTask_CreateSurfWave(u8 taskId)
|
||||
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_SurfContest, 1);
|
||||
}
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset);
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
switch (gBattleAnimArgs[0])
|
||||
{
|
||||
case ANIM_SURF_PAL_SURF:
|
||||
default:
|
||||
LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32);
|
||||
else
|
||||
break;
|
||||
case ANIM_SURF_PAL_MUDDY_WATER:
|
||||
LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32);
|
||||
break;
|
||||
case ANIM_SURF_PAL_SLUDGE_WAVE:
|
||||
LoadCompressedPalette(gBattleAnimBgPalette_SludgeWave, animBg.paletteId * 16, 32);
|
||||
break;
|
||||
}
|
||||
|
||||
taskId2 = CreateTask(AnimTask_SurfWaveScanlineEffect, gTasks[taskId].priority + 1);
|
||||
gTasks[taskId].data[15] = taskId2;
|
||||
gTasks[taskId2].data[0] = 0;
|
||||
@ -2125,7 +2133,7 @@ static void AnimWaterSportDroplet_Step(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimWaterPulseBubble(struct Sprite *sprite)
|
||||
void AnimWaterPulseBubble(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0];
|
||||
sprite->pos1.y = gBattleAnimArgs[1];
|
||||
|
@ -481,7 +481,7 @@ static void Task_ClearBitWhenSpecialAnimDone(u8 taskId)
|
||||
// Great function to include newly added moves that don't have animation yet.
|
||||
bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn)
|
||||
{
|
||||
if (moveId >= (MOVES_COUNT_GEN6 - 1))
|
||||
if (moveId >= (MOVES_COUNT - 1))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user