Skip to content

ending_animations

Anthony Samms edited this page Jun 2, 2026 · 1 revision

Three mutually exclusive end-of-song animations are stored as a variant in player::ending_anim. The correct type is selected by Player::spawn_ending_anim() based on the player's ok and bad counts. All three share a similar structure: a bachio (mallet) character that enters, reacts to the result, and exits.

ClearAnimation

Plays when the song is cleared (bad count is zero is not required; ok count may be non-zero). Shows a "CLEAR" text reveal.

Members

Member Type Description
is_2p bool Adjusts texture positions for 2P layout
bachio_fade_in FadeAnimation* Fades the bachio character in
bachio_texture_change TextureChangeAnimation* Cycles bachio's sprite frames
bachio_out TextureChangeAnimation* Bachio's exit sprite sequence
bachio_move_out MoveAnimation* Slides bachio off-screen
clear_separate_fade_in vector<FadeAnimation*> Per-letter fade-ins for the "CLEAR" text
clear_separate_stretch vector<TextStretchAnimation*> Per-letter scale animations
clear_highlight_fade_in FadeAnimation* Fade-in for the clear highlight flash
draw_clear_full bool Whether to draw the assembled "CLEAR" graphic
name string Character-specific texture prefix
frame int Current sprite frame index

Methods

ClearAnimation(bool is_2p);
void update(double current_ms);
void draw();

FailAnimation

Plays when the player fails (gauge empty or song ended with no clear). Shows a "FAILED" text and a dramatic bachio fall.

Members

Member Type Description
is_2p bool Adjusts texture positions for 2P layout
bachio_fade_in FadeAnimation* Fades bachio in
bachio_texture_change TextureChangeAnimation* Cycles bachio's sprite frames
bachio_fall MoveAnimation* Falling motion
bachio_move_out MoveAnimation* Exit slide
bachio_boom_fade_in FadeAnimation* Fade-in for the explosion effect
bachio_boom_scale TextureResizeAnimation* Scale animation for the explosion
bachio_up MoveAnimation* Upward motion after explosion
bachio_down MoveAnimation* Downward motion back to floor
text_fade_in FadeAnimation* Fade-in for the "FAILED" text
name string Character-specific texture prefix
frame int Current sprite frame index

Methods

FailAnimation(bool is_2p);
void update(double current_ms);
void draw();

FCAnimation

Plays when the player achieves a Full Combo (no BAD judgments). Extends the clear animation with additional FC-specific effects.

Members

All members from ClearAnimation, plus:

Member Type Description
fc_highlight_up MoveAnimation* Upward slide for the FC highlight graphic
fc_highlight_fade_out FadeAnimation* Fades the FC highlight out
bachio_move_out_2 MoveAnimation* Second exit move for bachio
bachio_move_up MoveAnimation* Upward celebration motion
fan_fade_in FadeAnimation* Fade-in for the fan-shaped FC graphic
fan_texture_change TextureChangeAnimation* Animates the fan graphic frames

Methods

FCAnimation(bool is_2p);
void update(double current_ms);
void draw();

Clone this wiki locally