Skip to content

entry_player

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

The EntryPlayer manages all per-player state on the entry screen: the side they joined on, drum input sounds and animations, the 3D character model, the nameplate, and the optional costume_menu. It also owns the per-player input logic for mode and costume selection.

EntryPlayer

EntryPlayer(PlayerNum player_num, int side, BoxManager& box_manager);

Constructs the player for P1 or P2 on the given side (0 = 1P, 1 = 2P). Retrieves drum-move, cloud-resize, cloud-texture, cloud-fade, and nameplate-fade animations from the skin, creates the Chara3D model, and initialises the Nameplate from the global config.

Members

Member Type Description
player_num PlayerNum Which player this instance belongs to
side int Screen side the player joined on (0 = 1P, 1 = 2P)
box_manager BoxManager& Shared reference to the mode carousel
nameplate Nameplate The player's nameplate display
indicator Indicator Join-state indicator shown next to the nameplate
chara unique_ptr<Chara3D> The player's 3D character model
costume_menu optional<CostumeMenu> Costume selection panel, created on demand

Update

void update(double current_time);

Advances all eight animations (three drum moves, cloud resize, cloud texture change, cloud fade, nameplate fade-in) and updates the chara, nameplate, and any active costume_menu.

Input Handling

void handle_input_mode_select();

Reads left/right inputs and forwards them to box_manager. Don inputs confirm the highlighted box; a back input exits mode select. Returns the action result so entry can decide whether to advance state.

void handle_input_costume_select();

Forwards all input to the active costume_menu. Returns true once the menu is confirmed or cancelled so entry can close it.

Drawing

void draw_drum();

Draws the drum sprite at the player's side position, playing any active drum-move animation frame.

void draw_costume_menu();

Draws the active CostumeMenu if it exists.

void draw_nameplate();

Draws the nameplate and indicator, respecting the nameplate fade-in animation.

Clone this wiki locally