#ifndef GUARD_POKEMON_ANIMATION_H #define GUARD_POKEMON_ANIMATION_H // Pokémon back animation sets enum BackAnim { BACK_ANIM_NONE, BACK_ANIM_H_VIBRATE, BACK_ANIM_H_SLIDE, BACK_ANIM_H_SPRING, BACK_ANIM_H_SPRING_REPEATED, BACK_ANIM_SHRINK_GROW, BACK_ANIM_GROW, BACK_ANIM_CIRCLE_COUNTERCLOCKWISE, BACK_ANIM_H_SHAKE, BACK_ANIM_V_SHAKE, BACK_ANIM_V_SHAKE_H_SLIDE, BACK_ANIM_V_STRETCH, BACK_ANIM_H_STRETCH, BACK_ANIM_GROW_STUTTER, BACK_ANIM_V_SHAKE_LOW, BACK_ANIM_TRIANGLE_DOWN, BACK_ANIM_CONCAVE_ARC_LARGE, BACK_ANIM_CONVEX_DOUBLE_ARC, BACK_ANIM_CONCAVE_ARC_SMALL, BACK_ANIM_DIP_RIGHT_SIDE, BACK_ANIM_SHRINK_GROW_VIBRATE, BACK_ANIM_JOLT_RIGHT, BACK_ANIM_SHAKE_FLASH_YELLOW, BACK_ANIM_SHAKE_GLOW_RED, BACK_ANIM_SHAKE_GLOW_GREEN, BACK_ANIM_SHAKE_GLOW_BLUE, }; // Pokémon animation function ids (for front and back) // Each front anim uses 1, and each back anim uses a set of 3 enum AnimFunctionIDs { ANIM_V_SQUISH_AND_BOUNCE, ANIM_CIRCULAR_STRETCH_TWICE, ANIM_H_VIBRATE, ANIM_H_SLIDE, ANIM_V_SLIDE, ANIM_BOUNCE_ROTATE_TO_SIDES, ANIM_V_JUMPS_H_JUMPS, ANIM_ROTATE_TO_SIDES, ANIM_ROTATE_TO_SIDES_TWICE, ANIM_GROW_VIBRATE, ANIM_ZIGZAG_FAST, ANIM_SWING_CONCAVE, ANIM_SWING_CONCAVE_FAST, ANIM_SWING_CONVEX, ANIM_SWING_CONVEX_FAST, ANIM_H_SHAKE, ANIM_V_SHAKE, ANIM_CIRCULAR_VIBRATE, ANIM_TWIST, ANIM_SHRINK_GROW, ANIM_CIRCLE_C_CLOCKWISE, ANIM_GLOW_BLACK, ANIM_H_STRETCH, ANIM_V_STRETCH, ANIM_RISING_WOBBLE, ANIM_V_SHAKE_TWICE, ANIM_TIP_MOVE_FORWARD, ANIM_H_PIVOT, ANIM_V_SLIDE_WOBBLE, ANIM_H_SLIDE_WOBBLE, ANIM_V_JUMPS_BIG, ANIM_SPIN_LONG, ANIM_GLOW_ORANGE, ANIM_GLOW_RED, ANIM_GLOW_BLUE, ANIM_GLOW_YELLOW, ANIM_GLOW_PURPLE, ANIM_BACK_AND_LUNGE, ANIM_BACK_FLIP, ANIM_FLICKER, ANIM_BACK_FLIP_BIG, ANIM_FRONT_FLIP, ANIM_TUMBLING_FRONT_FLIP, ANIM_FIGURE_8, ANIM_FLASH_YELLOW, ANIM_SWING_CONCAVE_FAST_SHORT, ANIM_SWING_CONVEX_FAST_SHORT, ANIM_ROTATE_UP_SLAM_DOWN, ANIM_DEEP_V_SQUISH_AND_BOUNCE, ANIM_H_JUMPS, ANIM_H_JUMPS_V_STRETCH, ANIM_ROTATE_TO_SIDES_FAST, ANIM_ROTATE_UP_TO_SIDES, ANIM_FLICKER_INCREASING, ANIM_TIP_HOP_FORWARD, ANIM_PIVOT_SHAKE, ANIM_TIP_AND_SHAKE, ANIM_VIBRATE_TO_CORNERS, ANIM_GROW_IN_STAGES, ANIM_V_SPRING, ANIM_V_REPEATED_SPRING, ANIM_SPRING_RISING, ANIM_H_SPRING, ANIM_H_REPEATED_SPRING_SLOW, ANIM_H_SLIDE_SHRINK, ANIM_LUNGE_GROW, ANIM_CIRCLE_INTO_BG, ANIM_RAPID_H_HOPS, ANIM_FOUR_PETAL, ANIM_V_SQUISH_AND_BOUNCE_SLOW, ANIM_H_SLIDE_SLOW, ANIM_V_SLIDE_SLOW, ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, ANIM_ZIGZAG_SLOW, ANIM_H_SHAKE_SLOW, ANIM_V_SHAKE_SLOW, ANIM_TWIST_TWICE, ANIM_CIRCLE_C_CLOCKWISE_SLOW, ANIM_V_SHAKE_TWICE_SLOW, ANIM_V_SLIDE_WOBBLE_SMALL, ANIM_V_JUMPS_SMALL, ANIM_SPIN, ANIM_TUMBLING_FRONT_FLIP_TWICE, ANIM_DEEP_V_SQUISH_AND_BOUNCE_TWICE, ANIM_H_JUMPS_V_STRETCH_TWICE, ANIM_V_SHAKE_BACK, ANIM_V_SHAKE_BACK_SLOW, ANIM_V_SHAKE_H_SLIDE_SLOW, ANIM_V_STRETCH_BOTH_ENDS_SLOW, ANIM_H_STRETCH_FAR_SLOW, ANIM_V_SHAKE_LOW_TWICE, ANIM_H_SHAKE_FAST, ANIM_H_SLIDE_FAST, ANIM_H_VIBRATE_FAST, ANIM_H_VIBRATE_FASTEST, ANIM_V_SHAKE_BACK_FAST, ANIM_V_SHAKE_LOW_TWICE_SLOW, ANIM_V_SHAKE_LOW_TWICE_FAST, ANIM_CIRCLE_C_CLOCKWISE_LONG, ANIM_GROW_STUTTER_SLOW, ANIM_V_SHAKE_H_SLIDE, ANIM_V_SHAKE_H_SLIDE_FAST, ANIM_TRIANGLE_DOWN_SLOW, ANIM_TRIANGLE_DOWN, ANIM_TRIANGLE_DOWN_TWICE, ANIM_GROW, ANIM_GROW_TWICE, ANIM_H_SPRING_FAST, ANIM_H_SPRING_SLOW, ANIM_H_REPEATED_SPRING_FAST, ANIM_H_REPEATED_SPRING, ANIM_SHRINK_GROW_FAST, ANIM_SHRINK_GROW_SLOW, ANIM_V_STRETCH_BOTH_ENDS, ANIM_V_STRETCH_BOTH_ENDS_TWICE, ANIM_H_STRETCH_FAR_TWICE, ANIM_H_STRETCH_FAR, ANIM_GROW_STUTTER_TWICE, ANIM_GROW_STUTTER, ANIM_CONCAVE_ARC_LARGE_SLOW, ANIM_CONCAVE_ARC_LARGE, ANIM_CONCAVE_ARC_LARGE_TWICE, ANIM_CONVEX_DOUBLE_ARC_SLOW, ANIM_CONVEX_DOUBLE_ARC, ANIM_CONVEX_DOUBLE_ARC_TWICE, ANIM_CONCAVE_ARC_SMALL_SLOW, ANIM_CONCAVE_ARC_SMALL, ANIM_CONCAVE_ARC_SMALL_TWICE, ANIM_H_DIP, ANIM_H_DIP_FAST, ANIM_H_DIP_TWICE, ANIM_SHRINK_GROW_VIBRATE_FAST, ANIM_SHRINK_GROW_VIBRATE, ANIM_SHRINK_GROW_VIBRATE_SLOW, ANIM_JOLT_RIGHT_FAST, ANIM_JOLT_RIGHT, ANIM_JOLT_RIGHT_SLOW, ANIM_SHAKE_FLASH_YELLOW_FAST, ANIM_SHAKE_FLASH_YELLOW, ANIM_SHAKE_FLASH_YELLOW_SLOW, ANIM_SHAKE_GLOW_RED_FAST, ANIM_SHAKE_GLOW_RED, ANIM_SHAKE_GLOW_RED_SLOW, ANIM_SHAKE_GLOW_GREEN_FAST, ANIM_SHAKE_GLOW_GREEN, ANIM_SHAKE_GLOW_GREEN_SLOW, ANIM_SHAKE_GLOW_BLUE_FAST, ANIM_SHAKE_GLOW_BLUE, ANIM_SHAKE_GLOW_BLUE_SLOW, ANIM_SHAKE_GLOW_BLACK_SLOW, ANIM_SHAKE_GLOW_WHITE_SLOW, ANIM_SHAKE_GLOW_PURPLE_SLOW, }; enum BackAnim GetSpeciesBackAnimSet(u16 species); void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId); void StartMonSummaryAnimation(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId); void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, enum BackAnim backAnimSet); void SetSpriteCB_MonAnimDummy(struct Sprite *sprite); #endif // GUARD_POKEMON_ANIMATION_H