Skip to content

gauge_hit_effect

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

A GaugeHitEffect plays an expanding circle animation at the gauge each time the player hits a note. It conveys the note type and size visually. player keeps active instances in gauge_hit_effect and removes them when is_finished() returns true.

GaugeHitEffect

Construction

GaugeHitEffect(NoteType note_type, bool big, bool is_2p);
Parameter Description
note_type The type of note hit (DON, KAT, etc.); selects the colour
big Whether the note was a big (large) note
is_2p Adjusts the effect position for 2P layouts

Starts all animations immediately.

Members

Member Type Description
note_type NoteType Selects colour and texture
is_big bool Whether this is a big note effect
is_2p bool 2P layout flag
texture_change TextureChangeAnimation* Cycles through the circle animation frames
circle_fadein FadeAnimation* Fade-in for the expanding circle
resize TextureResizeAnimation* Drives the expanding scale of the circle
fade_out FadeAnimation* Fade-out once the circle reaches full size
rotation FadeAnimation* Repurposed to drive a rotation angle (not opacity)
color ray::Color Base tint colour derived from note_type
dest_width float Final rendered width
dest_height float Final rendered height
rotation_angle float Current rotation in degrees

Methods

void update(double current_ms);

Advances all animations and recalculates rotation_angle from the rotation animation's attribute.

void draw(float y);

Draws the circle texture at the gauge position, scaled to (dest_width, dest_height), rotated by rotation_angle, and blended by the current fade values.

bool is_finished() const;

Returns true when fade_out has completed.

Clone this wiki locally