#ifndef POKEPLATINUM_SCRIPT_FUNCS_3_H
#define POKEPLATINUM_SCRIPT_FUNCS_3_H

#include "battle_anim/battle_anim_system.h"

#include "sprite_system.h"

void BattleAnimScriptFunc_Shake(BattleAnimSystem *system);
void BattleAnimScriptFunc_ScrollCustomBg(BattleAnimSystem *system);
void BattleAnimScriptFunc_MuddyWater(BattleAnimSystem *system);
void BattleAnimScriptFunc_RotateMon(BattleAnimSystem *system);
void BattleAnimScriptFunc_Submission(BattleAnimSystem *system);
void ov12_0222777C(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager *param2, ManagedSprite *param3);
void BattleAnimScriptFunc_FadeBg(BattleAnimSystem *system);
void BattleAnimScriptFunc_FadeBattlerSprite(BattleAnimSystem *system);
void BattleAnimScriptFunc_ScalePokemonSprite(BattleAnimSystem *system);
void BattleAnimScriptFunc_ScaleBattlerSprite(BattleAnimSystem *system);
void BattleAnimScriptFunc_AlphaFadePokemonSprite(BattleAnimSystem *system);
void BattleAnimScriptFunc_HideBattler(BattleAnimSystem *system);
void BattleAnimScriptFunc_BlinkAttacker(BattleAnimSystem *system);
void BattleAnimScriptFunc_MoveBattlerX(BattleAnimSystem *system);
void BattleAnimScriptFunc_MoveBattlerX2(BattleAnimSystem *system);
void BattleAnimScriptFunc_ShakeAndScaleAttacker(BattleAnimSystem *system);
void BattleAnimScriptFunc_ShakeAndScaleAttacker2(BattleAnimSystem *system);
void BattleAnimScriptFunc_Superpower(BattleAnimSystem *system);
void BattleAnimScriptFunc_MoveBattler(BattleAnimSystem *system);
void BattleAnimScriptFunc_RevolveBattler(BattleAnimSystem *system);
void BattleAnimScriptFunc_MoveBattlerOffScreen(BattleAnimSystem *system);
void BattleAnimScriptFunc_MoveBattlerOnOrOffScreen(BattleAnimSystem *system);
void BattleAnimScriptFunc_MoveBattlerToDefaultPos(BattleAnimSystem *system);
void BattleAnimScriptFunc_FadePokemonSprite(BattleAnimSystem *system);
void BattleAnimScriptFunc_BattlerPartialDrawTest(BattleAnimSystem *system);
void BattleAnimScriptFunc_BattlerPartialDraw(BattleAnimSystem *system);
void BattleAnimScriptFunc_ShakeBg(BattleAnimSystem *system);
void BattleAnimScriptFunc_PixelatePokemonSprite(BattleAnimSystem *system);
void BattleAnimScriptFunc_MoveEmitterA2BLinear(BattleAnimSystem *system);
void BattleAnimScriptFunc_MoveEmitterViewportTop(BattleAnimSystem *system);
void BattleAnimScriptFunc_MoveEmitterA2BParabolic(BattleAnimSystem *system);
void BattleAnimScriptFunc_RevolveEmitter(BattleAnimSystem *system);
void ov12_0222A1AC(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager *param2, ManagedSprite *param3);
void ov12_0222A34C(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager *param2, ManagedSprite *param3);
void ov12_0222A410(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager *param2, ManagedSprite *param3);
void ov12_0222A5C0(BattleAnimSystem *param0, SpriteSystem *param1, SpriteManager *param2, ManagedSprite *param3);
void BattleAnimScriptFunc_SetBgGrayscale(BattleAnimSystem *system);
void BattleAnimScriptFunc_SetPokemonSpritePriority(BattleAnimSystem *system);
void BattleAnimScriptFunc_RenderPokemonSprites(BattleAnimSystem *system);
void BattleAnimScriptFunc_ScrollSwitchedBg(BattleAnimSystem *system);

#endif // POKEPLATINUM_SCRIPT_FUNCS_3_H
