-
Notifications
You must be signed in to change notification settings - Fork 6
settings
The settings screen lets players configure game options across six categories — General, Nameplate, Keybinds, Controller, Audio, and Video — before returning to the entry screen. Navigation uses the Taiko drum inputs, and any changes are saved to the config on exit.
The screen is constructed with the name "settings", which the base Screen class uses to load the correct textures and sounds from the active skin. The layout of all setting boxes and their options is driven by settings_template.json in the active skin's Graphics folder.
Inherits from Screen. Constructed with the screen name "settings".
| Member | Type | Description |
|---|---|---|
box_manager |
SettingsBoxManager |
Owns all setting boxes and their options |
indicator |
Indicator |
Animated "SELECT" state indicator |
coin_overlay |
CoinOverlay |
Global coin display |
allnet_icon |
AllNetIcon |
Online connectivity indicator |
void on_screen_start() override;Calls Screen::on_screen_start() to load skin assets, starts background music, and constructs the SettingsBoxManager from settings_template.json. The Indicator, CoinOverlay, and AllNetIcon overlays are also initialized here.
Screens on_screen_end(Screens next_screen) override;Saves all modified settings to the config file and reinitializes the audio device with any new audio settings. Then delegates to Screen::on_screen_end() to unload all sounds, music, and textures.
std::optional<Screens> update() override;Each frame it:
- Calls
Screen::update()for first-frame initialization. - Advances the
indicator,coin_overlay, andallnet_iconanimations. - Calls
handle_input(). - Updates the
box_manager. - If the
box_managerhas queued a screen change (e.g., opening audio calibration), returns that screen.
Returns std::nullopt while the screen is still active.
void handle_input();| Input | Action |
|---|---|
| F1 | Transition to INPUT_CALI (input calibration) |
| F2 | Transition to SKIN_VIEWER
|
| Left Kat | Move left — navigate to the previous box, or move left within the active box's options |
| Right Kat | Move right — navigate to the next box, or move right within the active box's options |
| Left Don / Right Don | Confirm — enter the selected box or confirm the current option value |
void draw() override;Renders in the following order:
-
BACKGROUND::BACKGROUND— full-screen background texture. -
box_manager->draw()— all setting boxes and their options. -
BACKGROUND::FOOTER— bottom bar overlay. -
indicator->draw(),coin_overlay->draw(),allnet_icon->draw().
Building
libs
- animation
- audio
- config
- filesystem
- global_data
- input
- logging
- ray
- scores
- screen
- script
- song_parser
- text
- texture
- video
- webcam
libs/parsers
objects
objects/game
- player
- background
- gauge
- judgment
- combo
- branch_indicator
- ending_animations
- gogo_time
- fireworks
- song_info
- transition
- result_transition
- judge_counter
- score_counter
- score_counter_animation
- balloon_counter
- drumroll_counter
- kusudama_counter
- drum_hit_effect
- lane_hit_effect
- gauge_hit_effect
- combo_announce
- note_arc
objects/global
objects/title
objects/entry
objects/settings
objects/result
objects/song_select
- player
- navigator
- box_base
- box_song
- box_folder
- neiro
- modifier
- ura_switch
- diff_sort
- search_box
- dan_transition
- genre_bg
- score_history
- song_select_script
scenes